domingo, 16 de diciembre de 2018

ARQUITECTURA CY7C601A SPARC


¿QUÉ ES SPARC?

SPARC (del inglés Scalable Processor ARChitecture) es una arquitectura RISC big-endian. Es decir, una arquitectura con un conjunto de instrucciones reducidas.
Fue originalmente diseñada por Sun Microsystems y dirigido por el ingeniero Kaa en 1985, se basa en los diseños RISC I y II de la Universidad de California en Berkeley que fueron definidos entre los años 1980 y 1982.
La empresa Sun Microsystems diseñó esta arquitectura y la licenció a otros fabricantes como Texas Instruments, Cypress Semiconductor, Fujitsu, LSI Logic entre otros.
SPARC es la primera arquitectura RISC abierta y como tal, las especificaciones de diseño están publicadas, así otros fabricantes de microprocesadores pueden desarrollar su propio diseño.
Una de las ideas innovadoras de esta arquitectura es la ventana de registros que permite hacer fácilmente compiladores de alto rendimiento y una significativa reducción de memoria en las instrucciones load/store en relación con otras arquitecturas RISC. Las ventajas se aprecian sobre todo en programas grandes.
La cpu SPARC está compuesta de una unidad entera, UI (Integer Unit) que procesa la ejecución básica y una FPU(Floating-Point Unit) que ejecuta las operaciones y cálculos de reales. La IU y la FPU pueden o no estar integradas en el mismo chip.
Aunque no es una parte formal de la arquitectura, las computadoras basadas en sistemas SPARC de Sun Microsystems tienen una unidad de manejo de memoria (MMU) y un gran caché de direcciones virtuales (para instrucciones y datos) que están dispuestos periféricamente sobre un bus de datos y direcciones de 32 bits.

SPARC CY7C601A

En 1987, Sun Microsystems anunció una arquitectura RISC abierta denominada SPARC (Scalable Processor ARChitecture, o en español Arquitectura de Procesador Escalable), la cual sería la base de futuros productos de la empresa.
Alrededor de media docena de distribuidores de SPARC obtuvieron la licencia para fabricar pastillas SPARC usando diferentes tecnologías (CMOS, ECL, GaAs, Arreglos de compuertas, VLSI, etc.). La intención fue alentar la competencia entre los distribuidores de pastillas, a fin de mejorar en el desempeño, reducir precios y hacer el intento de establecer la arquitectura SPARC como estándar en la industria.


La tecnología Sun, con respecto al SPARC, comenzó con una arquitectura de 32 bits, la cual es la que usan la mayoría de los procesadores fabricados actualmente, pero luego se expandió a una tecnología de 64 bits, lo cual significa el doble de tamaño de los registros y de bus de datos.

DESARROLLO
El CY7C601A es una implementación CMOS de alta velocidad de la SPARC de 32 bits del procesador RISC. La arquitectura RISC  hace posible la creación de un procesador que puede ejecutar instrucciones por ciclo de reloj del procesador.

Características

  • Su característica distintiva es utilizar ventanas de registros.
  • 32 registros de enteros de 32 bits.
  • 16 registros de punto flotante de 64 bits (para el caso de doble precisión) que se pueden utilizar como 32 registros de 32 bits (para precisión simple).
Modos de direccionamiento:
  • Inmediato, (constantes de 13 bits).
  • Directo, (offset de 13 bits).
  • Indirecto, (registro + offset de 13 bits o registro + registro).
  • Utiliza instrucciones retardadas (saltos, load y store).
Manejo de memoria:
  • Espacio virtual de 4 Gigabytes.
  • Unidad de manejo de memoria (MMU) que trabaja con páginas de tamaño configurable.

Componentes
  • Un procesador SPARC comprende una Unidad de Enteros (UE), una Unidad de Punto Flotante (UPF) y un Co-Procesador opcional, cada uno de ellos con sus propios registros. Ésta organización permite una máxima coordinación entre la ejecución de instrucción de enteros, de punto flotante y de co-procesador. Todos los registros, con la posible excepción de los del co-procesador, tienen una longitud de 32 bits.
  • El procesador puede estar en uno de dos modos: usuario o supervisor. En el modo supervisor el procesador puede ejecutar cualquier instrucción, incluyendo aquellas privilegiadas (sólo-supervisor). En el modo de usuario, un intento de ejecutar una instrucción privilegiada causaría una trap (señal) al software supervisor.
  • Programas de tipo “Aplicación de usuario” son aquellos que se ejecutan mientras el procesador está en modo de usuario.

