Download arquitectura del microprocesador 8088

Document related concepts

Intel 8085 wikipedia , lookup

Bus (informática) wikipedia , lookup

Intel 8080 wikipedia , lookup

NEC V20 wikipedia , lookup

Intel 80186 y 80188 wikipedia , lookup

Transcript
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
ARQUITECTURA DEL MICROPROCESADOR 8088
1.
Descripción de las 40 patas del µP.
2.
Ciclo del bus del µP.
3.
Circuitos para generar el pulso del reloj.
4.
Circuito para generar la señal de RESET (restauración)
5.
Circuito para múltiplexar el bus de dirección del bus de datos y de control.
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -1
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
DESCRIPCIÓN DE LAS 40 PATAS DEL µP 8088.
Bus de dirección, datos y control.
En el 8088 el bus de dirección, datos y control se divide en tres partes:
a.
b.
c.
Los 8 bits menos significativos de dirección/datos (AD0 – AD7) Multiplexados entre
direcciones y datos.
Los 8 bits centrales (A8 – A15) No multiplexados.
Los 4 bits más significativos (A16 – A19) Multiplexados entre direcciones y señales
de control.
Se puede trabajar con los buses multiplexados o demultiplexados.
AD7 – AD0, bus de dirección y datos.
Están multiplexadas entre buses de direcciones (T1) y de datos (T2, T3, Tw, T4) y
contienen los 8 bits menos significativos: Permanecen en estado de alta impedancia
durante el reconocimiento de interrupción y de solicitud de bus.
A15 – A8, bus de dirección.
Tiene la mitad superior de las direcciones (T1, T2, T3, Tw, T4), no están multiplexadas y
permanecen en alta impedancia durante el reconocimiento de interrupción y de solicitud de
bus.
A19 – A16 / S6 – S3, bus de dirección y de estatus.
Están multiplexadas entre los 4 bits más significativos de direcciones (T1) y estatus (T2,
T3, Tw, T4)
En el caso I/O durante T1 permanecen en cero.
S6 siempre está en 0.
S5 indica la condición de la bandera de interrupción IF.
S3 y S4 indican a cuál segmento se está accediendo.
RD, lectura.
Cuando está en 0 (T2, T3, Tw) indica que el bus de datos puede recibir datos.
Se garantiza que durante T2 estará en alto hasta que el bus del 8088 quede en alta
impedancia.
Permanece en alta impedancia durante el reconocimiento de solicitud de bus.
READY, listo.
Es entrada y cuando la activamos genera pulsos de reloj (Tw) para prolongar el ciclo de
bus
INTR, petición de interrupción.
Entrada que se muestra en el último ciclo de reloj de cada interrupción para determinar
si el 8088 debe entrar en una operación de reconocimiento de interrupción. Puede ser
enmascarada. Se sincroniza y es activa en alto.
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -2
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
TEST, prueba.
Es una entrada que la usa la instrucción WAIT. Si TEST=0, WAIT funciona como una
NOP. Si TEST=1, WAIT espera a que TEST pase a 0. Se usa para sincronizar con
dispositivos externos.
NMI, interrupción no enmascarable.
Es una entrada activa por flanco positivo que causa una interrupción del tipo 2. La
interrupción se cumple al final de la instrucción actual y está internamente sincronizada.
RESET, restauración.
Para restauración debe permanecer en alto por lo menos 4 ciclos de reloj y se activa en
el flanco negativo.
CLK, reloj.
Entrada de reloj que debe tener un ciclo de trabajo de 33%.
VCC, alimentación.
5V ± 10%, referencia para la lógica digital.
GND, tierra.
0V, referencia para la lógica digital.
MN/MX, modo mínimo, modo máximo.
Entrada para seleccionar el modo de funcionamiento del µP.
IO/M, línea de estados de memoria o E/S.
Indica si la dirección es de memoria o de I/O. Permanece en alta impedancia durante un
reconocimiento de solicitud de bus.
WR, escritura.
Es una salida que indica que el 8088 va a escribir a memoria o a E/S.
Se activa (bajo) durante T2, T3 y Tw de un ciclo de escritura e indica que el bus contiene
datos válidos.
Permanece en alta impedancia durante un reconocimiento de solicitud de bus.
INTA, reconocimiento de interrupción.
Salida que se activa (bajo) durante T2, T3 y Tw de cada ciclo de reconocimiento de
interrupción. Es una respuesta a la entrada INTR y se usa como pulso de lectura en un
ciclo de reconocimiento de interrupción.
ALE, habilitación del cerrojo de dirección.
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -3
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
Salida que indica (estando en alto durante la parte baja del reloj de T1) que en el bus hay
una dirección válida.
ALE nunca queda en estado de alta impedancia.
DT/R, transmite/recibe datos.
Indica que el bus de datos transmite datos (DT/R=1) o los recibe (DT/R=0) Esta señal es
necesaria para habilitar los circuitos de acoplamiento del bus de datos externo.
Permanece en alta impedancia durante un reconocimiento de solicitud de bus.
DEN, habilitación de datos.
Salida que se emplea para habilitar los circuitos de acoplamiento del bus de datos
externo.
Se activa en bajo durante cada acceso a memoria y ciclos de interrupción.
Para lectura o ciclos INTA, se activa desde la mitad de T2 hasta la mitad de T4.
Para ciclos de escritura, se activa desde el comienzo de T2 hasta el medio de T4.
Permanece en alta impedancia durante un reconocimiento de solicitud de bus.
HOLD, solicitud de acceso directo a memoria.
Si HOLD=1, el 8088 deja de ejecutar el programa actual y lleva su bus de direcciones,
datos y control a alta impedancia.
Si HOLD=0, el 8088 ejecuta los programas normalmente.
Requiere sincronización externa.
HLDA, respuesta a la petición de acceso directo a memoria.
Salida que indica (HLDA=1) que el 8088 ha concedido los buses (es la respuesta del 8088
a la entrada HOLD)
SSO, línea de estatus.
Esta señal de salida se combina con IO/M y DT/R para decodificar la función del ciclo de
bus actual.
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -4
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
CICLO DE BUS DEL µP.
El ciclo de bus consiste de al menos 4 ciclos de reloj, los cuales se denominan
T1, T2, T3 y T4, como se muestra en la Figura 1.
UN CICLO DE BUS
T1
T2
T3
T4
CLK
ALE
M IO
DIRECCIÓN/
STATUS
FLOTANTE
AD0 AD1
DATA IN
D0 D1
AD0 AD1
CICLO DE LECTURA
RD
DT/ R
DEN
AD0 AD1
AD0 AD1
DATA OUT
D0 D1
WR
DT/ R
CICLO DE ESCRITURA
DEN
FIGURA 1. CICLO DEL BUS DEL 8088. Ciclo de lectura y ciclo de escritura
Las direcciones son emitidas durante T1 y la transferencia de datos ocurre
entre T3 y T4.
T2 se usa para cambiar la dirección del bus durante operaciones de lectura.
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -5
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
En T1:
En T2:
En T3:
En T4:
Se envían las direcciones y se proporcionan las señales de control
ALE, DT/ R y IO/ M .
Se proporcionan las señales DEN, RD (lectura) o WR (escritura) En el caso
de escritura aparecen los datos que se van a escribir en el bus de datos. Al
final de T2 se muestra la señal READY.
Se da tiempo a la memoria para acceder a los datos. En el caso de que sea
un ciclo de lectura el bus de datos se muestra al final de
T3.
Se desactivan todas las señales de control para prepararse para el siguiente
ciclo de bus. En este momento, el flanco positivo de WR transfiere datos a la
memoria, los cuales se activan y escriben cuando la señal WR retorna a 1.
Ciclo de escritura (ver Figura 1)
Empieza con la aparición de la señal ALE y la emisión de las direcciones. La señal
IO/M se suministra para indicar si es a memoria o a I/O.
En T2:
Después de la emisión de las direcciones, el 8088 emite el dato a escribir en
la locación direccionada.
Este dato permanece válido al menos hasta la mitad de T4.
Durante T2, T3 y Tw, el 8088 envía la señal de control de escritura (WR) que se pone
en estado activo en el comienzo de T2. Los datos se escriben en la memoria en el
flanco positivo de WR.
La señal de RD en la lectura está un poco más retrasada que la de WR en la escritura
para dar tiempo a que el bus quede en alta impedancia.
Ciclo de lectura (ver Figura 1)
Comienza en T1 con la aparición de la señal ALE, cuyo flanco negativo se usa para
cerrojar las direcciones, que son válidas en el bus de direcciones/datos (AD0 – AD7)
Las líneas de direcciones A8 – A15 no necesitan ser cerrojadas ya que permanecen
válidas en todo el ciclo de bus.
De T1 a T4, la señal IO / M indica si es una operación a memoria o a un dispositivo de
E/S.
En T2 las direcciones se sacan del bus de direcciones/datos y el bus se pone en alta
impedancia (AD0 – AD7)
La señal de control de lectura (RD) aparece en T2 y causa que el dispositivo
direccionado habilite su bus de datos.
Un tiempo después, debe estar disponible el dato válido sobre el bus.
Cuando el 8088 retorna la señal RD a un nivel alto, el dispositivo direccionado pondrá
en alta impedancia su salida de datos.
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -6
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
CIRCUITO PARA GENERAR EL PULSO DE RELOJ.
Además del circuito para la señalización del µP que propone el fabricante
(8284A), que se utiliza para RELOJ y RESET, podemos utilizar otros circuitos, uno de
ellos, se propone a continuación:
Tomamos de la hoja de especificaciones del microP la frecuencia de operación y el %
del ciclo de trabajo. Para bajas velocidades, podemos tomar 50% como ciclo de
trabajo; como la oscilación la determina la red RC, proponemos el valor de C y
calculamos R, ajustando el valor obtenido al valor comercial próximo.
Por lo general, usamos inversores para este ejemplo de cálculo: tomamos una frecuencia
igual a 2MHz, como inversor un schmitt trigger MC74HC14AC y como capacitor uno
cerámico de 0.001µ
µF. El circuito a utilizar se muestra a continuación:
Para el cálculo de la resistencia R, se consideran los datos anteriores y los
correspondientes al schmitt trigger, los cuales se obtuvieron de las tablas de referencia y
son:
VT+ = 2.7V
VCC = 4.5V
VT- = 1.8V
La fórmula de la frecuencia está dada por:
f=
1
V
(Vcc − V )
TRC Ln T +
V (V
)
−V
T - CC
T+
Sustituyendo valores:
1
1
=
2.7(4.5 − 1.8) RC (0.8109)
RC Ln
1.8(4.5 − 2.7)
Despejando a R y sustituyendo los valores de f y C:
f=
R=
1
f C (0.8109)
=
1
(2MHz)(0.001µF)(0.8109)
= 616.475 Ω
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -7
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
CIRCUITO PARA GENERAR LA SEÑAL DE RESET.
El µP requiere que el tiempo de duración mínimo en esta terminal sea 50 µs.
Por lo tanto, podemos utilizar el circuito integrado 8284A de la familia Intel que genera
el pulso de reloj y el de reset o bien, hacerlo utilizando un inversor y una red RC que
garantice el tiempo de duración de 50 µs.
Debemos diseñar un circuito RC para garantizar al menos 50 µs de duración con un
disparador schmitt trigger (inversor) considerando los parámetros VT+ y VT- de dicho
inversor.
En el diseño ocuparemos las fórmulas del efecto transitorio, considerando los datos del
schmitt trigger como: VT- = 1.8V = VC y VCC = 5V.
Para la red RC con disparador Schmitt, se tiene el siguiente desarrollo:
VC = VCC (1 − e
−
t
RC
) = VCC − VCC e
−
t
RC
t
−
VCC − VC
= e RC
VCC
ln(1 −
VC
t
)=−
VCC
RC
Proponemos C = 0.1 µF y despejando a R:
R=−
t
V
C ln(1 − C )
VCC
=−
50 µs
1.8
)
0.1µF ln(1 −
5
= 1.12KΩ
El circuito para restauración es:
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -8
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
CIRCUITO PARA DEMÚLTIPLEXAR EL BUS DE DIRECCIÓN DEL BUS DE DATOS
Y DE CONTROL.
Demultiplexaje de canales.
El canal de dirección y de datos del 8086/8088 está multiplexado para reducir el
número de terminales requeridas en el circuito integrado. Desgraciadamente, esto
aumenta el trabajo del diseñador con la tarea de múltiplexar la información contenida en
estas terminales.
¿Por qué no dejar multiplexados los canales? La memoria y la E/S requieren que la
dirección siga siendo válida y establece un ciclo de lectura o escritura. Si los canales
están multiplexados hay cambios de dirección en la memoria y en la E/S lo que hace
leer o escribir datos en las localidades erróneas.
Todos los sistemas de computadora tienen tres canales: 1) Un canal de direcciones
que proporciona la dirección de memoria al número de puerto para la E/S; 2) un canal
de datos que transfiere los datos entre el microprocesador y la memoria y la E/S en el
sistema y 3) un canal de control que aplica señales de control en la memoria y E/S lo
que hace leer o escribir datos en localidades erróneas.
Demultiplexaje del 8088.
En la Figura 2 se muestra el microprocesador 8088 y los componentes requeridos para
demultiplexar sus canales. En este caso, se utilizan dos registros transparentes
74LS573 para demultiplexar las conexiones AD7-AD0 del canal de direcciones y datos
en las terminales multiplexadas A19 y S6-A16/S3.
Estos registros, con multivibradores tipo D que son como alambres, cuando la señal de
habilitación (ALE) de dirección se vuelva un 1 lógico transfiere las entradas a las salidas.
Después de un corto tiempo, ALE regresa al 0 lógico, lo cual hace que los registros
recuerden las entradas en el momento del cambio a un 0 lógico. En este caso,
~recuerden~ de A7-A0 en el registro inferior y a A19 hasta A16 en el registro superior.
Esto produce un canal de direcciones independientes para las terminales A19 hasta A0
que permiten que el 8088 direccione 1MB de espacio de memoria. El hecho de que el
canal de datos esté separado permite conectarlo con cualquier dispositivo periférico de 8
bits de memoria.
En la Figura 2 se ilustra un 8088 con los tres canales multiplexados: direcciones (A19
hasta A0 y BHE), el de datos (D15 hasta D0) y el de control (IO/M, RD y WR)
Demultiplexaje del 8086.
El 8086 requiere canales separados de direcciones, datos y control. La diferencia
principal es el número de terminales multiplexadas. En el 8088 sólo están
multiplexadas AD7 hasta AD0, A19 y S6 hasta A16 y S3. En el caso del 8086, las
terminales multiplexadas incluyen AD15-AD0 y A19 y S6 hasta A16 y S3 BHE/S7. Hay
que demultiplexar todas estas señales.
Para el 8086, el circuito es casi idéntico al de la Figura 2 excepto que se agregará un
74LS573 adicional para demultiplexar las terminales de direcciones/datos del canal
AD15-AD8 y BHE/SE7, se agregó a la entrada del 74LS573 de la parte superior para
seleccionar el banco alto en el sistema de memoria de 16 bits del 8086. Aquí la memoria
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -9
COMPUTACIÓN V
MICROPROCESADORES Y MICROCOMPUTADORAS
y el sistema de E/S ven al 8086 como un dispositivo con un canal de direcciones o de 20
bits (A19-A0), un canal de datos de 16 bits (D15-D0) y un canal de control de tres líneas
(IO/M, RD y WR)
El sistema acoplado.
Si hay más de 10 cargas lógicas conectadas en cualquier terminal de un canal, hay que
acoplar la totalidad del sistema 8086 o del 8088. Las terminales demultiplexadas ya
están acopladas con los registros transparentes 74LS573, que se han diseñado para
manejar los canales de alta capacitancia que se encuentran en los sistemas de
microcomputadoras. Se han aumentado las corrientes de salida de los registros a fin
de que se puedan manejar más unidades de carga TTL; un 0 lógico de salida
proporciona hasta 32mA de disipación de corriente y una salida en 1 lógico proporciona
hasta 5.2mA de corriente.
Una vez que hemos demultiplexado el bus de dirección del de datos y
control, podemos conectar bloques de RAM y/o PROM y puertos de E/S paralelo o
tarjetas conteniendo varios puertos de E/S paralelos. También podemos conectar
puertos seriales, tal como se describió en el tema de memorias y E/S.
2. ARQUITECTURA DEL MICROPROCESADOR 8088
LUIS URIETA PÉREZ Y PABLO FUENTES RAMOS
3 -10