« Arquitectura del Mega Drive / Genesis (index)

Arquitectura del Mega Drive / Genesis

Chapter 3: CPU


Tabla de contenidos

  1. El protagonista
    1. Impulsando una década
    2. Características
    3. Un set de instrucciones peculiar
    4. El papel del Mega Drive
  2. El escudero
  3. Memoria disponible
    1. Intercomunicación

Esta consola cuenta con dos procesadores de uso general de dos generaciones distintas.

El protagonista

En primer lugar, tenemos un Motorola 68000 funcionando a ~7,6 MHz. Se trata de una nueva clase de CPU cuya historia merece ser contada...

Impulsando una década

El Motorola 68000, o '68k', supuso un salto generacional en la historia de los microprocesadores. Tras aprender de los errores del 6800, la empresa comenzó de cero con un nuevo equipo capaz de ofrecer una puerta asequible al espacio de 32 bits. En él podían procesarse bloques de datos mucho mayores, lo que permitía a los programadores ofrecer nuevas capacidades hasta entonces desconocidas para el consumidor.

Image
El Macintosh de Apple (1984) y el Lisa (1983). A pesar de sus precios muy distintos, ambos se apoyaban en el Motorola 68000 para mostrar su innovadora interfaz de usuario.

Lanzado en 1979, el 68k llegó a tiempo para impulsar la siguiente década de microcomputadoras. Aunque al principio pasó apuros al perder el contrato de IBM frente a Intel, no tardaron otras empresas y start-ups en adoptar este chip para dar vida a sus nuevas creaciones. Algunas introdujeron mejoras incrementales sobre sus predecesoras, mientras que otras alcanzaron capacidades inimaginables. Por nombrar algunas:

Cabe señalar que gran parte de esta funcionalidad no era nueva: simplemente había estado reservada a los costosos miniordenadores o a los prohibitivos mainframes. El hito reside en que todo esto era ahora accesible desde una oficina o un hogar cualquiera.

Image
El chip Motorola 68000 en el Mega Drive; este en particular es de segunda fuente, fabricado por Hitachi.

A finales de los 80, sin embargo, el interés por el 68000 fue perdiendo fuerza en favor de una nueva ola de CPUs RISC. No obstante, los precios habían bajado lo suficiente para que empresas como Sega se interesaran en llevarlo al mercado de las consolas.

Características

Sentado el contexto, permíteme contarte qué ofrece el 68000 :

Si te preguntas por qué se utilizan direcciones de 24 bits en una CPU capaz de manejar palabras de 32 bits: el equipamiento de la época difícilmente necesitaba gestionar 4 GB de memoria. Dado que implementar líneas sin usar resulta costoso tanto en rendimiento como en dinero, Motorola llegó a un compromiso sensato con registros de 32 bits y 24 líneas de dirección, preparando a los desarrolladores para la llegada de la CPU de 32 bits completa (el 68020) cinco años después.

Un set de instrucciones peculiar

Antes de la revolución RISC, existía una escuela de pensamiento que intentaba consolidar el diseño de los sets de instrucciones. En esencia, las CPUs de consumo de los años 70 (como el 6502 o el 8080) ofrecen instrucciones que predefinen cómo se puede acceder a la memoria (lo que se conoce como 'modo de direccionamiento'). Una variedad de modos de direccionamiento permite a la CPU manejar distintos casos de uso. Sin embargo, el número de modos de direccionamiento tiende a aumentar proporcionalmente la complejidad del set de instrucciones.

Para remediar esto, con el 68000, Motorola buscó unificar la mayor parte de sus instrucciones. Lo hizo desvinculando la función de la instrucción (el 'opcode') del modo de direccionamiento, convirtiendo este último en un simple parámetro (u 'operando') más. De este modo, los desarrolladores podían usar los mismos opcodes con el modo de direccionamiento que prefirieran según sus necesidades.

Como ejemplo sencillo, para mover datos:

Este principio se denomina ortogonalidad del set de instrucciones, e influyó enormemente en la nueva generación de CPUs de finales de los 70, aunque se diluyó rápidamente cuando los diseños RISC tomaron el relevo, trasladando de facto la carga a los compiladores. En cualquier caso, la familia Motorola 68k gozó de gran popularidad durante la década de los 80, y no fue hasta principios de los 90 cuando las empresas empezaron a migrar a otro fabricante.

El papel del Mega Drive

En esta consola, el 68k actúa como CPU 'principal' y se encarga de gestionar la lógica del juego, manejar la E/S y realizar los cálculos gráficos.

En consecuencia, el bus externo está físicamente conectado a :

El escudero

Esta consola incorpora otra CPU: un Zilog Z80 funcionando a ~3,5 MHz. Se trata del mismo procesador analizado en el artículo de la Master System.

Con el Mega Drive, sin embargo, el Z80 se destinó principalmente al control del sonido. Por ello, su espacio de direcciones de 16 bits comprende lo siguiente :

Por último, es importante señalar que ambas CPUs pueden ejecutarse en paralelo... bajo ciertas restricciones, que los siguientes párrafos explican.

Memoria disponible

La CPU principal dispone de 64 KB de RAM dedicada para almacenar datos de uso general, y el Z80 cuenta con 8 KB de RAM para operaciones relacionadas con el sonido.

Intercomunicación

Sega eligió dos procesadores independientes ajenos el uno al otro, así que ¿cómo pueden los juegos gestionar ambos a la vez? Pues bien, el programa principal se ejecuta en el 68000, y esta CPU puede escribir posteriormente en la RAM del Z80. Así, el 68000 puede enviar un programa a la RAM del Z80 e instruir al Z80 para que lo cargue (enviándole una señal de reset) . Una vez que el Z80 está bajo control, este puede utilizarse para gestionar el subsistema de sonido y mover memoria mediante el método descrito anteriormente, todo mientras el 68000 se encarga de otras operaciones.

Image
Arquitectura de memoria del Mega Drive/Genesis.

Hay un inconveniente, sin embargo: como cada CPU debe acceder al bus de la otra, ambas CPUs no pueden acceder al mismo bus al mismo tiempo. Para solucionar esto, un componente adicional llamado Bus Arbiter (árbitro de bus) se encarga de detener a cualquiera de los dos procesadores, permitiendo la manipulación de memoria sin riesgos.

Conviene señalar que este diseño puede rendir por debajo de lo esperado si no se gestiona adecuadamente, por lo que los juegos deben prestar especial atención al árbitro de bus para asegurarse de que ninguna CPU quede bloqueada más tiempo del necesario.


Previous: 2. Una introducción rápida

Next: 4. Gráficos


Rodrigo Copetti © 2026 RSS Feed

Ir a la edición moderna

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