29
Hardware 8086 Canal de direcciones de 20 bits y canal de datos de 16 bits de tiempo multiplexado. Línea (ALE) para el demultiplexado, necesitando un par de "latches“ externos El temporizado es el de un reloj de simple fase operando a 5 MHz (200nseg) u 8 MHz (125nseg) Ciclo de bus consiste al menos de 4 períodos de reloj (T1, T2, T3 y T4). Dos espacios de direccionamiento: uno de memoria de hasta 1 Mbyte y otro de I/O de hasta 64 Kbyte (o 32 Kword). Opera en dos modos: mínimo y máximo. Modo mínimo: la CPU opera como un único procesador. Modo máximo: la CPU, con un controlador de bus 8288, se configuran para soportar aplicaciones de multiprocesamiento.

Hardware 8086 - Universidad Nacional del Sur

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hardware 8086 - Universidad Nacional del Sur

Hardware 8086• Canal de direcciones de 20 bits y canal de datos de 16 bits

de tiempo multiplexado.• Línea (ALE) para el demultiplexado, necesitando un par de

"latches“ externos• El temporizado es el de un reloj de simple fase operando a 5

MHz (200nseg) u 8 MHz (125nseg)• Ciclo de bus consiste al menos de 4 períodos de reloj (T1,

T2, T3 y T4).• Dos espacios de direccionamiento: uno de memoria de hasta

1 Mbyte y otro de I/O de hasta 64 Kbyte (o 32 Kword).• Opera en dos modos: mínimo y máximo.

– Modo mínimo: la CPU opera como un único procesador. – Modo máximo: la CPU, con un controlador de bus 8288, se

configuran para soportar aplicaciones de multiprocesamiento.

Page 2: Hardware 8086 - Universidad Nacional del Sur

Descripción de los pines

• AD15-AD0:(I/O). • Estas líneas constituyen el canal de tiempo compartido de direcciones de

memoria-I/O, durante T1 y el canal de datos durante T2, T3 y T4.

• A19/S6-A18/S5-A17/S4-A16/S3:(O). • Estas líneas constituyen el canal de tiempo compartido de direcciones de

memoria y líneas de estado. Durante T1, son las 4 líneas de direcciones de memoria más altas. Para operaciones de I/O están en 0. Durante T2, T3 y T4, son las líneas de información de estado, con las cuales se encodifica la información referida a la habilitación de interrupciones y cual registro segmento se está empleando para el acceso a memoria.

• /BHE/S7:• (O). Durante T1, se comporta como señal "bus high enable", para habilitar

la parte más significativa del canal de datos (byte correspondiente a direcciones impares). Durante T2, T3 y T4, es la línea de información de estado S7 cuya función es indefinida.

Page 3: Hardware 8086 - Universidad Nacional del Sur

Descripción de los pines

• /RD: (O)• Es la línea de control de un ciclo de lectura de memoria-I/O. Se activa

durante los períodos de reloj T2 y T3• .• READY:(I)• Es el reconocimiento de parte de la memoria o dispositivo de I/O

direccionado, indicando que se completó una transferencia de datos.

• INTR:(I)• Interrupción enmascarable.

• NMI:(I)• Interrupción no enmascarable.

• /TEST:(I)• Esta entrada es examinada por la instrucción WAIT. Si la línea TEST está

baja la ejecución del programa continúa, de otra manera el procesador espera en un ciclo ocioso.

Page 4: Hardware 8086 - Universidad Nacional del Sur

Descripción de los pines

• RESET:(I)• Cuando se activa esta línea, la CPU inicializa al sistema con los siguientes

valores: CS= FFFF, IP= 0000, Flags= 0, DS=ES=SS= 0000.

• CLK: (I)• Reloj

• VCC:(I)• Alimentación

• GND:• Tierra.

• MN/MX:(I)• Determina en que modo va a operar el procesador: mínimo o máximo.

Page 5: Hardware 8086 - Universidad Nacional del Sur

Descripción de los pinesModo mínimo:

• M/IO:(O)• Distingue el acceso al mapa de memoria del acceso al mapa de I/O.

• /WR: (O)• Es la línea de control de un ciclo de escritura de memoria-I/O. Se activa

