« Arquitectura de la PlayStation Portable (PSP) (index)

Arquitectura de la PlayStation Portable (PSP)

Chapter 3: La CPU principal


Tabla de contenidos

  1. MIPS tras el cambio de siglo
  2. La nueva CPU portátil
  3. Coprocesadores
    1. Una gestión de memoria enfocada
  4. Memoria disponible
  5. Diseño de buses
  6. Gestión del tráfico en el bus
  7. El fin de una era

Al igual que Nintendo, Sony diseñó un Sistema en Chip (SoC, del inglés System-on-Chip) extraordinariamente compacto que alberga la mayoría de los componentes de los que hablaremos a lo largo de este artículo. Entre ellos se encuentra la CPU principal, encargada de ejecutar los juegos y demás programas (a diferencia de las otras CPU, de las que hablaremos a su debido tiempo). El SoC recibe el nombre de Tachyon, elegido por la propia Sony.

Image
El chip Tachyon en el modelo original de PSP.

La CPU principal es un diseño propio que mantiene la tradición de recurrir a la tecnología MIPS. Ahora bien, ya han pasado cuatro años desde el lanzamiento de la PlayStation 2, así que cabe preguntarse: ¿en qué situación se encontraba MIPS por aquel entonces?

MIPS tras el cambio de siglo

Me temo que los años dorados de MIPS quedaron en los 90, y nada indica que vayan a repetirse en un futuro próximo. Su empresa matriz, SGI, había perdido terreno frente a las estaciones de trabajo x86 de bajo coste y atravesaba graves dificultades económicas. Así que, en 1999, vendió su participación mayoritaria en MIPS . Con ello, MIPS volvió a ser una empresa independiente, aunque la competencia era mucho más feroz que en sus primeros tiempos.

La primera decisión de la compañía fue reconocer que las CPU MIPS ya no podían competir en el ámbito del alto rendimiento. En consecuencia, reorientó su enfoque hacia la informática de bajo consumo, disputando el terreno directamente a ARM y su abrumadora popularidad.

Para ordenar su fragmentada línea de CPU, MIPS la consolidó en torno a tres sets de instrucciones :

La gran diferencia fue que estos sets de instrucciones se desarrollarían de forma coordinada, en lugar de que MIPS abandonase la arquitectura anterior en cuanto llegase la siguiente. Las nuevas revisiones se identificarían con el sufijo 'Release x', como 'MIPS32 Release 6' o 'MIPS32R6', que es la última revisión hasta la fecha.

Junto con las ISA, MIPS también comenzó a comercializar una nueva línea de núcleos IP. Por ejemplo, el diseño MIPS32 4k implementaba la ISA MIPS32 R2, estaba disponible en distintas variantes y ofrecía amplias posibilidades de personalización.

Volviendo al tema, Sony adquirió presumiblemente una licencia del MIPS32 4k y lo personalizó ampliando la ISA e incorporando coprocesadores específicos . El fruto de este trabajo es Allegrex, que funciona a una velocidad variable entre 33 MHz y 333 MHz.

La nueva CPU portátil

Allegrex es un núcleo completo de 32 bits con las siguientes características :

En general, esto supone una propuesta más competitiva que la competencia basada en ARM9, aunque aún no hemos terminado: queda revisar los coprocesadores que cooperan junto al núcleo.

Coprocesadores

Como en cualquier CPU MIPS, Allegrex dispone de tres ranuras para coprocesadores. Sony incorporó tres :

En definitiva, Allegrex es extraordinariamente rápida. Sin embargo, aún no sabemos qué puede hacerse con ella. Al fin y al cabo, puedes imaginar esta CPU como el director de una orquesta, y aún no hemos conocido a los músicos.

Una gestión de memoria enfocada

Detengámonos un momento en el sistema de memoria implementado en esta consola. Entre otras cosas, el coprocesador de control del sistema proporciona la funcionalidad de una Memory Protection Unit o 'MPU' (no confundir con una 'MMU'), que mapea el hardware físico sobre el espacio de memoria de la CPU con algunas particularidades intermedias. Aunque su modus operandi puede parecer algo primitivo a primera vista, veremos por qué resulta óptimo para las necesidades de esta consola.

Image
Mapeado de memoria con la MPU.

Una Memory Management Unit o 'MMU' tradicional gestiona el acceso de la CPU a los componentes que la rodean. Esto implica que todas las líneas de direcciones de la CPU se conectan a la MMU; y es esta última la única conectada al resto del sistema.

Esto ofrece ventajas notables para funciones como la 'memoria virtual' y la 'protección de memoria'. Para implementar memoria virtual, una MMU debe incluir un componente llamado Translation Lookaside Buffer (TLB) con el fin de evitar degradación del rendimiento. Pues bien, la MMU de Allegrex carece de TLB , de modo que se centra exclusivamente en la protección de memoria. Por este motivo, la MMU de Allegrex se denomina en realidad MPU (Memory Protection Unit). Una MPU es una versión reducida de la MMU sin memoria virtual. En cualquier caso, la protección de memoria otorga al sistema la capacidad de decidir a qué zonas de memoria puede acceder un programa.

Gracias a ello, Allegrex no tendrá que gestionar situaciones en las que programas de usuario (como los juegos) intenten acceder a zonas restringidas (como las claves de cifrado). Para aplicar esta restricción, las direcciones de memoria se agrupan en cinco segmentos con distintos niveles de privilegio. Además, la MPU de Allegrex cuenta con tres modos de operación: modo usuario, modo supervisor y modo kernel.

