Arquitectura del microprocesador Z80
goanzalooTrabajo19 de Junio de 2012
2.770 Palabras (12 Páginas)355 Visitas
ARQUITECTURA DEL MICROPROCESADOR Z80
El Z80 fué el primero de la tercera generación, sin embargo es uno de los microprocesadores de 8 bits más empleado hasta nuestros días, se encuentran versiones mejores del mismo tales como Z80A, Z80B, Z80H, éstas se caracterizan por trabajar a frecuencias superiores de 4 Mcps, 6.5 Mcps y 8 Mcps respectivamente, las características fundamentales del Z80 son:
1. El transporte de señales se realiza sobre tres buses, el bus de direcciones, el bus de datos, así como el bus de control.
2. Régimen de interrupción uniforme, con la posibilidad de encadenar las prioridades de los circuitos periféricos.
3. Alto grado de programabilidad.
4. Reloj único.
5. Fuente de voltaje única de +5 Volts.
Un sistema con Z80 se completa con el empleo de memorias estandard de lectura y memorias estáticas o dinámicas de lectura y escritura, además pertenecen al sistema, puertos de entrada y salida paralelo, interfaces de comunicación serie, sistemas contadores temporizadores y circuitos de acceso directo a memoria.
El funcionamiento del sistema consiste en que las instrucciones del microprocesador, que están en la memoria ROM, se ejecutan en una forma secuencial de operación, la fuente de datos es, la propia CPU, los periféricos o las memorias, la transferencia interna de datos es a través del CPU, exceptuando la transferencia de datos en el proceso de acceso directo a memoria.
El Z80 es una versión apreciablemente mejorada tanto en circuiteria como en características de programación del antiguo modelo INTEL 8080, el Z80 resulta ser un microprocesador más rápido y sencillo en el desarrollo de sistemas ya que solo usa una fuente de alimentación de +5 Volts, contiene íntegramente todo el conjunto de instrucciones del 8080, lo cual le permite ejecutar todos los programas escritos para el CPU 8080, contiene el Z80 una expansión adicional de 80 instrucciones de ahí se deriva su nombre, su repertorio suma un total de 156 instrucciones.
El microprocesador Z80 contiene las siguientes unidades funcionales;
1).- Unidad aritmética y lógica
2).- El contador de programa
3).- El apuntador del stack
4).- Registros de propósito general
5).- Registros de indice
6).- Registros de interrupciones
7).- Registro de banderas
8).- Registro para refrescar memorias dinámicas
LA UNIDAD ARITMÉTICA Y LÓGICA (ALU)
Las operaciones del CPU Z80 se realizan con un grupo de dispositivos lógicos conocidos comúnmente como unidad aritmética y lógica (ALU) esta efectúa las siguientes operaciones;
1. Suma binaria.
2. Operaciones lógicas.
3. Complementar a dos.
4. Corrimiento de un bit a la derecha o a la izquierda.
5. Registro de resultados importantes como el acarreo, signo, acarreo auxiliar, paridad o si el resultado es zero.
6. Comparaciones
7. Poner, Limpiar o probar un bit
EL CONTADOR DE PROGRAMA (PC)
Es un registro de 16 bits, que continuamente tiene la dirección de la localidad de memoria siguiente que se va a accesar, de esa localidad obtiene el código de la instrucción a ejecutarse, en la CPU el PC se incrementa en uno, cada vez que el microprocesador lee el código de la instrucción contenida en la localidad direccionada, de esta forma el contador del programa direcciona secuencialmente las localidades de la memoria ROM, donde se encuentra almacenado el programa.
EL APUNTADOR DEL STACK (SP)
El microprocesador Z80 cuenta con el registro de pila (SP) o stack pointer que contiene una dirección de memoria RAM a partir de la cual y en forma descendente, se almacenan los contenidos de un par de registros, o a partir del cual en forma ascendente se obtienen los últimos dos datos de 8 bits almacenados en esa área, el SP es un registro de 16 bits, para almacenar en el stack el contenido de un par de registros se utiliza la instrucción PUSH y para cargar a un par de registros con los dos últimos bytes del stack se utiliza la instrucción POP.
REGISTROS DE PROPÓSITO GENERAL
El microprocesador Z80 contiene 14 registros de 8 bits separados en dos grupos;
GRUPO 1; A, B, C, D, E, H, y L
GRUPO 2; A', B', C', D', E', H' y L
Todas las instrucciones trabajan con los registros del grupo 1, con las instrucciones EX y EXX se logra el intercambio entre los contenidos de los registros del grupo 1 con los contenidos de los registros del grupo 2, el grupo 2 se utiliza en cierta forma como stack del grupo 1, dentro de la propia CPU.
Con los 14 registros de propósito general se efectuan por medio de las instrucciones las siguientes funciones;
1. Recibir datos desde la memoria.
2. Enviar datos hacia la memoria.
3. Incrementar o decrementar en uno su contenido.
4. Formar una dirección con el contenido de un par de registros.
5. Transferir datos entre los registros.
6. Obtener un operando durante las funciones de la ALU.
REGISTROS DE ÍNDICE IX e IY.
Estos son registros de 16 bits cada uno y conservan direcciones base que se usan para modo de direccionamiento indexado, en este modo un registro de índice se usa como base para apuntar a una región de la memoria. La dirección efectiva de la localidad de memoria a donde se va a depositar el dato o de donde se va a leer, se obtiene, al sumar el contenido del registro de índice y el valor de 8 bits contenido en el campo de "desplazamiento" de las instrucciones que emplean direccionamiento con índice, estos desplazamientos se especifican con números enteros signados con el complemento a dos.
REGISTRO DE INTERRUPCIONES
El Z80 opera en modo de interrupción en el que responde como una "llamada" indirecta en respuesta a una solicitud de interrupción. El registro I se usa para este propósito almacenando los 8 bits más significativos de la dirección indirecta mientras que el dispositivo que interrumpe proporciona los 8 bits menos significativos de la dirección índice, esta característica permite que las rutinas servicio de las interrupciones se localicen en cualquier parte de la memoria y que se puedan accesar en un tiempo muy corto.
BANDERAS DE ESTADO
El microprocesador Z80 tiene un registro de 8 Flips Flops, para monitorear ciertos resultados de las operaciones de la ALU, a la información que almacenan estos flips-flops se conoce como banderas de estado, las banderas se actualizan después de cada operación con alguno de los registros, no todas las operaciones modifican a todas las banderas, de los 8 bits del registro de banderas, únicamente seis registran información útil para el programador, cuatro de estas banderas se prueban, esto es, se usan como condiciones de salto (JP), llamada (CALL), o regreso (RET), estas banderas son;
1. La paridad o sobreflujo (P/V). El registro "P" se utiliza para realizar funciones auxiliares necesarias para el usuario, le sirven para interpretar los resultados, es uno cuando el resultado de la operación lógica del complemento a dos produce un acarreo, de otro forma es un cero lógico..
2. SIGN (S); Set if into the result of ALU operation the most significant bit = 1, otherwise reset.
3. ZERO (Z); Set if result of ALU operation is zero otherwise it is reset.
4. AUXILIARY CARRY; Set if carry out results b3 into b4 otherwise reset.
5. CARRY (C); Set if result of addition or subtraction operation result in a carry or borrow of the highest order bit, otherwise reset.
TERMINALES DEL MICROPROCESADOR Z80
El Z80 es un microprocesador de 8 bits y cuenta con 158 instrucciones y 10 modos de direccionamiento. El circuito integrado del microprocesador Z80 se deposita en un encapsulado Dual In Line de 40 terminales, de las cuales 5 son únicamente de entrada, 24 son de salida y 8 son bidireccionales, además, existen dos que sirven para conectar la fuente de alimentación y otra más que es la entrada del reloj.
Todas ellas tienen características eléctricas compatibles con la tecnología TTL, el intervalo de voltajes de entrada para un cero lógico es; 0.3 £ Vil £ 0.8 volts, el intervalo del voltaje de entrada para un uno lógico es; 2.0 £ Vih £ Vcc, el voltaje máximo de salida para un cero lógico es; Vol=0.4Volts, y el voltaje mínimo de salida para un uno lógico es; Voh=2.4Volts
El Z80 opera con una fuente de alimentación de +5.0 Volts conectada a la terminal 11, (pin 11), la tierra de la fuente se conecta a la terminal GND, (pin 29), el consumo típico
...