Procesadores sparc

sparc

SPARC (del inglés Scalable Processor ARChitecture) es una arquitectura RISC big-endian. Es decir, una arquitectura con un conjunto reducido de instrucciones.
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 SunMicrosystems 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 ventanade 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 lasoperaciones 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 32bits.
* |
SPARC64 VII

Principales 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 13bits).
* 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.
Categorías de instrucciones

* La arquitectura SPARC tienecerca 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 adireccionar.

* 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 laFPU. 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 uncoprocesador 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…