fbpx
Wikipedia

Cell (microprocesador)

Cell es una arquitectura de microprocesador[1]​ desarrollada conjuntamente por Sony Computer Entertainment, Toshiba, e IBM, en una alianza conocida con el nombre de “STI”.[2]​ El diseño de arquitectura y su primera implementación se llevaron a cabo en el STI Design Center de Austin, Texas, durante un periodo total de cuatro años que comenzó en marzo de 2001, empleando un presupuesto de 400 millones de dólares según IBM.[3]

Cell es la abreviatura de Cell Broadband Engine Architecture (“arquitectura de motor Cell de banda ancha”), conocida también como CBEA por sus siglas al completo o Cell BE. Cell emplea una combinación de la arquitectura de núcleo PowerPC, de propósito general y medianas prestaciones, con elementos coprocesadores[4]​ en cascada, los cuales aceleran notablemente aplicaciones de procesado de vectores y multimedia, así como otras formas de computación dedicada.[4]

La primera gran aplicación comercial del Cell fue la videoconsola PlayStation 3 de Sony. También podemos encontrar este procesador en servidores duales Cell, blade (tipo de servidor autocontenido) Cell en configuración dual, tarjetas aceleradoras PCI-Express y adaptadores de televisión de alta definición.

Características únicas como el subsistema de memoria XDR de RAMBUS y el bus de interconexión de elementos (Element Interconnect Bus, EIB)[5]​ parece que posicionan el Cell de manera ventajosa en el empleo de aplicaciones futuras en el campo de la supercomputación, donde se sacaría provecho de la habilidad del procesador para manejar núcleos de coma flotante. IBM ha anunciado planes para incorporar procesadores Cell como tarjetas de expansión en sus mainframes IBM System z9, para que de este modo puedan ser empleados como servidores en juegos de rol multijugador en línea masivos (MMORPGs).[6]

En noviembre de 2006, David A. Bader, del Instituto Tecnológico de Georgia fue escogido por Sony, Toshiba e IBM de entre más de una docena de universidades para dirigir el primer Centro STI de expertos para el procesador Cell (STI Center of Competence for the Cell Processor).[7][8][9]​ Esta alianza tiene por objetivo crear una comunidad de programadores y ampliar el apoyo de la industria al procesador Cell.[7][8]​ Existe un vídeo tutorial sobre cómo programar el Cell a disposición del público.[10]

Historia

 
Peter Hofstee, uno de los jefes de arquitectos del Cell.

En el año 2000, Sony Computer Entertainment, Toshiba Corporation, e IBM formaron una alianza (STI) para diseñar y manufacturar el procesador. El centro de diseño STI (STI Design Center) abrió sus puertas en marzo de 2001.[11]​ El Cell estuvo en fase de diseño durante cuatro años, empleando versiones mejoradas de las herramientas de diseño usadas con el procesador POWER4. Alrededor de 400 ingenieros de las tres compañías trabajaron en Austin, con el estrecho apoyo de once de los centros de diseño de IBM.[11]

Durante este periodo, IBM registró diversas patentes relacionadas con la arquitectura Cell, el proceso de fabricación y el entorno software. La primera versión de la patente del Broadband Engine mostraba un encapsulado de chip conteniendo cuatro “elementos de procesamiento” (Processing Elements), lo cual era la descripción en la patente de lo que ahora se conoce como “elementos power de proceso” (Power Processing Element). Cada elemento del proceso contenía 8 procesadores aritméticos, designados como SPEs en el actual chip Broadband Engine. Dicho encapsulamiento se especula que habitualmente poseía una velocidad de reloj de 4 GHz, con 32 unidades de procesamiento aritmético que proporcionaban un total de 32 GFLOPS cada una. De este modo, el Broadband Engine mostraba un Teraflop de potencia de computación bruta.

En marzo de 2007, IBM hizo público que la versión en 65 nm del Cell BE se encontraba en producción en su planta de East Fishkill, Nueva York.[12][13]

Nuevamente, durante el mes de febrero de 2008, IBM anunció su intención de comenzar la fabricación de procesadores Cell con tecnología de 45nm.[14]

Comercialización

El 17 de mayo de 2005, Sony Computer Entertainment confirmó algunas de las especificaciones del procesador Cell que sería incluido dentro de la futura videoconsola PlayStation 3.[15][16][17]​ En esta configuración del Cell, se incluiría un elemento power de proceso (PPE) en el núcleo, junto con 8 unidades sinergísticas de proceso (SPEs) en la oblea de silicio.[17]​ En la PlayStation 3, las SPEss son 8 , y 1 se reserva para el sistema operativo, dejando con ello 7 SPEs libres para ejecutar el código de los juegos.[18]​ La velocidad de reloj objetivo durante su lanzamiento son 3,4 GHz[16]​ El primer diseño se fabricó usando tecnología de fabricación SOI de 90 nm, de cuya producción inicial se encargó la fábrica de IBM en East Fishkill.[12]

La relación existente entre núcleos e hilos es una fuente usual de confusiones. El PPE es capaz de manejar dos hilos de ejecución y se muestra en software como tal, mientras que cada SPE activa se muestra como uno sólo. En la configuración de la PlayStation 3, tal y como la describe Sony, el procesador Cell proporciona nueve hilos de ejecución.

El 28 de junio de 2005, IBM y Mercury Computer Systems hicieron público un acuerdo para producir sistemas basados en Cell para aplicaciones embebidas tales como producción de imágenes médicas, inspección industrial, procesamiento aeroespacial, aplicaciones de defensa, de detección de seísmos y también para telecomunicaciones.[19]​ Mercury ha comercializado desde entonces blades, servidores convencionales en armario y aceleradoras PCI-Express con procesadores Cell.[19]

En el otoño de 2006, IBM lanzó el módulo blade QS20, empleando procesadores Cell BE dobles que proporcionaba un tremendo rendimiento en cierto tipo de aplicaciones, alcanzando un máximo de 410 GFLOPS por módulo. Los módulos QS22 integran supercomputador IBM Roadrunner, que entró en funcionamiento en el 2008. Mercury e IBM hacen uso del procesador Cell al completo, con sus 8 SPEs activas.

Análisis

El procesador de banda ancha Cell (Cell Broadband Engine) –o más comúnmente Cell– es un microprocesador diseñado para cubrir el hueco existente entre procesadores convencionales de sistemas de escritorio (tales como las familias Athlon, Pentium y PowerPC) y los procesadores especializados de alto rendimiento, como los procesadores gráficos (GPUs) de NVIDIA y ATI Technologies. Su nombre completo indica las especificaciones de su uso, principalmente como componente en sistemas de distribución digital presentes y futuros. Como tal, puede ser empleado en pantallas y equipo de grabación de alta definición, así como en sistemas de entretenimiento informático para la era HDTV. De manera adicional, el procesador puede ser el apropiado para sistemas digitales de obtención de imagen (médicas, científicas, etc.), así como para simulaciones físicas (por ejemplo, modelado de ingeniería estructural o científico).

