Celda (procesador)

Cell (o Cell Broadband Engine ) es una serie de procesadores que fue desarrollada por IBM junto con Sony y Toshiba . Los procesadores se caracterizan por el uso de un 64-bit - PowerPC -Kernes, una tubería de la arquitectura, el apoyo a simultánea multi-threading y el uso de un heterogénea arquitectura multi-núcleo , por lo que son ideales para el cálculo paralelo.

construcción

Diagrama del procesador celular

El concepto básico de los procesadores de celda proporciona ocho elementos de procesamiento sinérgico (SPE) y un elemento de procesamiento PowerPC (PPE). Los núcleos de procesador individuales están acoplados a través de un bus de interconexión de elementos (EIB), que puede transferir datos con hasta 96 bytes por ciclo de CPU. Tanto el PPE como los SPEs pueden acceder al EIB con 8 bytes por ciclo de CPU. El EIB se implementa como un bus de anillo (4 × 128 bits) y se sincroniza con la mitad del ciclo de la CPU. Se accede a la memoria principal a través de un controlador de interfaz de memoria (MIC).

Elemento de procesamiento sinérgico (SPE)

Cada SPE consta de una unidad de cálculo ( ALU ) con un SIMD cuádruple , denominado Unidad de procesamiento sinérgico (SPU o SPX). Tiene 128  registros , cada uno de 128  bits de tamaño. El SPE también incluye un controlador de flujo de memoria (MFC) que controla las transferencias DMA a la memoria principal oa otras SPEs, así como su propia memoria local de 256  kB .

Gestión de almacenamiento y almacenamiento local

La memoria local (también llamada Load Store Unit , LS para abreviar) consta de cuatro bloques de memoria separados de 64 KB con seis ciclos de latencia. Una SPU solo puede comunicarse directamente con el almacenamiento local. Un controlador de flujo de memoria (MFC), que actúa de forma completamente independiente, es responsable del acceso o la comunicación con la memoria principal, el PPE u otras SPU . Esto significa que, en teoría, la memoria de las SPE individuales puede dividirse libremente o protegerse con derechos de acceso específicos. Es posible realizar un total de 16 acciones de memoria simultáneamente con el MFC.
Con el abandono completo de la memoria caché en favor de una memoria local directamente direccionable y basada en SRAM , las latencias de la memoria se pueden controlar y mantener correspondientemente bajas en comparación con una arquitectura en orden compatible con la memoria caché . Gracias a este método, las secuencias del programa pueden controlarse en un alto grado tanto mediante compiladores como mediante programación directa, de modo que la ejecución desordenada o las sofisticadas predicciones de salto , que habrían aumentado innecesariamente la complejidad del procesador, son superfluas para un alto rendimiento.

Esquema de la SPE

Unidad de procesamiento sinérgico (SPU)

Una SPU funciona con dos tuberías ( pares e impares ) que tienen 23 pasos de longitud. La tubería par alberga las unidades de punto flotante y de punto fijo, mientras que todas las demás unidades funcionales se encuentran en la tubería impar . Una SPU puede ejecutar dos instrucciones por ciclo ( problema dual ), una de ellas por canalización. Esto corresponde a un máximo de ocho operaciones de punto flotante por ciclo con precisión simple. A una frecuencia de reloj de 3,2 GHz, esto da como resultado un rendimiento teórico de 25,6 GFLOPS por SPU.
Solo se implementa una predicción de rama estática. Por lo tanto, el rendimiento del compilador es importante a este respecto, ya que los peligros de la tubería dan como resultado un tiempo de espera de 18 ciclos. La gran cantidad de conjuntos de registros también ayuda a salvar las latencias resolviendo bucles ( desenrollado de bucles ) o ejecutando algoritmos varias veces en paralelo.
Las SPU no son coprocesadores . Pueden funcionar de forma independiente entre sí y también son compatibles con el código del programa PPE, siempre que se haya recopilado y ampliado para incluir llamadas DMA. Aunque las SPU están diseñadas para aplicaciones más específicas, son procesadores con un conjunto de instrucciones de uso general .

