En junio de 2024, Zilog decidió dejar de fabricar el z80, aunque esto no quiere decir que el Z80 dejase de existir: por ejemplo, Sharp todavía lo vende con la identificación LH0080, y NEC hace lo propio con la etiqueta D780C-1.
El Z80 era compatible con el Intel 8080. ¿Por qué entonces, si ya existía este procesador, Zilog se "animó" a crear una variante compatible? Lo cierto es que el i8080 era bastante enrevesado en cuanto a la forma de alimentarlo: necesitaba varios voltajes. El Z80, sin embargo, solo necesitaba alimentación de 5V, una sola línea de reloj (CLK), y era más rápido.
Funcionamiento interno
| Registro | Funcionalidad |
|---|---|
| A | Registro acumulador |
| B | Registro de uso libre. |
| c | Registro de uso libre. |
| D | Registro de uso libre. |
| E | Registro de uso libre. |
| H | Parte alta de dir. RAM. |
| L | Parte baja de dir. RAM. |
| IX | Registro de índice. |
| IY | Registro de índice. |
| SP | Stack pointer |
| PC | Program counter |
Todos los registros eran de 8 bits, excepto los registros de índice IX e IY, el contador de programa PC, y el puntero de la pila de llamadas, SP, que son de 16 bits. Pero además, el resto de registros se pueden combinar. Por ejemplo, para acceder a una dirección de memoria, se colocan los 8 bits más bajos en L, y los 8 bits más altos en H, de forma que se obtiene una dirección de memoria de 16 bits (2^16 o 65536 bytes/64 K).
Además, los registros B y C se pueden utilizar juntos como registros de 16 bits, si se utiliza el nombre BC, y lo mismo para D y E, que puede ser utilizado como DE.
Los registros IX e IY son nuevos, permitiendo funcionar como índices. Supongamos que necesitas copiar una cadena de caracteres en la posición de memoria 00000000FFFFFFFF, en otra posición de memoria que sería 00000001FFFFFFFF. El primer valor se copiaría en IX, mientras que se haría lo propio con el segundo en IY. Ahora puedes ir copiando el valor apuntado por uno en la posición apuntado en el otro, e ir incrementando ambos.
| 8 bits bajos | 8 bits altos | Registro combinado |
|---|---|---|
| B | C | BC |
| D | E | DE |
| H | L | HL |
Es decir, que si se quiere hacer algún cálculo que involucre 16 bits, se usan BC, o DE, y si se quiere acceder a una determinada posición de memoria, HL.
Compatibilidad y legado
El uso del z80 se extendió rápidamente al ser un chip tan versátil. Esto produjo una situación en la que muchos programas podían ser compatibles a nivel de código ejecutable.
Así, Gary Kildall, programó CP/M (el antepasado del sistema operativo MS-DOS) para Z80, vendiéndolo a través de su nueva empresa Digital Research.
Por cuestiones de desacuerdo en las licencias, no creó CP/M para el IBM-PC con su i8088, y al final se adaptó QDOS (el rápido y sucio sistema operativo, o Quick & Dirty Operating System) para la máquina. Posteriormente, Digital Research desarrollaría DR-DOS, compatible con MS-DOS. Pero eso es otra historia.
Para CP/M se crearon lenguajes de programación, bases de datos... fue tremendamente popular, ya que surgieron multitud de máquinas cuyo corazón era el Z80, y para el que CP/M era muy fácilmente adaptable.
Altair BASIC fue creado originalmente por Bill Gates para el Altair 8080, antes de crear Microsoft. Ocupaba 4K de memoria. Pero la multitud de microordenadores que surgieron utilizando el Z80 hizo que Microsoft BASIC, directamente derivado del anterior, tuviera docenas de versiones adaptadas a ellos, creando máquinas cuyos programas en BASIC en binario eran compatibles entre sí, o facilitando la creación de un estándar como tal, el MSX.
El Zilog Z80 fue, por tanto, un pilar fundamental en el desarrollo de la informática, que finalmente, con la aparición de los microordenadores, se introduciróa en los hogares para su uso doméstico, algo impensable en los 70.
Top comments (0)