En un análisis simple, el procesador Cell se puede descomponer en cuatro partes:

  • estructuras externas de I/O,
  • el procesador principal (llamado Power Processing Element (PPE), consistente en un núcleo Power ISA (Instruction Set Architecture) v.2.03 de dos vías multihilo simultáneo,
  • ocho coprocesadores funcionales denominados Synergistic Processing Elements, o SPEs;
  • y un bus de datos circular especializado de gran ancho de banda que conecta la PPE, los elementos I/O y las SPEs, llamado “bus de interconexión de elementos” o Element Interconnect Bus (EIB).

Para alcanzar el alto rendimiento necesario para tareas matemáticas intensivas, tales como decodificar o codificar secuencias MPEG, generar o transformar datos 3D, o llevar a cabo análisis Fourier de datos, el procesador Cell aúna las SPE y el PPE por medio del EIB para proporcionarles acceso tanto a la memoria principal como a dispositivos externos de almacenamiento.

El PPE, que es capaz de ejecutar un sistema operativo convencional, posee el control sobre las SPEs y puede comenzar, interrumpir y programar procesos para que se ejecuten en las mismas. Tiene para este fin instrucciones adicionales relativas al control de las SPE. A pesar de presentar arquitecturas Turing completas, las SPE no son completamente autónomas y requieren que el PPE les envíe órdenes antes de poder ejecutar ninguna tarea de utilidad. Sin embargo, la mayor parte del “caballaje” proviene de las unidades sinergísticas de proceso.

El PPE y la arquitectura de bus incluyen varios modos de operación que proporcionan diferentes niveles de protección de memoria. Permitiendo que ciertas áreas de la memoria se protejan del acceso por parte de procesos específicos que se estén ejecutando en las SPE o en la PPE.

Tanto la arquitectura de la PPE como las de las SPE son de tipo RISC, con instrucciones de un tamaño de palabra fijo de 32 bits. El PPE contiene un juego de registros de propósito general de 64 bits (GPR), un registro de coma flotante de 64 bits (FPR) y un juego de registros de tipo Altivec de 128 bits. La SPE contiene solamente registros de 128 bits. Estos se pueden emplear para diversos tipos de datos escalares que pueden ir desde los 8 hasta los 128 bits de tamaño o, para cálculos SIMD, en una variedad de formatos enteros o de coma flotante.

Las direcciones de memoria tanto para el PPE como para las SPEs se expresan como valores de 64 bits, proporcionando un rango teórico de direcciones de 264 bytes (16.777.216 terabytes). En la práctica no todos esos bits se implementan por hardware. De todos modos, el espacio de direcciones es extremadamente grande. Las direcciones de almacenamiento locales de las SPE se expresan como palabras de 32 bits. En la documentación relativa al Cell, el término palabra siempre se refiere a 32 bits, doble palabra a 64 bits y cuádruple palabra a 128 bits.

PowerXCell 8i

En el 2008, IBM anunció una variante revisada del Cell llamada PowerXCell 8i, la cual está disponible en los Servidores Blade QS22 de IBM. El PowerXCell es fabricado con proceso de 65 nm, y agrega soporte de hasta 32 GB de memoria DDR3, así como también unas prestaciones dramáticamente mejoradas en coma flotante de doble precisión en los SPE con picos de alrededor de 12,8 GFLOPS hasta 102,4 GFLOPS total para ocho SPEs. La supercomputadora IBM Roadrunner, actualmente la segunda más rápida del mundo, consiste de 12.240 procesadores PowerXCell 8i, junto a 6.562 procesadores AMD Opteron.[20]​Junto al QS22 y la computadora RoadRunner, el procesador PowerXCell también está disponible como un acelerador en una tarjeta PCI-Express y se utiliza como el procesador de núcleo en el proyecto QPACE.

Influencias y contrastes

En algunos aspectos el sistema Cell se asemeja a los primeros diseños de Seymour Cray, pero a la inversa. El conocido CDC6600 empleaba un único procesador, muy rápido, para manejar los cálculos matemáticos, mientras que diez sistemas de menor velocidad ejecutaban programas más pequeños para así mantener a la memoria principal alimentada con datos.

El problema ha sido invertido en el Cell: leer datos ya no constituye el problema gracias a los complejos códigos empleados en la industria. Hoy en día el problema es decodificar los datos en un formato cada vez menos y menos comprimido lo más rápido posible.

Las modernas tarjetas gráficas tienen elementos muy parecidos a los de las SPEs, conocidos como unidades de sombreado, con una memoria de alta velocidad asociada. Unos programas, conocidos como “sombreadores” (shaders), se cargan en dichas unidades para procesar el flujo de datos de entrada que proporcionan estadios previos (posiblemente la CPU), de acuerdo con las operaciones requeridas.

Las principales diferencias se aprecian en que las SPEs del Cell son de propósito mucho más general que las unidades de sombreado, y la habilidad de encadenar bajo el control de un programa varias SPEs ofrece una flexibilidad mucho mayor, permitiendo que el Cell maneje gráficos, sonido o cualquier otra carga de trabajo.

Arquitectura

 
Esquema del procesador Cell.

Aunque el integrado Cell puede presentar diversas configuraciones, la más básica es un chip multinúcleo compuesto de un “elemento Power de proceso" (Power Processor Element, PPE), también llamado a veces “elemento de proceso” (PE); y varias “unidades sinergísticas de procesamiento” (Synergistic Processing Elements, SPE).[21]​El PPE y las SPEs están interconectadas entre sí mediante un bus interno de alta velocidad denominado “bus de interconexión de elementos” (Element Interconnect Bus, EIB).

Debido a la naturaleza de sus aplicaciones, el Cell está optimizado para la computación de datos de coma flotante de precisión simple. Las SPEs son capaces de ejecutar cálculos de doble precisión, pero a cambio de una penalización notable en el rendimiento. Sin embargo, existen modos de solucionar esto en el software por medio del empleo de refinamientos de tipo iterativo, lo que significa que los valores sólo serán calculados en doble precisión cuando sea necesario. Jack Dongarra y su equipo han hecho una demostración en público en la que un Cell a 3,2 GHz con 8 SPEs proporcionaba un rendimiento igual a 100 GFLOPS procesando una matriz estándar Linpack 4096x4096 con datos de doble precisión

Elemento Power de Proceso (Power Processor Element)

El PPE es un núcleo de dos vías multihilo basado en arquitectura Power que actúa como controlador para las 8 SPEs, que se ocupan de la mayor parte de la carga de computación. El PPE trabaja con sistemas operativos convencionales debido a su similitud con otros procesadores Power PC de 64 bit, mientras que las SPEs están diseñadas para la ejecución de código vectorizado en coma flotante.

El PPE contiene instrucciones de 32 KB y memoria caché de nivel 1 de 32 KB, así como una caché de 512 KB nivel 2. Adicionalmente, IBM ha incorporado una unidad Altivec,[22]​ la cual se encuentra configurada para procesar datos de coma flotante en doble precisión mediante pipelines.

Cada PPU puede completar dos operaciones de doble precisión por ciclo de reloj, lo cual se traduce en un rendimiento de 6,4 GFLOPS a 3,2 GHZ.[23]

Elementos Sinergísticos de Proceso (Synergistic Processing Elements, SPE)

 
Esquema del PPE.
 
Esquema del SPE.

Cada SPE se compone de una “unidad sinergística de proceso” (Synergistic Processing Unit, SPU) y una “controladora de flujo de memoria” (Memory Flow Controller, MFC, DMA, MMU, o bus interface).[24]​Una SPE es un procesador RISC con una organización SIMD de 128 bits preparada para ejecutar instrucciones de precisión doble o sencilla.[22][25][26]​ En la generación actual de Cell, cada SPE contiene 256 KB de SRAM embebida, para almacenamiento de instrucciones y datos, denominada “almacenamiento local” (no confundir con “memoria local”, que en la documentación de Sony se corresponde con la VRAM), visible para la PPE y que puede ser direccionada directamente por software. Cada SPE soporta hasta 4 GB de memoria de almacenamiento local.

El almacenamiento local no opera como la caché de una CPU convencional, ya que no es ni transparente al software ni contiene estructuras para la predicción de los datos a cargar. Las SPEs contienen una línea de registros de 128 bits con 128 entradas que mide 14,5 mm² con la tecnología de fabricación de 90 nm. La SPE puede realizar operaciones con 16 enteros de 8 bits, 8 de 16 bits, 4 de 32 bits o bien 4 números de coma flotante en precisión simple en un solo ciclo de reloj, así como realizar una operación de memoria. Obsérvese que la SPU no puede direccionar memoria del sistema directamente: las direcciones virtuales de 64 bits formadas en la SPU han de ser transmitidas a la unidad de control de flujo de memoria (MFC) para ejecutar una operación DMS dentro del espacio de memoria del sistema.

En un escenario de uso típico, el sistema cargará pequeños programas en las SPEs (parecidos a hilos), encadenándolas juntas de manera que cada una se haga cargo de un pequeño paso en una operación compleja. Por ejemplo, un decodificador de sobremesa podría cargar programas para leer un DVD, decodificar audio y vídeo y control de pantalla; y los datos serían transmitidos de SPE a SPE hasta que finalmente alcanzaran la televisión. Otra posibilidad consiste en dividir los datos de entrada y poner a operar a las SPEs en la misma tarea en paralelo. A 3,2 GHZ, cada SPE proporciona un rendimiento teórico de 25,6 GFLOPS en datos de precisión simple.

Comparado con un computador personal moderno, el mayor rendimiento relativo de un procesador Cell en coma flotante parece dejar en ridículo las capacidades de unidades SIMD en procesadores de sobremesa como el Pentium 4 y el Athlon 64. Sin embargo, comparar tan sólo las capacidades en coma flotante de un sistema es una manera de efectuar mediciones unidimensional y fuertemente ligado a ciertas aplicaciones. A diferencia de un procesador Cell, las CPUs de escritorio están mejor capacitadas para ejecutar software de propósito general ejecutado habitualmente en computadores personales. Además de ejecutar varias instrucciones por ciclo de reloj, los procesadores de Intel y AMD proveen predicción de bifurcaciones. El Cell se diseñó para compensar esto con la ayuda de su compilador, en el que se crean instrucciones para la preparación de bifurcaciones. Para datos en precisión doble, usualmente empleados en computadores personales, el rendimiento del Cell decrece considerablemente, pero aún alcanza los 12,8 GFLOPS.[27]

Pruebas recientes realizadas por IBM muestran que las SPEs pueden alcanzar el 98% de su máximo teórico empleando multiplicación de matrices paralelas.[23]

Toshiba ha desarrollado un coprocesador operado por cuatro SPEs y ningún PPE, llamado SpursEngine, que está diseñado para acelerar 3D y efectos de películas en electrónica de consumo.

Bus de Interconexión de Elementos (Element Interconnect Bus, EIB)

El EIB es un bus de comunicaciones interno del procesador Cell que interconecta los diversos elementos de sistema integrados en el chip: el procesador PPE, el controlador de memoria (MIC), los ocho coprocesadores SPE y las dos interfaces externas I/O del chip, formando un total de 12 participantes. El EIB incluye una unidad de asignación que funciona como un conjunto de semáforos. En algunos de los documentos de IBM los participantes del EIB son denominados “unidades”.

Actualmente, el EIB se implementa como un anillo circular compuesto de 4 canales unidireccionales de 16 Bytes que rotan en sentido contrario a las agujas del reloj por parejas. Cuando los patrones del tráfico los permiten, cada canal puede transmitir hasta un máximo de 3 transacciones de forma concurrente. Dado que el EIB funciona a la mitad de velocidad del reloj del sistema, el rendimiento efectivo son 16 bytes cada dos ciclos de reloj. Con tres transacciones activas en cada uno de los cuatro anillos, esto es, con una concurrencia máxima, el pico máximo instantáneo en ancho de banda del EIB es de 96 bytes por ciclo de reloj (12 transacciones simultáneas*16 bytes/2 ciclos de reloj). Aun cuando este valor es normalmente citado por IBM resulta irreal escalar este número por la velocidad del procesador. La unidad de asignación impone restricciones adicionales, las cuales se discuten más abajo en la sección asignación de ancho de banda.

David Krolak, Ingeniero Jefe de IBM y director de diseño del EIB, explica el modelo de concurrencia:[28]

Un anillo puede comenzar una operación cada tres ciclos. Cada transferencia dura 8 impulsos. Esta fue una de las simplificaciones que hicimos. De este modo, se optimiza para la transferencia de muchos datos. Si efectúas operaciones pequeñas, no funciona tan bien. Piensa en trenes de ocho vagones circulando por esta vía. Siempre que los vagones no colisionen entre sí, pueden coexistir en la vía.

Cada uno de los participantes en el EIB posee un puerto de lectura de 16 bytes y otro de escritura de 16 bytes. El límite para cada participante individual es el de leer y escribir a una velocidad de 16 bytes por ciclo de reloj (por simplicidad muchas veces se indican 8 bytes por ciclo de reloj). Téngase en cuenta que cada SPU contiene una cola de administración DMA dedicada capaz de planificar grandes secuencias de transacciones hacia diversos puntos de destino sin interferir con los cálculos que la SPU esté llevando a cabo. Estas colas DMA pueden ser manejadas tanto de manera local como remota, proporcionando una flexibilidad adicional en el modelo de control.

Los datos circulan por un canal EIB en el sentido de las agujas del reloj alrededor del anillo. Dado que existen doce participantes, el número total de pasos alrededor del canal de vuelta al origen son doce. Seis pasos es la distancia máxima entre cualquier par de participantes. A un canal EIB no se le permite comunicar datos que requieran más de seis pasos. Este tipo de datos habrá de tomar la ruta más corta en la otra dirección. El número de pasos implicados en enviar un paquete tiene poco impacto en la latencia de transferencia: la velocidad de reloj que controla todos los pasos es muy rápida con relación a cualquier otra consideración. Sin embargo, distancias de comunicación más largas sí que son perjudiciales para el rendimiento general del EIB, dado que reducen la concurrencia disponible.

A pesar del deseo original de IBM de implementar el EIB como un conmutador (crossbar) más potente, la configuración circular que adoptaron para economizar recursos en muy raras ocasiones representa un factor limitador en el rendimiento del chip Cell como un todo. En el peor de los casos, el programador ha de tener un cuidado extra a la hora de planificar patrones de comunicación allí donde el EIB es capaz de funcionar con altos niveles de participación.

David Krolak explica:[28]

Bueno, al principio, en los inicios del proceso de desarrollo, varias personas promocionaban la idea de un conmutador (crossbar switch). Por el modo en que el bus estaba diseñado se podría retirar sin más el EIB e implantar un conmutador siempre que estuvieras dispuesto a dedicar más espacio en la oblea del chip a pistas. Teníamos que encontrar un equilibrio entre conectividad y espacio y sencillamente no existía suficiente espacio para poner un conmutador. Así que se nos ocurrió esta estructura de anillo, que pensamos es bastante interesante. Encaja con las restricciones de espacio y aun así proporciona anchos de banda bastante notorios.

Asignación del ancho de banda

A la hora de citar cifras de rendimiento, asumiremos un procesador Cell corriendo a 3,2 GHz, la más frecuentemente citada. A esta frecuencia de reloj cada canal transmite a un ritmo de 25,6 GB/s. Contemplando el EIB aisladamente de los elementos que interconecta, alcanzar doce transacciones simultáneas con este ratio de transferencia arrojaría un ancho de banda teórico de 207,2 GB/s. Basándose en esta perspectiva muchas de las publicaciones de IBM describen el ancho de banda disponible en el EIB como “mayor de 300 GB/s”. Este número refleja el pico instantáneo de ancho de banda del EIB escalado por la frecuencia del procesador.[29]

Sin embargo, otras restricciones técnicas se ven involucradas en el mecanismo de arbitraje para los paquetes que son aceptados en el bus. Como explica The IBM Systems Performance Group:[23]

Cada unidad en el EIB puede enviar o recibir simultáneamente 16 bytes de datos por cada ciclo de bus. El máximo ancho de banda para datos para todo el EIB es limitado por la velocidad máxima a la que las direcciones son vigiladas por todas las unidades en el sistema, que es de uno por ciclo de bus. Dado que cada petición de dirección vigilada puede transferir potencialmente hasta 128 bytes, el pico de ancho de banda teórico en el EIB a 3,2 GHz es de 128 bytes x 1,6 GHz  GB/s.

Esta cita representa aparentemente la mayor revelación pública por parte de IBM de este mecanismo y su impacto. La unidad de arbitraje del EIB, el mecanismo de vigilancia y la generación de interrupciones en segmentos o los fallos de traducción de página no están bien descritos en los juegos de documentación pública de IBM.

En la práctica el ancho de banda efectivo del EIB puede también estar limitado por los participantes involucrados en el anillo. Mientras que cada uno de los nueve núcleos de proceso puede mantener una velocidad de lectura y escritura de 25,6 GB/s de manera simultánea, el adaptador de controladora de memoria (memory interface controller , MIC) está sujeto a un par de canales de memoria XDR que permiten un tráfico máximo de 25,6 GB/s para escrituras y lecturas combinadas; y las dos controladoras de E/S, según aparece en la documentación, soportan una velocidad máxima combinada de entrada de 25,6 GB/s y una velocidad máxima combinada de salida de 35 GB/s.

Para aumentar aún más la confusión, algunas publicaciones antiguas hablan del ancho de banda del EIB asumiendo un reloj de sistema de 4 GHz Este marco de referencia resulta en una cifra de ancho de banda instantáneo de 384 GB/s y en un valor de ancho de banda limitado por arbitraje de 256 Gb/s. El valor teórico de 204,8 GB/s, el más citado, es el mejor a tener en cuenta, considerando cualesquiera otros aspectos. El IBM Systems Performance Group ha realizado demostraciones donde se alcanzaban flujos de datos de 197 GB/s alrededor de las SPUs en un procesador Cell corriendo a 3,2 GHz, así que esta cifra es un indicador fiable también en la práctica.

Interconexión óptica

Sony está actualmente trabajando en el desarrollo de una tecnología de interconexión óptica para su empleo como adaptador interno o entre dispositivos externos para varios tipos de sistemas de electrónica de consumo y de entretenimiento basados en Cell.

Controladora de memoria y E/S

El procesador Cell contiene un macro XIO Rambus doble canal de nueva generación, que interconecta con memoria XDR Rambus. La controladora adaptadora de memoria (MIC) está separada del macro XIO y ha sido diseñada por IBM. El enlace XIO-XDR corre a 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 empleado en Cell, también un diseño Rambus, es conocido como FlexIO. La interface FlexIO está organizada en 12 carriles, siendo cada carril un canal de 8 bits punto a punto. Cinco caminos de 8 bits de ancho punto a punto son carriles de entrada al Cell, mientras que los siete restantes son de salida. Esto proporciona un ancho de banda máximo teórico de 62,4GB/s (36,5GB/s salida, 26GB/s entrada).

La interface FlexIO puede poseer una frecuencia de reloj independiente (típicamente, a 3,2 GHz). Cuatro canales de entrada y cuatro de salida se encargan de implementar la coherencia de memoria.

Usos posibles

Servidor Blade

El 29 de agosto de 2007, IBM presentó el BladeCenter QS21. Generando unos 1,05 GFLOPS (Giga Floating Point Operations Per Second) 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. Empresas como Blizzard utilizan este tipo de servidores para alojar sus juegos en línea masivos.[30]

Consolas de videojuegos

La consola de videojuegos PlayStation 3 de Sony contiene la primera aplicación fabricada del procesador Cell, a una velocidad de reloj de 3,2 GHz, con siete de los ocho SPEs operacionales, lo que permite a Sony incrementar la producción en la fabricación del procesador. Solo seis de los siete SPEs son accesibles para los desarrolladores, mientras que el séptimo se reserva para el sistema operativo.[18]

Cine en casa

Se ha dicho que Toshiba está considerando la posibilidad de producir televisores de alta definición (HDTVs) haciendo uso del Cell. Ya han presentado un sistema que decodifica 48 flujos de MPEG-2 en definición estándar simultáneamente en una pantalla de 1920x1080.[31][32]​ Esto permitiría al usuario elegir un canal de entre docenas de vídeos en miniatura presentados simultáneamente en pantalla.

Supercomputación

La nueva supercomputadora planeada por IBM, el IBM Roadrunner, será un híbrido entre procesadores de propósito general CISC y procesadores Cell. Se dice que esta combinación producirá el primer computador capaz de operar a la velocidad del petaflop. Usará una versión actualizada del procesador Cell, fabricada con tecnología de 65 nm y con SPUs mejoradas que puedan manejar cálculos en doble precisión en los registros de 128 bits, alcanzando los 100 GFLOPS en doble precisión.[33][34]

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. El Innovative Computing Laboratory, cuyo grupo lidera Jack Dongarra, dentro del departamento de ciencia computacional de la Universidad de Tenesse, investigó dicha aplicación en profundidad.[35]​ Terrasoft Solutions (desde 2008 Fixstars), implementando las investigaciones de Dongarra, vende clústeres de PlayStation 3 de 8 o 32 nodos, con Yellow Dog Linux preinstalado. Como publicó la revista Wired el 17 de octubre de 2007, una aplicación interesante del uso de PlayStation 3 en configuración de clúster fue implementada por el astrofísico Dr. Gaurav Khanna, que sustituyó el tiempo empleado en supercomputadores por ocho PlayStation 3.[36]​ El laboratorio de computación bioquímica y biofísica de la Universidad de Pompeu Fabra en Barcelona construyó un sistema BOINC basado en el software CellMD (el primero diseñado específicamente para el Cell) llamado PS3GRID[37]​ para computación compartida.

Con la ayuda del poder de cálculo de alrededor de medio millón de consolas PlayStation 3, el proyecto de computación distribuida Folding@Home ha sido reconocido por el libro Guiness de los Records como la más poderosa red de computación distribuida del mundo.[38]​ El primer récord se obtuvo el 16 de septiembre de 2007, cuando el proyecto sobrepasaba un PETAFLOPS, lo que nunca había sido alcanzado antes por ninguna red de computación distribuida. Los esfuerzos colectivos permitieron que sólo las PS3 alcanzaran la marca del PETAFLOPS el 23 de septiembre de 2007. En comparación, la supercomputadora más potente del mundo, el IBM "Roadrunner", tiene una potencia de alrededor de 1,105 PETAFLOPS. Esto significa que la potencia de cálculo de Folding@Home es aproximadamente la misma que la de Roadrunner (aunque la interconexión entre CPUs en Roadrunner es mucho más rápida, hablamos del orden de millones de veces, que la media de velocidad en la red Folding@Home).

Mainframes

El 25 de abril de 2007 IBM anunció que comenzaría a integrar sus microprocesadores con arquitectura Cell Broadband Engine en su línea de mainframes.[39]

Ingeniería de software

La arquitectura Cell implanta novedades como son la estructura de coherencia de memoria, por la que IBM ha recibido varias patentes. Esta arquitectura enfatiza la relación rendimiento por vatio, da prioridad al ancho de banda sobre la latencia y favorece la máxima salida de cálculo sobre la simplicidad del código de programación. Debido a ello, Cell es considerado normalmente como un entorno difícil de desarrollo de software.[40]​ IBM proporciona una plataforma de desarrollo completa basada en Linux para ayudar a los programadores a afrontar esta tarea.[41]​ El factor principal para comprobar si Cell llega a desarrollar su potencial de rendimiento es la adaptación del software. A pesar de estas dificultades, los estudios indican que Cell sobresale en diversos tipos de computación científica.[42]

Dada la naturaleza flexible del Cell, existen diversas posibilidades para el empleo de sus recursos, que no se limitan simplemente a diferentes paradigmas de computación.[43]

Colas de trabajo

El PPE mantiene una cola de trabajo, planifica trabajos en las SPEs y monitoriza los progresos. Cada SPE ejecuta un mini núcleo cuyo trabajo consiste en recoger un trabajo, ejecutarlo y sincronizarlo con el PPE.

Multitarea autónoma en los SPEs

El núcleo y la planificación se distribuye entre los SPEs. Las tareas se sincronizan empleando semáforos o multitexes tal y como ocurre en sistemas operativos convencionales. Las tareas listas para su ejecución esperan en una cola a que las SPE las ejecute. Las SPE emplean memoria compartida para todas las tareas en esta configuración.

Procesado de flujos

Cada SPE ejecuta un programa determinado. Los datos provienen de un flujo de entrada y son enviados a las SPEs. Cuando una SPE ha concluido el procesado, los datos de salida son enviados a un flujo de salida. Esto proporciona una arquitectura flexible y potente para el procesado de flujos y permite planificar explícitamente cada SPE por separado. Otros procesadores son también capaces de ejecutar tareas de procesado de flujos (streaming), pero se ven limitados por el tipo de núcleo cargado.

Computación distribuida

Existe una aplicación de computación distribuida BOINC activa en . Se dedica enteramente a diversos tipos de cálculos biológicos que sólo se pueden completar con éxito mediante microprocesadores corriendo en paralelo.

Desarrollo de software en código abierto

Una estrategia basada en el software Open Source fue asumida para acelerar el desarrollo de un “ecosistema” Cell BE y para proporcionar un entorno en el que desarrollar aplicaciones Cell.[44]​ En 2005, los desarrolladores de IBM enviaron parches habilitando el soporte de Cell para su inclusión en el núcleo Linux.[45]​ Anrd Bergmann (uno de los desarrolladores de estos parches) también describió la arquitectura Cell basada en Linux en el LinuxTag de 2005.[46]

Tanto el PPE como las SPEs se pueden programar en C/C++ empleando una API común que proporcionan librerías.

Terra Soft Solutions suministra Yellow Dog Linux tanto para sistemas Cell IBM como para Mercury, así como para la PlayStation3.[47]​ Terra Soft se ha aliado estratégicamente con Mercury para suministrar el paquete de soporte LinuxBoard para Cell, además de apoyo y desarrollo de aplicaciones software en varias otras plataformas Cell, incluyendo el IBM BladeCenter JS21, el Cell QSQ20 y las soluciones de Mercury.[48]​ Terra Soft mantiene asimismo la suite de construcción y administración de clústeres Y-HPC (High Performance Computing) y las herramientas de secuenciación de genes Y-Bio. Y-Bio está construida sobre el estándar de administración de paquetes Linux RPM y ofrece herramientas que ayudan a los investigadores bioinformáticos a llevar a cabo su trabajo con mayor eficiencia.[49]​ IBM ha desarrollado un pseudo sistema de archivos para Linux denominado “SPufs”, el cual simplifica el acceso y uso de los recursos de las SPEs. IBM mantiene actualmente un núcleo Linux y adaptaciones GDB, mientras que Sony mantiene la cadena de herramientas GNU (GCC, binutils...).[50]

En noviembre de 2005 IBM lanzó en su sitio web el kit de desarrollo de software para CBE versión 1.0 (Cell Broadband Engine (CBE) Software Development Kit Version 1.0), consistente en un simulador y herramientas varias. Versiones de desarrollo del último núcleo y herramientas para Fedora Core 5 se pueden encontrar en el sitio web del Centro de Supercomputación de Barcelona.[51]

En agosto de 2007, Mercury Computer Systems lanzó un kit de desarrollo de software para computación de alto rendimiento destinado a la PlayStation 3.[52]

Con la salida de la versión 2.6.16 del núcleo el 20 de marzo de 2006 el kernel Linux proporcionaba soporte oficial para el procesador Cell.[53]

Referencias

  1. The Cell Project.
  2. (en inglés). Sony Computer Entertainment Inc. 7 de febrero de 2005. p. 1. Archivado desde el original el 1 de octubre de 2005. Consultado el 31 de enero de 2009. 
  3. . Archivado desde el original el 21 de agosto de 2006. Consultado el 22 de marzo de 2007. 
  4. «Synergistic Processing in Cell's Multicore Architecture». IEEE. Consultado el 22 de marzo de 2007. 
  5. . IBM. Archivado desde el original el 9 de julio de 2008. Consultado el 22 de marzo de 2007. 
  6. «Cell Broadband Engine Project Aims to Supercharge IBM Mainframe for Virtual Worlds». IBM. 26 de abril de 2007. 
  7. Goettling, Gary (Winter 2007). «Power Cell». Georgia Tech Alumni Magazine Online (Georgia Tech Alumni Association). Consultado el 22 de marzo de 2007. 
  8. «College of computing at Georgia tech selected as the first Sony-Toshiba-IBM center of competence focused on the cell processor». IBM. 5 de noviembre de 2006. Consultado el 22 de marzo de 2007. 
  9. Keefe, Bob (14 de noviembre de 2006). . Austin American Statesman. Archivado desde el original el 29 de noviembre de 2007. Consultado el 22 de marzo de 2007. 
  10. . Georgia Tech College of Computing. Archivado desde el original el 19 de diciembre de 2007. Consultado el 22 de marzo de 2007. 
  11. . IBM Journal of Research and Development. 7 de agosto de 2005. Archivado desde el original el 28 de febrero de 2007. Consultado el 22 de marzo de 2007. 
  12. . X-bit labs. Archivado desde el original el 15 de marzo de 2007. Consultado el 12 de marzo de 2007. 
  13. . PlayStation Universe. 30 de enero de 2007. Archivado desde el original el 2 de febrero de 2007. Consultado el 18 de mayo de 2007. 
  14. IBM shrinks Cell to 45nm. Cheaper PS3s will follow
  15. Becker, David (7 de febrero de 2005). «PlayStation 3 chip has split personality». CNET. Archivado desde el original el 29 de junio de 2012. Consultado el 18 de mayo de 2007. 
  16. Thurrott, Paul (17 de mayo de 2005). . WindowsITPro. Archivado desde el original el 30 de septiembre de 2007. Consultado el 22 de marzo de 2007. 
  17. Roper, Chris (17 de mayo de 2005). E3 2005: Cell Processor Technology Demos. IGN. Consultado el 22 de marzo de 2007. 
  18. Martin Linklater. «Optimizing Cell Core». Game Developer Magazine, April 2007 (en inglés): 15-18. «To increase fabrication yelds, Sony ships PlayStation 3 Cell processors with only seven working SPEs. And from those seven, one SPE will be used by the operating system for various tasks, This leaves six SPEs for game programmer to use.» 
  19. Mercury Wins IBM PartnerWorld Beacon Award. Supercomputing Online. 12 de abril de 2007. Consultado el 18 de mayo de 2007.  (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  20. . Beyond3D. mayo de 2008. Archivado desde el original el 16 de junio de 2008. Consultado el 10 de junio de 2008. 
  21. Cell Microprocessor Briefing. IBM, Sony Computer Entertainment Inc., Toshiba Corp. 7 de febrero de 2005. 
  22. Power Efficient Processor Design and the Cell Processor. IBM. 16 de febrero de 2005. 
  23. «Cell Broadband Engine Architecture and its first implementation». IBM developerWorks. 29 de noviembre de 2005. Consultado el 6 de abril de 2006. 
  24. «IBM Research - Cell». IBM. Consultado el 11 de junio de 2005. 
  25. «Synergistic Processing in Cell's Multicore Architecture». IEEE Micro. marzo de 2006. Consultado el 1 de noviembre de 2006. 
  26. . Hot Chips 17. 15 de agosto de 2005. Archivado desde el original el 9 de julio de 2008. Consultado el 1 de enero de 2006. 
  27. . PPCNux. Noviembre de 2007. Archivado desde el original el 10 de enero de 2009. Consultado el 10 de junie de 2008. 
  28. «Meet the experts: David Krolak on the Cell Broadband Engine EIB bus». IBM. 6 de diciembre de 2005. Consultado el 18 de marzo de 2007. 
  29. . IEEE. Archivado desde el original el 7 de enero de 2007. Consultado el 22 de marzo de 2007. 
  30. . Blizzard Entertainment. octubre de 2011. Archivado desde el original el 9 de noviembre de 2014. Consultado el 8 de noviembre de 2014. 
  31. Toshiba Demonstrates Cell Microprocessor Simultaneously Decoding 48 MPEG-2 Streams. Tech-On!. 25 de abril de 2005. 
  32. . IEEE Spectrum. 1 de enero de 2006. Archivado desde el original el 18 de enero de 2006. Consultado el 22 de enero de 2006. 
  33. . Los Alamos National Laboratory. Archivado desde el original el 8 de julio de 2009. Consultado el 25 de octubre de 2006. 
  34. «The Potential of the Cell Processor for Scientific Computing». ACM Computing Frontiers. Consultado el octubre de 2006. 
  35. . Computer Science Department, University of Tennessee. Archivado desde el original el 15 de octubre de 2008. Consultado el 8 de mayo de 2007. 
  36. «Astrophysicist Replaces Supercomputer with Eight PlayStation 3s». Wired Magazine. Consultado el 17 de octubre de 2007. 
  37. «PS3GRID.net». 
  38. Terdiman, Daniel (31 de octubre de 2007). «Sony's Folding@home project gets Guinness record». CNET (en inglés). Consultado el 8 de noviembre de 2014. 
  39. «IBM Mainframes Go 3-D». eWeek. 26 de abril de 2007. Consultado el 18 de mayo de 2007. 
  40. Shankland, Stephen (22 de febrero de 2006). Octopiler seeks to arm Cell programmers. CNET. Archivado desde el original el 29 de junio de 2012. Consultado el 22 de marzo de 2007. 
  41. Cell Broadband Engine Software Development Kit Version 1.0. LWN. 10 de noviembre de 2005. Consultado el 22 de marzo de 2007. 
  42. Samuel Williams; John Shalf; Leonid Oliker Shoaib Kamil; Parry Husbands; Katherine Yelick. . Computational Research Division, Lawrence Berkeley National Laboratory. Archivado desde el original el 17 de junio de 2009. Consultado el 18 de marzo de 2007. 
  43. . Sony Computer Entertainment Inc. 9 de marzo de 2005. Archivado desde el original el 28 de octubre de 2005. 
  44. «An Open Source Environment for Cell Broadband Engine System Software». 2007–2006.  Texto «06]]» ignorado (ayuda)
  45. Bergmann, Arnd (21 de junio de 2005). «ppc64: Introduce Cell/BPA platform, v3». Consultado el 22 de marzo de 2007. 
  46. . LinuxTag 2005. Archivado desde el original el 18 de noviembre de 2005. Consultado el 11 de junio de 2005. 
  47. «Terra Soft to Provide Linux for PLAYSTATION3». 
  48. Terra Soft - Linux for Cell, PlayStation PS3, QS20, QS21, QS22, IBM System p, Mercury Cell, and Apple PowerPC el 23 de febrero de 2007 en Wayback Machine.
  49. . 31 de agosto de 2007. Archivado desde el original el 2 de septiembre de 2007. 
  50. Arnd Bergmann on Cell. IBM developerWorks. 25 de junio de 2005. 
  51. . Barcelona Supercomputing Center. Archivado desde el original el 8 de marzo de 2007. Consultado el 22 de marzo de 2007. 
  52. «Mercury Computer Systems Releases Software Development Kit for PLAYSTATION(R)3 for High-Performance Computing». PRNewswire-FirstCall. 3 de agosto de 2007. 
  53. Shankland, Stephen (21 de marzo de 2006). Linux gets built-in Cell processor support. CNET. Archivado desde el original el 29 de junio de 2012. Consultado el 22 de marzo de 2007. 