durante los períodos de reloj T2 y T3.

• /INTA:(O)• Es la línea de control del ciclo de reconocimiento de la interrupción INTR.

Se activa durante los períodos de reloj T2 y T3.

• ALE: (O)• Esta línea la provee la CPU para "latchear" las direcciones en el latch de

direcciones.

Page 6: Hardware 8086 - Universidad Nacional del Sur

Descripción de los pinesModo máximo:

• S0,S1,S2:(O)• Esta líneas de estado son empleadas por el controlador de canal 8288, para

generar todas las señales de control de acceso a memoria o I/O.

• RQ/GT0 - RQ/GT1:(I/O)• Estas líneas le permite a la CPU que otro procesador utilice el bus local de la

CPU, por medio de un protocolo enviado y transmitido por cada una de las líneas bidireccionales. Es equivalente a una función de DMA. Comúnmente empleado para la conexión del procesador de I/O 8089, al 8086/88.

• /LOCK:(O). • En una configuración de multiprocesamiento, cuando está activo, sirve para

indicarle a los restantes masters del sistema, que el canal compartido estáocupado. Esta línea se activa por la instrucción prefijo LOCK y permanece activa hasta que se complete la ejecución de la próxima instrucción.

• QS0,QS1:(O).• Estas líneas permiten conocer el estado interno de la cola de instrucciones,

para realizar un seguimiento "tracking" externo de la misma. Esto es útil para implementar un emulador de la CPU. Además permite que un coprocesador pueda procesar el conjunto extendido de instrucciones.

Page 7: Hardware 8086 - Universidad Nacional del Sur

1 Mbyte RAM Dinámica

Interface de memoria para el microprocesador 8086

Decodificador de bancos separados

Page 8: Hardware 8086 - Universidad Nacional del Sur

Memoria Dirección

EPROM F0000H -FFFFFH

RAM 00000H –03FFFH

Señal de control /WR separada por banco

Page 9: Hardware 8086 - Universidad Nacional del Sur

Decodificación de Espacio de I/O

Decodifica 4 Entradas y 4 Salidas

Page 10: Hardware 8086 - Universidad Nacional del Sur

Decodificación de Espacio de I/O

Page 11: Hardware 8086 - Universidad Nacional del Sur

Operación del Canal

• Un ciclo de canal en el 8086/88 consiste de un número mínimo de 4 períodos de reloj (T estados) T1, T2, T3 y T4

• Durante el período T1, la CPU coloca los bits de direcciones en el canal de direcciones, generando además el pulso de ALE. La línea BHE también se genera durante este período.

Page 12: Hardware 8086 - Universidad Nacional del Sur

Operación del Canal

• Durante el período T2, se quitan las direcciones del canal y estas líneas o permanecen en tres-estados en espera de un dato, si corresponde a un ciclo de lectura, o la CPU coloca el dato a ser enviado a memoria o dispositivo de I/O, si corresponde a un ciclo de escritura.

• Durante el período T3, o muestrea el dato a ser leído, si corresponde a un ciclo de lectura, o mantiene el dato a ser escrito, si corresponde a un ciclo de escritura.

• Durante el período T4, termina el ciclo de canal.

Page 13: Hardware 8086 - Universidad Nacional del Sur

Operación del Canal

• El 8086/88 tiene la capacidad de insertar estados Twait entre T3 y T4, para compensar el tiempo de acceso en aquellos dispositivos (memoria o I/O) que no pueden transferir datos a la máxima velocidad. Además se pueden generar tiempos ociosos, referenciados como TI, entre ciclos de canal. Ellos se pueden deber a accesos al canal otorgados a un coprocesador o a la ejecución de una instrucción larga.

• Los temporizados descriptos corresponden al modo mínimo.

Page 14: Hardware 8086 - Universidad Nacional del Sur
Page 15: Hardware 8086 - Universidad Nacional del Sur
Page 16: Hardware 8086 - Universidad Nacional del Sur
Page 17: Hardware 8086 - Universidad Nacional del Sur
Page 18: Hardware 8086 - Universidad Nacional del Sur

Características de Multiprocesamiento