Categorías de Instrucciones
La arquitectura SPARC tiene cerca de 50 instrucciones enteras, unas pocas más que el anterior diseño RISC, pero menos de la mitad del número de instrucciones enteras del 68000 de Motorola.
Las instrucciones de SPARC se pueden clasificar en cinco categorías:
  • LOAD y STORE (La única manera de acceder a la memoria). Estas instrucciones usan dos registros o un registro y una constante para calcular la dirección de memoria a direccionar.
  • Instrucciones Aritméticas/Lógicas/Shift. Ejecutan operaciones aritméticas, lógicas y operaciones de cambio. Estas instrucciones calculan el resultado si es una función de 2 operandos y guardan el resultado en un registro.
  • Operaciones del Coprocesador. La IU extrae las operaciones de punto flotante desde las instrucciones del bus de datos y los coloca en la cola para la FPU. La FPU ejecuta los cálculos de punto flotante con un número fijo en unidad aritmética de punto flotante, (el número es dependiente de la aplicación). Las operaciones de punto flotante son ejecutadas concurrentemente con las instrucciones de la IU y con otras operaciones de punto flotante cuando es necesario. La arquitectura SPARC también especifica una interfaz para la conexión de un coprocesador adicional.
  • Instrucciones de Control de Transferencia. Estas incluyen jumps, calls, traps y branches. El control de transferencia es retardado usualmente hasta después de la ejecución de la próxima instrucción, así el pipeline no es vaciado porque ocurre un control de tiempo. De este modo, los compiladores pueden ser optimizados por ramas retardadas.
  • Instrucciones de control de registros Read/Write. Estas instrucciones se incluyen para leer y grabar el contenido de varios registros de control. Generalmente la fuente o destino está implícito en la instrucción.
  • De este modo existen instrucciones para cargar y almacenar cantidades de 8, 16 ,32 y 64 bits, en los registros de 32 bits, usando en este último caso dos registros consecutivos.

Una diferencia de los procesadores CISC (Computadora con complejo conjunto de instrucciones) a los procesadores RISC es que una gran parte no poseen “stack”.
Dado que una de las características que se desea en un procesador es rapidez, debe tenerse en cuenta que las instrucciones que extraen sus operandos de los registros y almacenan los resultados también en ellos, se pueden manejar en un solo ciclo. Sin embargo, aquellas que cargan información desde la memoria o almacenan en ésta consumen demasiado tiempo. Es por ello que los procesadores RISC, incluyendo el SPARC, poseen una alta cantidad de registros internos de tal manera que las instrucciones ordinarias tienen operandos provenientes de los mismos.


Anteriormente se puede ver claramente que INTEL está mas inclinado a la arquitectura SISC y AMD a la RISC. RISC es una arquitectura que quiere alcanzar mejor rendimiento y velocidad, pero esta no puede llegar a ser más pequeño, debido por la misma arquitectura y sus caracteristicas. Sin embargo, INTEL puede llegar un poco mas en lo que se refiere a la reduccion del tamaño debido a la arquitectura en que se apoya (SISC).


sábado, 15 de diciembre de 2018

ARQUITECTURA RISC

RISC


RISC es el acrónimo de Reduced Instruction Set Computer lo que en castellano viene a ser conjunto reducido de instrucciones de computadora. Se entiende por procesador RISC aquel que tiene un conjunto de instrucciones con unas características determinadas.
Una instrucción no es más que una indicación de lo que debe de hacer el micro con los datos. Gracias a las instrucciones se crean los programas. Existen muchos tipos entre ellas aunque destacan las aritméticas, las lógicas y las de control de flujo.
El término "reducido" puede llevar a engaño cuando nos referimos a RISC. No se trata de que sean pocas instrucciones, ya que ningún procesador actual tiene pocas, si no de que estas sean sencillas. Se acepta que un procesador sea RISC cuando la misma instrucción que carga datos de memoria no realiza operaciones sobre ellos. Es necesario esperar a que otra realice el tratamiento de esos datos.
Las instrucciones por tanto son más sencillas de implementar en la propia CPU, ocupan menos espacio los bloques lógicos que las tienen que traducir haciendo que el sistema pueda tener frecuencias de funcionamiento mayores.
Gracias a esto la unidad de control, que es la encargada de gestionar que los bloques funcionales como la unidad aritmética lógica o la de punto flotante realicen su función, puede ser más sencilla que con otras arquitecturas. Esto permite obtener más espacio dentro del propio chip para otros elementos.
Se suelen añadir así una mayor cantidad de registros que permiten tener más datos de forma interna en la CPU lo cual lleva a trabajar en ciertas ocasiones de forma más eficiente.