Esquema del PPE

Elemento del procesador de potencia (PPE)

El procesador de control (PPE) se basa en la arquitectura PowerPC de 64 bits de IBM , pero su canalización, en comparación con los procesadores PowerPC convencionales, funciona en orden , es decir, funciona uno tras otro. Sin embargo, el PPE ha retrasado las canalizaciones de ejecución que permiten la ejecución fuera de orden al menos para las instrucciones de carga. Dado que puede procesar dos subprocesos al mismo tiempo, las desventajas de orden habituales causadas por las tuberías bloqueadas surgen en menor medida con programas configurados adecuadamente. La caché L2 de 512 KB está disponible para el PPE . La CPU tiene un total de 2,5 MB de memoria interna.

historia

El procesador Cell es un desarrollo conjunto de Sony, Toshiba e IBM. El desarrollo comenzó en marzo de 2001 en un centro de desarrollo en Austin con la participación de ingenieros de las tres empresas. Un total de más de 400 especialistas, repartidos en diez ubicaciones en todo el mundo, participaron en el desarrollo de Cell. Las unidades de procesamiento sinérgico se diseñaron en gran parte en la ubicación de IBM en Boeblingen , Swabia .

En general, el desarrollo estimó más de 400 millones de dólares estadounidenses, miles de millones más se invirtieron en el establecimiento de fundiciones , incluido el sitio de producción de IBM en East Fishkill, Nueva York.

El primer procesador de células fue de 90 nm de tamaño de la característica en la técnica SOI fabricado alcanzó de este modo la un área de aproximadamente 235 mm². Los informes anteriores a abril de 2005 relacionados con un prototipo anterior ( DD1 ) del procesador hablan de un área de troquel ligeramente más pequeña de 221 mm². La versión final ( DD2 ) tiene un PPE mejorado con mayor rendimiento SIMD , lo que ocupa más espacio. Desde marzo de 2007, IBM fabricó el procesador en un proceso de 65 nm, lo que llevó a un área de matriz más pequeña y, por lo tanto, a menores costos de producción. Con la introducción de la PlayStation 3 Slim en agosto de 2009, siguió otro encogimiento a 45 nm con un área de solo 115 mm².

En 2007, se lanzó una variante mejorada del procesador Cell, el PowerXCell 8i . Este se fabricó en 65 nm desde el principio y, en comparación con su predecesor, admite cálculos con números de coma flotante con doble precisión de forma nativa, es decir, sin funciones auxiliares y por lo tanto mucho más rápido.

compromiso

El procesador Cell se desarrolló prestando especial atención a las aplicaciones informáticas de banda ancha, especialmente la informática gráfica y la codificación / decodificación de vídeo. El diseño encontró su primer uso comercial en septiembre de 2006 en servidores blade de IBM con ocho SPE. El procesador era más conocido por su uso en la consola de juegos PlayStation 3 de Sony , donde funciona a 3,2 GHz, pero solo con siete SPEs. Esto significa que todavía se pueden usar chips de celda con solo siete SPEs en funcionamiento, lo que puede reducir los costos. Incluso con solo siete SPEs, el procesador alcanza un rendimiento máximo teórico de más de 200 GFlops con números de punto flotante de precisión simple, que es superior a los procesadores de las consolas de la competencia de séptima generación ( Xbox 360 y Wii ).

El procesador también se usa en televisores con funciones de video extendidas; los derivados de celda con solo cuatro SPEs y hardware adicional para codificación y decodificación de video también se usan en portátiles especiales de Toshiba y en tarjetas de expansión para PC. El procesador sucesor PowerXCell 8i se ha utilizado en servidores desde marzo de 2007.

Más información

