Al igual que sus competidores más directos, ahogados en opciones durante la fiebre del RISC, Sega tuvo que enfrentarse a todos los dilemas que conlleva elegir un nuevo proveedor capaz de satisfacer las necesidades de la siguiente generación de juegos (incluidos los que requerían capacidades '3D'). Al final, la compañía optó por una CPU de nuevo cuño cuyo creador buscaba desesperadamente un cliente que la adoptase: el Hitachi SuperH, conocido como 'SH'.
Aunque inicialmente orientada a aplicaciones embebidas, la nueva creación de Hitachi incorporaba técnicas modernas como :
- Una arquitectura load-store, lo que significa que las instrucciones no mezclan operaciones de memoria y de registro, dando lugar a un diseño de CPU más limpio y escalable. Este es uno de los pilares de las CPU RISC.
- Un bus de datos y una Unidad Aritmético-Lógica (ALU, del inglés Arithmetic Logic Unit) de 32 bits, que permite el flujo y procesamiento de mayores cantidades de datos (valores de 32 bits) sin consumir ciclos adicionales.
- 16 registros de uso general de 32 bits, esta vez más flexibles que los de CPU anteriores, como el Motorola 68000. Esta es otra decisión de diseño derivada de las directrices RISC .
- Bus de direcciones de 32 bits, que permite direccionar hasta 4 GB de memoria (adiós mapeadores).
- Un datapath en pipeline con cinco etapas: la ejecución de instrucciones se divide ahora en cinco pasos o etapas. La CPU puede encolar hasta cinco instrucciones simultáneamente, asignando cada una a una etapa distinta. Esto permite aprovechar al máximo todos los recursos de la CPU sin tiempos de inactividad, a la vez que aumenta el número de instrucciones procesadas por unidad de tiempo.
- Una unidad de multiplicación de 16 bits: realiza multiplicaciones con enteros de 16 bits.
Además, el SuperH incorpora un nuevo set de instrucciones llamado SuperH ISA que, aparte de adoptar un diseño RISC, presenta una particularidad: todas sus instrucciones miden tan solo 16 bits de anchura. Esto resulta sorprendente, ya que esta CPU opera con palabras de 32 bits, por lo que cabría esperar que las instrucciones tuviesen la misma longitud. Sin embargo, Hitachi logró condensarla a la mitad del ancho. Este formato no solo reduce el tamaño de los programas, sino que, al leer las instrucciones en bloques de 32 bits, la CPU puede leer dos instrucciones en un solo ciclo. En definitiva, esta técnica de comprimir el set de instrucciones contribuyó a paliar una preocupación habitual de las arquitecturas basadas en RISC denominada 'densidad de código', según la cual estas requerían más instrucciones (y, por tanto, más memoria) para realizar las mismas tareas que los sistemas no RISC.
Las ramificaciones
Por otra parte, el SuperH no está exento de otros inconvenientes propios de los diseños RISC, como los riesgos de control. En consecuencia, los programas deben incluir branch delay slots para evitar errores de cálculo. Para paliar esto, el SuperH incorpora instrucciones de salto retardado (delayed branch instructions), es decir, instrucciones de salto provistas de antemano con un delay slot .
Los riesgos de datos (data hazards) también están presentes, aunque no es responsabilidad del programador ni del compilador gestionarlos: la CPU detendrá el pipeline automáticamente cuando sea necesario.
Sega no queda satisfecha
Aun así, todo eso no impidió que Sega manifestase su insatisfacción con el producto final. El motivo principal era el pequeño multiplicador de 16 bits, que se consideraba un cuello de botella al procesar grandes cantidades de datos (una nueva exigencia de los juegos 3D). Por ello, Hitachi desarrolló una segunda revisión con una unidad multiplicadora ampliada y otras exigencias de Sega , dando lugar a una nueva CPU llamada SH-2.