Desventajas del diseño RISC

Ya hemos hablado de las ventajas, la unidad de control es más sencilla y podemos funcionar a frecuencias mayores.
Pero describamos algunas de sus desventajas:
  • Menor potencia que otros procesadores—Existen operaciones que se aceleran muchísimo con instrucciones complejas. Sobre todo de índole matemática asociadas a simulaciones, tratamiento de señal, video, fotos.En estos casos es mejor tener instrucciones que puedan tratar con cientos de datos y escribirlos en memoria de una sola vez.
  • Mayor tamaño de los programas—Esto en la actualidad no tiene importancia ya que la capacidad de los discos duros ha crecido de forma exponencial y bajado su precio pero hace años era importante.

Procesadores actuales, ¿RISC o CISC?

La guerra entre las arquitecturas CISC, que es la opuesta a la RISC, es antigua. Sin embargo y gracias a las tabletas y smartphones ha vuelto a estar de actualidad. ARM la empresa que está detrás de la mayoría de los micros para estos pequeños dispositivos utiliza desde siempre arquitectura RISC.
Cualquier micro de Intel o AMD es una mezcla entre CISC y RISC. Tienen instrucciones CISC realmente complejas que son divididas en trozos y procesadas en el orden más adecuado para utilizar todos los recursos al mismo tiempo. O sea que ahora tienes tanto procesadores RISC como CISC.

¿CISC o RISC?

La mayor ventaja de un procesador RISC frente a uno CISC es su eficiencia energética.
Por eso todavía Intel no ha podido entrar como le gustaría en el mercado de los dispositivos portátiles. Un bajo consumo necesita un micro capaz de realizar sus tareas sin desperdiciar ni un sólo watio.
Aunque los micros actuales que puedes tener en cualquier PC son muy parecidos a los RISC es cierto que incluyen en su interior mucha potencia de cálculo que necesita energía para funcionar.
O sea que diríamos que la respuesta es que depende de para que vayamos a usar nuestro dispositivo. Si queremos un micro pequeño para controlar una lavadora no necesitamos un conjunto de instrucciones complejo si lo que pensamos es en crear un codificador de video ya estaríamos hablando de otras cosas.

RISC. Se trata de un tipo de procesador especialmente rápido que utiliza una tecnología del tipo pipeline muy desarrollada, lo que le faculta para operar con un alto nivel de simultaneidad. Este tipo de procesadores son lo contrario de los denominados CISC, mucho más comunes.
Los inicios de la tecnología RISC surgen en el ambiente académico, en 1980, en la Universidad de Berkeley California, donde el Dr. David A. Patterson inició un proyecto denominado RISC I, obteniendo resultados en tan solo 19 meses, seguido por RISC II, SOAR Smalltalk on a RISC y SPUR (Symbolic Processing on a RISC), pero simultáneamente, en la Universidad de Stanford, el Dr. John Hennesy inició también un proyecto de implementación RISC, denominado MIPS, seguido por el sistema MIPS-XMP, enfocados hacia el proceso simbólico, demostrando así las capacidades de velocidad de la arquitectura RISC.
Ambos profesores se vieron envueltos rápidamente, en proyectos de productos comerciales, y en concreto,el llamado Hennesy fué uno de los fundadores de MIPS Computer Systems, mientras Patterson actuaba de asesor durante el desarrollo del primer SPARC.

FILOSOFÍA RISC