Peter Hofstee, uno de los principales arquitectos del procesador

En la comparación de rendimiento de LINPACK con otros procesadores, el Cell BE funciona de la siguiente manera:

LINPACK (DP)
Frecuencia de reloj

rendimiento teórico

rendimiento medio
Eficiencia matriz
Celda BE 1) 3,2 GHz 100,00 GFlops 2) 2) 4k × 4k
SPU 3) 3,2 GHz 1,83 GFlops 1,45 GFlops 79,23% 1k × 1k
8 SPU 3) 3,2 GHz 14,63 GFlops 9.46 GFlops 64,66% 1k × 1k
Pentium 4 3,2 GHz 6.40 GFlops 3.10 GFlops 48,44% 1k × 1k
Pentium 4 + SSE3 3,6 GHz 14,40 GFlops 7,20 GFlops 50,00% 1k × 1k
Itanium 1,6 GHz 6.40 GFlops 5,95 GFlops 92,97% 1k × 1k
1)Implementación bajo Jack Dongarra
2) desconocido
3)Implementación bajo IBM

Los valores se refieren a números de coma flotante de doble precisión (64 bits), para los cuales no están diseñadas las SPU del procesador de celda. Con la ayuda de la unidad VMX en el PPE, que está optimizado para doble precisión , el procesador Cell gestiona hasta 21.03 GFlops bajo la implementación de IBM. Un grupo de trabajo dirigido por Jack Dongarra optimizó el código mediante un proceso iterativo . Con LINPACK, se puede lograr un rendimiento correspondiente a 100 GFlops en una matriz 4K × 4K con doble precisión. El PPE tampoco contribuye al cálculo real, pero sirve como unidad de control para las SPU.

Los cálculos de LINPACK con números de punto flotante de precisión simple (32 bits) alcanzan más de 73 GFlops en un procesador de celda con ocho SPU. A medida que aumenta el tamaño de la matriz, aumenta la eficiencia informática, de modo que 8 SPU en una matriz 4K × 4K bajo LINPACK alcanzan alrededor de 156 GFlops.

También es interesante comparar el procesador Cell con otros multiprocesadores:

Procesadores de matriz múltiple
Fabricante procesador Núcleos
Unidades SIMD
Frecuencia de reloj
(GHz)
FMUL + FADD
(GFLOPS)
Rendimiento máximo
(GFLOPS)
BLAS / SGEMM
(GFLOPS)
Pérdida de potencia
( vatios )
ejecución
IBM Celda BE 1) Octavo Cuarto 3.200 2 204,8 201 80 procesador
Nvidia 8800Ultra (G80) 128 1 1.512 2 387,1 2) > 170 mapa
Nvidia 8800GTX (G80) 128 1 1350 2 345,6 105 3) 120-170 mapa
Nvidia GT200b 240 1 1,476 n / A 1062,7 2) 180-240 mapa
ATI HD2900 XT (R600) 320 5 0,742 2 474,9 2) 150-200 mapa
ATI 1900XTX (R580) 48 Cuarto 0,650 2 249,6 120 130-170 4) mapa
ATI RV770 800 5 0,750 n / A 1200 2) 80-160 mapa
ClearSpeed CSX700 192 1 0,250 2 96 80 10 procesador
ClearSpeed e710 192 1 0,250 2 96 80 25 mapa
1) sin considerar el EPI
2) desconocido
3)bajo DirectX 9
4) ctm

Ver también

enlaces web

Commons : Cell Processor  : colección de imágenes, videos y archivos de audio

