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).


No hay comentarios.:

Publicar un comentario