Los procesadores RISC sólo usan instrucciones sencillas que se puedan ejecutar rápidamente. Por este motivo suelen ser arquitecturas basadas en registros de propósito general que operan siempre sobre operandos que se encuentran almacenados en el procesador, cerca de la unidad de ejcución.
De esta forma, el comando MULT podría ser dividido en tres comandos por separado: LOAD, que mueve datos del banco de memoria a un registro; PROD, que halla el producto de dos operandos situados en los registros; y STORE, que mueve datos de un registro al banco de memoria.
Para realizar la serie de pasos descritos en la filosofía CISC, un programador debería codificar la instrucción en 4 líneas de código ensamblador:
LOAD A, (2:3)
LOAD B, (5:2)
PROD A, B
STORE (2:3), A
El tiempo de diseño de estos productos se reduce sensiblemente, lo que disminuye su costo final, y por tanto, se incrementan sus expectativas, al poder llegar al mercado en un tiempo más adecuado, y con menos posibilidades de errores, son más eficaces, de menores dimensiones y más bajo consumo, las estaciones de trabajo RISC multiprocesadoras de mayor éxito, se basan en diferentes versiones de la tecnología SPARC: superSPARC e HyperSPARC.
Las características comunes a todos los procesadores RISC, fuente de sus capacidades de altas prestaciones son: Modeló de conjunto de instrucciones Load/Store que significa: Cargar-Almacenar. Sólo las instrucciones Load/Store acceden a memoria; las demás operaciones en un RISC, tienen lugar en su gran conjunto de registros. Ello simplifica el direccionamiento y acorta los tiempos de los ciclos de la CPU, además facilita la gestión de los fallos de páginas page faults en entornos de memoria virtual, permite un elevado nivel de concurrencia a consecuencia de la independencia de las operaciones de Load/Store de la ejecución del resto de las instrucciones.
Arquitectura no destructiva de tres direcciones. Los procesadores CISC destruyen la información que existe en alguno de los registros, como consecuencia de la ejecución normal de instrucciones; esto es debido a su arquitectura de dos direcciones, por lo que el resultado de una operación sobrescribe uno de los registros que contenía a los operandos. Por contra, las instrucciones RISC, con tres direcciones, contienen los campos de los dos operandos y de su resultado. Por lo tanto, tanto los operandos origen como el destino, son mantenidos en los registros tras haber sido completada la operación. Esta arquitectura no destructiva permite a los compiladores organizar las instrucciones de modo que mantengan llenos los conductos (pipelines) del chip, y por tanto reutilizar los operandos optimizando la concurrencia.
Instrucciones simples, de formato fijo, con pocos modos de direccionamiento. Las instrucciones simples reducen de manera muy significativa el esfuerzo para su descodificación, y favorecen su ejecución en pipelines. Las instrucciones de longitud fija, con formatos fijos, implican que los campos de códigos de operación opcodes y de los operandos están siempre codificados en las mismas posiciones, permitiendo el acceso a los registros al mismo tiempo que se está descodificando el código de operación. Todas las instrucciones tienen una longitud equivalente a una palabra y están alineadas en la memoria en límites de palabra word boundaries, ya que no pueden ser repartidas en pedazos que puedan estar en diferentes páginas.
Ausencia de microcódigo. El microcódigo no se presta a la ejecución en ciclos únicos, ya que requiere que el hardware sea dedicado a su interpretación dinámica. La programación en microcódigo no hace que el software sea más rápido que el programado con un conjunto de instrucciones simples. Todas las funciones y el control, en los procesadores RISC, están cableados hardwired, para lograr una máxima velocidad y eficiencia.
Ejecución en conductos pipelined. Las instrucciones simples, de formato fijo y ciclo único permiten que las diferentes etapas de los ciclos de ejecución búsqueda o fetch, descodificación, ejecución, y escritura del resultado o result write-back para instrucciones múltiples, se puedan realizar simultáneamente, de un modo más simple y eficaz.
Ejecución en ciclos únicos single-cycle. El resultado directo de los conjuntos de instrucciones que ofrecen los procesadores RISC, es que cada instrucción puede ser ejecutada en un único ciclo de la CPU. Esto invalida la creencia de que las microinstrucciones en microcódigo, creadas para ser ejecutadas en un solo ciclo de procesador, son más rápidas que las instrucciones del lenguaje ensamblador. Ya que el caché esta construido partiendo de la misma tecnología que el almacenamiento de control del microprograma, una única instrucción puede ser ejecutada a la misma velocidad que una microinstrucción. La ejecución en ciclos únicos también simplifica la gestión de las interrupciones y los conductos pipelines.


Funcionamiento

Funciona de modo muy diferente a la CISC, su objetivo no es ahorrar esfuerzos externos por parte del software con sus accesos a la RAM, sino facilitar que las instrucciones sean ejecutadas lo más rápidamente posible. La forma de conseguirlo es simplificando el tipo de instrucciones que ejecuta el procesador. Así, las instrucciones más breves y sencillas de un procesador RISC son capaces de ejecutarse mucho más aprisa que las instrucciones más largas y complejas de un chip CISC. Sin embargo, este diseño requiere de mucha más RAM y de una tecnología de compilador más avanzada.

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseño más cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicación de las más recientes tecnologías de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generación en generación son mucho mayores que en los CISC.

Los comandos que incorpora el chip RISC en su ROM constan de varias instrucciones pequeñas que realizan una sola tarea. Las aplicaciones son aquí las encargadas de indicar al procesador qué combinación de estas instrucciones debe ejecutar para completar una operación mayor.