Evidencia individual

  1. D. Pham, S. Asano, M. Bolliger, M. Day, H. Hofstee, C. Johns, J. Kahle, A. Kameyama, J. Keaty, Y. Masubuchi, M. Riley, D. Shippy, D Stasiak, M. Suzuoki, M. Wang, J. Warnock, S. Weitzel, D. Wendel, T. Yamazaki y K. Yazawa: El diseño e implementación de un procesador CELL de primera generación . Conferencia internacional sobre circuitos de estado sólido, febrero de 2005, págs. 184-185
  2. ^ ISSCC 2005: The CELL Microprocessor , artículo sobre Realworldtech del 10 de febrero de 2005
  3. a b c Cultivo celular: funcionamiento interno y programación del proceso celular . En: c't , pág.28 y siguientes, edición c't especial 01/07 - Playstation 3
  4. ^ Enfoque de la celda: en orden sin caché . Consultado el 28 de enero de 2011
  5. a b c Explicación de la arquitectura celular . Consultado el 20 de enero de 2013.
  6. ^ Programación práctica de SPU en God of War III . (PDF; 4,7 MB) consultado el 28 de enero de 2011
  7. SPU de PlayStation3 en el mundo real (PDF; 62,4 MB) consultado el 24 de enero de 2013
  8. a b IBM: Arquitectura de motor de banda ancha celular y su primera implementación: una vista de rendimiento
  9. ↑ ¡ Santo Chip! , 30 de enero de 2006 (inglés); consultado el 13 de enero de 2013.
  10. Microprocesador CELL III . Realworldtech, 24 de julio de 2005
  11. IBM Cell Processor produce usando nueva tecnología de fabricación . ( Recuerdo de la original, del 15 de marzo de 2007 en el Archivo de Internet ) Información: El archivo de enlace se inserta de forma automática y sin embargo no ha sido comprobado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso. X-bit Labs, 12 de marzo de 2007 @ 1@ 2Plantilla: Webachiv / IABot / www.xbitlabs.com
  12. Sony responde a nuestras preguntas sobre la nueva PlayStation 3 . Artechnica, 18 de agosto de 2009
  13. Consola Los tamaños . Beyond3D, 21 de noviembre de 2012
  14. IBM presenta el módulo de servidor Blade con procesadores de celda . Heise.de, 13 de septiembre de 2006
  15. Toshiba demuestra un microprocesador celular que decodifica simultáneamente 48 secuencias MPEG-2 . Tech-On 25 de abril de 2005
  16. Toshiba Qosmio G55 - primer portátil con SpursEngine . Golem.de, 18 de junio de 2008
  17. ^ Especificaciones de las computadoras portátiles Toshiba Qosmio G55-Q802 y reseñas de clientes . Especificación de producto para el portátil con procesador SpursEngine, un derivado celular
  18. La tarjeta de transcodificación de video WinFast PxVC1100: ¿Vale la pena el precio? Informe de prueba en tomshardware.com, 28 de enero de 2010
  19. IBM anuncia PowerXCell 8i, servidor blade QS22 . ( Recuerdo de la original, del 16 de junio de 2008 en el Archivo de Internet ) Información: El archivo de enlace se inserta de forma automática y sin embargo no ha sido comprobado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso. Beyond3D, 13 de mayo de 2008 @ 1@ 2Plantilla: Webachiv / IABot / www.beyond3d.com
  20. IBM BladeCenter QS22 , especificación de producto para el servidor blade IBM con PowerXCell 8i
  21. Explotación del rendimiento de la aritmética de coma flotante de 32 bits para obtener precisión de 64 bits . (PDF; 227 kB), 31 de octubre de 2006 (inglés); Consultado el 5 de enero de 2011
  22. Estructuras celulares . En: c't , 12/2007, p. 196 y sigs.
  23. ClearSpeed CSX700 ( Memento de la original, desde el 18 de mayo de 2009 en el Archivo de Internet ) Información: El archivo de enlace se inserta de forma automática y sin embargo no ha sido comprobado. Verifique el enlace original y de archivo de acuerdo con las instrucciones y luego elimine este aviso. , Especificación de producto para el procesador CSX700 @ 1@ 2Plantilla: Webachiv / IABot / www.clearspeed.com