• Facilidades para coordinar actividades entre dos o más procesadores que trabajan en paralelo.

• La señal y prefijo LOCK, útiles para examinar los semáforos

• La instrucción WAIT, que trabaja en conjunto con la señal de entrada TEST, para coordinar actividades con otro procesador.

• La instrucción ESCAPE, para trabajar en paralelo con coprocesadores

• REQUEST/GRANT (I/O), para la solicitud y entrega de los canales entre el microprocesador y otros maestros del sistema.

Page 19: Hardware 8086 - Universidad Nacional del Sur
Page 20: Hardware 8086 - Universidad Nacional del Sur

Señal y Prefijo LOCK• En un sistema de multiprocesamiento, la línea LOCK sirve

para coordinar el acceso de varios procesadores a un recurso común (memoria).

• La señal de salida LOCK se utiliza (con el c. integrado árbitro de canal 8289) para garantizar el exclusivo acceso al canal del sistema compartido.

• Esta señal la activa la BIU durante todo el período de ejecución de una instrucción precedida por el prefijo de instrucción LOCK.

• La señal LOCK (mientras permanezca activa), bloquea a otro procesador que solicita el uso del canal, debiendo esperar hasta que lo liberen.

Page 21: Hardware 8086 - Universidad Nacional del Sur

El prefijo y señal LOCK, en conjunto con la instrucción XCHG [memory,registro],permite coordinar el uso de un espacio de memoria compartida, entre dos o más procesadores.

Page 22: Hardware 8086 - Universidad Nacional del Sur

Instrucción WAIT y Señal TEST

• La instrucción WAIT en conjunto con la señal TESTpermiten sincronizar la ejecución de subprogramas con eventos externos

• Ejemplo: coordina actividades entre procesador y coprocesador.

• La instrucción WAIT examina la línea TEST

• Detiene la ejecución (permaneciendo en estado ocioso) mientras TEST está inactiva

• Si TEST está en estado activa, continúa con la ejecución de la próxima instrucción

Page 23: Hardware 8086 - Universidad Nacional del Sur

Instrucción WAIT y Señal TEST

• La instrucción WAIT en conjunto con la señal TESTpermiten sincronizar la ejecución de subprogramas con eventos externos

• Ejemplo: coordina actividades entre procesador y coprocesador.

• La instrucción WAIT examina la línea TEST

• Detiene la ejecución (permaneciendo en estado ocioso) mientras TEST está inactiva

• Si TEST está en estado activa, continúa con la ejecución de la próxima instrucción

Page 24: Hardware 8086 - Universidad Nacional del Sur

Instrucción ESCAPE

• La instrucción ESCAPE permite que coprocesador pueda obtener un código de operación y/o operando de memoria

• Una instrucción y un operando (si fuese necesario) se "escape" de la corriente de instrucciones tomadas por el microprocesador, para que un procesador externo o un coprocesador lo utilicen.

• Ejemplo: es común el uso de la instrucción ESCen conjunto con la instrucción WAIT y la señal TEST.

Page 25: Hardware 8086 - Universidad Nacional del Sur

Instrucción ESCAPE en conjunto con la instrucción WAIT y la señal TEST

Page 26: Hardware 8086 - Universidad Nacional del Sur

Acceso Directo a Memoria• El microprocesador 8086 soporta las transferencias de datos

mediante Acceso Directo a Memoria (DMA) tanto en el modo mínimo como en el modo máximo

Modo Mínimo (HOLD/HOLDA)

Page 27: Hardware 8086 - Universidad Nacional del Sur

Acceso Directo a Memoria

Modo Máximo (Líneas Request/Grant)

• Las líneas HOLD y HOLDA se transforman en un par líneas bidireccionales, independientes una de la otra (RQ/GT)

• La secuencia Request/Grant consiste en un ciclo de tres fases: pedido, concesión y devolución.

Page 28: Hardware 8086 - Universidad Nacional del Sur

Coprocesador

Page 29: Hardware 8086 - Universidad Nacional del Sur

Coprocesador

Tiempos de ejecución (en µseg) de diferentes funciones aritméticas, empleando el 8087 y por medio de un software implementado en el 8086.