¿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).
ARQUITECTURA SPARC DE PROCESAMIENTO EN SERIE. |
CIBERGRAFÍA
- http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro20/15_arquitectura_sparc.html
- https://www.infor.uva.es/~bastida/OC/FormatosSPARC.pdf
No hay comentarios.:
Publicar un comentario