Zilog Z80
Historia
El microprocesador Z80 fue lanzado al mercado en 1976 por Zilog y ha sido uno de los microprocesadores de mayor éxito, debido a su uso en los Amstrad CPC y Sinclair ZX Spectrum. Aún se utilizan derivados suyos en sistemas empotrados.
El Zilog Z80 fue diseñado por Federico Faggin, que habia sido el diseñador jefe del Intel 8080, pero cuando su producción finalizó, este dejó Intel y fundó Zilog para desarrollar un procesador compatible con el software creado para el Intel, lo que ayudo a su popularidad.
Su nombre se debe a que podía ejecutar 80 instrucciones más que el Intel 8080, dando lugar a un total de 156 instrucciones.
Características
- Arquitectura de 8 bits.
- Frecuencias de reloj desde 2,5 MHz a 20 MHz.
- 22 registros, 4 de 16 bits y 18 de 8 bits (12 de los cuales se podían utilizar a pares, dando lugar a 6 registros de 16 bits más).
- Una única toma de alimentación de 5V.
- Bus de datos bidireccional de 8 bits.
- Bus de direccionamiento de 16 bits (capaz de direccionar hasta 64 KiB de memoria).
- El encapsulado original era Dual In Line (DIL) de 40 terminales, aunque también se ha encapsulado en PLCC (Plastic Leader Chip Carrier) y más modermamente en LQFP (Low Profile Quad Flat Package).
-
Sus conexiones externas son las siguientes:
- 16 líneas de direccionamiento.
- 8 líneas de datos.
- 13 líneas de control.
- 3 para alimentación y reloj.
Estructura de registros
El Z-80 dispone de dos bancos de registros generales:- El banco principal formado por los registros A, B, C, D, E, F, H, L cuyos usos son los siguientes:
- A es el registro acumulador, operando obligatorio de la mayoría de la instrucciones.
- F almacena los bits de condición o flags.
- B, C, D y E son registros generales de 8 bits que se pueden agrupar por parejas para formar registros de 16 bits (BC y DE).
- HL es un registro doble que puede contener una dirección de 16 bits dividida en dos bytes: H el más alto y L el más bajo.
- El banco alternativo, que contiene réplicas de los registros del banco principal: A', B', C', D', E', F', H', L', se emplean durante la ejecución de las rutinas de interrupción.
- I contiene el vector en caso de solicitud de interrupción.
- PC (Program Counter) contiene la dirección de la instrucción siguiente.
- SP (Stack Pointer) es el apuntador de pila.
- R almacena el número de bloque de memoria dinámica que hay que refrescar.
- IX e IY son los registros índice, es decir, almacenan la dirección de memoria donde se va a tomar un dato.
Referencias
- Manual de usuario oficial del Z80
- Documentación de la Universidad de Alcalá
- Documentación de la Universidad de Guadalajara (México)
Pieza donada por Javier Bastida Ibáñez