Los comandos de RISC son todos del mismo tamaño y se cargan y almacenan del mismo modo. Al ser estas instrucciones pequeñas y sencillas, no necesitan ser descodificadas en instrucciones menores como en el caso de los chips CISC, pues ya constituyen en sí unidades descodificadas. Es por ello, que el procesador RISC no gasta tiempo verificando el tamaño del comando, en descodificarlo ni en averiguar cómo cargarlo y guardarlo.

El procesador RISC puede además ejecutar hasta 10 comandos a la vez pues el compilador del software es el que determina qué comandos son independientes y por ello es posible ejecutar varios a la vez.

Al ser los comandos del RISC más sencillos, la circuitería por la que pasan también es más sencilla. Estos comandos pasan por menos transistores, de forma que se ejecutan con más rapidez. Para ejecutar una sola instrucción normalmente les basta con un ciclo de reloj
























EL SIGUIENTE VÍDEO EXPLICA TODO LO RELACIONADO CON ARQUITECTURA RISC.








CIBERGRAFÍA




jueves, 13 de diciembre de 2018

DESCRIPCIÓN DE ARQUITECTURA CISC, DE "INTEL" Y "MOTOROLA".

INTEL

Intel Corporation 


Es el mayor fabricante de circuitos integrados del mundo, según su cifra de negocio anual.La compañía estadounidense, es la creadora de la serie de procesadores x86, los procesadores más comúnmente encontrados en la mayoría de las computadoras personales. Intel fue fundada el 18 de julio de 1968 como Integrated Electronics Corporation (aunque un error común es el de que "Intel" viene de la palabra intelligence) por los pioneros en semiconductores Robert Noyce y Gordon Moore, y muchas veces asociados con la dirección ejecutiva y la visión de Andrew Grove.



¿QUE SON LOS PROCESADORES INTEL?


Son los procesadores más utilizados en el sector de los ordenadores portátiles y han demostrado estar a la altura de todas las exigencias.

Intel dota a sus procesadores informáticos de una estabilidad clave para aportar un rendimiento elevado y funcionalidades añadidas a todos los ordenadores portátiles que hacen uso de esta tecnología.
En el caso del procesador Intel Core i7 Extreme Edition, la versión más potente de los procesadores de la compañía, ofrece un sistema inteligente capaz de llevar a cabo todos los procesos y tareas necesarias para aumentar la velocidad de los ordenadores hasta el máximo.
Los procesadores de Intel se apoyan en el uso de la tecnología Turbo Boost 2.0, diseñada con el objetivo de rentabilizar la frecuencia del procesador hasta en los límites más duros. Junto a esto, Intel dota a sus sistemas de la tecnología HT, con la que los núcleos tienen la habilidad de trabajar en dos tareas diferentes de manera simultánea, ahorrando recursos y haciendo que la estabilidad del sistema sea superior.

CARACTERÍSTICAS


Con los procesadores de Intel se garantiza un alto rendimiento en la reproducción de contenidos que fuerzan el ordenador hasta sus límites, por ejemplo videojuegos. Para ello se apoya en el uso de tarjetas gráficas de primera calidad, como la Intel HD 3000, que está pensada con el objetivo de mover juegos de última generación.

Por otro lado, estos procesadores ofrecen una velocidad de reloj de hasta 2.50GHz, un máximo de cuatro núcleos para aprovechar los recursos del ordenador de forma más completa, y caché de hasta 8.0 MB. Sus características se potencian con memoria de tipo DDR3, lo que aumenta y mejora todavía más la estabilidad y características del equipo.
Algunos de los ordenadores portátiles más recomendables con procesadores Intel en su versión i7 son el HP Pavilion DV6-3181SS por 919 euros (al 30 de julio de 2011) en ElCorteIngles.es, o el Fujitsu LifeBook P771 por 1678 euros (al 30 de julio de 2011) en Audiotronics.es.
En resumen, los procesadores Intel se caracterizan por ofrecer un alto rendimiento y estabilidad, además de elevada velocidad, haciendo uso de la tecnología Turbo Boost, y de la tarjeta gráfica HD 3000.

UN POCO DE HISTORIA:


