You are on page 1of 21

Organizacin y Arquitectura de Computadoras 2 Charla #1 vila, Mara Gonzlez, Katherine Martnez, Claudio Samaniego, Angel Silva, Manuel

Arquitectura Sparc
Que es Sparc
SPARC (del ingls Scalable Processor ARChitecture) es una arquitectura RISC big-endian. Es decir, una arquitectura con un conjunto de instrucciones reducidas. Fue originalmente diseada por Sun Microsystems y dirigido por el ingeniero Kaa en 1985, se basa en los diseos RISC I y II de la Universidad de California en Berkeley que fueron definidos entre los aos 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 diseo estn publicadas, as otros fabricantes de microprocesadores pueden desarrollar su propio diseo. Una de las ideas innovadoras de esta arquitectura es la ventana de registros que permite hacer fcilmente compiladores de alto rendimiento y una significativa reduccin de memoria en las instrucciones load/store en relacin con otras arquitecturas RISC. Las ventajas se aprecian sobre todo en programas grandes. La cpu SPARC esta compuesta de una unidad entera, UI (Integer Unit) que procesa la ejecucin bsica y una FPU (Floating-Point Unit) que ejecuta las operaciones y clculos 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 estn dispuestos perifricamente sobre un bus de datos y direcciones de 32 bits.