Si un proceso sin privilegios (operando en modo usuario) intenta acceder a una dirección de memoria en una zona restringida, la MPU solicitará al sistema operativo (mediante 'excepciones') si debe concederle permiso.

En definitiva, esto permite a Sony, como desarrolladora del sistema operativo, implementar un sistema de seguridad respaldado por el hardware.

Memoria disponible

Hasta aquí hemos analizado la CPU principal de la PSP y sus aceleradores. Veamos ahora la memoria física disponible en este sistema.

Image
Distribución de la memoria desde la perspectiva de la CPU principal.

La PSP incorpora dos bloques de memoria accesibles desde la CPU :

Diseño de buses

Pronto descubrirás que la PSP alberga numerosos componentes, cada uno con una función muy concreta. Para organizarlos sin caer en los errores del pasado, los ingenieros de Sony los distribuyeron en buses dedicados: así, solo los componentes con funciones afines comparten el mismo bus. Estos buses se comunican entre sí mediante árbitros dedicados, en forma de 'controladores de memoria' o unidades de Acceso Directo a Memoria (DMA, del inglés Direct Memory Access).

Todos los buses del Tachyon implementan un diseño ampliamente conocido llamado Advanced High-performance Bus (AHB), una solución desarrollada por ARM para gestionar la congestión en sus chips y SoC. Si te genera curiosidad, el AHB también fue adoptado en la Wii.

Image
Esquema básico de los tres buses principales de este sistema.

Aplicando estos principios, se construyeron los siguientes buses para la PSP :

Los tres buses se conectan al controlador DDR, que es donde se aloja la memoria principal.

Gestión del tráfico en el bus

Dentro de cada bus conviven varios componentes que trabajan de forma independiente y almacenan los datos procesados en un espacio compartido (como la memoria principal). Lo que no queremos es que la CPU tenga que intervenir cada vez que un módulo necesite leer o escribir en memoria. Tradicionalmente, se incluía una unidad DMA en el bus para ofrecer esta función, pero una única DMA tiene un rendimiento limitado. La PSP contiene un número considerable de componentes, lo que puede derivar en cuellos de botella.

La solución es sencilla: bus mastering. En pocas palabras, cada componente dispone de su propio controlador DMA. Esto le permite convertirse en el 'bus master' y tomar el control del bus para acceder a la ubicación que necesite. Para evitar conflictos (varios 'bus masters' simultáneos), los componentes adyacentes reconocen este evento y esperan a que la operación concluya.

El fin de una era

La revolución RISC produjo innumerables diseños de CPU a lo largo de los años 80 y 90, pero solo unos pocos pervivieron más allá del cambio de siglo. Al igual que concluí mi análisis del SuperH en el artículo sobre la Dreamcast, la PlayStation Portable será el último artículo de esta serie en presentar una CPU MIPS.

Tras múltiples transformaciones, lo que queda de MIPS es hoy una empresa que diseña CPU RISC-V. A decir verdad, se trata de una estrategia interesante que le proporciona mayor margen para competir contra ARM.

Al repasar mis análisis anteriores, sin embargo, cuesta entender cómo una empresa de tanto talento pudo perder su cuota de mercado. En el segmento de las estaciones de trabajo, el x86 de Intel se impuso pese a todas las críticas: abarató el equipamiento gracias a la línea Pentium y los 'clones', y lo volvió atractivo mediante su software compatible, exclusivo de Windows. Por último, la arquitectura P6 dotó a Intel de la escalabilidad que hasta entonces solo disfrutaban los diseños RISC.

Image
En 2011, el Computer History Museum (Mountain View, California) realizó una entrevista con los cofundadores y antiguos directivos de MIPS , en la que hablaron de los orígenes de la empresa, su impacto en la industria y su posterior reorganización.

En el segmento de bajo consumo, en cambio, me resultó más difícil entender su declive: MIPS y ARM compartían modelos de negocio similares, basados ambos en la concesión de licencias de IP. Por fortuna, la entrevista del Computer History Museum de 2011 abordó esta misma pregunta, y la respuesta fue:

Cometimos un error: no comprendimos la importancia del mercado de los teléfonos móviles. Al principio no había dinero que ganar (...) pero ARM lo consiguió invirtiendo en él. Fue una jugada muy inteligente que resultó ser un punto de apoyo extraordinario. Nosotros nos fijamos en el margen bruto y dijimos: "¡No es una gran rentabilidad! Más vale que pongamos nuestra atención en otro lado." Pero, claro, resultó que los teléfonos móviles se convirtieron en smartphones [y luego] se volvieron algo gigantesco.

- John Hennessy, cofundador de MIPS Computer Systems

En cualquier caso, en lo que respecta a este tema, creo que, aunque sea poco probable que veamos una nueva CPU MIPS, sí veremos a sus antiguos ingenieros trasladar las tecnologías distintivas de MIPS a nuevos proyectos.

Dicho esto, continuemos con el análisis de la PSP.


Previous: 2. Una breve introducción

Next: 4. La CPU multimedia


Rodrigo Copetti © 2026 RSS Feed

Ir a la edición moderna

Inicio · Escritos · Soporte · Acerca del autor · Acerca del sitio web