En 1971 Intel presentó el primer procesador comercial del mercado, el 4004. Se trataba de un modelo con bus de 4 bits y pensado para su uso en calculadoras, muy vetusto pero considerado como la primera piedra de todo lo que se presentaría en esa década. A él lo siguieron los Intel 8008 y 8080 en 1972 y 1974, respectivamente, con set de instrucciones diseñado por Datapoint Corporation y también pensados para ser utilizados en las calculadoras más avanzadas de la época.
Tras estos modelos Intel empezó un enorme proyecto con el que buscaba reinventar el mundo de los procesadores. En 1975 inició los diseños de la arquitectura iAPX 432 (Intel Advanced Processor Architecture) de 32 bits, con mejoras en la multitarea y la administración de memoria respecto de la familia de los 8000, siendo una arquitectura pensada en la programación orientada a objetos y con la capacidad de administrar múltiples procesos simultáneamente. Sin embargo, viendo que la competencia preparaba sus respectivos nuevos productos (Motorola 6800, MOS 6502 o Zilog Z80) y teniendo en cuenta lo ambicioso del proyecto 432 que les obligaría a estar varios años sin presentar un nuevo producto, decidieron iniciar un nuevo trabajo que, si bien en un inicio podía ser considerado temporal, fue lo que le ha mantenido ocupados durante todas estas décadas.

En el mes de mayo de 1976 comenzaron a desarrollar un nuevo procesador que empezó a venderse un par de años más tarde, a mediados de 1978. El Intel 8086 incluyó retrocompatibilidad con el software de los anteriores 8008 y 8080, utilizando transistores de 3 micras (unas 135 veces más grandes que los actuales de 22 nanómetros) y una frecuencia de hasta 4.77 MHz. Lo más importante de todo fue la introducción de un nuevo juego de instrucciones diseñado por Intel y denominado x86-16. Fue un pequeño éxito para Intel, y si bien era realmente potente para la época su precio se consideró excesivo. Uno de los puntos más curiosos del 8086 es que si bien fue un invento de Intel, otras compañías como OKI, Siemens, Fujitsu o AMD distribuyeron en el mercado clones de este modelo plenamente compatibles y que incluso en algunos aspectos mejoraban las características del original.
Unos meses más tarde, el 1 de julio de 1979 se presentó el Intel 8088, una versión más barata del 8086 con prácticamente todas sus características, y que tuvo en IBM a su principal aliado. El IBM PC 5150, considerado el primer ordenador personal ('PC') de venta masiva de la historia, utilizó el 8088 en detrimento de otros procesadores de la competencia debido a su alta disponibilidad, facilidad de programación y reducido precio. El IBM PC, que rondaba los 3.000 dólares, fue un éxito de ventas desde su lanzamiento, el 12 de agosto de 1981.
Fue entonces cuando Intel posicionó como su principal producto una nueva familia de chips: los procesadores 'x86', definidos así por usar el mismo juego de instrucciones que, si bien ha ido evolucionando con los años, sigue utilizando muchas de las características originales.

El 8086 es considerado el primer x86 de la historia, si bien el modelo que catapultó la fama de Intel fue el 8088. A él le sucedieron los 80186, 80286, 80386 y 80486, más conocidos como 186, 286, 386 y 486 que fueron presentados a lo largo de la década de los 80 y principios de los 90 dentro de equipos englobados bajo el concepto que fué creado en el IBM PC, el cual supuso un completo éxito. Después de los 80X86 Intel se movió a los conocidísimos Pentium, con el primer Pentium en 1993 seguido de Pentium Pro, Pentium II, Pentium III y Pentium 4. Incluso los actuales Ivy Bridge mantienen la marca 'Pentium' en alguno de sus modelos de más baja gama.


Intel X86 y sus principales características

