Sega apostó por una Zilog Z80 de pleno derecho funcionando a ~3,58 MHz, una opción muy extendida entre fabricantes de ordenadores como Sinclair, Amstrad y Tandy.

El Tandy TRS-80 americano (1977). Lo encontré en el Computer History Museum (Mountain View, California) durante mi visita en junio de 2019.

El Sinclair ZX80 británico (1980), ¡es mucho más pequeño de lo que parece! Pertenece a la colección de Christopher Rivett .
La CPU Z80 tiene una historia curiosa: fue diseñada nada menos que por los autores del Intel 8080 (Federico Faggin y Masatoshi Shima), quienes, desencantados con el rumbo de Intel, decidieron fundar su propia empresa de semiconductores, Zilog, en 1974.

El chip Z80 en la placa base de la Master System.
Su primer producto puede considerarse un sucesor no oficial del Intel 8080, con las siguientes novedades:
- La ISA Z80: un set de instrucciones compatible con el Intel 8080, pero ampliado con muchas más instrucciones. Esta opera con palabras de 8 bits.
- Un bus de datos de 8 bits, idóneo para mover datos de 8 bits. Los valores más grandes consumirán ciclos de CPU adicionales.
- Catorce registros de propósito general de 8 bits : lo cual es bastante si tenemos en cuenta que el Intel 8080 tiene la mitad y el MOS 6502 solo tres. No obstante, el banco de registros del Z80 presenta ciertas particularidades (o ventajas, según se mire):
- Solo siete registros son accesibles a la vez; los otros siete se denominan 'Registros Alternativos' y deben intercambiarse con el primer conjunto para acceder a ellos. Este mecanismo responde al principio de cambio de bancos. Además, el Z80 ofrece instrucciones especializadas como
EXyEXXpara transferir el contenido entre ambos conjuntos. - Dentro de cada conjunto, seis registros de 8 bits también pueden combinarse en pares para formar hasta tres registros de 16 bits, lo que permite operar con valores mayores.
- Solo siete registros son accesibles a la vez; los otros siete se denominan 'Registros Alternativos' y deben intercambiarse con el primer conjunto para acceder a ellos. Este mecanismo responde al principio de cambio de bancos. Además, el Z80 ofrece instrucciones especializadas como
- Un bus de direcciones de 16 bits, cuyas consecuencias se explican en la siguiente sección.
- Una ALU de 4 bits: esto puede sorprender, pero simplemente significa que las operaciones sobre valores de 8 bits requieren el doble de ciclos de cómputo.
La fotografía de la placa base que encabeza el artículo muestra una CPU NEC D780C-1, lo que simplemente indica que Sega recurrió a fabricantes secundarios para producir el chip. Otras revisiones incluyeron incluso el chip fabricado por la propia Zilog. En cualquier caso, a efectos de este análisis, lo que importa es que las características internas son las mismas.
Comparativa relativa
Cabe señalar que la CPU 6502 (presente en la NES) funciona a apenas ~2 MHz, es decir, aproximadamente la mitad de la velocidad del chip de la Master System. Si a ello sumamos el mayor banco de registros del Z80, podría parecer que la Master System superaría a la NES sin discusión.
Ahora bien, si profundizamos, comprobamos que el 6502 dispone de una ALU más capaz (de 8 bits). Por lo tanto, operaciones aritméticas que en el 6502 se completan en dos ciclos, en el Z80 consumen cuatro. Esto demuestra que atributos relativos como la velocidad de reloj o el tamaño del banco de registros, analizados de forma aislada, pueden ser engañosos. Tanto el Z80 como el 6502 destacan y flaquean en tareas distintas; en última instancia, todo depende de la habilidad del programador.
Memoria disponible
Como ya vimos, el Z80 dispone de un bus de direcciones de 16 bits, por lo que la CPU puede acceder a hasta 64 KB de memoria. En el mapa de memoria de la Master System encontrarás 8 KB de RAM de propósito general , duplicada en otro bloque de 8 KB. Por último, también se mapean hasta 48 KB de ROM del juego.
Acceso al resto de componentes
Como habrás leído en el párrafo anterior, en el espacio de direcciones solo se encuentran la RAM principal y algo de ROM del cartucho. ¿Cómo accede entonces el programa al resto de componentes? Pues bien, a diferencia de la Famicom/NES de Nintendo, no todo el hardware de la Master System está mapeado en memoria. En su lugar, a ciertos periféricos se accede a través del espacio de Entrada/Salida (E/S).
Esto se debe a que la familia Z80 incluye una característica llamada puertos de E/S, que permiten a la CPU comunicarse con el resto del hardware sin agotar las direcciones de memoria. Para ello, existe un espacio de direcciones separado para los 'dispositivos de E/S' denominado puertos, y ambos comparten los mismos buses de datos y direcciones. La diferencia radica en que los puertos se leen y escriben mediante las instrucciones IN y OUT, respectivamente, en contraposición a la instrucción convencional de carga/almacenamiento (LD).
Cuando se ejecuta una instrucción IN u OUT, el Z80 configura las líneas de dirección para apuntar al periférico (que podría ser, por ejemplo, un teclado), activa su pin IORQ para indicar que se ha iniciado una solicitud de E/S y, finalmente, activa el pin RD o WR según se trate de una instrucción IN o OUT, respectivamente. En consecuencia, el periférico direccionado debe monitorizar manualmente el bus de direcciones y los pines de E/S para realizar la operación requerida. En el caso de una instrucción IN, la CPU almacena el valor recibido en un registro predefinido.

Esquema de direccionamiento de la SMS.
La forma en que Sega interconectó la CPU con el resto de componentes no solo permite acceder a valores, sino también exponer u ocultar determinados componentes del mapa de memoria.
Curiosamente, la Game Boy albergaba una 'variante' del Z80 que prescindía por completo de los puertos de E/S. Por ello, esta debía encajar todo en el mapa de memoria.
Retrocompatibilidad
La arquitectura de esta consola es muy similar a la de su predecesora, la Sega SG-1000. Gracias a ello, la Master System resultó retrocompatible con la SG-1000, aunque esta característica solo se aplica a la variante japonesa, ya que las demás tienen una ranura de cartucho diferente.