Zilog Z80
Keywords: Zilog Z80, 1976, Acumulador (informática), Amstrad, Arquitectura (informática), Bit, CP/M, Intel 8080
El Zilog Z80 (Z80) es un microprocesador de 8 bits cuya arquitectura se encuentra a medio camino entre la organización de acumulador y de registros de propósito general. Si consideramos al Z80 como procesador de arquitectura de registros generales se sitúa dentro del tipo de registro-memoria. Fue lanzado al mercado en 1976 por la compañía Zilog, y se popularizó en los años 80 a través de ordenadores como el Amstrad CPC, el Sinclair ZX-Spectrum o los ordenadores de sistema MSX.
| Tabla de contenidos |
Estructura
A pesar de ser un microprocesador de 8 bits, el Z80 puede manejar instrucciones de 16 bits. Una de las características más reseñables es que tiene las instrucciones del Intel 8080 como subconjunto, de modo que algunos ordenadores basados en Z80 podían ejecutar programas diseñados para el CP/M del 8080. Esto ha hecho que los formatos de instrucción del Z80 sean bastante complejos, ya que tienen que mantener su compatibilidad con el 8080. Sin embargo el Z80 ha consegido mejorar al microprocesador de Intel en velocidad, ha añadido nuevos modos de direccionamiento y contiene un juego de instrucciones más amplio.
Registros
La estructura de registros del Z80 esta compuesto por un banco principal, otro alternativo y por último un banco compuesto por registros especiales. La existencia del banco altenativo mejora la velocidad ante la presencia de las interrupciones ya que permite cambiar desde el banco principal al alternativo. Los registros son:
- A, B, C, D, E, H y L (banco principal)
- A', B', C', D', E', H' y L' (banco alternativo)
- I, R, IX, IY, SP y PC (registros especiales)
Los registros del banco principal son generales y de 8 bits. Se pueden tomar por parejas, siendo entonces IX e IY los registros índices. El registro A sirve de acumulador. El R almacena el bloque de memoria a cuyo refresco se va a proceder. El SP es el puntero de cima de pila. El PC es el contador de programa. El F contiene los flags o también llamados bits de condición.
Acumulador
El acumulador A es el registro más utilizado porque contiene el resultado de las operaciones aritméticas y lógicas realizadas por la ALU.
Par HL
Es el par de registros más versátil, utilizado sobre todo para contener direcciones de memoria.
Pares BC y DE
Se utilizan como pares auxiliares de HL en instrucciones que manipulan bloques como LDI, LDIR, etc...
Registros indexados IX e IY
Se utilizan como registros base para apuntar a una dirección de memoria de donde se va a tomar un dato. Se indica un byte adicional que implica desplazamiento.
Puntero de pila SP
Permite el anidamiento de rutinas. Apunta a una zona de memoria llamada STACK que es una estructura de pila o LIFO.
Registros especiales
- Flag F: Indica condiciones especiales al realizar operaciones matemáticas o lógicas.
- Registro de interrupciones I: Se utiliza para ejecutar cualquier subritina como respuesta a una interrupcion hardware.
- Registro de refresco R: El valor del registro R se coloca en el bus de direcciones mientras se activa la señal de refresco proporcionada por la CPU. Esto ocurre mientras la CPU decodifica una instrucción.
Bits de condición (flags) del Z80
- 0-C: Acarreo.
- 1-P/V: Paridad/desbordamiento.
- 6-Z: Cero.
- 7-S: Signo.
- 1-N: Resta BCD, para corrección con DAA.
- 4-H: Medio acarreo, para correccion BCD con DAA.
Enlaces externos
- Manual oficial del Z80 (en inglés)
- Tutorial de código máquina de Z80 que esta sacado de aquí
| Microprocesadores de ZiLOG |
|
Z80 | Z800 | Z8000 | Z80000 | Z8 | Z180 | Z280 | Z380 |
