Zilog Z80, historia y arquitectura de la CPU más vendida de la historia

El Zilog Z80 es sin duda la CPU más vendida de la historia, con más de 2000 millones de unidades vendidas en todo el mundo, todo ello gracias al hecho de estar en una gran cantidad de sistemas como CPU y tener una vida que ha ido desde 1977 hasta el actual 2024, año en que se ha anunciado oficialmente el cese de su fabricación. Eterno rival del MOS 6502, las polémicas sobre qué microprocesador es mejor han sido eternas desde la década de los años 70.

Los orígenes de Zilog

En 1974, tras la salida del Intel 8080, Federico Faggin tomo la decisión de crear su propia empresa después de haber sido el arquitecto jefe en el diseño del 4004, el 8008 y el 8080. A la aventura la llamo Zilog o Z Integrated Logic y enrolo a otros dos científicos de la empresa cofundada por Gordon Moore en su nueva aventura: Ralph Ungermann y Masatoshi Shima. Todo ello con el objetivo de crear sus propios microprocesadores.

Publicidad Z80 lanzamiento

Su primer proyecto fue el Z80, una versión mejorada de 8080 de Intel a la que inicialmente llamaron Super 80. La idea inicial era crear una versión del chip de Intel de coste reducido y más eficiente energéticamente de lo que se puede considerar la primera CPU de propósito general real, ya que el 4004 no pasaba de ser un chip para calculadoras y el 8008 para terminales tontas. Faggin y sus dos socios vieron un mercado potencial que hasta ese momento Intel no había podido ver.

Si bien Zilog se fundó en 1974, el diseño no empezó en 1975 y en aproximadamente un año terminaron el diseño del Z80. El que con el tiempo se convertiría en el microprocesador más usado y longevo de la historia, se fabricó hasta 2024, y que se ha podido encontrar en multitud de ordenadores, máquinas recreativas, consolas de videojuegos.

Tomaron muchas ideas del Motorola 6800

Dado que Zilog no tenía interés en vender los circuitos integrados de Intel, decidieron adoptar algunas de las mejoras del Motorola 6800 orientadas a la reducción de costes a través de la simplificación de la circuitería alrededor de la CPU.

Motorola 6800

Las mejoras que se adoptaron en el Z80 provenientes del chip de Motorola y que eran inéditas en el 8080 fueron:

  • Uso de una sola línea de voltaje (5 V) en vez de las tres que requería el chip de Intel (+5 V, 12 V y -5 V).
  • Adoptaron una señal de reloj más simplificada, la cual funciona en una fase en vez de dos.
  • El microprocesador de Intel necesitaba un controlador externo para poder realizar el proceso de captación de instrucciones con la memoria RAM (el 8224 o el 8228). En cambio, el 6800 y el Z80 no requerían de esa circuitería extra.
  • El Motorola 6800, al igual que sus rivales (excepto el 6502) se diseñó para funcionar con memorias más lentas, en velocidad de reloj, que el microprocesador. Sin embargo, el 8080 carecía de los Wait States, que ayudaban a la sincronización en el acceso a la RAM y evitaba el uso de chips adicionales para ello.

La decisión para ello era sencilla, Intel vivía sobre todo de la venta de los chips aledaños a la CPU y que eran indispensables para funcionar. Zilog no iba a hacer negocio con ello y eso, motivo unos cambios que simplificarían además el diseño de los ordenadores basados en el Z80 respecto a los que usaban el 8080.

Mejoras sobre el Intel 8080

Uno de los objetivos iniciales de Zilog era hacer que su Z80 pudiese ejecutar de forma nativa y sin recompilar el código fuente para el Intel 8080, lo que le permitía ejecutar cualquier programa desarrollado para el chip de Intel. No obstante, para evitarse problemas con Intel necesitaban cambiar por completo el funcionamiento interno del microprocesador.

Diagram arquitectura Z80.

Por lo que hicieron varios cambios de entrada, siendo el primero de ellos y el más importante el aumento del set de instrucciones de 75 a 158, es decir, más del doble. El hecho de tener una mayor cantidad de instrucciones disponibles para crear los programas permitía tener programas más compactos en memoria, eso sí, los que usaran las instrucciones adicionales no funcionaban en un 8080 estándar.

Esto llevo al añadido de nuevos registros, por ejemplo, los de propósito general (A, B, C, D, E, H y L) que fueron duplicados (A’, B’, C’, D’, E’, H’, L’) lo que permite usar un mismo registro como dos operandos distintos. Además, como influencia del Motorola 6800, se añadieron dos registros índice, IX e IY.

Instrucciones para manipular bits y mover datos