La larga experiencia de la compañía ha repercutido en múltiples y notables cambios en muchos aspectos, que van desde la mejora en el tamaño de los buses de datos (16, 32 y ahora 64 bits) a múltiples nuevas instrucciones añadidas que han ido adaptándose a los nuevos usos de la tecnología
Por ejemplo el 8086 no disponía de operaciones en coma flotante, pera lo cual Intel creó un coprocesador matemático que realizase estas operaciones: fue una pequeña extensión sobre x86 denominada x87 y lanzada al mercado bajo los nombres 8087, 80187, 80287, 80387, 80487 y la última 80587, ya a mediados de los 90. Se trataba de procesadores independientes que proporcionaban un extra de rendimiento en cierto software, pero que a la vez suponían un coste adicional respecto del equipo original que tampoco era considerado muy barato. Desde hace un par de décadas todos los procesadores x86 comerciales incluyen instrucciones para operar en coma flotante, con lo que no es necesario un coprocesador adicional salvo en ciertos usos muy concretos en los que se requiere de una gran potencia de cálculo, por ejemplo con sistemas como NVidia Tesla.
Intel 8086 block diagram
Diagrama esquemático del Intel 8086 
x86 también ha ido incluyendo nuevos sets de instrucciones y mayores registros para afrontar todo tipo de tareas. MMX, que añadió los registros utilizados en la arquitectura x87, ha sido uno de los más conocidos y fue incluido en un conjunto de modelos basados en los Pentium y lanzados en 1996, si bien hay muchos más: SSE (Streaming SIMD Extensions en sus versiones SSE, SSE2, SSE3, SSSE3 y SSE4; introdujo múltiples instrucciones para operar con datos en coma flotante, enteros o posiciones de memoria), 3DNow! (una evolución sobre MMX, también para aplicación gráfica) o AES (más reciente, para cifrado de la información). En Wikipedia puede consultarse un breve resúmen de las instrucciones disponibles, si bien la documentación más completa la proporciona la propia Intel y se compone de unos cuantos miles de páginas.
Si echáis un vistazo a ese par de enlaces veréis que en x86 dispondremos de cientos de instrucciones, muchas de ellas complejas que podrían subdividirse en varias instrucciones más pequeñas. Sin embargo la filosofía de CISC es precisamente esa: proporcionar un amplio conjunto de instrucciones que pueden abarcar múltiples tareas más simples. El algoritmo del huevo frito de nuestra primera entrada introductoria era el siguiente:
  • Paso 1: Poner la sartén en la vitrocerámica
  • Paso 2: Echar aceite
  • Paso 3: Calentar el aceite
  • Paso 4: Esperar a que esté caliente
  • Paso 5: Cascar el huevo
  • Paso 6: Verterlo con cuidado sobre el aceite caliente
  • Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo
  • Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato
Supongamos que cada uno de esos 'pasos' puede ejecutarse en un procesador Intel 8088. Sin embargo, jugando a ser Intel procedemos a lanzar el Pentium MMX con nuevas instrucciones entre las que se encuentran dos nuevas: [Echar y calentar el aceite] y [Cascar el huevo y verterlo con cuidado sobre el aceite caliente], ambas más complejas que las anteriores. Si las utilizásemos en nuestro algoritmo el resultado sería el siguiente:
  • Paso 1: Poner la sartén en la vitrocerámica
  • Paso 2: Echar y calentar el aceite
  • Paso 4: Esperar a que esté caliente
  • Paso 5: Cascar el huevo y verterlo con cuidado sobre el aceite caliente
  • Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo
  • Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato
Unos años más tarde estamos diseñando Pentium 4 y decidimos probar con una nueva instruccion, [Echar y calentar el aceite hasta que alcance su temperatura óptima], con lo que podríamos volver a modificar el algoritmo:
  • Paso 1: Poner la sartén en la vitrocerámica
  • Paso 2: Echar y calentar el aceite hasta que alcance su temperatura óptima
  • Paso 5: Cascar el huevo y verterlo con cuidado sobre el aceite caliente
  • Paso 7: Con la ayuda de una paleta, echar el aceite por encima del huevo
  • Paso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato
Podríamos continuar añadiendo nuevas instrucciones cada vez más complejas para completar nuestra tarea, minimizando el número de pasospero siendo estos cada vez más complejos. Incluso llevando la filosofía al extremo, si vemos que nuestros usuarios/clientes hacen muchos huevos fritos en sus desarrollos podríamos implementar una única instrucción:
  • Paso 0: Hacer un huevo frito
Que sería la más compleja de todas.
Otro aspecto fundamental de los procesadores x86 es su rendimiento. A lo largo de la historia ha demostrado ser una arquitectura muy potente, pero esto tiene su contrapartida: son un conjunto de procesadores que consumen más energía que los modelos ARM.

El presente vídeo muestra la "Arquitectura del microprocesador intel 8086 

y 8088".




MOTOROLA

La familia M68K/680X0/68K/m68k de procesadores CISC de 32 bits de Motorola, iniciada en 1976 con el proyecto MACSS fue durante años la competidora de la familia x86 de Intel.

LOS MIEMBROS DE LA FAMILIA 68K






LA EVOLUCIÓN DE LOS MICROPROCESADORES MOTOROLA

Motorola puede haber entrado al mercado de los microprocesadores después de Intel, pero los microporcesadores Motorola han jugado un rol importante en muchos eventos importantes de la historia de las computadoras. Partiendo con un microprocesador de 8 bits en 1974, los procesadores Motorola han evolucionado en algunos de los diseños más influyentes de la computación, como el 68000 y la arquitectura PowerPC.

El 6800
Después de ver el éxito del microprocesador 8008 de 8 bits de Intel, Motorola presentó su primer microprocesador de 8 bits, el 6800, en el año 1974. El 6800 se hizo más predominante debido en parte al hardware de soporte orientado al sistema que Motorola introdujo con el 6800. El 6800 estaba compitiendo en el mercado con el procesador Intel 8080. El 6800 fue utilizado en algunos de los primeros kits de computadoras domésticas, el "Tektronix 4051 Graphics Computer System" y en un entrenador de microprocesador vendido por Heathkit.