Los dos chips SH-2 del Sega Saturn
Con todo, Sega no podía quedarse de brazos cruzados al conocer la elección de CPU de sus competidores. Así que pidió a Hitachi que aumentase la frecuencia de reloj del SH-2, algo imposible una vez que el chip ya está en producción. Por suerte, Hitachi tenía un as en la manga: el multiprocesamiento. Durante la fase de investigación del SH, el equipo añadió unos mínimos circuitos adicionales para permitir que el SH trabajase junto a otros SH dentro del mismo sistema de forma simultánea. Al conocer esto, Sega optó por una configuración de dos chips para la Sega Saturn. Y el resto es historia.
El producto final
Sentado el contexto de sus orígenes, veamos el producto final.
Esta consola no cuenta con una sino con dos CPU Hitachi SH-2 funcionando a ~28,63 MHz cada una . Aunque físicamente idénticas, se organizan en una configuración maestro-esclavo, en la que la primera puede enviar comandos a la segunda. Esto permite alcanzar cierto grado de paralelismo, aunque ambas comparten el mismo bus externo (lo que puede provocar congestión).
Hitachi comercializó distintas variantes del SH-2 dentro de una familia llamada 'SH7600'. Todas ellas incorporan :
- El ya mencionado pipeline de cinco etapas y la SuperH ISA. Esta última se ha ampliado con seis instrucciones adicionales para saltos y aritmética especializados.
- Una unidad de multiplicación de 32 bits mejorada, que ahora realiza multiplicaciones con enteros de 32 bits.
- Un bus de datos externo de 32 bits compartido entre las dos CPU.
El chip concreto seleccionado para esta consola, el 'SH7604', incorpora las siguientes características adicionales :
- 4 KB de caché: almacena un pequeño número de instrucciones y datos leídos previamente de la memoria para acelerar las lecturas futuras.
- Una unidad de división de 32 bits: realiza divisiones con enteros de 32 bits.
- Un controlador interno de Acceso Directo a Memoria (DMA, del inglés Direct Memory Access): transfiere datos desde la memoria sin intervención de la CPU.
- Compatibilidad con little endian, lo que permite a la CPU interpretar valores codificados en el orden inverso. Esto resulta útil cuando la memoria externa se comparte con otros procesadores.
Conviene señalar algo: ¡tener dos CPU no significa que los juegos vayan a funcionar el doble de rápido! En la práctica, esto exige una programación muy compleja para gestionar eficientemente las CPU que comparten el mismo bus. Por ejemplo, los accesos a memoria deberían aprovechar la caché al máximo.
La arquitectura del pulpo

Vista general del modelo de múltiples subsistemas.
La Sega Saturn alberga un número considerable de procesadores (¡ocho!). Para evitar que compitan por los recursos, los ingenieros agruparon los circuitos en cuatro subsistemas diferenciados:
- El subsistema de CPU, donde residen las CPU principales y la memoria. A decir verdad, también hay un inusual tercer componente, que se explica más adelante.
- El subsistema de vídeo, que comprende los aceleradores gráficos.
- El subsistema de audio, que puede considerarse un ordenador independiente por derecho propio (lo veremos con más detalle en la sección 'Audio' de este análisis).
- El subsistema de CD-ROM, una fortaleza inexpugnable gracias a los mecanismos de protección anticopia implementados, que se explican en la sección 'Anti-piratería'.
Cabe señalar que cada subsistema está conectado a un bus dedicado, excepto los de vídeo y audio, que comparten uno.
Una memoria dividida

Vista general de la arquitectura de memoria principal.
El subsistema de CPU contiene un total de 2 MB de RAM de uso general, denominada Work RAM (WRAM). Sin embargo, no es tan sencillo: esta memoria se divide en dos bloques diferenciados y, una vez más, cada uno es accesible a través de buses distintos:
- El primer bloque ofrece 1 MB de SDRAM. Gracias a su mayor velocidad de acceso, este bloque también recibe el nombre de WRAM-H. Su bus se comparte con otros componentes.
- El otro megabyte se denomina WRAM-L, pues utiliza DRAM, lo que se traduce en tasas de transferencia inferiores. Su bus, no obstante, está reservado para las CPU principales.
El tercer procesador (y contando)
Sorprendentemente, parece que las dos CPU SH-2 aún no eran suficientes para Sega. Así que, para acelerar el procesamiento vectorial (a costa de mayor complejidad), el grupo de CPU también alberga un coprocesador adicional: la Saturn Control Unit o 'SCU'.

La Saturn Control Unit en mi revisión de placa base.
Se trata de un chip independiente formado por dos módulos :
- Un controlador de Acceso Directo a Memoria (DMA): arbitra el acceso a la WRAM-L entre los tres subsistemas sin intervención de las CPU.
- Un Procesador de Señal Digital (DSP, del inglés Digital Signal Processor): se utiliza como 'unidad de geometría' de punto fijo. Comparado con el SH-2, realiza cálculos de matrices y vectores —como transformaciones 3D e iluminación— con mayor rapidez. Sin embargo, funciona a la mitad de velocidad y su set de instrucciones es más complejo. Además, depende de la lenta WRAM-L del SH-2 para leer y almacenar datos (mediante el DMA).
Para paliar esto, la SCU cuenta con 32 KB de SRAM de uso local.