Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arq ui t e c t ura y O p e ra c i ó n d e l μ P
4.1 GENERALIDADES
La figura 4.1a es una imagen del área de integración de los 20000 transistores
MOS de canal N que componen el circuito del μP. El CI se presenta en un encapsu-
lado tipo DIP-40, mostrado en la figura 4.1b, el cual era el estándar industrial para la
fabricación de circuitos integrados VLSI, durante la década de los 70. El 8085A tiene
un ciclo de instrucción de 1.3 μs, estando disponibles en versiones más rápidas con
códigos 8085A-2, 8085AH, 8085AH-1 y 8085AH-2.
(a) (b)
Fig. 4.1 (a) Foto microscópica del μP8085A. (b) Encapsulado DIP-40
Arquitectura y Operación del Microprocesador 8085A 102
X1 Vcc
X2 HOLD
RESET OUT HLDA
SOD CLK OUT
SID RESET IN
TRAP READY
RST 7.5 IO/M
RST 6.5 S1
RST 5.5 RD
INTR 8085A WR
INTA ALE
AD0 S0
AD1 A15
AD2 A14
AD3 A13
AD4 A12
AD5 A11
AD6 A10
AD7 A9
Vss A8
Aunque los µPs fabricados hasta ese momento residían en paquetes tipo DIP-
40, las innovaciones con las cuales INTEL acompañó el desarrollo de su nuevo pro-
ducto exigía un número mayor de entradas y salidas para cumplir con las especifica-
ciones del diseño. Si se considera que el 8085A requería 2 líneas para el cristal ex-
terno, 2 para la fuente de poder, 16 para el bus de direcciones, y 8 para el bus datos,
solo restan 12 terminales para el bus de control. Una docena de líneas de control no
permitía la integración de todas las funciones establecidas para el dispositivo, razón
por la cual INTEL recurre al multiplexado de las líneas de datos y direcciones del µP.
Por supuesto un lector perspicaz pudiese alegar: Al estar multiplexado los da-
tos con las direcciones. ¿No se requiere incluir un latch, externo al μP, para separar
estas funciones, necesitándose por lo menos dos circuitos, uno LSI y otro MSI, para
la CPU? La respuesta es, si... es cierto. Pero, una de las bondades del 8085, radica en
los dispositivos LSI introducidos como periféricos para garantizar la integración del
sistema, estos son: el 8155/56 y el 8355/8755. Los nuevos componentes combinaban
funciones de memoria, puertos de E/S y temporizadores, a la vez que se conectaban
directamente a los buses multiplexados del µP. Como resultado de esta estrategia,
INTEL disminuyó desde quince (con el 8080) a tres (con el 8085) la cantidad de com-
ponentes necesarios para un µC mínimo.
La lógica de control genera una salida HLDA para informar al dispositivo ex-
terno que acepta la solicitud de HOLD, y que procede a llevar a tercer estado el bus
de direcciones, el bus de datos/direcciones y algunas salidas de control. Una vez cul-
minada la transferencia, el periférico desactivada la señal HOLD y el 8085 recupera
el control de los buses.
Registro de
Instrucciones
Buffer de
Decodificador de Dir/Datos
Instrucciones y
Codificador de
Ciclo de Máquina
Bus Dir/Datos
Lógica de
Señales Internas
Control y
de Control
Tiempo
E/S externas
Las salidas externas del bloque de control son S1, S0, IO/M, RD, RW, ALE,
CLK OUT, RESET OUT y HLDA. Para entender las funciones de las seis primeras de
éstas, considere una operación de búsqueda en memoria. Durante el arranque del sis-
tema, una red de RESET automático pone a cero el contador de programa. Cuando el
µP sale del estado de RESET, la lógica de control genera las señales de estado
IO/M=0, S1=1, S0=1, anunciando que se dispone a realizar una operación de búsque-
da del código de operación de la instrucción almacenada en la posición 0000H.
Arquitectura y Operación del Microprocesador 8085A 108
W Z
B C
D E
H L
MAR
PC
A8-A15 AD0-AD7
Fig. 4.5. Registros que pueden alterar el contenido de registro de direcciones de memoria.
La figura 4.5 indica que existen cuatro fuentes posibles para cargar una direc-
ción específica en el registro de direcciones de memoria (MAR), el cual es de 16 bits.
Estas son: el PC, los registros de propósito general, el apuntador de pila SP y dos
registros W y Z de 8 bits no accesibles por el programador. EL generador por exce-
lencia de direcciones del μP es el contador de programa, el cual es un registro de 16
bits que mantiene la dirección de la próxima instrucción a ejecutar, o la dirección de
búsqueda del 2do o 3er byte de una instrucción multibyte en proceso. Al final de la
ejecución de una instrucción, o al concluir una búsqueda en memoria, el PC es in-
crementando automáticamente en 1 para apuntar a la siguiente posición de memoria.
El contenido del SP, otro registro de 16 bits, representa la dirección del tope
de un bloque de memoria con estructura LIFO manejado por programa, y en la cual
se pueden almacenar datos en forma temporal, recuperándolos oportunamente. La
utilidad de la zona de la pila es obvia si se considera que debido al número reducido
de registros del microprocesador la capacidad de almacenamiento interno de la CPU
puede agotarse rápidamente. Durante la ejecución de un programa determinado los
registros ocupados pueden ser liberados y los datos antiguos preservados usando la
pila como área de almacenamiento.
A Reg.Temp.
Banderas
ALU
S Z AC P CY
• La condición de Acarreo Auxiliar (AC) indica con un nivel alto el desborde desde el bit 3
del acumulador. Es útil cuando se realizan operaciones BCD.
• El bit de Signo (S) se activa si el bit más significativo del resultado almacenado en A, es 1.
Es puesta por instrucciones que usan el bit 7 del acumulador como bit de signo. En estos
casos se permiten números entre -128 a + 127.
El 8085A es un µP con estructura de bus único, lo cual significa que toda transfe-
rencia de información en el interior del dispositivo se realiza a través del bus interno
de datos de 8 bits. Las líneas internas de interconexión están separadas de los buses
externos por medio de dos buffers de almacenamiento de 8 bits, cuyas salidas son de
tres estados. Estos se denominan: buffer de direcciones y buffer de datos/direcciones.
X1 -X2 Terminales de entrada para un cristal de cuarzo o una red LC o RC para activar el
reloj interno del microprocesador
CLK OUT Salida de la señal de reloj del μP para usar como reloj del sistema. La frecuencia
de CLK es la mitad de la de la señal en X1 X2.
Entrada que inicializa el contador de programa y los flip flops de habilitación de
RESET IN interrupción y HLDA. Los buses de datos y direcciones y las líneas de control
permanecen en tercer estado durante el proceso de RESET. Los contenidos de los
registros internos del procesador, incluyendo el de banderas, pueden ser alterados
por RESET.
RESET OUT Salida que indica que el procesador está siendo inicializado, puede utilizarse para
restablecer los demás componentes del sistema.
Bus de direcciones. Los 8 bits más significativos de las direcciones de memoria o
A8-A15 de dispositivos de E/S. Permanecen en tercer estado durante el proceso de RESET
o en los modos HOLD y HALT.
Bus de datos/direcciones multiplexado. Los 8 bits menos significativos de las
AD0-AD7 direcciones de memoria o dispositivos de E/S aparecen en el bus durante el primer
estado un ciclo de máquina. El bus de datos se presenta durante el 2do y 3er ciclo
de reloj.
Es una salida que indica si el contenido del bus AD0-AD7 corresponde a direccio-
ALE nes o datos. Se activa durante el primer ciclo de reloj de un ciclo de máquina y
permite usar un registro de 8 bits externo al procesador para memorizar la parte
baja del bus de direcciones. Nunca está en tercer estado.
Arquitectura y Operación del Microprocesador 8085A 113
1
Ver tabla 4.1.
Arquitectura y Operación del Microprocesador 8085A 114
f = 2fclk
CL ≤ 30 pf, CS ≤ 7 pf, RS ≤ 75 Ω
L Ce Ci
Red LC de resonancia paralela
1
f =
2π L (C e + C i )
f = 3 Mhz
Fig. 4.9. Circuitos para fijar la frecuencia del reloj.
M1 M2 M3 M4
T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3
Estado
CLK
Ciclo de Máquina
Ciclo de Instrucción
Las figuras mostradas son una copia de la salida del programa MICRO 85, el
cual simula en ambiente WINDOWS la operación de un microcomputador basado en
el µP8085. Esta es una herramienta de gran valor didáctico y práctico, pero nuestro
interés actual se centra en los detalles de la secuencia de operaciones internas que
conducen a la ejecución de una instrucción.
Arquitectura y Operación del Microprocesador 8085A 104
RESET
RESET TR
RESET
HALT
T1
HALT HOLD·
READY INTVAL
READY
T2 TW THALT
READY HOLD INTVAL
BITHLDA = 1 BITHALT= 0
SI
HOLD = 1 BITHLDA = 1
no
BITINTA = 1
M1 CC=6 BITINTE = 0
SI
T3 T4 HOLD = 1
CC=4 no BITHLDA = 1
T6 T5
SI
BITHLDA = 1
no HOLD
THOLD
no ÚLTIMO
CICLO HOLD
SI BITHLDA = 0
no INT.
VÁLIDA
SI
SI HALT = 1
BITINTA = 1 no
BITINTE = 0
Cuando el µP sale del estado de reset, después del arranque del sistema, ini-
cia en el estado T1 el ciclo de máquina M1 de búsqueda del código de operación. En
este análisis se considera que M1 es el único ciclo de máquina y consta de seis esta-
dos. En T2 se inspecciona el estado de la entrada READY. Si está en nivel lógico
alto, el µP transitará hacia T3 y luego a T4, porque el ciclo en desarrollo es M1. Si por
el contrario READY está en nivel bajo, el 8085A entrará en un estado de espera TW,
donde se mantendrá hasta cuando READY vuelva a nivel alto, instante en el cual pro-
cederá hasta los estados T3 y T4.
Solo por la ocurrencia de un evento externo, el 8085A podrá salir del estado
THALT e iniciar la ejecución de una nueva instrucción. Si se activa una interrupción
válida, el µP deshabilitará el sistema de interrupciones cargando cero en el BITINTE y
transitará hacia el estado T1del ciclo M1 de la próxima instrucción. En ausencia de
solicitud de interrupción, sólo un comando de RESET permitirá que el µP abandone
Arquitectura y Operación del Microprocesador 8085A 106
RESET
RESET TR
RESET
T1
T2
T3 T4
T6 T5
Fig. 4.14 Diagrama de transición de estados del µP 8085A sin considerar los estados THALT, THOLD,
TW, ni solicitudes de interrupción.
T1
Externas:
Al inicio de T1, el µP identifica el ciclo de máquina en progreso emitiendo
las señales, IO / M =0, S0=1 y S1=1. Para indicar a la memoria la direc-
ción de la posición donde se encuentra la instrucción, transfiere el conteni-
do del contador de programa al buffer de datos/direcciones y al buffer de
direcciones. Simultáneamente, el 8085A genera la señal ALE, activa en al-
to, para informar a dispositivos externos que el contenido del bus AD0-AD7
corresponde a los 8 bits de orden bajo de la dirección.
Internas:
Examina el flip flop de estado HALT.
T2
Externas:
El µP activa la señal RD de lectura y coloca en tercer estado las salidas del
buffer de datos/direcciones para permitir que el dispositivo de memoria
transfiera el código de operación de la instrucción INX H.
Internas
El contador de programa es incrementado. El estado de las entrada READY
es capturado en el flanco de subida de T2, si es bajo se introduce un estado
de espera. La entrada HOLD es examinada y si está en nivel alto se carga
uno en el BITHLDA.
T3
Externas:
El código de operación de la instrucción es cargado en el registro de ins-
trucciones del µP. RD pasa a nivel alto.
Internas:
El código de operación es pasado al decodificador de instrucciones.
T4
Externas:
Ninguna
Internas:
El código de operación es interpretado. En este punto el µP sabe que en el
próximo pulso debe transitar hacia el estado T5 por tratarse de la instruc-
ción INX H. Si el ciclo de búsqueda de la instrucción en ejecución tuviese
cuatro estados, al salir de T4, iniciaría un nuevo ciclo de máquina en T1.
Durante T4 de instrucciones de 4T, se examina el BITHLDA, si es uno los bu-
ses pasan a tercer estado, se activa a uno la salida HLDA y el µP entra en
un estado THOLD. Durante T4 de instrucciones de 6T, la entrada HOLD es
muestreada, y si está en uno el BITHLDA es cargado con uno.
T5-6
Externas:
Ninguna
Internas:
El registro HL es incrementado. Se detecta el estado del BITHLDA, si está en
uno el µP se traslada al estado THOLD en el próximo pulso de reloj.
M1 M1
SEÑAL
T1 T2 T3 T4 T5 T6 T1
CLK
S1,S0
IO / M IO / M = 0, S 1 = 1, S 0 = 1
ALE
RD
Fig. 4.15 Ciclo de instrucción (Ciclo de máquina de búsqueda ) para la instrucción INX H (OC=23H).
RESET
RESET TR
RESET
T1
READY
READY
T2 TW
READY
T3 T4
Fig. 4.16 Diagrama de transición de estados del µP 8085A considerando el estado TW.
T6 T5
En el caso de la instrucción INX H, la entrada al estado TW no modifica nin-
guna de las operaciones externas o internas realizadas durante el desarrollo del ciclo
de máquina, excepto que a la salida del estado T2 el µP no pasa a T3. En su lugar, al
estar la entrada READY activada en nivel bajo, la transición ocurre hacia un estado de
espera. Las actividades realizadas por el µP durante el estado TW son las siguientes:
T1;
...
T2;
...
TW
Externas:
Las líneas de direcciones, datos, y control mantienen los niveles existentes
durante T2.
Internas
Se muestrea la entrada READY en el flanco de subida del estado TW, si se mantiene en
nivel bajo se introduce otro estado de espera.
T3:
...
T4:
...
T5-6
:...
M1 M1
SEÑAL
T1 T2 T3 T4 T5 T6 T1
CLK
S1,S0
IO / M = 0, S 1 = 1, S 0 = 1
IO / M
A8-A15 PCH Indeterminado
ALE
RD
READY
Fig. 4.17 Ciclo de instrucción (Ciclo de máquina de búsqueda) para INX H (OC=23H) con estado de
espera.
El tiempo tAD es el lapso del cual dispone un dispositivo externo para cargar un
dato válido en el bus de datos, después que el 8085A presenta una dirección válida
en las líneas de direcciones.
agregue uno o más estados de espera al ciclo de máquina en progreso. El valor de tAD
para cualquier frecuencia del cristal dentro del rango válido está dado por la expre-
sión (2.5+N).T-225 ns, donde N es el número de estados de espera. Por cada estado
de espera, el tiempo tAD tendrá un incremento efectivo de 320 ns, a la frecuencia es-
pecificada.
Fig. 4.20 Ejecución de una instrucción de un ciclo de máquina y cuatro estados usando el modo de
paso simple.
Para procesar esta instrucción, el 8085A deben obtener tres bytes desde la
memoria del sistema: el código de operación y los dos bytes que identifican la direc-
ción a la cual se debe realizar la transferencia.
Los ciclos de máquina M2 y M3, ambos del tipo de lectura en memoria, son
necesarios para obtener el operando dirección de STA, mientras que durante M4 se
escribe a memoria el byte en el acumulador. El µP invierte cuatro ciclos de máquinas
y un total de trece estados en procesar STA dirección.
M1 M1
SEÑAL
T1 T2 TR TR TR TR T1
CLK
RESET IN
RESET OUT
será buscada en esta dirección. Por esta razón conviene que la memoria EPROM de
sistemas basados en el 8085A ocupe la zona inicial del espacio de direcciones del µP.
Es usual que esta área de la memoria contenga la identificación del sistema, rutinas
de detección de fallas y comandos para programar los periféricos y controladores
asociados al sistema.
6.125 MHz
+5V
R1 8085A
5.1 KΩ 1N914
RESET C1
10μf
En las versiones CMOS del 8085A, por ejemplo MSM80C85A, existe una
forma de operación conocida como modo de consumo bajo (power down mode), du-
rante el cual el µP mantiene la información en memoria, pero se suspenden las activi-
dades internas a tal punto que el consumo de potencia global se reduce en forma apre-
ciable. Reiniciar el µP, es una de las opciones para salir del modo de bajo consumo.
Un circuito típico para generar la señal de RESET, tanto en modo automático como
manual, se presenta en la figura 4.24.
el voltaje en C1 alcance el valor mínimo reconocido como uno lógico por el circuito
disparador de Schmitt de la entrada RESET IN . Este es VIHR = 2.4 V.
La duración de TR es fijada por el valor deτ, de modo que bastará con selec-
cionarla para que asegure el mantenimiento de RESET IN en cero por un tiempo
equivalente al menos al de tres ciclos del reloj. No obstante deben tenerse presente
dos condiciones de operación que obligan a prolongar el tiempo de RESET. Primero,
debe considerarse que el voltaje de alimentación requiere algunos milisegundos para
alcanzar un nivel del 95% de VCC, o 4.75 V, especificado en la hoja técnica del dispo-
sitivo como voltaje mínimo de operación.
Fig. 4.25 Salida de la fuente de poder y señal RESET IN durante el arranque del µP.
La figura 4.25 ilustra la situación descrita. Una vez estabilizado VCC en 4.75
V, se deja transcurrir un tiempo 10 ms + tR. En el inicio de tR el µP funciona en con-
diciones normales y la línea RESET IN está en cero. La rutina de inicio se ejecuta y
Arquitectura y Operación del Microprocesador 8085A 133
Con la descripción del circuito que hace posible el transito del 8085A hacia el
estado TR, culmina la discusión del tópico de análisis de tiempos iniciada en este ca-
pítulo. Los diagramas de tiempos correspondientes a los ciclos de máquina de reco-
nocimiento de interrupción y operación en el estado HOLD y HALT, se analizan en
capítulos posteriores.