Una de las mejoras que trajo consigo el Z80 y que influencio enormemente al mundo de los videojuegos fue el añadido de una serie de instrucciones que hicieron posible la simplificación en la circuitería de muchas máquinas recreativas. Por ejemplo las instrucciones de desplazamiento de bits se añadieron en el chip de Zilog, ello evitó la necesidad de colocar un Barrel Shifter, lo que permitió la proliferación de clones del Space Invaders de TAITO a un menor coste, siendo un ejemplo de ello el fallido, comercialmente hablando, RadarScope de Nintendo.

RadarScope Nintendo

Otro tipo de instrucciones que se añadieron fueron las que permiten mover grandes bloques de memoria. Las cuales permitieron recortar buena parte del hardware que las terminales, construidas a través de chips TTL tenían para mover los caracteres de la ROM a la RAM o de un espacio de la propia memoria principal a otro para el subsistema gráfico, siendo otra de las mejoras orientadas a la reducción de costes.

ALU de 4 bits, rendimiento de 8 bits

Sin embargo, uno de los cambios más curiosos es el uso de una ALU de 4 bits, en vez de una de 8 bits. Lo cual era la norma en las CPU de la época, ya que todas tenían una unidad aritmético-lógica de 8 bits. Esto significa que en la etapa de ejecución de la CPU, las instrucciones que requerían operandos de 8 bits necesitaban el doble de ciclos de reloj. Claro está que en términos de rendimiento, el Z80 tenía el mismo rendimiento que el 8080 a igualdad de velocidad de reloj.

Litografia apuntada Zilog Z80

Una de las novedades del Z80 respecto a su predecesor es que soportaba la superposición de etapas, esto significa que puede ejecutar la decodificación de las mismas y el primer ciclo de la ejecución en el mismo ciclo de reloj. Por lo que el funcionamiento de muchas instrucciones se rehizo respecto al 8080 para requerir menos etapas. En todo caso, Zilog hizo que el tiempo mínimo de una instrucción fuese de 4 ciclos de reloj. Esto corresponde a los 3 ciclos para captar desde memoria y 1 ciclo superpuesto de decodificación y ejecución.

Sistema de interrupciones mejorado

La gestión de interrupciones es uno de los puntos clave en toda CPU. Los cambios implementados en el Z80 respecto al 8080 significa que todo el conjunto de chips periféricos del chip de Intel no eran compatibles, especialmente por las influencias del Motorola 6800.

SBC Z80

Todo esto llevo a cambios en el sistema de interrupciones respecto al 8080.

  • Se implementaron vectores para gestionar todas las interrupciones, abandonando técnicas más precarias como el polling. Un vector de interrupción no es más que una dirección de memoria que apunta a la rutina de interrupción, que será el código que ejecutará la CPU para gestionarla.
  • Otra mejora fue la inclusión de un mecanismo de interrupción no emmascarable (NMI), lo que significa que no puede ser desactivada por ningún programa y se va a ejecutar sí o sí. Sirve para manejar situaciones de error crítico en la que la CPU no puede salir de ella, permitiendo el reseteo inmediato del mismo.

Hemos de partir del hecho que las interrupciones son esenciales para la comunicación de la CPU con los periféricos de E/S, pero en el caso que nos ocupa se renovó no solo para mejorarlo, sino para evitar problemas de propiedad intelectual con Intel.

Preparado de serie para la memoria DRAM

Todas las CPU contemporáneas al Z80 no venían preparadas de serie para interactuar con memoria DRAM, ya que necesitaban incorporar un mecanismo de refresco en su circuitería. La forma más habitual de hacerlo era usar el subsistema de vídeo, el cual accedía a todas la direcciones de memoria durante el proceso de dibujado en pantalla, no obstante no era el caso del microprocesador de Zilog.

Tiempos refresco DRAM Z80

El tiempo de acceso a la RAM del Z80 sigue siendo el mismo que el 8080, un mínimo de 4 ciclos por acceso, pero en medio de este proceso añadieron un mecanismo de refresco de la memoria DRAM, ahorrando a los que montaran un computador con dicha CPU el tener que implementar el mecanismo de refresco para dicho tipo de memoria.

El lanzamiento del Zilog Z80

Una vez ya hemos hecho un repaso al Zilog Z80 y las mejoras respecto al 8080 de Intel, nos hemos de mover al año 1976, fecha en que la CPU fue lanzada al mercado. Lo hizo a través de una serie de tarjetas de microprocesador para sistemas S-100. Si bien a simple vista no parecía ofrecer mejor rendimiento que la CPU de Intel de cara al rendimiento de los programas, era mucho más barata y se convirtió en una pieza muy popular.

Tandy TRS-80 Model I

