Autores:
Miguel Ángel Botija Ortega.
Víctor Téllez Motilla.
Iván Durango Blanco
ÍNDICE:
1. Contexto histórico y evolución.
2. Características generales.
3. Arquitectura.
4. Organización interna y flujo de datos.
5. Soporte E/S.
6. Pipeline: Etapas y características.
7. Comparativa y rendimiento.
8. Posibles usos.
CONTEXTO HISTÓRICO Y EVOLUCIÓN.
Tras la unión de Sony, Toshiba e IBM (STI) en el año
2000, se comienza a pensar la base del procesador Cell.
En el 2005 Sony incluye una unidad de propósito
general, Power procces element ( PPE ) en el núcleo, junto
con 8 unidades de propósito vectorial Synergistic Processing
Unit ( SPU ).
Marzo de 2007, sale al mercado la versión de 65 nm.
Febrero de 2008, se anuncia otra nueva versión de 45 nm.
Posteriormente en Marzo de 2008, surge una mejora en el
rendimiento, PowerXCell 8i que introduce cálculo de PF doble
precisión.
CARACTERÍSTICAS GENERALES.
Procesadores Multinúcleo con 8 SPUs ( Basadas en RISC con organización SIMD y almacenamiento local ).
1 PPE de 64 bits capaz de manejar 2 hilos de ejecución.
Máxima frecuencia por encima 4GHz (Optimo).
Memoria en el chip: 2,5MB (512 KB L2 y 8 * 256KB).
234 millones de transistores.
Tamaño de la oblea de 221 mm²
Gestión automática de energía.
DMA para sostenimiento del ancho de banda.
CARACTERÍSTICAS GENERALES.
ARQUITECTURA.
Esquema general de Cell.
ARQUITECTURA.
Power Processor Element ( PPE )
Similar a un Power PC de 64 bits
doble núcleo.
- Tiene el mismo juego de instrucciones.
- Contiene una Power Processing Unit ( PPU) y su propio
sistema de almacenamiento (PPSS)
La PPU es la encargada de ejecutar el SO, puesto que, como
la mayoría de procesadores modernos, soporta memoria
virtual.
RISC, capaz de ejecutar dos instrucciones a la vez.
Unidad predictora de saltos, Branch processor unit (BPU).
Carece por completo de ejecución fuera de orden.
ARQUITECTURA.
Arquitectura PPE.
ARQUITECTURA.Synergistic Processors Elements SPE (8)
Diseñados para mejorar el
rendimiento de cómputo intensivo.
Compuestos por el Synergistic Processor Unit ( SPU ) y
el Memory Flow Controler ( MFC ).
Tiene128 Registros de 128 bits cada uno (Permiten SIMD)
256 Kbytes de memoria local LS.
Arquitectura RISC superescalar.
Acceden a la memoria principal a través de DMA asíncrono.
No disponen de caché, ni de instrucciones ni de datos
ARQUITECTURA.
Arquitectura SPE
ORGANIZACIÓN INTERNA Y FLUJO DE DATOS.
Los elementos SPE y PPE están conectados al ElementInterconnect Bus ( EIB ).
Tiene un Anillo de 4 canales unidireccionales, de 16 bytescada uno.
Todos los elementos conectados a él. (PPE, SPE’s, I/O)
La comunicaión a través de modelo de paso de mensajes(MPI message-parsing interface standar, en el que losprocesos se comunican entre sí enviando mensajes).
Los elementos conectados al bus pueden leer o escribir 8bytes por ciclo de reloj.
ORGANIZACIÓN INTERNA Y FLUJO DE DATOS.
SOPORTE E/S.
Contiene un macro XIO de la empresa Rambus condoble canal de nueva generación, que interconecta conmemoria XDR Rambus.
El enlace XIO-XDR funciona 3,2 GB/s en cada pin (Doscanales de 32 bits pueden proporcionar un máximoteórico de 25,6 GB/s).
El adaptador de sistema, también un diseñoRambus, es conocido como FlexIO.
Organizada en 12 buses( Cada bus es un canal de 8 bitspunto a punto).
Cinco caminos de 8 bits de entrada al Cell.
Y los siete restantes de salida
PIPELINE: ETAPAS Y CARACTERÍSTICAS.
La PPU es un microprocesador multithreading con
dos threads en ejecución.
El pipeline de la PPU está formado por 21 etapas (
el mismo número de etapas de la tubería como el
Pentium 4 Northwood ).
Una característica a destacar es que ejecuta
instrucciones en orden.
PIPELINE: ETAPAS Y CARACTERÍSTICAS.
Synergistic Processor Element(SPE).
Es un procesador de 32 bits y usa
instrucciones SIMD.
SPU es un procesador a medio camino entre los procesadores depropósito general y el hardware de propósito específico
Tiene su propia memoria local, llamada Local Store (LS).
Dispone de dos pipelines ( toman los nombres even o alineadas enposiciones de memoria pares y odd impares ) segmentados parapoder ejecutar idealmente dos instrucciones por ciclo.
Son de la misma longitud y están diferenciados en dos partes quefuncionan independientemente, el front end y el back end.
PIPELINE: ETAPAS Y CARACTERÍSTICAS.
IC1-IC4: Estas etapas realizan la captación de instrucciones (Fetch), los
saltos se predicen después de la etapa IC4.
IB1-IB2: Buffer de instrucciones para ir introduciendo instrucciones a la cola
de instrucciones.
ID1-ID3: estas son las etapas principales para decodificar la instrucción.
MC1-MC8: este es el camino descifrar micro código, y es muy lento.
IS: después de haber sido descifrado, las instrucciones de pasar a la unidad
de control del PPE, donde son emitidas en el orden al núcleo de ejecución.
DLY: Esta etapa sirve únicamente para frenar la velocidad de reloj y esperar
a las cargas y almacenamientos.
RF1-RF2: Se accede al archivo de registro en Load / Store.
EX: La ejecución de la instrucción se lleva a cabo durante estas etapas, el
número de ciclos dependerá de la tubería y en la instrucción.
WB: Etapa write back.
Pipeline PPE
PIPELINE: ETAPAS Y CARACTERÍSTICAS.
Pipeline PPE
PIPELINE: ETAPAS Y CARACTERÍSTICAS.Front End
El front end comprende las etapas de decode e issue. Recibe las instrucciones de fetch y gestiona los
riesgos de datos. Si existen riesgos de datos, es el front end el que bloquea la ejecución y resuelve (o
espera a que se resuelvan) los problemas mencionados.
Fetch: Su función es gestionar dos buffers de instrucciones y un buffer llamado Predicted path buffer
(PPB), tienen una capacidad de 32 instrucciones cada uno, y por lo tanto, de 128 bytes. Las instrucciones
en estos buffers tienen PCs consecutivos (Se podría decir que no forma parte de cauce).
Decode: Se encarga de decodificar las instrucciones obtenidas de fetch. Su tarea es extraer de la
instrucción los datos necesarios para su ejecución.
Issue: Se encarga de eliminar los riesgos de datos y pasar las instrucciones al back end. Issue es el
encargado de bloquear la ejecución del front end si es necesario. Existen los siguientes escenarios
problemáticos posibles:
Una instrucción en issue quiere leer un registro bloqueado: la respuesta es bloquear el front end
hasta que el back end desbloquee el registro causante del conflicto.
La instrucción odd pretende leer un dato que escribirá la instrucción even: se pasa la instrucción even
al back end y se bloquea el front end hasta que el registro de destino se desbloquee; así, la
instrucción odd ya tendrá disponible el registro y podrá pasar a ejecutarse.
Al terminar su trabajo la etapa de issue, las instrucciones que han pasado al back end están situadas en el
pipeline que les corresponde y no se producirá ningún riesgo de datos.
Pipeline SPE
PIPELINE: ETAPAS Y CARACTERÍSTICAS.
Back End
En el back end se encuentran las unidades funcionales de la SPU, donde se
ejecutan las operaciones.
El último ciclo de todas las unidades funcionales es siempre de escritura en el
banco de registros (excepto en el caso de instrucciones de store o salto, que no
escriben en el banco de registros).
Las instrucciones en el back end nunca verán alterado su camino de ejecución ni
serán bloqueadas.
Las unidades funcionales en el back end son suficientes para ejecutar siempre las
dos instrucciones por ciclo.
Cada unidad funcional corresponde al pipeline even u odd. Gracias a esta
restricción, nunca tendremos, por ejemplo dos instrucciones FP ejecutándose en el
mismo ciclo, y por lo tanto, en esta arquitectura no hay riesgos estructurales.
PIPELINE: ETAPAS Y CARACTERÍSTICAS.
Pipeline SPE
COMPARATIVA XENON VS CELL
Xenon Xbox 360 Cell PS3
1 Mb de caché L2 compartida entre los 3 cores. El núcleo madre de la PS3 (PPE), tiene 512 KB
de memoria L2.
Rendimiento total de punto flotante = 1 Tflops. Rendimiento total de punto flotante = 2,8 Tflops.
3 Procesadores de propósito general para
cualquier tipo de cálculo.
Solo cuenta con 1 procesador de propósito
general para ello.
Mejores números en el cálculo de enteros. Mejores números en el cálculo de puntos
flotantes.
Entre un 80% y 90% se puede alternar la
programación de un juego.
Entre un 10% y 20% se puede alternar la
programación de un juego.
COMPARATIVA XENON VS CELL
Para simplificar la gran diferencia entreambos procesadores, el cell (PS3) es comoun cirujano que está dotado de todos losconocimientos y que tiene a su disposicióna 8 residentes. Y el Xenon (360) es como 3médicos generales trabajando al mismonivel.
COMPARATIVA DE RENDIMIENTO.
Number of SPUs 1 2 3 4 5 6 7 8
SPEsim (GFLOPS) 1.46 2.84 4.15 5.39 6.56 7.66 8.67 9.71
Hardware (GFLOPS) 1.45 2.81 4.11 5.32 6.46 7.52 8.51 9.46
Model Accuracy 99.14% 98.82% 99.12% 98.79% 98.52% 98.12% 98.21% 97.45%
Efficiency 79.23% 76.78% 74.86% 72.68% 70.60% 68.49% 66.43% 64.62%
Comparison of SPE and hardware performance results with 1kx1k matrix.
COMPARATIVA DE RENDIMIENTO.
Performance of parallelized matrix multiplication for different sized matrices.
POSIBLES USOS Servidor Blade :
BladeCenter QS21. Generando unos 1,05 GFLOPS medidos por vatio, con unrendimiento máximo de aproximadamente 460 GFLOPS, es una de lasplataformas de computación más eficientes en consumo hasta el día de hoy. Unchasis de BladeCenter puede alcanzar 6,4 TFLOPS y alrededor de 25,8 TFLOPSen un armario 42U estándar.
Consolas de videojuegos
Cine en casa
Posibilidad de producir televisores de alta definición (HDTV’s) haciendo uso delCell ).
Supercomputación (IBM Roadrunner ).
Un híbrido entre procesadores de propósito general CISC y procesadores Cell.Esta combinación producirá el primer computador capaz de operar a la velocidaddel pentaflop. Usará una versión actualizada del procesador Cell, fabricada contecnología de 65 nm y con SPU’s mejoradas que puedan manejar cálculos endoble precisión en los registros de 128 bits, alcanzando los 100 GFLOPS en dobleprecisión.
Computación en clúster
Los clústeres de consolas PlayStation 3 son una atractiva alternativa a lossistemas de gama alta basados en Blades Cell. clústeres de PlayStation 3 de 8 o32 nodos, con Yellow Dog Linux preinstalado.
PREGUNTAS, DUDAS O INQUIETUDES…