Modelos de programacion del Cell
2:49 | Author: Ricardo Silva Asenjo
* Procesador de última generación desarrollado por IBM, Sony y Toshiba.

* Diseñado para realizar cargas de trabajo de cálculo intensivo y aplicaciones de banda ancha con contenido multimedia

* Su arquitectura es complicada para trabajar en ella.

* Trabaja en un arquitectura IBM Power y múltiples unidades de calculo vectorial del tipo SIMD (una instrucción-múltiples datos).

* Es escalable y puede utilizarse en una amplia variedad de dispositivos

Arquitectura

1. Circuitería de gestión de memoria y entrada/salida

2. Una memoria caché de segundo nivel de 512 Kbytes

3. Una unidad de proceso de propósito general llamada Power Processor Element o PPE.

4. Ocho unidades de proceso vectorial llamadas Synergistic Processor Elements o SPEs. Sin embargo, en la PS3 una de ellas estará desactivada, quedando sólo siete funcionales.

5. Un bus que interconecta los elementos anteriores listados llamados Element Interconect Bus o EIB

Unidad de proposito general:

* El PPE es un PowerPC de 64 bits y doble núcleo bastante especial. Sí es un PowerPC en cuanto a que implementa el mismo juego de instrucciones que los PowerPC pero no es un PowerPC en cuanto a su diseño interno.
* La principal diferencia con los PowerPC tradicionales es que el PPE es un RISC a la antigua capaz de ejecutar dos instrucciones simultáneamente.
* Dos son los motivos que han llevado a este diseño simplista de la unidad de propósito general:

- El consumo de potencia: La circuitería necesaria en un procesador con ejecución fuera de orden consume mucho y está activa todo el tiempo. Cell ha sido diseñado teniendo los sistemas empotrados en mente, por lo que el consumo de potencia es un aspecto mucho más relevante que en los procesadores diseñados para equipos de sobremesa.
- El número de transistores: Se ha preferido donar los transistores que usualmente se dedican al subsistema de predicción de saltos y a la ejecución fuera de orden a las SPEs

Unidad de proceso vectorial


* La memoria caché es pequeña y además no es una caché al uso. No es transparente ni tiene unidad de predicción de acceso a datos, por lo que el software que escribamos (o en su defecto el sistema operativo) debe encargarse de gestionar esta memoria.
* Tampoco hay ejecución fuera de orden.
* Se accede a la memoria principal por DMA. Lanzar una petición DMA puede ser muy lento, aunque una vez que comienzan a fluir los datos va muy bien.
* Los registros de 128 bits permiten ejecución sobre varios datos de menor tamaño en paralelo (SIMD, ejecución vectorial).
* Es una arquitectura RISC superescalar
* El juego de instrucciones de las SPEs está inspirado en VMX/Altivec; es muy parecido pero no idéntico.

MODELOS DE PROGRAMACION

1. Stream processing

El tratamiento de corriente es un paradigma de programación, relacionado con SIMD, que permite, en algunos usos, mas facilmente una forma limitada de procesamiento en paralelo. Tales usos pueden usar múltiples unidades computacionales, como las unidades de punto flotante sobre un GPU, la sincronización, o la comunicación de unidades.

En realidad es un pipeline processing, Consiste en alinear varias SPEs en cascada (en pipeline) para que cada una ejecute una etapa de un proceso complejo.

2. Cola de tareas

Cola de tareas: Se van poniendo tareas en una cola y un hilo que corre en el PPE las va sacando y asignando dinámicamente a una SPE concreta según vayan quedando libres. Si algún día vemos un mainframe basado en Cell, éste será el modelo que utilice.


3. Multitarea autogestionada

Este es el modelo que está desarrollando Arnd Bergmann de IBM para Linux. El sistema operativo abstrae cada SPE como un dispositivo en el virtual file system y permite comunicarse con él mediante llamadas al sistema. Esencialmente, es un modelo "yo me lo guiso, yo me lo como", porque toda la sincronización entre hilos y la asignación de tareas la tiene que gestionar nuestro software. Es de suponer que los desarrolladores de videojuegos utilizarán sus propias implementaciones de este modelo.
This entry was posted on 2:49 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.