SSOO en consolas
3:02 | Author: Ricardo Silva Asenjo
SSOO para la Xbox basado en linux: FreeBSD



FreeBSD pasa por ser uno de los sistemas más robustos, estables y fiables del mercado, por lo que su port a la Xbox podría facilitar la creación de servidores sobre la videoconsola de Microsoft.

Después de la variante de Windows adaptada expresamente a la videoconsola de Microsoft (como no podía ser de otra manera) y de los ports de Linux, ya tenemos otro sistema disponible para esta plataforma: FreeBSD.

En solo 200 megabytes y con un Live CD que nos permite probar el sistema sin tener que instalarlo, los aficionados a experimentar con sus Xbox ya pueden tener todo un FreeBSD funcionando en una videoconsola que no necesita ninguna modificación para ejecutarlo (de hecho, el autor solicita la colaboración de voluntarios que posean Xbox "chipeadas").

En las especificaciones de funcionamiento que hemos obtenido, podemos leer que el soporte para framebuffer es total al igual que para dispositivos USB y de sonido, y que solamente el soporte para Ethernet no se ha llegado a materializar aún.


SSOO para la PS3...

Ps3 nos ofrece la posibilidad de cambiar el sistema operativo de la consola, más que una modificación es una aplicación que Sony decidió instalar para seguir presumiendo de que sus consolas pueden correr Linux, todo comenzó en el año 2000 cuando Sony empezó a presumir esta función y más adelante lanzo lo que fuera el Ps2 Linux Kit que incluía un disco duro de 40 gb. Teclado, mouse, cables del monitor, un adaptador de red de 10/100 Mbps y el DVD de instalación que transformaba la consola en una PC por el precio de $200 dólares. Años después para el lanzamiento del Ps3 Sony decidió hacer más fácil la instalación del software y para esto conto con la ayuda de IBM (una de las compañías más grande que promueve el OS Linux) y su procesador Cell (el núcleo del Ps3).

La distribución oficial para Ps3 es Yellow Dog Linux (es patrocinada por Sony) aunque también funciona con otras versiones de Linux como son OpenSuSE, Ubuntu, Fedora Core 8, Gentoo y Debian. Otros sistemas operativos basados en Windows pueden usarse pero son más difíciles de “instalar”. La razón principal para realizar la instalación de un sistema operativo consiste en que tu consola pasara a ser una PC con las funciones del Ps3, permitiéndote así manejar todos los aspectos de tu consola manualmente.

Si bien Sony ofrece oficialmente la habilidad de instalar el Linux también les da ciertas restricciones, ya que por medio de Linux se puede liberar ciertas funciones que tenia restringidas por lo general para los usuarios, también en teoría es posible permitir que la consola lea juegos “copia” aunque todavía es un mito en las ultimas actualizaciones del firmware Sony ha dejado parches que lo evitan.

Para la instalación de Yellow Dog Linux (es la mejor distribución para el Ps3) son necesarios ciertos elementos como son el Yellow Dog Linux (daa), el programa Bootloader que se guardara con el nombre de otheros.bld y el programa instalador de sistema operativo adicional de Sony (que no sé donde conseguir) que tendrá que llevar el nombre de otheros.self, ahora viene los pasos para la instalación, se me olvidaba también una memoria USB (de cualquier capacidad solo se usara para mover los archivos otheros.bld y otheros.self al Ps3).

Enlaces de interes:

http://us.fixstars.com/products/sony/
http://www.freebsd.org/
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.
La CPU de la XBOX360
2:44 | Author: Ricardo Silva Asenjo


Es un procesador personalizado de tres núcleos basado en el diseño de IBM del PowerPC. La CPU destaca en el alto rendimiento ofrecido en coma flotante mediante múltiples unidades de procesamiento en cada núcleo para FPU y para vectores SIMD.

Cuenta con un pico teórico de rendimiento de 115,2 gigaflops y es capaz de 9,6 billones de productos escalares por segundo. Un bus frontal de 21,6 GB / s, suma de 10,8 GB / s de flujo de subida y de bajada, conecta Xenon con el procesador gráfico / northbridge.

Cada núcleo de la CPU es capaz de multithreading simultáneo y sincronizadas a 3,2 gigahercios. Sin embargo, para reducir el tamaño de la die de la CPU, la complejidad, los costos y la demanda de energía, el procesador utiliza ejecución por orden -en contraste con la CPU basado en el núcleo Pentium III Coppermine128 de la Xbox, que utiliza la más avanzada ejecución fuera de orden.

El primer modelo lanzado de Xbox 360 utiliza un chip de proceso de 90 nanómetros, aunque una más reciente revisión usa una CPU fabricada con un proceso de 65 nanómetros SOI revisión.

Xenon está equipado con un 1 MB de caché de nivel 2 en el die corriendo a la mitad de velocidad de reloj de la CPU. Esta caché se reparte entre los tres núcleos de CPU. [1] La CPU también contiene una ROM para el almacenamiento de claves cifradas privadas de Microsoft, que se utiliza para descifrar los datos del juego.

El disipador de calor aplicado para enfriar la CPU está formado por aletas de aluminio con base de cobre de las tuberías de calor. El disipador de calor se enfría por dos ventiladores de 60 milímetros en la parte posterior de la consola. Hay varios tipos de ventilador utilizado en el 360 de los fabricantes Nidec, Sunon y Delta Electronics. Nidec se consideran más silenciosos.

A través de un libro publicado recientemente se ha sabido que parte de la tecnología del chip Cell de PlayStation 3 se hizo un hueco en Xenon, el chip de Xbox 360.

Shippy y Phipps relatan en el libro cómo empleados de IBM se vieron forzados a esconder su trabajo en Xbox 360 a los ingenieros de Sony y Toshiba que se habían integrado en sus equipos para el desarrollo de Cell, mientras los chips de cada consola se probaban en el mismo edificio y cómo Shippy ayudó a los ingenieros de Microsoft a crear su chip con lo que había aprendido de Cell.

Del mismo modo, ambos diseños se cerraron en plazos de tiempo similares y pasaron al departamento de fabricación, pero IBM tuvo problemas para que funcionase Cell, mientras que Microsoft había subcontratado a una compañía externa para su fabricación. Eso implicó un retraso de seis semanas para Sony, mientras que Microsoft consiguió su chip antes, consiguiendo lanzar la consola en noviembre de 2005. Los retrasos se sucedieron en Cell, forzando un retraso de la aparición de PS3.

Especificaciones:

* 90 nm process, 65 nm process upgrade in 2007 (codenamed "Falcon"), possible 45 nm process dated around early 2009.
* 165 million transistors
* Three symmetrical cores, each two way SMT-capable and clocked at 3.2 GHz
* SIMD: VMX128 with 2× (128×128 bit) register files for each core.
* 1 MiB L2 cache (lockable by the GPU) running at half-speed (1.6 GHz) with a 256-bit bus
* 51.2 gigabytes per second of L2 memory bandwidth (256 bit × 1600 MHz)
* 21.6 GB/s Front-Side Bus
* Dot product performance: 9.6 billion per second
* 115.2 GFLOPS theoretical peak performance
* Restricted to In-order code execution
* eFuse 768bits.
* ROM (and 64Kbytes SRAM) storing Microsoft's Secure Bootloader, and encryption hypervisor.
* Big endian architecture.