El 6809
Cerca de 1977, Motorola introdujo el 6809, el cual fue un procesador de 8 bits con ciertas características de 16 bits. El 6809 tenía dos acumuladores de 8 bits y dos registros de índices y punteros de pila de 16 bits, lo cual permitió modos de direccionamiento de memoria avanzada. El 6809 fue utilizado en la "TRS-80 Color Computer" vendida por Radio Shack a comienzos de 1980.

El 68000
El 68000, lanzado en 1979, fue el primer procesador de 16 bits de Motorola. El 68000 en realidad fue un procesador híbrido de 16/32 bits que tenía buses de datos de 16 bits, pero podía realizar cálculos de 32 bits de forma interna. En 1984, Motorola introdujo el 68020, el cual fue verdadero procesador de 32 bits que era compatible con el 68000. Un procesador de la familia 68000 fue utilizado en las computadoras Apple Macintosh, Sun 3 Workstation, Amiga y Atari ST. Según el IEEE (Institute of Electrical and Electronics Engineers - Instituto de ingenieros eléctricos y electrónicos), el 68000 estuvo a punto de ser elegido por sobre el Intel 8088 para ser usado en la computadora personal de IBM.

PowerPC
En 1991, una alianza de Motorola, Apple e IBM creó un microprocesador, llamado PowerPC, con una reducida arquitectura de conjunto de instrucciones para usar en computadoras personales. El PowerPC fue utilizado en computadoras Apple Macintosh desde 1994 hasta 2006, y en consolas de videojuegos y aplicaciones incrustadas, como dispositivos automotrices. El PowerPC puede funcionar tanto en modo big-endian como little-endian. Big-endian y little-endian se refieren al orden de los bits en un número binario y cuyo término es el extremo mayor o menor del número. La arquitectura PowerPC se ha convertido en un estándar que ha sido mantenido por Power.org y se utiliza principalmente en los procesadores diseñados para aplicaciones incrustadas.

USOS PRINCIPALES
La línea de procesadores 68K ha sido usada en una amplia variedad de sistemas, desde calculadoras Texas Instruments hasta sistemas críticos de control de la lanzadera espacial. Aun así, son más populares por ser los procesadores de distintos ordenadores personales, como el Apple Macintosh, el Commodore Amiga, el Atari ST y otros y de consolas, como la Sega Megadrive (Sega Génesis).
Hoy día estos sistemas de sobremesa están descatalogados (en el caso de los Atari) o usan un procesador diferente (como los Amiga y Macintosh). Debido a que estos ordenadores tienen más de una década de antigüedad, los fabricantes originales han cerrado sus puertas o ya no ofrecen un sistema operativo para este hardware. Aun así, los sistemas operativos Debian/Linux, NetBSD y OpenBSD todavía dan soporte a los equipos con procesador m68k.

HERENCIA ARQUITECTÓNICA
Las personas familiarizadas con el PDP-11 o los VAX normalmente se sienten como en casa con el 68000. Con la excepción de la separación de los registros de propósito general en registros específicos de datos y de direcciones, la arquitectura del 68000 es, en muchos sentidos, la de un PDP-11 de 32 bits.

LA SIGUIENTE GENERACIÓN DE 68K
La cuarta generación de 68060 compartía muchas de las características del Intel P5 (x86). Si Motorola hubiera decidido mantener la serie 680X0, es muy probable que el siguiente procesador, el 68080, habría tenido puntos en común con la arquitectura P6 de Intel.

OTRAS VARIANTES
Después de la finalización de la serie 68k, la familia 68k ha sido usada en versiones microcontrolador/sistemas integrados. Estos chips incluyen los listados bajo la sección "otros" más arriba, por ejemplo, el CPU32, conocido como 68330, el ColdFire y el Dragonball.

COMPETIDORES DE LOS 68K
La competencia principal en el mercado de microordenadores para la primera generación fueron los chips IA-16 de la arquitectura x86 de Intel, tanto la primera (8086/8088) como la segunda generación (80286). La segunda generación de los 68k tuvo por rival a los chips IA-32 de la serie 80386. La tercera generación compitió con los IA-32 80486. La cuarta rivalizó con los Pentium, pero en menor medida, debido al cambio a las líneas PowerPC por parte de Motorola, significando el final de los 680X0 en los ordenadores personales.



CIBERGRAFÍA