Principales caractersticas
Su caracterstica 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 precisin) que se pueden utilizar como 32 registros de 32 bits (para precisin 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 pginas de tamao configurable.

Categoras de Instrucciones
La arquitectura SPARC tiene cerca de 50 instrucciones enteras, unas pocas ms que el anterior diseo RISC, pero menos de la mitad del nmero de instrucciones enteras del 6800 de Motorola. Las instrucciones de SPARC se pueden clasificar en cinco categoras: 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 direccin de memoria a direccionar. Instrucciones Aritmticas/Lgicas/Shift. Ejecutan operaciones aritmticas, lgicas y de desplazamiento de bits. Estas instrucciones calculan el resultado si es una funcin 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 clculos de punto flotante con un nmero fijo en unidad aritmtica de punto flotante, (el nmero es dependiente de la aplicacin). 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 tambin especifica una interfaz para la conexin de un coprocesador adicional. Instrucciones de Control de Transferencia. Estas incluyen jumps, calls, traps y branches. El control de transferencia es retardado usualmente hasta despus de la ejecucin de la prxima instruccin, 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 implcito en la instruccin.

Ventanas de registros
Un rasgo nico caracteriza al diseo SPARC, es la ventana con solape de registros. El procesador posee mucho ms que 32 registros enteros, pero presenta a cada instante 32. Una analoga puede ser creada comparando la ventana de registros con una rueda rotativa. Alguna parte de la rueda siempre est en contacto con el suelo; as al girarla tomamos diferentes porciones de la rueda, (el efecto es similar para el overlap de la ventana de registros). El resultado de un registro se cambia a operando para la prxima operacin, obviando la necesidad de una instruccin Load y Store extras. Se acord para la especificacin de la arquitectura, poder tener 32 registros "visibles" divididos en grupos de 8. De r0 a r7 , Registros GLOBALES.

De r7 a r15, Registros SALIDA. De r15 a r23, Registros LOCALES. De r24 a r31, Registros ENTRADA.

Los registros globales son "vistos" por todas las ventanas, los locales son solo accesibles por la ventana actual y los registros de salida se solapan con los registros de entrada de la ventana siguiente (los registros de salida para una ventana deben ponerse como registros de entrada para la prxima, y deben estar en el mismo registro). El puntero de ventana mantiene la pista de cual ventana es la actualmente activa. Existen instrucciones para "abrir" y "cerrar" ventanas, por ejemplo para una instruccin "call", la ventana de registros gira en sentido anti horario; para el retorno desde una instruccin "call", esta gira en sentido horario. Una interrupcin utiliza una ventana fresca, es decir, abre una ventana nueva. La cantidad de ventanas es un parmetro de la implementacin, generalmente 7 u 8. La alternativa ms elaborada para circundar lentamente la ventana de registros es colocar los registros durante el tiempo de compilacin. Para lenguajes como C, Pascal, etc., esta estrategia es difcil y consume mucho tiempo. Por lo tanto, el compilador es crucial para mejorar la productividad del programa. "Recientes investigaciones sugieren que la ventana de registros, encontradas en los sistemas SPARC pero no en otras mquinas RISC comerciales, estn en condiciones de proveer excelente rendimiento para lenguajes de desarrollo como Lisp y Smalltalk." (R. Blau, P.Foley, etc. 1984).

Traps y Excepciones
El diseo SPARC soporta un set total de traps o interrupciones. Ellos son manejados por una tabla que soporta 128 interrupciones de hardware y 128 traps de software. Sin embargo las instrucciones de punto flotante pueden ejecutarse concurrentemente con la instrucciones enteras, los traps de punto flotante deben ser exactos porque la FPU provee (desde la tabla) las direcciones de las instrucciones que fracasan.

Proteccin de memoria
Algunas instrucciones SPARC son privilegiadas y pueden ser ejecutadas nicamente mientras el procesador esta en modo supervisor. Estas instrucciones ejecutadas en modo protegido aseguran que los programas de usuario no sean accidentalmente alterados por el estado de la mquina con respecto a sus perifricos y viceversa. El diseo SPARC tambin proporciona proteccin de memoria, que es esencial para las operaciones multitarea. El SPARC tiene muchas similitudes con el diseo de Berkeley, el RISC II. Semejante al RISC II, l usa una ventana de registros para reducir el nmero de instrucciones Load y Store.

SPARC segn Sun Microsystems

Hasta hace poco, las arquitecturas RISC tenan un pobre rendimiento con respecto a los clculos de punto flotante. Por ejemplo, el IBM 801 implementaba las operaciones de punto flotante por software. Los proyectos de Berkeley, RISC I y RISC II, dejaban fuera a una VAX 11/780 en clculos enteros pero NO en aritmtica de punto flotante. Esto tambin es cierto para el procesador de Stanford, el MIPS. Los sistemas SPARC, en cambio, son diseados para un rendimiento ptimo en los clculos de punto flotante y soportan precisin simple, doble y extendida en los operandos y en las operaciones como lo especifica la norma 754 del ANSI/IEEE del estndar sobre punto flotante. El alto rendimiento en los clculos de punto flotante resulta de la concurrencia de la IU y la FPU. La IU (Integer Unit) hace los "load" y "store" mientras la FPU (Floating Point Unit) ejecuta las operaciones y clculos. Los sistemas SPARC consiguen obtener velocidades elevadas como resultado del perfeccionamiento en las tcnicas de fabricacin de los chips. El sistema SPARC entrega muy altos niveles de rendimiento. La flexibilidad de la arquitectura hace a los futuros sistemas capaces de obtener muchos mejores tiempos que el de la implementacin inicial. Adems, la arquitectura abierta hace esto posible por absorber los avances tecnolgicos casi tan pronto como estos ocurren.

Implementaciones
SPARC
Primera generacin liberada en 1987. Frecuencias de reloj de 16 a 50 Mhz. Diseo escalar.

SUPER SPARC
Segunda generacin liberada en 1992. Frecuencias de reloj de 33 a 50 Mhz. Diseo super escalar

ULTRA SPARC II
Lanzado a mediados de 1996. Arquitectura super escalar de 4 etapas y de 64 bits. Cinco unidades de punto flotante. Velocidades entre 250 y 300 Mhz.

Advanced Product Line (APL)


Lanzado a mediados de 2004. Acuerdo comercial entre Sun Microsystems y Fujitsu Arquitectura super escalar compatible con en el diseo SPARC V9 de 64 bits. Velocidades entre 1,35 y 2,7 GHz.

Utilizado por Sun Microsystems, Cray Research, Fujitsu / ICL y otros.

Historia
Un timeline sobre la historia de servidores SPARC.

1986: Sun crea el primer procesador SPARC.

1987: Sun crea la primera estacin de trabajo SPARC.

1992: Sun lanza SuperSPARC, el primer chip RISC multiescalar con multiproceso simtrico.

1995: Se introduce el microprocesador UltraSPARC I, el primer microprocesador de 64 bits de Sun.

1997: Sun libera el UltraSPARC II, que aade mejoras fundamentales para mejorar el ancho de banda de datos y mejorar el rendimiento de punto flotante y multimedia.

2001: Sun libera el UltraSPARC III, que aumenta el performance al buscar optimizar el ancho de banda, y los datos de precarga.

2004: Sun lanza el primer procesador de doble ncleo SPARC, UltraSPARC IV.

2005: Se lanza UltraSPARC IV+, un procesador con mayor nmero de ncleos y una memoria cach L2 en el chip.

2005: El multincleo y multihilo UltraSPARC T1 es liberado, con un sistema de chip de 8 ncleos multiproceso capaz de procesar hasta 32 threads simultneamente.

2007: Sun libera el procesador UltraSPARC T2, el primer procesador de 64 hilos. El UltraSPARC T2 cuenta con el primer multi-thread de industria "system on a chip", con

conexin de red integrada, PCI Express incluida y criptografa de alta velocidad incorporada.

2008: Fujitsu lanza el VII SPARC64, un procesador de cuatro ncleos con dos vas multithreading simultneo.

2010: Fujitsu anuncia el SPARC64 VII+, proporcionando mejoras en el rendimiento sobre el procesador SPARC64 VII.

2010: Oracle presenta la SPARC T3. El primer procesador del mundo con 16 ncleos y procesador de servidor multi-hilos, el servidor SPARC T3 incluye un sistema de criptografa, Ethernet de 10 Gb, y PCI Express integrado Gen 2.

Arquitectura Sparc V9
SPARC-V9 supuso un cambio realmente significativo a la arquitectura SPARC desde su lanzamiento en 1987 [1], poniendo a esta arquitectura en la cima del altamente competitivo mundo de los microprocesadores RISC [2]. SPARC-V9 extiende el espacio de direcciones a 64 bits, aade nuevas instrucciones, e incorpora algunas mejoras realmente significativas. Se han implementado procesadores SPARC (Scalable Processor ARChitecture) usados en un amplio rango de computadores que abarca desde pequeas consolas a supercomputadores [1]. SPARC-V9 mantiene la compatibilidad binaria para las aplicaciones software desarrolladas para implementaciones anteriores de SPARC, incluyendo microSPARC y SuperSPARC. SPARC-V9, como su predecesor SPARC-V8, es una especificacin de microprocesador creada por The SPARC Architecture Committee de SPARC International, por lo que cualquiera puede realizar una implementacin del microprocesador y obtener una licencia de SPARC International. SPARC International es un consorcio de fabricantes de computadores, que permite la asociacin a cualquier compaia del mundo.

SPARC-V9 mejora la version 8, proporcionando soporte explcito para:


Direcciones y datos enteros de 64 bits. Prestaciones de sistema mejoradas. Compiladores optimizantes avanzados. Implementaciones superescalares. Sistemas operativos avanzados. Tolerante a fallos. Cambios de contexto y manejo de traps extremadamente rapido. Admite ordenacin de bytes big-endian y little endian.

SPARC-V9 soporta directamente direcciones virtuales de 64 bits y tamaos de datos enteros de hasta 64 bits, incorporando varias instrucciones que manejan de forma explicita valores de 64 bits. Por ejemplo, las instrucciones LDX y STX cargan y almacenan respectivamente valores de 64 bits.

Caractersticas ms relevantes
A pesar de estos cambios, los microprocesadores de 64-bits SPARC-V9 podrn ejecutar programas compilados para procesadores SPARC-V8 de 32 bits. Esto se logra asegurando que las antiguas instrucciones continuan generando el mismo resultado en los 32 bits de menor orden de los registros. No obstante, y para aprovechar mejor la extensin de direccin y las capacidades avanzadas de SPARC-V9, es recomendable recompilar los programas escritos para SPARC-V8. Para aumentar las prestaciones, el juego de instrucciones ha sido mejorado introduciendo las siguientes caracteristicas:

Instrucciones de divisin y multiplicacin enteras. Instrucciones de LOAD y STORE de cuadruples palabras en coma flotante. Prediccin de saltos establecidos por software, lo que da al hardware una gran probabilidad de mantener el pipeline del procesador lleno. Saltos condicionales en funcin del contenido de un registro, lo que elimina la necesidad de ejecutar una instruccin de enteros que actualice dicho cdigo de condicin. De esta forma, se elimina un cuello de botella potencial y se crean mayores posibilidades de paralelismo.

Instrucciones de move condicionales, que ayudan a minimizar saltos en el cdigo de las aplicaciones.

SPARC-V9 contiene instrucciones especficas que permiten al hardware detectar solapamiento de punteros, ofreciendo al compilador una solucin sencilla para este complejo problema. Pueden compararse dos punteros, y almacenar en un registro de enteros el resultado de la comparacin. La instruccin FMOVRZpodra mover condicionalmente un registro de coma flotante basandose en el resultado de la comparacin anterior. Esta instruccin puede ser usada para corregir problemas de solapamiento, permitiendo adelantar las instrucciones LOAD tras los STORES. Todo esto supone una diferencia significativa en las prestaciones globales de los programas. Se ha aadido un registro TICK que es incrementado una vez por cada ciclo de mquina. Este registro puede ser leido por una aplicacin de usuario para realizar medidas simples y precisas de las prestaciones de un programa.

Soporte para procesadores superescalares


En este apartado desarrollaremos todos aquellos puntos relacionados con las caractersticas superescalares de la arquitectura. SPARC slo supone una serie de especificaciones a nivel arquitectural, pero no presupone una implementacin determinada. De igual forma que SPARC-V8 incluye soporte para implementaciones segmentadas (aunque existen versiones sin segmentar), SPARC-V9 incluye soporte para el diseo de procesadores superescalares avanzados. La arquitectura SPARC-V9 esta eventualmente preparada para ejecutar de ocho a diesiseis instrucciones simultaneamente. Muchos de los cambios aadidos para suportar ms eficientemente la ejecucin superscalar provienen de la experiencia ganada en la implementacin del SuperSPARC&trade de Texas Instrument, y del HyperSPARC de Ross Technologie [1]. Ambos procesadores fueron implementaciones superescalares. Como resultado, SPARC-V9 incluye soporte para una decodificacin sencilla, instrucciones de longitud fija, y unidades de enteros y coma flotante separadas, cosas que llevan por si mismas a tecnologas superescalares. Ademas, para el sistema de memoria, ha sido aadido una sofisticada instruccin de memoria que permite a los programadores especificar la mnima sincronizacin necesaria para asegurar una correcta operacin.

Unidad de punto flotante (FPU)

La nueva arquitectura contiene 16 registros de coma flotante y doble precisin adicionales, lo que hace un total de 32 registros. Adems, el soporte proporcionado por SPARC-V9 para el formato en coma flotante de 128 bits, es nico en la implementacin de microprocesadores. SPARC-V9 soporta cuatro regisros de cdigos de condicin de coma flotante, tres ms que SPARC-V8. Estos registros proporcionan el paralelismo necesario para procesadores superescalares que pueden ejecutar varias instrucciones de manera simultanea. Con un solo registro de cdigos de condicin, como en el caso del SPARC-V8, las instrucciones tenan serias dependencias, teniendo que esperar a que el nico registro de cdigos de condicin se actualizase. Los nuevos registros de cdigo de condicin permiten a los procesadores SPARC-V9 iniciar hasta 4 comparaciones en coma flotante de manera simultanea.
Compiladores optimizantes avanzados

El software de SPARC-V9 puede explicitamente realizar prebusqueda de datos e instrucciones [1] reduciendo la latencia de la memoria y en consecuencia acelerando ejecucin de las aplicaciones. En lo casos en que los compiladores puedan generar cdigo para realizar prebusqueda de datos e instrucciones con la suficiente anticipacin, el dato estar disponible tan pronto como el programa lo necesite, lo que reducir considerablemente las perdidas de cache y las paradas del pipeline. SPARC-V9 tambin soporta LOADs sin fallos, lo que permite a los compiladores mover instrucciones LOAD antes de estructuras de control condicionales que vigilan su uso. La semntica de estos LOADs sin fallos es la misma que la de los otros LOADs, excepto que cuando ocurre un fallo no recuperable como pueda ser un error de ``direccin fuera de rango. Entonces, estos fallos son ignorados, y el hardware y el software del sistema operativo cooperan para aparentar una ejecucin normal, retornando el valor cero. Esta optimizacin es particularmente til cuando se optimiza para procesadores superescalares. Por ejemplo, consideremos el siguiente fragmento de un programa en C:
if(p != NULL) x= *p + y;

Con LOADs sin fallos, la carga de *p puede ser desplazada hacia arriba por el compilador antes del chequeo de p!=NULL, permitiendo ejecuciones solapadas. En contraste, un LOAD normal habra abortado el programa en el caso de haberse realizado esta optimizacin y p ser igual a NULL. El efecto global es equivalente a esta transformacin:
temp_register= *p; if(p != NULL) x= temp_register + y;

Supongamos un procesador superescalar que pueda ejecutar cuatro instrucciones por ciclo, pero que slo una de ellas pueda ser un LOAD o un STORE. En un bucle de ocho instrucciones que contenga dos LOADs, puede verse que sin esta transformacin no sera posible distribuir ninguno de los LOADs en el primer grupo de cuatro instrucciones. En este caso, un tercer o posiblemente cuarto ciclo de reloj podra ser necesario para cada iteracin del bucle, en lugar de los dos ciclos mnimos. Mejorar las oportinidades para una mejor distribucin de las instrucciones podra haber mejorado las prestaciones en un factor de dos para este ejemplo. Una buena planificacin (scheduling) de las intrucciones es un factor crtico en el rendimiento de las aplicaciones.

Sistemas operativos avanzados


La interface con el sistema operativo ha sido completamente rediseada en el SPARC-V8 para soportar mejor el desarrollo de nuevos sistema operativos. Los registros privilegiados o de supervisor proporcionan una estructura nica, lo que simplifica el acceso a informacin de control importante del procesador. Es por esto por lo que un cambio en el interface del sistema operativo no tendr efecto en el software de la aplicacin. Los programas a nivel de usuario no veran estos cambios, y por lo tanto mantienen la compatibilidad binaria sin tener que ser recompilados. Con el objetivo de soportar un nuevo estilo de microkernel, SPARC-V9 proporciona niveles de traps anidados que permiten una estructuracin del cdigo ms modular, tambin proporciona un soporte mejorado para cambios de contexto ms rapidos que los de la arquitectura SPARC anterior. Esto permite una estructura de ventanas de registros ms flexible que en los primeros SPARC, ta que el kernel puede proporcionar un banco de registros separados a cada proceso que se est ejecutando. Como resultado, el procesador puede realizar un cambio de contexto sin practicamente ninguna sobrecarga. Esta nueva implementacin de las

ventanas de registros tambin proporciona un mejor soporte para sistemas operativos orientados a objeto, ya que acelera la comunicacin de procesos entre dominios diferentes. Existe tambin un mecanismo que proporciona accesos a servidor eficientes a travs de espacios de direcciones de clientes usando identificadores de espacio de direcciones de usuarios. La definicin de un ncleo de espacio de direcciones permite al sistema operativo existir en un espacio de direcciones diferente que el del programa de usuario. Las primeras implementaciones de SPARC soportaban multiproceso; este soporte ha sido ahora extendido a multiproceso a muy alta escala. Esta estensin incluye una nueva instruccin de memoria y un nuevo modelo de memoria llamado Relax Memory Order (RMO). Con estas nuevas capacidades, los procesadores SPARC-V9 pueden planificar las operaciones de memoria para alcanzar mayores prestaciones al tiempo que mantienen la sincronizacin y el bloqueo de operaciones necesario para el multiproceso con memoria compartida. Finalmente, se ha aadido soporte arquitectural para ayudar al sistema operativo a proporcionar ventanas de registros ``limpias a sus procesos. Se ha de garantizar que una ventana limpia contenga inicialmente ceros y, durante su periodo de vida, slo datos y direcciones generadas por el proceso. De esta forma se facilita la implementacin de un sistema operativo seguro que pueda proporcionar un aislamiento completo entre sus procesos.

Tolerancia a fallos
La mayoria de las arquitecturas de procesadores existentes no proporcionan soporte explicito para fiabilidad y tolerancia a fallos. Aunque los diseadores de sistemas pueden construir una mquina segura y tolerante a fallos, si se proporciona dicho soporte a nivel del procesador se simplifica el diseo y se obtiene un menor coste global del sistema Para alcanzar este objetivo se ha aadido una instruccin de ``comparay-cambia-el-contexto que tiene unas propiedades de tolerancia a fallos bien conocidas. Asimismo tambin posee el beneficio aadido de proporcionar un modo eficiente de conseguir sincronizacin multiprocesador.

La incorporacin de mltiples niveles de traps anidados permiten a los sistemas recobrarse limpiamente de varias clases de fallos, ademas de soportar ms eficientemente diversos manejadores de interrupciones. Finalmente, SPARC-V9 incluye un nuevo estado de procesador especial llamado RED_state (Reset Error and Debug state). Su propio nombre define el comportamiento esperado cuando el sistema se enfrenta a errores graves, o durante el proceso de reset cuando esta volviendo a dar servicio. Este nivel de robustez es una necesidad absolutamente necesara cuando construimos sistemas tolerantes a fallos.

Rapidez en los cambios de contexto y tratamiento de los traps


El mecanismo de entrada de los traps ha sido rediseado para transferir rapidamente el control al manejador de traps. Se han aadido ocho nuevos registros llamados ``globales alternativos que suministran al manejador de traps registros disponibles para ser usados de forma inmediata. Ms an, el softwaremanejador de traps no necesita registros de almacenamiento antes de empezar su ejecucin. Esto permite una emulacin muy rapida de instrucciones y un tiempo de respuesta a interrupciones extremadamente corto. Como ya se ha comentado, SPARC-V9 soporta multiples niveles de traps anidados, lo que permite al manejador de traps generar a su vez un nuevo trap. Algunos manejadores de traps han visto reducido su cdigo de cien instrucciones a poco menos de veinte (los manejadores de traps del SPARC-V8 no podan generar a su vez otros traps). Esta caracterstica, ademas de mejorar notablemente el rendimiento, permite el diseo de sistema operativos mucho ms simples. El nmero de registros almacenados y restaurados entre la ejecucin de procesos tambin ha sido reducido, proporcionando un cambio de contexto ms rpido. La arquitectura proporciona bits de ``usado separados para los registros de coma flotante originales (los bajos) y los nuevos (los superiores). Si un programa no ha modificado ningn registro en alguno de estos conjuntos, no habr necesidad de salvar dicho conjunto durante el cambio de contexto.

Ordenaciones Big y Little-Endian

Recordando que la familia SPARC es tradicionalmente big-endian, tambin se ha dado soporte para datos creados en procesadores littelendian tales como los de la familia 80x86. La arquitectura permite tanto al cdigo de usuario como al de supervisor acceder explcitamente a datos con ordenamiento littel-endian. Tambin es posible cambiar el ordenamiento de bytes por defecto a littel-endian, slo en modo usuario, slo en modo supervisor, o en ambos modos. Esta capacidad permite al SPARC-V9 soportar sistemas mixtos de ordenamiento de bytes.

Procesadores SPARC v9

UltraSparc T2

Fecha de Lanzamiento Ao 2007

Caractersticas
El T2 es un deriva de la serie UltraSPARC de microprocesadores. El procesador, fabricado en 65 nm, est disponible con ocho ncleos, y cada ncleo es capaz de manejar ocho hilos simultaneamente. As, el procesador es capaz de procesar hasta 64 hilos simultneos. Otras nuevas caractersticas son: Aumento de velocidad para cada hilo, pasando de 1,2 GHz a 1,4 un puerto PCI Express (x8 1.0) dos puertos de 10 Gigabit Ethernet con clasificacin y filtrado de paquetes el tamao de la cach L2 se incrementa hasta los 4 MB (8 bancos con 16 vas asociativas) se pasa de un coprocesador matemtico por procesador a uno por ncleo ocho motores de cifrado, en lugar de uno en el T1 cuatro controladores de memoria FB-DIMM de doble canal

Diagrama del procesador

Sparc T3

Fecha de Lanzamiento 2010

Caractersticas
8 o 16 ncleos de CPU 8 hilo de hardware por ncleo 6 MB Level 2 cache 2 controles de coherencia integrados 6 enlaces de coherencia 14 bahias unidireccionales por enlace de coherencia SMP a 4 sockets sin goma en la circuitera 4 canales de memoria DDR3 SDRAM

PCI Express I/O interfaces integradas 16 Crypto Acceleration Engines integrados 2 1GigE/10GigE interfaces integradas 2.4Tbit/s de rendimiento total por socket Embedded PCI Express I/O interfaces 16 Embedded Crypto Acceleration Engines 2 Embedded 1GigE/10GigE interfaces 2.4Tbit/s aggregate throughput per socket

Diagrama del procesador

Sparc T4

Fecha de Lanzamiento 2011

Caractersticas
Estos procesadores de Oracle/Sun Microsystems incorporan dentro del diseo de su arquitectura 8 ncleos SPARC V9 con tecnologa 8-way multi-threading, es decir, que uno solo de estos procesadores puede administrar hasta 64 hilos de computo a la vez, 128KB de cache L2 por ncleo (1MB en total), 4MB de memoria cache L3, controlador de memoria de doble-canal integrado, soportando hasta 16 DIMM y hasta 256GB de memoria PC3-8500 (1066MHz memory). Integran tambien en el mismo chip un controlador de red dual de 10Gbps, 2 puertos PCI Express 2.0 x8, crypto instruction accelerators (CIAs) que permite encriptacin de alta-velocidad para hasta 16 estndares que incluyen DES, 3DES, AES, SSL, SHA y RSA. Los SPARC T4 operan a una frecuencia de 2.85Ghz y 3.0Ghz, posee un TDP mximo de 240W, estn fabricados a 40nm con tecnologa de TSMC y fsicamente poseen dimensiones de 403mm2 y cada nucleo posee un tamao fsico de 15.4mm2. Los nuevos ncleos SPARC V9 vienen con una nueva arquitectura que mejora muchos de los aspecto de su predecesor SPARC T3, como un nuevo mecanismos de branch prediction, hardware data prefeteecher, deeper pipeline entre otros aspectos tcnicos que mejoran el rendimiento de los procesadores T4, otorgando hasta cinco veces el rendimiento en enteros (Integer), y siete veces el rendimiento en operaciones de punto flotante (floating point), comparado con su predecesor.

Otra de las mejoras de los procesadores SPARC T4 es que los ncleos estn diseados para cambiar automticamente a un modo single-thread para aplicaciones sin soporte multi-thread, as se pueden aprovechar el resto de los ncleos para aplicaciones que si utilicen intensivamente ejecuciones multi-hilo. Curiosamente los ncleos del SPARC V9 se asemejan en alguna forma a los mdulos de Bulldozer, con 2 unidades de ejecucin fuera de orden para enteros, una unidad de de punto flotante (FPU) y un unidad criptogrfica (cryptographic stream-processing unit).

Diagrama del procesador

Comparacin (vs Sparc T3 y UltraSparc T2)

You might also like