Enlaces externos

  • The Cell Project
  • developerWorks Cell/B.E. resource center and multicore acceleration zone changes
  • Imagen de la presentación del chip (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  • especificaciones de CELL por Sony Corp. (feb 2005)
  •   Datos: Q863823
  •   Multimedia: Cell (processor)

cell, microprocesador, cell, arquitectura, microprocesador, desarrollada, conjuntamente, sony, computer, entertainment, toshiba, alianza, conocida, nombre, diseño, arquitectura, primera, implementación, llevaron, cabo, design, center, austin, texas, durante, p. Cell es una arquitectura de microprocesador 1 desarrollada conjuntamente por Sony Computer Entertainment Toshiba e IBM en una alianza conocida con el nombre de STI 2 El diseno de arquitectura y su primera implementacion se llevaron a cabo en el STI Design Center de Austin Texas durante un periodo total de cuatro anos que comenzo en marzo de 2001 empleando un presupuesto de 400 millones de dolares segun IBM 3 Cell es la abreviatura de Cell Broadband Engine Architecture arquitectura de motor Cell de banda ancha conocida tambien como CBEA por sus siglas al completo o Cell BE Cell emplea una combinacion de la arquitectura de nucleo PowerPC de proposito general y medianas prestaciones con elementos coprocesadores 4 en cascada los cuales aceleran notablemente aplicaciones de procesado de vectores y multimedia asi como otras formas de computacion dedicada 4 La primera gran aplicacion comercial del Cell fue la videoconsola PlayStation 3 de Sony Tambien podemos encontrar este procesador en servidores duales Cell blade tipo de servidor autocontenido Cell en configuracion dual tarjetas aceleradoras PCI Express y adaptadores de television de alta definicion Caracteristicas unicas como el subsistema de memoria XDR de RAMBUS y el bus de interconexion de elementos Element Interconnect Bus EIB 5 parece que posicionan el Cell de manera ventajosa en el empleo de aplicaciones futuras en el campo de la supercomputacion donde se sacaria provecho de la habilidad del procesador para manejar nucleos de coma flotante IBM ha anunciado planes para incorporar procesadores Cell como tarjetas de expansion en sus mainframes IBM System z9 para que de este modo puedan ser empleados como servidores en juegos de rol multijugador en linea masivos MMORPGs 6 En noviembre de 2006 David A Bader del Instituto Tecnologico de Georgia fue escogido por Sony Toshiba e IBM de entre mas de una docena de universidades para dirigir el primer Centro STI de expertos para el procesador Cell STI Center of Competence for the Cell Processor 7 8 9 Esta alianza tiene por objetivo crear una comunidad de programadores y ampliar el apoyo de la industria al procesador Cell 7 8 Existe un video tutorial sobre como programar el Cell a disposicion del publico 10 Indice 1 Historia 1 1 Comercializacion 2 Analisis 2 1 PowerXCell 8i 2 2 Influencias y contrastes 3 Arquitectura 3 1 Elemento Power de Proceso Power Processor Element 3 2 Elementos Sinergisticos de Proceso Synergistic Processing Elements SPE 3 3 Bus de Interconexion de Elementos Element Interconnect Bus EIB 3 3 1 Asignacion del ancho de banda 3 3 2 Interconexion optica 3 4 Controladora de memoria y E S 4 Usos posibles 4 1 Servidor Blade 4 2 Consolas de videojuegos 4 3 Cine en casa 4 4 Supercomputacion 4 5 Computacion en cluster 4 6 Mainframes 5 Ingenieria de software 5 1 Colas de trabajo 5 2 Multitarea autonoma en los SPEs 5 3 Procesado de flujos 5 4 Computacion distribuida 5 5 Desarrollo de software en codigo abierto 6 Referencias 7 Enlaces externosHistoria Editar Peter Hofstee uno de los jefes de arquitectos del Cell En el ano 2000 Sony Computer Entertainment Toshiba Corporation e IBM formaron una alianza STI para disenar y manufacturar el procesador El centro de diseno STI STI Design Center abrio sus puertas en marzo de 2001 11 El Cell estuvo en fase de diseno durante cuatro anos empleando versiones mejoradas de las herramientas de diseno usadas con el procesador POWER4 Alrededor de 400 ingenieros de las tres companias trabajaron en Austin con el estrecho apoyo de once de los centros de diseno de IBM 11 Durante este periodo IBM registro diversas patentes relacionadas con la arquitectura Cell el proceso de fabricacion y el entorno software La primera version de la patente del Broadband Engine mostraba un encapsulado de chip conteniendo cuatro elementos de procesamiento Processing Elements lo cual era la descripcion en la patente de lo que ahora se conoce como elementos power de proceso Power Processing Element Cada elemento del proceso contenia 8 procesadores aritmeticos designados como SPEs en el actual chip Broadband Engine Dicho encapsulamiento se especula que habitualmente poseia una velocidad de reloj de 4 GHz con 32 unidades de procesamiento aritmetico que proporcionaban un total de 32 GFLOPS cada una De este modo el Broadband Engine mostraba un Teraflop de potencia de computacion bruta En marzo de 2007 IBM hizo publico que la version en 65 nm del Cell BE se encontraba en produccion en su planta de East Fishkill Nueva York 12 13 Nuevamente durante el mes de febrero de 2008 IBM anuncio su intencion de comenzar la fabricacion de procesadores Cell con tecnologia de 45nm 14 Comercializacion Editar El 17 de mayo de 2005 Sony Computer Entertainment confirmo algunas de las especificaciones del procesador Cell que seria incluido dentro de la futura videoconsola PlayStation 3 15 16 17 En esta configuracion del Cell se incluiria un elemento power de proceso PPE en el nucleo junto con 8 unidades sinergisticas de proceso SPEs en la oblea de silicio 17 En la PlayStation 3 las SPEss son 8 y 1 se reserva para el sistema operativo dejando con ello 7 SPEs libres para ejecutar el codigo de los juegos 18 La velocidad de reloj objetivo durante su lanzamiento son 3 4 GHz 16 El primer diseno se fabrico usando tecnologia de fabricacion SOI de 90 nm de cuya produccion inicial se encargo la fabrica de IBM en East Fishkill 12 La relacion existente entre nucleos e hilos es una fuente usual de confusiones El PPE es capaz de manejar dos hilos de ejecucion y se muestra en software como tal mientras que cada SPE activa se muestra como uno solo En la configuracion de la PlayStation 3 tal y como la describe Sony el procesador Cell proporciona nueve hilos de ejecucion El 28 de junio de 2005 IBM y Mercury Computer Systems hicieron publico un acuerdo para producir sistemas basados en Cell para aplicaciones embebidas tales como produccion de imagenes medicas inspeccion industrial procesamiento aeroespacial aplicaciones de defensa de deteccion de seismos y tambien para telecomunicaciones 19 Mercury ha comercializado desde entonces blades servidores convencionales en armario y aceleradoras PCI Express con procesadores Cell 19 En el otono de 2006 IBM lanzo el modulo blade QS20 empleando procesadores Cell BE dobles que proporcionaba un tremendo rendimiento en cierto tipo de aplicaciones alcanzando un maximo de 410 GFLOPS por modulo Los modulos QS22 integran supercomputador IBM Roadrunner que entro en funcionamiento en el 2008 Mercury e IBM hacen uso del procesador Cell al completo con sus 8 SPEs activas Analisis EditarEl procesador de banda ancha Cell Cell Broadband Engine o mas comunmente Cell es un microprocesador disenado para cubrir el hueco existente entre procesadores convencionales de sistemas de escritorio tales como las familias Athlon Pentium y PowerPC y los procesadores especializados de alto rendimiento como los procesadores graficos GPUs de NVIDIA y ATI Technologies Su nombre completo indica las especificaciones de su uso principalmente como componente en sistemas de distribucion digital presentes y futuros Como tal puede ser empleado en pantallas y equipo de grabacion de alta definicion asi como en sistemas de entretenimiento informatico para la era HDTV De manera adicional el procesador puede ser el apropiado para sistemas digitales de obtencion de imagen medicas cientificas etc asi como para simulaciones fisicas por ejemplo modelado de ingenieria estructural o cientifico En un analisis simple el procesador Cell se puede descomponer en cuatro partes estructuras externas de I O el procesador principal llamado Power Processing Element PPE consistente en un nucleo Power ISA Instruction Set Architecture v 2 03 de dos vias multihilo simultaneo ocho coprocesadores funcionales denominados Synergistic Processing Elements o SPEs y un bus de datos circular especializado de gran ancho de banda que conecta la PPE los elementos I O y las SPEs llamado bus de interconexion de elementos o Element Interconnect Bus EIB Para alcanzar el alto rendimiento necesario para tareas matematicas intensivas tales como decodificar o codificar secuencias MPEG generar o transformar datos 3D o llevar a cabo analisis Fourier de datos el procesador Cell auna las SPE y el PPE por medio del EIB para proporcionarles acceso tanto a la memoria principal como a dispositivos externos de almacenamiento El PPE que es capaz de ejecutar un sistema operativo convencional posee el control sobre las SPEs y puede comenzar interrumpir y programar procesos para que se ejecuten en las mismas Tiene para este fin instrucciones adicionales relativas al control de las SPE A pesar de presentar arquitecturas Turing completas las SPE no son completamente autonomas y requieren que el PPE les envie ordenes antes de poder ejecutar ninguna tarea de utilidad Sin embargo la mayor parte del caballaje proviene de las unidades sinergisticas de proceso El PPE y la arquitectura de bus incluyen varios modos de operacion que proporcionan diferentes niveles de proteccion de memoria Permitiendo que ciertas areas de la memoria se protejan del acceso por parte de procesos especificos que se esten ejecutando en las SPE o en la PPE Tanto la arquitectura de la PPE como las de las SPE son de tipo RISC con instrucciones de un tamano de palabra fijo de 32 bits El PPE contiene un juego de registros de proposito general de 64 bits GPR un registro de coma flotante de 64 bits FPR y un juego de registros de tipo Altivec de 128 bits La SPE contiene solamente registros de 128 bits Estos se pueden emplear para diversos tipos de datos escalares que pueden ir desde los 8 hasta los 128 bits de tamano o para calculos SIMD en una variedad de formatos enteros o de coma flotante Las direcciones de memoria tanto para el PPE como para las SPEs se expresan como valores de 64 bits proporcionando un rango teorico de direcciones de 264 bytes 16 777 216 terabytes En la practica no todos esos bits se implementan por hardware De todos modos el espacio de direcciones es extremadamente grande Las direcciones de almacenamiento locales de las SPE se expresan como palabras de 32 bits En la documentacion relativa al Cell el termino palabra siempre se refiere a 32 bits doble palabra a 64 bits y cuadruple palabra a 128 bits PowerXCell 8i Editar En el 2008 IBM anuncio una variante revisada del Cell llamada PowerXCell 8i la cual esta disponible en los Servidores Blade QS22 de IBM El PowerXCell es fabricado con proceso de 65 nm y agrega soporte de hasta 32 GB de memoria DDR3 asi como tambien unas prestaciones dramaticamente mejoradas en coma flotante de doble precision en los SPE con picos de alrededor de 12 8 GFLOPS hasta 102 4 GFLOPS total para ocho SPEs La supercomputadora IBM Roadrunner actualmente la segunda mas rapida del mundo consiste de 12 240 procesadores PowerXCell 8i junto a 6 562 procesadores AMD Opteron 20 Junto al QS22 y la computadora RoadRunner el procesador PowerXCell tambien esta disponible como un acelerador en una tarjeta PCI Express y se utiliza como el procesador de nucleo en el proyecto QPACE Influencias y contrastes Editar En algunos aspectos el sistema Cell se asemeja a los primeros disenos de Seymour Cray pero a la inversa El conocido CDC6600 empleaba un unico procesador muy rapido para manejar los calculos matematicos mientras que diez sistemas de menor velocidad ejecutaban programas mas pequenos para asi mantener a la memoria principal alimentada con datos El problema ha sido invertido en el Cell leer datos ya no constituye el problema gracias a los complejos codigos empleados en la industria Hoy en dia el problema es decodificar los datos en un formato cada vez menos y menos comprimido lo mas rapido posible Las modernas tarjetas graficas tienen elementos muy parecidos a los de las SPEs conocidos como unidades de sombreado con una memoria de alta velocidad asociada Unos programas conocidos como sombreadores shaders se cargan en dichas unidades para procesar el flujo de datos de entrada que proporcionan estadios previos posiblemente la CPU de acuerdo con las operaciones requeridas Las principales diferencias se aprecian en que las SPEs del Cell son de proposito mucho mas general que las unidades de sombreado y la habilidad de encadenar bajo el control de un programa varias SPEs ofrece una flexibilidad mucho mayor permitiendo que el Cell maneje graficos sonido o cualquier otra carga de trabajo Arquitectura Editar Esquema del procesador Cell Aunque el integrado Cell puede presentar diversas configuraciones la mas basica es un chip multinucleo compuesto de un elemento Power de proceso Power Processor Element PPE tambien llamado a veces elemento de proceso PE y varias unidades sinergisticas de procesamiento Synergistic Processing Elements SPE 21 El PPE y las SPEs estan interconectadas entre si mediante un bus interno de alta velocidad denominado bus de interconexion de elementos Element Interconnect Bus EIB Debido a la naturaleza de sus aplicaciones el Cell esta optimizado para la computacion de datos de coma flotante de precision simple Las SPEs son capaces de ejecutar calculos de doble precision pero a cambio de una penalizacion notable en el rendimiento Sin embargo existen modos de solucionar esto en el software por medio del empleo de refinamientos de tipo iterativo lo que significa que los valores solo seran calculados en doble precision cuando sea necesario Jack Dongarra y su equipo han hecho una demostracion en publico en la que un Cell a 3 2 GHz con 8 SPEs proporcionaba un rendimiento igual a 100 GFLOPS procesando una matriz estandar Linpack 4096x4096 con datos de doble precision Elemento Power de Proceso Power Processor Element Editar El PPE es un nucleo de dos vias multihilo basado en arquitectura Power que actua como controlador para las 8 SPEs que se ocupan de la mayor parte de la carga de computacion El PPE trabaja con sistemas operativos convencionales debido a su similitud con otros procesadores Power PC de 64 bit mientras que las SPEs estan disenadas para la ejecucion de codigo vectorizado en coma flotante El PPE contiene instrucciones de 32 KB y memoria cache de nivel 1 de 32 KB asi como una cache de 512 KB nivel 2 Adicionalmente IBM ha incorporado una unidad Altivec 22 la cual se encuentra configurada para procesar datos de coma flotante en doble precision mediante pipelines Cada PPU puede completar dos operaciones de doble precision por ciclo de reloj lo cual se traduce en un rendimiento de 6 4 GFLOPS a 3 2 GHZ 23 Elementos Sinergisticos de Proceso Synergistic Processing Elements SPE Editar Esquema del PPE Esquema del SPE Cada SPE se compone de una unidad sinergistica de proceso Synergistic Processing Unit SPU y una controladora de flujo de memoria Memory Flow Controller MFC DMA MMU o bus interface 24 Una SPE es un procesador RISC con una organizacion SIMD de 128 bits preparada para ejecutar instrucciones de precision doble o sencilla 22 25 26 En la generacion actual de Cell cada SPE contiene 256 KB de SRAM embebida para almacenamiento de instrucciones y datos denominada almacenamiento local no confundir con memoria local que en la documentacion de Sony se corresponde con la VRAM visible para la PPE y que puede ser direccionada directamente por software Cada SPE soporta hasta 4 GB de memoria de almacenamiento local El almacenamiento local no opera como la cache de una CPU convencional ya que no es ni transparente al software ni contiene estructuras para la prediccion de los datos a cargar Las SPEs contienen una linea de registros de 128 bits con 128 entradas que mide 14 5 mm con la tecnologia de fabricacion de 90 nm La SPE puede realizar operaciones con 16 enteros de 8 bits 8 de 16 bits 4 de 32 bits o bien 4 numeros de coma flotante en precision simple en un solo ciclo de reloj asi como realizar una operacion de memoria Observese que la SPU no puede direccionar memoria del sistema directamente las direcciones virtuales de 64 bits formadas en la SPU han de ser transmitidas a la unidad de control de flujo de memoria MFC para ejecutar una operacion DMS dentro del espacio de memoria del sistema En un escenario de uso tipico el sistema cargara pequenos programas en las SPEs parecidos a hilos encadenandolas juntas de manera que cada una se haga cargo de un pequeno paso en una operacion compleja Por ejemplo un decodificador de sobremesa podria cargar programas para leer un DVD decodificar audio y video y control de pantalla y los datos serian transmitidos de SPE a SPE hasta que finalmente alcanzaran la television Otra posibilidad consiste en dividir los datos de entrada y poner a operar a las SPEs en la misma tarea en paralelo A 3 2 GHZ cada SPE proporciona un rendimiento teorico de 25 6 GFLOPS en datos de precision simple Comparado con un computador personal moderno el mayor rendimiento relativo de un procesador Cell en coma flotante parece dejar en ridiculo las capacidades de unidades SIMD en procesadores de sobremesa como el Pentium 4 y el Athlon 64 Sin embargo comparar tan solo las capacidades en coma flotante de un sistema es una manera de efectuar mediciones unidimensional y fuertemente ligado a ciertas aplicaciones A diferencia de un procesador Cell las CPUs de escritorio estan mejor capacitadas para ejecutar software de proposito general ejecutado habitualmente en computadores personales Ademas de ejecutar varias instrucciones por ciclo de reloj los procesadores de Intel y AMD proveen prediccion de bifurcaciones El Cell se diseno para compensar esto con la ayuda de su compilador en el que se crean instrucciones para la preparacion de bifurcaciones Para datos en precision doble usualmente empleados en computadores personales el rendimiento del Cell decrece considerablemente pero aun alcanza los 12 8 GFLOPS 27 Pruebas recientes realizadas por IBM muestran que las SPEs pueden alcanzar el 98 de su maximo teorico empleando multiplicacion de matrices paralelas 23 Toshiba ha desarrollado un coprocesador operado por cuatro SPEs y ningun PPE llamado SpursEngine que esta disenado para acelerar 3D y efectos de peliculas en electronica de consumo Bus de Interconexion de Elementos Element Interconnect Bus EIB Editar El EIB es un bus de comunicaciones interno del procesador Cell que interconecta los diversos elementos de sistema integrados en el chip el procesador PPE el controlador de memoria MIC los ocho coprocesadores SPE y las dos interfaces externas I O del chip formando un total de 12 participantes El EIB incluye una unidad de asignacion que funciona como un conjunto de semaforos En algunos de los documentos de IBM los participantes del EIB son denominados unidades Actualmente el EIB se implementa como un anillo circular compuesto de 4 canales unidireccionales de 16 Bytes que rotan en sentido contrario a las agujas del reloj por parejas Cuando los patrones del trafico los permiten cada canal puede transmitir hasta un maximo de 3 transacciones de forma concurrente Dado que el EIB funciona a la mitad de velocidad del reloj del sistema el rendimiento efectivo son 16 bytes cada dos ciclos de reloj Con tres transacciones activas en cada uno de los cuatro anillos esto es con una concurrencia maxima el pico maximo instantaneo en ancho de banda del EIB es de 96 bytes por ciclo de reloj 12 transacciones simultaneas 16 bytes 2 ciclos de reloj Aun cuando este valor es normalmente citado por IBM resulta irreal escalar este numero por la velocidad del procesador La unidad de asignacion impone restricciones adicionales las cuales se discuten mas abajo en la seccion asignacion de ancho de banda David Krolak Ingeniero Jefe de IBM y director de diseno del EIB explica el modelo de concurrencia 28 Un anillo puede comenzar una operacion cada tres ciclos Cada transferencia dura 8 impulsos Esta fue una de las simplificaciones que hicimos De este modo se optimiza para la transferencia de muchos datos Si efectuas operaciones pequenas no funciona tan bien Piensa en trenes de ocho vagones circulando por esta via Siempre que los vagones no colisionen entre si pueden coexistir en la via Cada uno de los participantes en el EIB posee un puerto de lectura de 16 bytes y otro de escritura de 16 bytes El limite para cada participante individual es el de leer y escribir a una velocidad de 16 bytes por ciclo de reloj por simplicidad muchas veces se indican 8 bytes por ciclo de reloj Tengase en cuenta que cada SPU contiene una cola de administracion DMA dedicada capaz de planificar grandes secuencias de transacciones hacia diversos puntos de destino sin interferir con los calculos que la SPU este llevando a cabo Estas colas DMA pueden ser manejadas tanto de manera local como remota proporcionando una flexibilidad adicional en el modelo de control Los datos circulan por un canal EIB en el sentido de las agujas del reloj alrededor del anillo Dado que existen doce participantes el numero total de pasos alrededor del canal de vuelta al origen son doce Seis pasos es la distancia maxima entre cualquier par de participantes A un canal EIB no se le permite comunicar datos que requieran mas de seis pasos Este tipo de datos habra de tomar la ruta mas corta en la otra direccion El numero de pasos implicados en enviar un paquete tiene poco impacto en la latencia de transferencia la velocidad de reloj que controla todos los pasos es muy rapida con relacion a cualquier otra consideracion Sin embargo distancias de comunicacion mas largas si que son perjudiciales para el rendimiento general del EIB dado que reducen la concurrencia disponible A pesar del deseo original de IBM de implementar el EIB como un conmutador crossbar mas potente la configuracion circular que adoptaron para economizar recursos en muy raras ocasiones representa un factor limitador en el rendimiento del chip Cell como un todo En el peor de los casos el programador ha de tener un cuidado extra a la hora de planificar patrones de comunicacion alli donde el EIB es capaz de funcionar con altos niveles de participacion David Krolak explica 28 Bueno al principio en los inicios del proceso de desarrollo varias personas promocionaban la idea de un conmutador crossbar switch Por el modo en que el bus estaba disenado se podria retirar sin mas el EIB e implantar un conmutador siempre que estuvieras dispuesto a dedicar mas espacio en la oblea del chip a pistas Teniamos que encontrar un equilibrio entre conectividad y espacio y sencillamente no existia suficiente espacio para poner un conmutador Asi que se nos ocurrio esta estructura de anillo que pensamos es bastante interesante Encaja con las restricciones de espacio y aun asi proporciona anchos de banda bastante notorios Asignacion del ancho de banda Editar A la hora de citar cifras de rendimiento asumiremos un procesador Cell corriendo a 3 2 GHz la mas frecuentemente citada A esta frecuencia de reloj cada canal transmite a un ritmo de 25 6 GB s Contemplando el EIB aisladamente de los elementos que interconecta alcanzar doce transacciones simultaneas con este ratio de transferencia arrojaria un ancho de banda teorico de 207 2 GB s Basandose en esta perspectiva muchas de las publicaciones de IBM describen el ancho de banda disponible en el EIB como mayor de 300 GB s Este numero refleja el pico instantaneo de ancho de banda del EIB escalado por la frecuencia del procesador 29 Sin embargo otras restricciones tecnicas se ven involucradas en el mecanismo de arbitraje para los paquetes que son aceptados en el bus Como explica The IBM Systems Performance Group 23 Cada unidad en el EIB puede enviar o recibir simultaneamente 16 bytes de datos por cada ciclo de bus El maximo ancho de banda para datos para todo el EIB es limitado por la velocidad maxima a la que las direcciones son vigiladas por todas las unidades en el sistema que es de uno por ciclo de bus Dado que cada peticion de direccion vigilada puede transferir potencialmente hasta 128 bytes el pico de ancho de banda teorico en el EIB a 3 2 GHz es de 128 bytes x 1 6 GHz 204 8 displaystyle 204 8 GB s Esta cita representa aparentemente la mayor revelacion publica por parte de IBM de este mecanismo y su impacto La unidad de arbitraje del EIB el mecanismo de vigilancia y la generacion de interrupciones en segmentos o los fallos de traduccion de pagina no estan bien descritos en los juegos de documentacion publica de IBM En la practica el ancho de banda efectivo del EIB puede tambien estar limitado por los participantes involucrados en el anillo Mientras que cada uno de los nueve nucleos de proceso puede mantener una velocidad de lectura y escritura de 25 6 GB s de manera simultanea el adaptador de controladora de memoria memory interface controller MIC esta sujeto a un par de canales de memoria XDR que permiten un trafico maximo de 25 6 GB s para escrituras y lecturas combinadas y las dos controladoras de E S segun aparece en la documentacion soportan una velocidad maxima combinada de entrada de 25 6 GB s y una velocidad maxima combinada de salida de 35 GB s Para aumentar aun mas la confusion algunas publicaciones antiguas hablan del ancho de banda del EIB asumiendo un reloj de sistema de 4 GHz Este marco de referencia resulta en una cifra de ancho de banda instantaneo de 384 GB s y en un valor de ancho de banda limitado por arbitraje de 256 Gb s El valor teorico de 204 8 GB s el mas citado es el mejor a tener en cuenta considerando cualesquiera otros aspectos El IBM Systems Performance Group ha realizado demostraciones donde se alcanzaban flujos de datos de 197 GB s alrededor de las SPUs en un procesador Cell corriendo a 3 2 GHz asi que esta cifra es un indicador fiable tambien en la practica Interconexion optica Editar Sony esta actualmente trabajando en el desarrollo de una tecnologia de interconexion optica para su empleo como adaptador interno o entre dispositivos externos para varios tipos de sistemas de electronica de consumo y de entretenimiento basados en Cell Controladora de memoria y E S Editar El procesador Cell contiene un macro XIO Rambus doble canal de nueva generacion que interconecta con memoria XDR Rambus La controladora adaptadora de memoria MIC esta separada del macro XIO y ha sido disenada por IBM El enlace XIO XDR corre a 3 2 GB s en cada pin Dos canales de 32 bits pueden proporcionar un maximo teorico de 25 6 GB s El adaptador de sistema empleado en Cell tambien un diseno Rambus es conocido como FlexIO La interface FlexIO esta organizada en 12 carriles siendo cada carril un canal de 8 bits punto a punto Cinco caminos de 8 bits de ancho punto a punto son carriles de entrada al Cell mientras que los siete restantes son de salida Esto proporciona un ancho de banda maximo teorico de 62 4GB s 36 5GB s salida 26GB s entrada La interface FlexIO puede poseer una frecuencia de reloj independiente tipicamente a 3 2 GHz Cuatro canales de entrada y cuatro de salida se encargan de implementar la coherencia de memoria Usos posibles EditarServidor Blade Editar El 29 de agosto de 2007 IBM presento el BladeCenter QS21 Generando unos 1 05 GFLOPS Giga Floating Point Operations Per Second medidos por vatio con un rendimiento maximo de aproximadamente 460 GFLOPS es una de las plataformas de computacion mas eficientes en consumo hasta el dia de hoy Un chasis de BladeCenter puede alcanzar 6 4 TFLOPS y alrededor de 25 8 TFLOPS en un armario 42U estandar Empresas como Blizzard utilizan este tipo de servidores para alojar sus juegos en linea masivos 30 Consolas de videojuegos Editar La consola de videojuegos PlayStation 3 de Sony contiene la primera aplicacion fabricada del procesador Cell a una velocidad de reloj de 3 2 GHz con siete de los ocho SPEs operacionales lo que permite a Sony incrementar la produccion en la fabricacion del procesador Solo seis de los siete SPEs son accesibles para los desarrolladores mientras que el septimo se reserva para el sistema operativo 18 Cine en casa Editar Se ha dicho que Toshiba esta considerando la posibilidad de producir televisores de alta definicion HDTVs haciendo uso del Cell Ya han presentado un sistema que decodifica 48 flujos de MPEG 2 en definicion estandar simultaneamente en una pantalla de 1920x1080 31 32 Esto permitiria al usuario elegir un canal de entre docenas de videos en miniatura presentados simultaneamente en pantalla Supercomputacion Editar La nueva supercomputadora planeada por IBM el IBM Roadrunner sera un hibrido entre procesadores de proposito general CISC y procesadores Cell Se dice que esta combinacion producira el primer computador capaz de operar a la velocidad del petaflop Usara una version actualizada del procesador Cell fabricada con tecnologia de 65 nm y con SPUs mejoradas que puedan manejar calculos en doble precision en los registros de 128 bits alcanzando los 100 GFLOPS en doble precision 33 34 Computacion en cluster Editar Los clusteres de consolas PlayStation 3 son una atractiva alternativa a los sistemas de gama alta basados en Blades Cell El Innovative Computing Laboratory cuyo grupo lidera Jack Dongarra dentro del departamento de ciencia computacional de la Universidad de Tenesse investigo dicha aplicacion en profundidad 35 Terrasoft Solutions desde 2008 Fixstars implementando las investigaciones de Dongarra vende clusteres de PlayStation 3 de 8 o 32 nodos con Yellow Dog Linux preinstalado Como publico la revista Wired el 17 de octubre de 2007 una aplicacion interesante del uso de PlayStation 3 en configuracion de cluster fue implementada por el astrofisico Dr Gaurav Khanna que sustituyo el tiempo empleado en supercomputadores por ocho PlayStation 3 36 El laboratorio de computacion bioquimica y biofisica de la Universidad de Pompeu Fabra en Barcelona construyo un sistema BOINC basado en el software CellMD el primero disenado especificamente para el Cell llamado PS3GRID 37 para computacion compartida Con la ayuda del poder de calculo de alrededor de medio millon de consolas PlayStation 3 el proyecto de computacion distribuida Folding Home ha sido reconocido por el libro Guiness de los Records como la mas poderosa red de computacion distribuida del mundo 38 El primer record se obtuvo el 16 de septiembre de 2007 cuando el proyecto sobrepasaba un PETAFLOPS lo que nunca habia sido alcanzado antes por ninguna red de computacion distribuida Los esfuerzos colectivos permitieron que solo las PS3 alcanzaran la marca del PETAFLOPS el 23 de septiembre de 2007 En comparacion la supercomputadora mas potente del mundo el IBM Roadrunner tiene una potencia de alrededor de 1 105 PETAFLOPS Esto significa que la potencia de calculo de Folding Home es aproximadamente la misma que la de Roadrunner aunque la interconexion entre CPUs en Roadrunner es mucho mas rapida hablamos del orden de millones de veces que la media de velocidad en la red Folding Home Mainframes Editar El 25 de abril de 2007 IBM anuncio que comenzaria a integrar sus microprocesadores con arquitectura Cell Broadband Engine en su linea de mainframes 39 Ingenieria de software EditarLa arquitectura Cell implanta novedades como son la estructura de coherencia de memoria por la que IBM ha recibido varias patentes Esta arquitectura enfatiza la relacion rendimiento por vatio da prioridad al ancho de banda sobre la latencia y favorece la maxima salida de calculo sobre la simplicidad del codigo de programacion Debido a ello Cell es considerado normalmente como un entorno dificil de desarrollo de software 40 IBM proporciona una plataforma de desarrollo completa basada en Linux para ayudar a los programadores a afrontar esta tarea 41 El factor principal para comprobar si Cell llega a desarrollar su potencial de rendimiento es la adaptacion del software A pesar de estas dificultades los estudios indican que Cell sobresale en diversos tipos de computacion cientifica 42 Dada la naturaleza flexible del Cell existen diversas posibilidades para el empleo de sus recursos que no se limitan simplemente a diferentes paradigmas de computacion 43 Colas de trabajo Editar El PPE mantiene una cola de trabajo planifica trabajos en las SPEs y monitoriza los progresos Cada SPE ejecuta un mini nucleo cuyo trabajo consiste en recoger un trabajo ejecutarlo y sincronizarlo con el PPE Multitarea autonoma en los SPEs Editar El nucleo y la planificacion se distribuye entre los SPEs Las tareas se sincronizan empleando semaforos o multitexes tal y como ocurre en sistemas operativos convencionales Las tareas listas para su ejecucion esperan en una cola a que las SPE las ejecute Las SPE emplean memoria compartida para todas las tareas en esta configuracion Procesado de flujos Editar Cada SPE ejecuta un programa determinado Los datos provienen de un flujo de entrada y son enviados a las SPEs Cuando una SPE ha concluido el procesado los datos de salida son enviados a un flujo de salida Esto proporciona una arquitectura flexible y potente para el procesado de flujos y permite planificar explicitamente cada SPE por separado Otros procesadores son tambien capaces de ejecutar tareas de procesado de flujos streaming pero se ven limitados por el tipo de nucleo cargado Computacion distribuida Editar Existe una aplicacion de computacion distribuida BOINC activa en https web archive org web 20171217224351 http www ps3grid net PS3GRID Se dedica enteramente a diversos tipos de calculos biologicos que solo se pueden completar con exito mediante microprocesadores corriendo en paralelo Desarrollo de software en codigo abierto Editar Una estrategia basada en el software Open Source fue asumida para acelerar el desarrollo de un ecosistema Cell BE y para proporcionar un entorno en el que desarrollar aplicaciones Cell 44 En 2005 los desarrolladores de IBM enviaron parches habilitando el soporte de Cell para su inclusion en el nucleo Linux 45 Anrd Bergmann uno de los desarrolladores de estos parches tambien describio la arquitectura Cell basada en Linux en el LinuxTag de 2005 46 Tanto el PPE como las SPEs se pueden programar en C C empleando una API comun que proporcionan librerias Terra Soft Solutions suministra Yellow Dog Linux tanto para sistemas Cell IBM como para Mercury asi como para la PlayStation3 47 Terra Soft se ha aliado estrategicamente con Mercury para suministrar el paquete de soporte LinuxBoard para Cell ademas de apoyo y desarrollo de aplicaciones software en varias otras plataformas Cell incluyendo el IBM BladeCenter JS21 el Cell QSQ20 y las soluciones de Mercury 48 Terra Soft mantiene asimismo la suite de construccion y administracion de clusteres Y HPC High Performance Computing y las herramientas de secuenciacion de genes Y Bio Y Bio esta construida sobre el estandar de administracion de paquetes Linux RPM y ofrece herramientas que ayudan a los investigadores bioinformaticos a llevar a cabo su trabajo con mayor eficiencia 49 IBM ha desarrollado un pseudo sistema de archivos para Linux denominado SPufs el cual simplifica el acceso y uso de los recursos de las SPEs IBM mantiene actualmente un nucleo Linux y adaptaciones GDB mientras que Sony mantiene la cadena de herramientas GNU GCC binutils 50 En noviembre de 2005 IBM lanzo en su sitio web el kit de desarrollo de software para CBE version 1 0 Cell Broadband Engine CBE Software Development Kit Version 1 0 consistente en un simulador y herramientas varias Versiones de desarrollo del ultimo nucleo y herramientas para Fedora Core 5 se pueden encontrar en el sitio web del Centro de Supercomputacion de Barcelona 51 En agosto de 2007 Mercury Computer Systems lanzo un kit de desarrollo de software para computacion de alto rendimiento destinado a la PlayStation 3 52 Con la salida de la version 2 6 16 del nucleo el 20 de marzo de 2006 el kernel Linux proporcionaba soporte oficial para el procesador Cell 53 Referencias Editar The Cell Project IBM Sony Sony Computer Entertainment Inc and Toshiba Disclose Key Details of the Cell Chip en ingles Sony Computer Entertainment Inc 7 de febrero de 2005 p 1 Archivado desde el original el 1 de octubre de 2005 Consultado el 31 de enero de 2009 Cell Designer talks about PS3 and IBM Cell Processors Archivado desde el original el 21 de agosto de 2006 Consultado el 22 de marzo de 2007 a b Synergistic Processing in Cell s Multicore Architecture IEEE Consultado el 22 de marzo de 2007 Cell Broadband Engine Interconnect and Memory Interface IBM Archivado desde el original el 9 de julio de 2008 Consultado el 22 de marzo de 2007 Cell Broadband Engine Project Aims to Supercharge IBM Mainframe for Virtual Worlds IBM 26 de abril de 2007 a b Goettling Gary Winter 2007 Power Cell Georgia Tech Alumni Magazine Online Georgia Tech Alumni Association Consultado el 22 de marzo de 2007 a b College of computing at Georgia tech selected as the first Sony Toshiba IBM center of competence focused on the cell processor IBM 5 de noviembre de 2006 Consultado el 22 de marzo de 2007 Keefe Bob 14 de noviembre de 2006 Georgia not Austin gets chip center Austin American Statesman Archivado desde el original el 29 de noviembre de 2007 Consultado el 22 de marzo de 2007 One Day IBM Cell Programming Workshop at Georgia Tech Streaming Presentation of the full day workshop Georgia Tech College of Computing Archivado desde el original el 19 de diciembre de 2007 Consultado el 22 de marzo de 2007 a b Introduction to the Cell multiprocessor IBM Journal of Research and Development 7 de agosto de 2005 Archivado desde el original el 28 de febrero de 2007 Consultado el 22 de marzo de 2007 a b IBM Produces Cell Processor Using New Fabrication Technology X bit labs Archivado desde el original el 15 de marzo de 2007 Consultado el 12 de marzo de 2007 65nm CELL processor production started PlayStation Universe 30 de enero de 2007 Archivado desde el original el 2 de febrero de 2007 Consultado el 18 de mayo de 2007 IBM shrinks Cell to 45nm Cheaper PS3s will follow Becker David 7 de febrero de 2005 PlayStation 3 chip has split personality CNET Archivado desde el original el 29 de junio de 2012 Consultado el 18 de mayo de 2007 a b Thurrott Paul 17 de mayo de 2005 Sony Ups the Ante with PlayStation 3 WindowsITPro Archivado desde el original el 30 de septiembre de 2007 Consultado el 22 de marzo de 2007 a b Roper Chris 17 de mayo de 2005 E3 2005 Cell Processor Technology Demos IGN Consultado el 22 de marzo de 2007 a b Martin Linklater Optimizing Cell Core Game Developer Magazine April 2007 en ingles 15 18 To increase fabrication yelds Sony ships PlayStation 3 Cell processors with only seven working SPEs And from those seven one SPE will be used by the operating system for various tasks This leaves six SPEs for game programmer to use a b Mercury Wins IBM PartnerWorld Beacon Award Supercomputing Online 12 de abril de 2007 Consultado el 18 de mayo de 2007 enlace roto disponible en Internet Archive vease el historial la primera version y la ultima IBM announces PowerXCell 8i QS22 blade server Beyond3D mayo de 2008 Archivado desde el original el 16 de junio de 2008 Consultado el 10 de junio de 2008 Cell Microprocessor Briefing IBM Sony Computer Entertainment Inc Toshiba Corp 7 de febrero de 2005 a b Power Efficient Processor Design and the Cell Processor IBM 16 de febrero de 2005 a b c Cell Broadband Engine Architecture and its first implementation IBM developerWorks 29 de noviembre de 2005 Consultado el 6 de abril de 2006 IBM Research Cell IBM Consultado el 11 de junio de 2005 Synergistic Processing in Cell s Multicore Architecture IEEE Micro marzo de 2006 Consultado el 1 de noviembre de 2006 A novel SIMD architecture for the Cell heterogeneous chip multiprocessor Hot Chips 17 15 de agosto de 2005 Archivado desde el original el 9 de julio de 2008 Consultado el 1 de enero de 2006 Cell successor with turbo mode PowerXCell 8i PPCNux Noviembre de 2007 Archivado desde el original el 10 de enero de 2009 Consultado el 10 de junie de 2008 a b Meet the experts David Krolak on the Cell Broadband Engine EIB bus IBM 6 de diciembre de 2005 Consultado el 18 de marzo de 2007 Cell Multiprocessor Communication Network Built for Speed IEEE Archivado desde el original el 7 de enero de 2007 Consultado el 22 de marzo de 2007 Charity Auction to Benefit St Jude Children s Research Hospital Blizzard Entertainment octubre de 2011 Archivado desde el original el 9 de noviembre de 2014 Consultado el 8 de noviembre de 2014 Toshiba Demonstrates Cell Microprocessor Simultaneously Decoding 48 MPEG 2 Streams Tech On 25 de abril de 2005 Winner Multimedia Monster IEEE Spectrum 1 de enero de 2006 Archivado desde el original el 18 de enero de 2006 Consultado el 22 de enero de 2006 Beyond a Single Cell Los Alamos National Laboratory Archivado desde el original el 8 de julio de 2009 Consultado el 25 de octubre de 2006 The Potential of the Cell Processor for Scientific Computing ACM Computing Frontiers Consultado el octubre de 2006 SCOP3 A Rough Guide to Scientific Computing On the PlayStation 3 Computer Science Department University of Tennessee Archivado desde el original el 15 de octubre de 2008 Consultado el 8 de mayo de 2007 Astrophysicist Replaces Supercomputer with Eight PlayStation 3s Wired Magazine Consultado el 17 de octubre de 2007 PS3GRID net Terdiman Daniel 31 de octubre de 2007 Sony s Folding home project gets Guinness record CNET en ingles Consultado el 8 de noviembre de 2014 IBM Mainframes Go 3 D eWeek 26 de abril de 2007 Consultado el 18 de mayo de 2007 Shankland Stephen 22 de febrero de 2006 Octopiler seeks to arm Cell programmers CNET Archivado desde el original el 29 de junio de 2012 Consultado el 22 de marzo de 2007 Cell Broadband Engine Software Development Kit Version 1 0 LWN 10 de noviembre de 2005 Consultado el 22 de marzo de 2007 Samuel Williams John Shalf Leonid Oliker Shoaib Kamil Parry Husbands Katherine Yelick The Potential of the Cell Processor for Scientific Computing Computational Research Division Lawrence Berkeley National Laboratory Archivado desde el original el 17 de junio de 2009 Consultado el 18 de marzo de 2007 CELL A New Platform for Digital Entertainment Sony Computer Entertainment Inc 9 de marzo de 2005 Archivado desde el original el 28 de octubre de 2005 An Open Source Environment for Cell Broadband Engine System Software 2007 2006 Texto 06 ignorado ayuda Bergmann Arnd 21 de junio de 2005 ppc64 Introduce Cell BPA platform v3 Consultado el 22 de marzo de 2007 The Cell Processor Programming Model LinuxTag 2005 Archivado desde el original el 18 de noviembre de 2005 Consultado el 11 de junio de 2005 Terra Soft to Provide Linux for PLAYSTATION3 Terra Soft Linux for Cell PlayStation PS3 QS20 QS21 QS22 IBM System p Mercury Cell and Apple PowerPC Archivado el 23 de febrero de 2007 en Wayback Machine Y Bio 31 de agosto de 2007 Archivado desde el original el 2 de septiembre de 2007 Arnd Bergmann on Cell IBM developerWorks 25 de junio de 2005 Linux on Cell BE based Systems Barcelona Supercomputing Center Archivado desde el original el 8 de marzo de 2007 Consultado el 22 de marzo de 2007 Mercury Computer Systems Releases Software Development Kit for PLAYSTATION R 3 for High Performance Computing PRNewswire FirstCall 3 de agosto de 2007 Shankland Stephen 21 de marzo de 2006 Linux gets built in Cell processor support CNET Archivado desde el original el 29 de junio de 2012 Consultado el 22 de marzo de 2007 Enlaces externos EditarThe Cell Project developerWorks Cell B E resource center and multicore acceleration zone changes Imagen de la presentacion del chip enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Introduccion a la arquitectura CELL en barrapunto com especificaciones de CELL por Sony Corp feb 2005 Datos Q863823 Multimedia Cell processor Obtenido de https es wikipedia org w index php title Cell microprocesador amp oldid 138002519, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos