El procesador Cell utilizado por Sony en PlayStation 3 es un pequeño prodigio de la tecnología que aún hoy asombra por su potencia

A Ken Kutaragi no le temblaba el pulso cuando debía tomar decisiones poco ortodoxas. Este ingeniero electrónico fue el principal responsable del diseño de las tres primeras consolas de sobremesa de la familia PlayStation, y también de PSP, la primera consola portátil de Sony.


Aunque a finales de 2006 fue sustituido al frente de Sony Computer Entertainment por Kaz Hirai, Kutaragi ha pasado merecidamente a la historia como el padre de las consolas PlayStation. Pero no se le recuerda solo por eso; también por la originalidad y la ambición de sus creaciones.


Curiosamente, su proyecto más ambicioso, y también el más arriesgado, fue el que comprometió la cómoda posición que había alcanzado en Sony durante la vida comercial de PlayStation y PlayStation 2. Una de las decisiones más controvertidas que tomó tuvo un impacto directo en el precio de PlayStation 3, que llegó a las tiendas europeas en marzo de 2007 con un coste de 599 euros.


Kutaragi optó por incluir en el diseño original de esta consola los chips esenciales de PS2, lo que permitió a las primeras PS3 reproducir los juegos de su predecesora de forma nativa.


Kutaragi optó por incluir en el diseño original de esta consola los chips esenciales de PS2. Esta estrategia permitió a las primeras PS3 reproducir los juegos de su predecesora de forma nativa y sin recurrir a la emulación, pero encareció sensiblemente su producción y provocó que llegase a las tiendas con un precio muy alto.


Las ventas iniciales de PS3 fueron sensiblemente más reducidas de lo esperado, por lo que Sony no tardó en lanzar una versión más barata que, entre otras cosas, prescindía del hardware de PS2. Curiosamente, esta no fue la única apuesta arriesgada que hizo Kutaragi al poner a punto PS3. Sobre el corazón de esta consola, el chip Cell, se han vertido ríos de tinta no solo por su potencia; también por lo difícil que era aprovechar al máximo su potencial.


Estas son las claves de la arquitectura del microprocesador Cell


Conocer con cierta profundidad los detalles y las peculiaridades de este chip requeriría que le dedicásemos una colección de artículos extensos y complejos. Afortunadamente, no es necesario que nos sumerjamos en él a ese nivel para entender por qué aún hoy es descrito con cierta frecuencia como un procesador adelantado a su tiempo.


El chip Cell fue desarrollado conjuntamente por IBM, Sony y Toshiba, que no planeaban utilizarlo solo en PlayStation 3, sino también en estaciones de trabajo, servidores y un abanico amplio de dispositivos de electrónica de consumo. Estos escenarios de uso tan variados fueron posibles gracias a una gran escalabilidad que permitía adaptarlo fácilmente a las necesidades de los dispositivos en los que iba a ser integrado.


El procesador Cell tiene nueve núcleos: uno conocido como PPE (‘PowerPC Processing Element’) y ocho como SPE (‘Synergistic Processing Elements’).


El procesador Cell es un chip multinúcleo parecido en cierto modo a los procesadores con varios núcleos de Intel y AMD, pero se desmarca de estos últimos en dos frentes muy sólidos. El más evidente es que no implementa la arquitectura x86, y la otra razón explica en gran medida su complejidad: sus núcleos no son homogéneos.


La versión de este microprocesador integrada en la consola de Sony tiene nueve núcleos. Uno de ellos se conoce como PPE (PowerPC Processing Element), y los ocho restantes como SPE (Synergistic Processing Elements). Los ingenieros de IBM fueron en gran medida los responsables del diseño del PPE, que en esencia tiene la arquitectura de un procesador de propósito general.


Su función es ejecutar los procesos que corren habitualmente en la CPU de nuestros ordenadores, y está respaldado por una memoria caché de nivel 1 con una capacidad de 64 Kbytes y una caché de nivel 2 de 512 Kbytes. Además, implementa la tecnología SMT (Simultaneous MultiThreading), lo que le permite procesar simultáneamente dos hilos de ejecución (threads).


La arquitectura RISC del PPE en cierto modo era más sencilla que la de las CPU x86 de su misma época, pero tenía una baza importante a su favor: podía trabajar, al igual que los demás bloques funcionales críticos del chip Cell, a 3,2 GHz, una frecuencia de reloj inusualmente alta en la época en la que fue diseñado.


El propósito de los SPE era poner en las manos de los programadores los recursos que necesitaban para resolver de la forma más eficiente posible la física y la inteligencia artificial de los juegos.


Curiosamente, la mayor parte de la superficie del chip Cell la ocupan los otros ocho núcleos SPE que he mencionado unas líneas más arriba. Cada uno de estos núcleos es también un procesador de propósito general, pero son más sencillos que el PPE y tienen un alcance más limitado. Trabajan, al igual que el PPE, a 3,2 GHz, y cada uno de ellos tiene asociada una memoria local con una capacidad de 256 Kbytes.


Otra característica interesante de estos ocho núcleos es que cada uno de ellos incorpora siete unidades de ejecución y puede llevar a cabo tanto operaciones con enteros como en coma flotante. Sin embargo, cada SPE puede manejar como mucho dos instrucciones por ciclo de reloj, lo que ya en aquella época colocó a estos núcleos un paso por detrás en este terreno de los procesadores de propósito general de Intel y AMD.


Los núcleos SPE del procesador Cell fueron diseñados para que fuesen sencillos y eficientes con la intención de que pudiesen ser utilizados por los programadores para resolver tareas altamente paralelizables. De hecho, aunque la CPU de PS3 cuenta con el respaldo del procesador gráfico RSX (Reality Synthesizer) diseñado para Sony por NVIDIA tomando como punto de partida una GPU GeForce 7800 GTX, las unidades SPE podían enfrentarse por sí solas a buena parte de la carga de trabajo impuesta por la generación de los gráficos.


No obstante, su función primordial dentro del procesador Cell no era esa; era poner en las manos de los programadores los recursos que necesitaban para resolver de la forma más eficiente posible la física y la inteligencia artificial de los juegos. Sin embargo, en la práctica sacarles el máximo partido posible era muy complicado debido a la dificultad que entrañaba su programación.


Durante el diseño del microprocesador Cell, Microsoft se puso en contacto con IBM para pedir a esta última compañía que se encargase del diseño de la CPU de su próxima consola, Xbox 360, e IBM aceptó. Al parecer, el procesador Xenon de Xbox 360 se benefició de algunas de las innovaciones que IBM, Sony y Toshiba introdujeron en el chip Cell. Esto es al menos lo que defiende David Shippy, el ingeniero de IBM responsable del diseño del núcleo de esta CPU, en ‘The race for a new game machine’, un apasionante libro en el que explica desde dentro cómo IBM diseñó en paralelo la CPU de PlayStation 3 y Xbox 360.


Una auténtica pesadilla para los programadores


La dificultad que entrañaba la programación del procesador Cell de PS3 generó en su momento un debate acalorado. Gabe Newell, cofundador y director general de Valve, sentenció de esta forma a esta CPU a finales de 2007: «PlayStation 3 es una pérdida de tiempo. Esforzarte para dominar el procesador Cell y los SPE no te proporciona beneficios a largo plazo. No hay nada en esta CPU con un propósito específico. Lo único que vas a conseguir trabajando con ella es odiarla».


Incluso Kazunori Yamauchi, director general de Polyphony Digital, un estudio integrado en la estructura de Sony, describió de esta forma el desarrollo de ‘Gran Turismo 5’ para PlayStation 3: «Para nosotros trabajar con PS3 ha sido una auténtica pesadilla». De hecho, este simulador de conducción llegó a las tiendas mucho más tarde de lo que Sony había anunciado en un principio, y todo parece indicar que la dificultad de programar sobre el chip Cell fue en gran medida la responsable de ese retraso.


Hay muchos más testimonios de programadores que lo pasaron mal trabajando con PlayStation 3, pero lo cierto es que algunos estudios sí consiguieron sacar mucho partido al chip Cell, especialmente durante la recta final de la vida comercial de la consola. Un programador de Naughty Dog aseguró que «’Uncharted’ usa el 30% de su potencial; ‘Uncharted 2’ ya utiliza el 100%, pero con ‘Uncharted 3’ y ‘The last of us’ por fin conseguimos sacar hasta la última gota de jugo al hardware de PlayStation 3».



Fuente: Xataka


¿Quieres dar un salto educativo y formarte en programación? En EducaciónIT tenemos una gran oferta de cursos, junto con un plan de carrera, mediante los cuales podrás convertirte en un programador profesional con la capacitación más completa y actualizada del mundo IT.

Comments

Una respuesta a «El procesador Cell utilizado por Sony en PlayStation 3 es un pequeño prodigio de la tecnología que aún hoy asombra por su potencia»

  1. la ps3 una de mis consolas favoritas de gran potencia y de muchos exclusivos, pero algunas versiones con problemas de recalentamiento.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.