El Cell es un procesador multinúcleo desarrollado por Sony, Toshiba e IBM en 2005. Consiste en un núcleo PowerPC llamado PPE y 8 núcleos especializados llamados SPE. El PPE maneja el sistema operativo mientras que los SPE se encargan de tareas de alto rendimiento. El Cell ofrece un rendimiento superior al Xbox 360 para ciertas aplicaciones gracias a la arquitectura paralela de los SPE. Se ha utilizado en la PlayStation 3 y servidores, siendo un ejemplo el superordenador IBM Roadrunner.
How to use Redis with MuleSoft. A quick start presentation.
Arquitectura de computadores: IBM Cell processor
1. IBM CELL PROCESSOR Autores: Miguel Ángel Botija Ortega. Víctor Téllez Motilla. Iván Durango Blanco
2. Índice: Contexto histórico y evolución. Características generales. Arquitectura. Organización interna y flujo de datos. Soporte E/S. Pipeline: Etapas y características. Comparativa y rendimiento. Posibles usos.
3. 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.
4. 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.
17. Acceden a la memoria principal a través de DMA asíncrono.
18.
19. Organización interna y flujo de datos. Los elementos SPE y PPE están conectados al Element Interconnect Bus ( EIB ). Tiene un Anillo de 4 canalesunidireccionales, de 16 bytes cada uno. Todos los elementosconectados 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 los procesos se comunican entre sí enviando mensajes). Los elementosconectados al bus pueden leer o escribir 8 bytes por ciclo de reloj.
21. Soporte E/S. Contiene un macro XIO de la empresa Rambus con doble canal de nueva generación, que interconecta con memoria XDR Rambus. El enlace XIO-XDR funciona 3,2 GB/s en cada pin (Dos canales de 32 bits pueden proporcionar un máximo teórico de 25,6 GB/s). El adaptador de sistema, también un diseño Rambus, es conocido como FlexIO. Organizada en 12 buses( Cada bus es un canal de 8 bits punto a punto). Cinco caminos de 8 bits de entrada al Cell. Y los siete restantes de salida
22. 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.
23. 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 de propó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 en posiciones de memoria pares y odd impares ) segmentados para poder ejecutar idealmente dos instrucciones por ciclo. Son de la misma longitud y están diferenciados en dos partes que funcionan independientemente, el front end y el back end.
24. Pipeline: Etapas y características. Pipeline PPE 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.
26. Pipeline: Etapas y características. Pipeline SPE 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ónes 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.
27. 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.
30. Comparativa Xenon vs Cell Para simplificar la gran diferencia entre ambos procesadores, el cell (PS3) es como un cirujano que está dotado de todos los conocimientos y que tiene a su disposición a 8residentes. Y el Xenon (360) es como 3 médicos generales trabajando al mismo nivel.
33. Posibles usos Servidor Blade : BladeCenter QS21. Generando unos 1,05 GFLOPS medidos por vatio, con un rendimiento máximo de aproximadamente 460 GFLOPS, es una de las plataformas de computación más eficientes en consumo hasta el día de hoy. Un chasis de BladeCenter puede alcanzar 6,4 TFLOPS y alrededor de 25,8 TFLOPS en un armario 42U estándar. Consolas de videojuegos Cine en casa Posibilidad de producir televisores de alta definición (HDTV’s) haciendo uso del Cell ). 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 velocidad del pentaflop. Usará una versión actualizada del procesador Cell, fabricada con tecnología de 65 nm y con SPU’s mejoradas que puedan manejar cálculos en doble precisión en los registros de 128 bits, alcanzando los 100 GFLOPS en doble precisión. Computación en clúster Los clústeres de consolas PlayStation 3 son una atractiva alternativa a los sistemas de gama alta basados en Blades Cell. clústeres de PlayStation 3 de 8 o 32 nodos, con YellowDog Linux preinstalado.