El microprocesador Z80 El microprocesador Z80

Anuncio
Microprocesadores
Microprocesadores
El microprocesador
Z80
Carlos Canto Q.
Microprocesadores
Microprocesadores
Arquitectura del microprocesador Z80
Carlos Canto Q.
Microprocesadores
Microprocesadores
ARQUITECTURA FUNDAMENTAL DEL MICROPROCESADOR Z80
REGISTROS DE
PROPÓSITO GENERAL
A
B
D
H
C
E
L
D0-D7
BUS DE DATOS
REGISTROS DE
PROPÓSITO ESPECIAL
INDICE IX
INDICE IY
PUNTERO DE PILA
I
PC
A0-A15
R
BUS DE DIRECCIONES
CLK
RESET
WR
UNIDAD LÓGICA
ARITMÉTICA
RD
MREQ
IORQ
RFSH
HALT
CONTROL
DEL SISTEMA
BANDERAS
CONTROL DE
INTERRUPCIONES
IFF1
IFF2
WAIT
M1
BAK BRQ INT NMI
Carlos Canto Q.
Microprocesadores
Microprocesadores
ARQUITECTURA FUNDAMENTAL DEL MICROPROCESADOR Z80
Carlos Canto Q.
Microprocesadores
Microprocesadores
ARQUITECTURA FUNDAMENTAL DEL MICROPROCESADOR Z80
Carlos Canto Q.
Microprocesadores
Microprocesadores
ARQUITECTURA FUNDAMENTAL DEL MICROPROCESADOR Z80
Carlos Canto Q.
Microprocesadores
Microprocesadores
ARQUITECTURA FUNDAMENTAL DEL MICROPROCESADOR Z80
Carlos Canto Q.
Microprocesadores
Microprocesadores
ARQUITECTURA FUNDAMENTAL DEL MICROPROCESADOR Z80
Carlos Canto Q.
Microprocesadores
Microprocesadores
Modelo de programación 
del z80
El Z80 cuenta con un total de 22
registros internos clasificados como:
9 De propósito General
„ todos de 8 bits
„ Un grupo de ellos constituyen los
registros principales y se nominan:
A,B,C,D,E,H,L, Flags
„ otro grupo igual forman los registros
alternos y se nominan como:
A’,B’,C’,D’,E’,H’,L’,Flags’
Solamente uno de los dos grupos se
puede activar a la vez
„ se pueden agrupar en pares para
contener datos de 16 bits o
direcciones de memoria, los pares
son:
BC,DE,HL, y AF
Carlos Canto Q.
Microprocesadores
Microprocesadores
Registros de propósito especial
I ( 8 bits )
R (7 bits)
INDICE IX (16 bits)
INDICE IY (16 bits)
APUNTADOR DE PILA SP
CONTADOR DE PROGRAMA PC
9 El PC es un registro de 16 bits que contiene
9
9
la dirección de la
instrucción que va ser traída de la memoria.
Siempre apunta al inicio de la siguiente instrucción.
El PC se incrementa automáticamente en 1,2,3 ó 4
dependiendo del tamaño de la instrucción.
Carlos Canto Q.
Microprocesadores
Microprocesadores
Registros de propósito especial
I ( 8 bits )
R (7 bits)
INDICE IX (16 bits)
INDICE IY (16 bits)
APUNTADOR DE PILA SP
CONTADOR DE PROGRAMA PC
9 Es un registro de 16 bits que contiene la dirección del
último dato introducido al STACK o pila
9 se incrementa automáticamente al sacar (POP) un dato
del stack
9 Se decrementa automáticamente al introducir (PUSH)
un dato al stack .
Carlos Canto Q.
Microprocesadores
Microprocesadores
Registros de propósito especial
I ( 8 bits )
R (7 bits)
INDICE IX (16 bits)
INDICE IY (16 bits)
APUNTADOR DE PILA SP
CONTADOR DE PROGRAMA PC
9 Registros de 16 bits que permiten el acceso a memoria
9
mediante el modo de direccionamiento indexado.
Facilitan la manipulación de datos en tablas conteniendo la
dirección base o de referencia a la que se le agregará el
desplazamiento de la ubicación del dato para formar la
dirección de memoria.
Carlos Canto Q.
Microprocesadores
Microprocesadores
Registros de propósito especial
I ( 8 bits )
R (7 bits)
INDICE IX (16 bits)
INDICE IY (16 bits)
APUNTADOR DE PILA SP
CONTADOR DE PROGRAMA PC
„
El registro I contiene el vector de interrupciones
de 8 bits
„ Este vector sumado al proporcionado por el
periférico que requiere la interrupción forma la
dirección efectiva del acceso a memoria.
Carlos Canto Q.
Microprocesadores
Microprocesadores
Registros de propósito especial
I ( 8 bits )
R (7 bits)
INDICE IX (16 bits)
INDICE IY (16 bits)
APUNTADOR DE PILA SP
CONTADOR DE PROGRAMA PC
9 El registro R (REFRESCO)
es de 7 bits
9 Se usa para refresco de la
memoria RAM dinámica.
Carlos Canto Q.
Microprocesadores
Microprocesadores
El registro de banderas o Flags
• Está formado por un grupo de flip flops que
se agrupan como un registro para
manipularlos juntos.
• Cada bit o bandera indica una condición del
resultado de alguna operación lógica o
aritmética.
• En algunos microprocesadores se conoce
como registro de “STATUS DE PROGRAMA” o
PSW.
Carlos Canto Q.
Microprocesadores
Microprocesadores
S
Z
X
H
X
P/V
N
C
Acarreo
9 La bandera de acarreo (Carry) se pone
en uno para indicar que existe un
acarreo en el bit más significativo del
acumulador al hacer una operación de
suma ó resta
Carlos Canto Q.
Microprocesadores
Microprocesadores
S
Z
X
H
X
P/V
N
C
Resta
9 ESTA BANDERA SE EMPLEA CON LAS OPERACIONES
EN BCD DE SUMA Y RESTA .
9 ES UNO ANTE UNA RESTA (“BORROW”) Y CERO
ANTE SUMA.
Carlos Canto Q.
Microprocesadores
Microprocesadores
S
Z
X
H
X
P/V
N
C
Paridad/Desbordamiento
9 Después de una operación lógica, indica con un “1 “
paridad par y con un “0” la paridad impar.
9 Después de una operación aritmética, indica con un “1”
un desbordamiento u “overflow” .
9 Con 8 bits se puede representar cantidades entre 128 (80H) a +127(7FH)
Carlos Canto Q.
Microprocesadores
Microprocesadores
S
Z
X
H
X
P/V
N
C
Acarreo intermedio BCD
9 Para operaciones en BCD ,
indica con un uno que se ha
producido acarreo en los bits 4
Carlos Canto Q.
Microprocesadores
Microprocesadores
S
Z
X
H
X
P/V
N
C
Bandera Cero
9Se hace uno cuando el resultado de
una operación es cero
9 o bien cuando el contenido del
registro Acumulador es cero
Carlos Canto Q.
Microprocesadores
Microprocesadores
S
Z
X
H
X
P/V
N
C
Bandera signo
9 Se hace ·1· cuando el resultado de una
operación es negativo
9 y cero si el resultado es positivo.
9 se puede pensar que es una copia del
bit más significativo del resultado
Carlos Canto Q.
Microprocesadores
Microprocesadores
Ejemplo de la ejecución de una instrucción
LD D,C
;
DÅC
TRANSFERIR EL VALOR DEL REGISTRO C AL REGISTRO D
1) Búsqueda de una Instruccón (FETCH) el PC es enviado a la memoria
Carlos Canto Q.
Microprocesadores
Microprocesadores
2) El
PC es incrementado
Carlos Canto Q.
Microprocesadores
Microprocesadores
3) La instrucción llega de la memoria a IR
(Instrucción Register)
Carlos Canto Q.
Microprocesadores
Microprocesadores
4)El contenido de C es depositado en el TEMP (registro
Temporal)
Carlos Canto Q.
Microprocesadores
Microprocesadores
5) El contenido de TEMP se deposita en D
Carlos Canto Q.
Microprocesadores
Microprocesadores
Al final de la transferencia el contenido de C es copiado en D
El contenido de D se pierde pero ahora tenemos dos
copias del contenido de C
Carlos Canto Q.
Microprocesadores
Microprocesadores
Otro ejemplo: ADD A,B
; AÅA+B
Existe una doble transferencia simultánea
Carlos Canto Q.
Microprocesadores
Microprocesadores
Fin de la ejecución de la instrucción
Carlos Canto Q.
Microprocesadores
Microprocesadores
El microprocesador Z80 está integrado en una pastilla de 40
pines.
Estos terminales pueden agruparse funcionalmente
como muestra la figura:
Carlos Canto Q.
Microprocesadores
Microprocesadores
Carlos Canto Q.
Microprocesadores
Microprocesadores
Bus de direcciones
El bus de direcciones está formado por 16 líneas que van desde
la línea A0 hasta la línea A15. Estas líneas poseen la habilidad
de “tri state”, de modo que cuando el bus de direcciones está
inactivo, se encuentran en un estado de alta impedancia.
Cuando el procesador maneja dispositivos de I/O, las 8 líneas
menos significativas de este bus contienen la dirección del
dispositivo, la cual puede tener un valor entre 0 y 255 (d).
Por otro lado, las líneas menos significativas de este bus
contienen, durante un lapso en ejecución da cada instrucción, el
valor presente en el registro de Refresh de memoria R.
Carlos Canto Q.
Microprocesadores
Microprocesadores
Bus de datos
Está formado por 8 líneas que van desde la línea D0 a la
línea D7. Este bus es bidireccional permitiendo la
transferencia de información desde la CPU hacía la memoria
o dispositivos de I/O y viceversa. Es también un bus con”tristate”.
Carlos Canto Q.
Microprocesadores
Microprocesadores
Terminales para control de Memoria y
puertos de E/S
Carlos Canto Q.
Microprocesadores
Microprocesadores
CICLO DE MAQUINA UNO (M1),
Salida activa en nivel bajo, indica que en este ciclo de máquina uno el
microprocesador va a obtener el código operacional de una instrucción,
en las instrucciones que tienen un código operacional de 2 bytes esta
señal se opera al obtener cada uno de los bytes del código operacional,
al igual que para indicar el reconocimiento de un ciclo de interrupción
cuando ocurre (IORQ)'.
REQUERIMIENTO DE MEMORIA
(MREQ)', Pin 19
Salida activa en nivel bajo, esta señal indica una petición que
interrelaciona a la memoria con la CPU, obtiene una dirección valida
de las líneas de direccionamiento, esta terminal tiene capacidad del
tercer estado.
Carlos Canto Q.
Microprocesadores
Microprocesadores
REQUERIMIfNTO DE E/S (IORQ), Pin 20
Es salida triestado activa en nivel bajo, esta señal indica que la
mitad baja del bus de direcciones mantiene una dirección válida de
E/S, para efectuar una operación de lectura o escritura de E/S, se
genera esta señal cuando el ciclo de maquina 1 (M1) reconoce una
interrupción, indica que el vector de respuesta de la interrupción se
coloca en el bus de datos, las operaciones de reconocimiento de
interrupción ocurren durante el ciclo de maquina 1, mientras que
las operaciones de E/S nunca se producen durante este ciclo
Carlos Canto Q.
Microprocesadores
Microprocesadores
LECTURA (RD), Pin 21
Salida triestado activa en nivel bajo, indica que la CPU desea leer
datos desde la memoria de un dispositivo externo de E/S, el
dispositivo E/S se direcciona a la memoria o al periférico, se usa
esta terminal para dirigir los datos al bus de datos de la CPU.
ESCRITURA (WR)', pin 22
Salida triestado activa en nivel bajo, indica que el bus de datos de
la CPU va a obtener datos válidos para ser almacenados en la
memoria o en algún dispositivo de E/S.
Carlos Canto Q.
Microprocesadores
Microprocesadores
REFRESCO DE LA MEMORIA
DINÁMICA (RFSH)', Pin 28
Salida activa en nivel bajo, indica que los siete bits inferiores de
las líneas de direccionamiento contienen una dirección válida de
refresco de memoria, se utiliza para el mantenimiento de datos en
memorias dinámicas, con esta se efectúa una lectura de
refrescamiento para todas las memorias dinámicas.
Carlos Canto Q.
Microprocesadores
Microprocesadores
Terminales para control del
Microprocesador
Carlos Canto Q.
Microprocesadores
Microprocesadores
PARO (HALT), Pin 18
Salida que activa en nivel bajo, indica que la CPU realiza una
instrucción por software de paro (HALT), y que espera una
interrupción (NMI)' o (INT)' antes de que continue la operación,
mientras permanezca en este estado la CPU ejecuta operaciones
NOP, para mantener activo el refresco de las memorias dinámicas, al
aplicarse un reset se continua con la operación.
ESPERA (WAIT), Pin 24
Es una entrada activa en nivel bajo, le indica al microprocesador que
la memoria direccionada o los dispositivos periféricos de E/S no son
tan rápidos como para realizar una transferencia de datos a la
velocidad de la CPU, o no están listos para una transferencia de
información, la CPU continua con el estado de espera durante todo
el tiempo que esta terminal es activa, esto les permite a los otros
dispositivos sincronizarse con la CPU.
Carlos Canto Q.
Microprocesadores
Microprocesadores
REQUISICIÓN DE INTERRUPCIÓN
MASCARABLE (INT), Pin 16
Entrada activa en nivel bajo, esta terminal se acciona con
dispositivos E/S externos, una requisición (INT)' se atiende al
final de la instrucción que se ejecuta, si el enable interno del
Flip Flop de interrupción IFF1 controlado por software se
encuentra habilitado, y si la requisición de bus no esta activa, al
aceptar la CPU una interrupción envía una señal de
reconocimiento, la petición de E/S se realiza durante el ciclo de
máquina 1, al principio del siguiente ciclo de instrucción, esta
petición solo es valida bajo control del programa interno,
reconociendo la CPU tres modos diferentes de interrupción.
Carlos Canto Q.
Microprocesadores
Microprocesadores
INTERRUPCIÓN NO MASCARABLE
(NMI)', Pin 17
Entrada que se activa con un flanco de bajada mediante un
impulso que identifica una interrupción obligada, posiciona al
contador de programa (PC) en la dirección 0066h desde donde
continua el proceso, esta tiene una prioridad más alta que la
interrupción (INT)' y siempre se reconoce al final de la
instrucción que se ejecuta, independientemente del estado del
IFF1, el contador de programa PC se almacena automáticamente
en el stack pointer externo de forma que el usuario regrese al
programa en el mismo punto del que fué interrumpido.
Carlos Canto Q.
Microprocesadores
Microprocesadores
REINICIALIZACIÓN (RESET), Pin 26
Entrada que se activa con un flanco de bajada mediante un impulso,
obliga a la CPU a reiniciar su actividad, coloca al contador de
programa (PC) en la localidad de inicio de memoria 0000h, desde
donde empieza el proceso, durante este tiempo el bus de direcciones
y el bus de datos adquieren el estado de alta impedancia y todas las
terminales de control de salida adquieren el estado inactivo.
Carlos Canto Q.
Microprocesadores
Microprocesadores
Terminales para control de Buses
Carlos Canto Q.
Microprocesadores
Microprocesadores
REQUERIMIENTO DE LAS
TERMINALES DE LA CPU (BUSRQ), Pin
25
Esta entrada es activa en nivel bajo, le indica a la CPU que
coloque todas sus líneas en estado de alta impedancia, (tan pronto
el ciclo de maquina 1 actual termine), a petición del periférico
externo que desea tomar el control del sistema, regresa el control
a la CPU cuando esta señal (BUSRQ)' pasa al nivel alto, se utiliza
para pedir que el bus de direcciones, el bus de datos y las
terminales de salida triestado del bus de control vayan a un estado
de alta impedancia de tal forma que otros dispositivos controlen
esos buses.
Carlos Canto Q.
Microprocesadores
Microprocesadores
ENTREGA DE LAS TERMINALES DE
LA CPU (BUSAK)', Pin 23
Salida activa en nivel bajo, es una indicación para el periférico
que efectúa una petición (BUSRQ)' de que su petición ha sido
concedida por parte del microprocesador, sirve para indicar al
dispositivo que solicita este reconocimiento, que el bus de
direcciones, el bus de datos y el bus de las terminales de control
triestado han sido puestos en su estado de alta impedancia y que
el dispositivo externo puede ahora controlar estas terminales.
Carlos Canto Q.
Microprocesadores
Microprocesadores
El reloj y la Alimentación de poder
Carlos Canto Q.
Microprocesadores
Microprocesadores
RELOJ (CK), Pin 6
Entrada configurada por un tren de impulsos útiles, es la diferencia
que permite la secuencia de tiempos de operación, se implanta
físicamente con un oscilador de onda cuadrada cuya frecuencia
depende del tipo de características de la CPU Z80, requiere
oscilación de una fase con niveles TTL, una forma de satisfacer
todos los requerimientos de voltaje es por medio de una resistencia
de activación "pull up" de 330 ohms conectada entre +Vcc y la
terminal de salida de un oscilador implantado con circuitos TTL que
generen oscilaciones.
El Z80 requiere solamente una señal de reloj. La frecuencia de esta
señal Ø para el Z80 es desde 2.5 Mhz , 4 MHhz y hasta 8 Mhz.
Carlos Canto Q.
Microprocesadores
Microprocesadores
ALIMENTACIÓN POSITIVA DE +5 V (Vcc)
Pin 11
.
Esta es una entrada de alimentación de tensión de +5 volts con un 5 %
de tolerancia. El Z80 consume una corriente máxima de 200 mA.
TIERRA (GND), Pin 29
Terminal de alimentación negativa, requiere un potencial de 0.0 volts
que sirven de referencia para la interconexión de los dispositivos.
Carlos Canto Q.
Descargar