Sin embargo, el primer ordenador personal en usar el Z80 fue el Tandy Radio Shack 80 Model 1 o más conocido como TRS-80. Se lanzó en 1977 frente al Commodore PET y al Apple II durante la primera generación de ordenadores a un precio de 599 dólares frente a los 1299 dólares del modelo de Cupertino. En el pack incluía un monitor monocromo de 12 pulgadas que no era más que un televisor modificado. Su sistema de almacenamiento era una cinta y disponía una ROM con una BIOS sencilla y un intérprete BASIC. Sus puntos débiles eran la carencia de un sistema de disquetes y el hecho que el Z80 funcionara a 1.77 MHz y 4 KB de RAM, lo que lo hacía un ordenador más lento.

No obstante, por precio fue el ordenador más vendido y demostró las particularidades del Z80 a la hora de construir un sistema de bajo coste. Eso sí, su subsistema gráfico era una simple terminal de texto, sin florituras. No obstante, el TRS-80 termino influenciando a diseños como el ZX80 y el resto de microordenadores europeos basados en el chip de Zilog, como es el caso del ZX Spectrum y el Amstrad CPC.

Tarjetas de expansión para el Apple II

La popularidad de CP/M en el mercado empresarial y el hecho que todas las aplicaciones para ese sistema operativo estuvieran escritas para ensamblador para el 8080 hacía imposible ejecutarlas en el 6502, microprocesador que además carecía de versión del sistema operativo de Gary Kildall. Por lo que aparecieron una serie de tarjetas de expansión que permitían hacer bypass a la CPU de MOS y ejecutar dicho sistema operativo.

Muchas de estas tarjetas de expansión tenían su propia RAM y el CP/M en una ROM, por lo que usaban el resto del hardware del Apple II para generar los gráficos vía terminal y usar la disquetera. Dado que CP/M se había convertido en el sistema operativo de referencia en el mundo empresarial para ejecutar muchos de ellos, se necesitaba este tipo de tarjetas en el Apple II. Y más si tenemos en cuenta que suponía el 90% de la cuota de mercado en microordenadores.

TRS-80 Model 4 ejecutando CP/M

Y es que en el mercado empresarial el Apple II, el Commodore PET y el TRS-80 eran vistos como juguetes. Los dos primeros por montar un 6502 que no podía ejecutar CP/M ni sus aplicaciones, en el caso del tercero por carecer de una unidad de disco. Curiosamente, Tandy y Radio Shack solventaron el problema para el TRS-80 Model 4, siendo uno de los muchos ordenadores personales basados en Z80 capaces de ejecutar el sistema operativo de Kildall de serie al incluir un par de disqueteras.

El nacimiento de la informática en Japón

El Intel 8080 primero y el Zilog Z80 después se convirtieron en las dos CPU que iniciaron la revolución de la informática en Japón y no el MOS 6502. Todo ello gracias a que NEC licencio y fabrico su propia versión de la CPU de 8 bits de Intel y lanzo un kit de ordenador completo, que podríamos considerar análogo al Apple I basado en dicho microprocesador, el NEC TK-80.

NEC TK-80

Se trató de una placa de desarrollo pensada para ingenieros y programadores, por lo que NEC no lo pensó como un ordenador personal inicialmente, pero estandarizo el conocimiento de dicha CPU entre una generación entera de programadores en Japón.

No obstante, verdadero boom vino con el Zilog Z80, que tuvo una mayor adopción en la industria japonesa que el Intel 8080, ya que ofrecía compatibilidad con el software del 8080, pero con un mejor rendimiento y más funciones. No en vano, la primera generación de ordenadores personales nipones, protagonizada por el Sharp MZ-80K, el NEC PC-8001 y el Fujitsu FM-8 compartieron la misma CPU.

La segunda generación, lanzada ya a principios los años 80, continuó usando el Z80 como CPU. Hablamos de ordenadores icónicos como el NEC PC-8801, el Sharp X1, el Fujitsu FM-8 y el estándar MSX. Dejando patente la importancia de dicha arquitectura en Japón. La cual además se utilizó también en multitud de máquinas recreativas.

Con esto terminamos, iremos añadiendo información sobre los distintos sistemas basados en el Z80 en futuras entradas donde hablaremos de ellos al detalle.

3 comentarios en “Zilog Z80, historia y arquitectura de la CPU más vendida de la historia”

  1. Pingback: NEC PC-88: La leyenda que transformó la informática en Japón

  2. Pingback: NEC µPD7220, la primera GPU 2D de la historia

  3. Pingback: Blitter: la tecnología clave en gráficos que definió los 16 bits

Deja un comentario

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

Scroll al inicio