Вы находитесь на странице: 1из 31

Sistemas Digitales con Microprocesadores 112135

Tema 4. Temporizacin del Bus.

Sistemas Digitales con Microprocesadores 112135


Tema 4. Temporizacin del Bus. 1. Retencin del bus de Direcciones 1.1 Demultiplexacin de los buses 1.2 El sistema de retencin 1.3 Temporizacin del Bus. Ciclo de Lectura y Ciclo de Escritura. 1.4 Generador de reloj 8284. 1.5 El controlador de bus 8288

TERMINALES DEL 8086


SEALES COMUNES A LOS DOS MODOS DEL 8086 AD0 a AD15 : bus de direcciones/datos multiplexados A16/S3, A17/S4, A18/S5 y A19/S6 : en estas cuatro salidas multiplexadas el P libera los cuatro bits ms significativos de direcciones y despus las seales de estado. BHE/S7: en esta salida multiplexada el P libera la seal BHE validando el byte ms significativo del bus de datos y luego una seal de estado. RD: seal de lectura READY: sincronizacin con las memorias o los perifricos lentos. CLK: entrada de reloj del 8086 RESET: inicializacin del 8086 NMI : solicitud de interrupcin no enmascarable se activa en flanco ascendente INTR : solicitud de interrupcin enmascarable activada en el nivel alto TEST sincronizacin con un procesador especializado
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
Modo Mximo Modo Mnimo

VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD RQ/GT0 RQ/GT1 LOCK S2 S1 S0 QS0 QS1 TEST READY RESET

HOLD HLDA WR M/IO DT/R DEN ALE INTA

Configuracin de terminales del 8086

TERMINALES DEL 8086


SEALES ESPECIFICAS AL MODO MINIMO M/IO: seleccin de una localidad de memoria (M/IO=1) o de un perifrico (M/IO=0) WR: seal de escritura INTA: reconocimiento de interrupcin DT/R: Seales necesarias para DEN: el control de los circuitos buffers del bus de datos ALE : seal de validacin de la direccin HOLD: solicitud de acceso directo a memoria HLDA: reconocimiento de acceso directo a memoria SEALES ESPECIFICAS AL MODO MAXIMO _ _ _ S0, S1, S2 : seales de estado decodificadas por el 8288 RQ/GT0, RQ/GT1: solicitudes y autorizaciones de acceso al bus. LOCK: prohibicin de acceso al bus en funcionamiento multiprocesador QS0, QS1: estado de la cola de espera
Modo Mximo Modo Mnimo

GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD RQ/GT0 RQ/GT1 LOCK S2 S1 S0 QS0 QS1 TEST READY RESET

HOLD HLDA WR M/IO DT/R DEN ALE INTA

Configuracin de terminales del 8086

TERMINALES DEL 8086


_ _ _ Tipo de transferencia en curso S2 S1 S0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Reconocimiento de interrupcin Lectura de perifrico Escritura de perifrico Halt Bsqueda de una instruccin Lectura de memoria Escritura de memoria Nada S4 S3 Segmento seleccionado 0 0 1 1 0 1 0 1 Extra Pila Cdigo Datos QS1 QS0 0 0 1 1 0 1 0 1 Estado de la cola de espera Ninguna operacin en curso El primer byte de una instruccin se ha extrado de la cola de espera La cola de espera se ha reinicializado El siguiente byte de una instruccin se ha extrado de la cola de espera

S5 es una copia del bit de bandera de interrupcin I S6 est en nivel cero. S7 es un bit de estado inutilizado disponible para una eventual versin del 8086

Configuracin en Modo mnimo 8086


SEALES ESPECIFICAS AL MODO MINIMO M/IO: seleccin de una localidad de memoria (M/IO=1) o de un perifrico (M/IO=0) WR: seal de escritura INTA: reconocimiento de interrupcin DT/R: Seales necesarias para DEN: el control de los circuitos buffers del bus de datos ALE : seal de validacin de la direccin HOLD: solicitud de acceso directo a memoria HLDA: reconocimiento de acceso directo a memoria

Configuracin en Modo mximo 8086


SEALES ESPECIFICAS AL MODO MAXIMO _ _ _ S0, S1, S2 : seales de estado decodificadas por el 8288 RQ/GT0, RQ/GT1: solicitudes y autorizaciones de acceso al bus. LOCK: prohibicin de acceso al bus en funcionamiento multiprocesador QS0, QS1: estado de la cola de espera

Definicin del ciclo de bus del 8086


El 8086 es un microprocesador de 16 bits con una capacidad de direccionamiento de memoria de 1 MB (220) y un espacio de puertos de E/S con una capacidad de 64 KB (216). El CPU se comunica con su ambiente externo a travs del bus multiplexado de direcciones, datos y status y un bus de control. Para transferir datos o buscar instrucciones, el CPU ejecuta un ciclo de bus. El ciclo de bus mnimo consiste de cuatro ciclos de reloj del CPU llamados estados T.

Definicin del ciclo de bus del 8086


Durante el primer estado T (T1), el CPU coloca una direccin en los 20 bits del bus multiplexado de direcciones/datos/status. Durante T2 , las cuatro lneas ms significativas del bus se cambian de direcciones (A19-A16) a seales de estado (S6, S5, S4, S3). La informacin de estado es principalmente para monitoreo de diagnstico.

Definicin del ciclo de bus del 8086


Durante el segundo estado T (T2), el CPU remueve la direccin del bus y coloca en tercer estado sus 16 lneas de salida menos significativas del bus en preparacin de un Ciclo de lectura o coloca los datos en esas 16 lneas en un ciclo de escritura. Los buffers bidireccionales se habilitan en el tiempo T1 o T2 dependiendo de la direccin de la transferencia (hacia adentro o hacia fuera del CPU). Los comando de lectura, escritura o reconocimiento de interrupcin se habilitan siempre en T2 .

Definicin del ciclo de bus del 8086


El CPU continua proporcionando la informacin de estado en las cuatro lneas ms significativas del bus durante T3 y continuar con los datos de escritura o muestreando los datos de lectura en las 16 lneas menos significativas del bus. Si la memoria seleccionada o el dispositivo de E/S no es capaz de transferir los datos a la mxima velocidad de transferencia del CPU, el dispositivo debe sealizar al CPU indicando que no est listo y forzar al CPU a insertar tiempos de espera TW despus de T3. La indicacin de no listo debe presentarse al CPU al inicio de T3. La actividad del bus durante TW es la misma que la de T3. Cuando el dispositivo seleccionado ha tenido suficiente tiempo para completar la transferencia, este coloca la sea READY (listo) y permite al CPU continuar. El CPU retendr el dato en el bus durante el ltimo estado de espera o durante T3 si no existi solicitud de estados de espera. El ciclo de bus termina en T4, las lneas de comando se deshabilitan y los dispositivos externos seleccionados son deshabilitados del bus.

Definicin del ciclo de bus del 8086


El ciclo de bus aparece para los dispositivos en el sistema como un evento asncrono que consiste de una direccin que selecciona al dispositivo seguido de un habilitador de lectura o datos y una habilitacin de escritura. El dispositivo seleccionado acepta los datos del bus durante un ciclo de escritura y coloca el dato solicitado en el bus durante un ciclo de lectura. A la terminacin del comando, el dispositivo retiene el dato de escritura o deshabilita sus manejadores de salida del bus. El nico control que el dispositivo tiene en el bus es la insercin de ciclos de espera. El 8086 solo ejecuta un ciclo de bus cuando las instrucciones u operandos deben ser transferidos hacia o desde la memoria o dispositivos de E/S. Cuando no se ejecuta un ciclo de bus, la interfaz de bus ejecuta ciclos ociosos (TI, idle cycle). Durante los estados ociosos, el CPU contina con la informacin de status del ciclo previo en las lneas de direccin ms significativas. Si el ciclo previo fue de escritura, el CPU contina manejando los datos de escritura en el bus multiplexado hasta que inicie el siguiente ciclo de bus, Si el CPU ejecutas ciclos TI seguidos de un ciclo de lectura, el CPU no manejar las 16 lneas menos significativas del bus hasta que se requiera el siguiente ciclo de bus.

Conceptos del Bus de Direcciones Retencin del Bus de Direcciones

Debido a que la mayora de memorias y perifricos requieren una direccin estable durante todo el ciclo de bus, la direccin del bus multiplexado de direcciones/datos durante T1 debe ser retenida y esta direccin retenida se utilizar para seleccionar la localidad de memoria o perifrico deseada a travs de una decodificacin.

Conceptos del Bus de Direcciones


Para demultiplexar el bus el 8086 proporciona la seal ALE (address latch enable) para capturar la direccin en el 8282 o en 74LS373 (8-bit biestable latch). Estos latches tienen salidas con buffers de tercer estado que proporcionan una capacidad de 32 mA y pueden conmutar una carga capacitiva de 300 pF en 22 ns. Estos circuitos propagan la direccin a travs de las salidas mientras ALE est en nivel alto y retienen la direccin en la bajada de ALE. Las salidas se habilitan a travs de entrada OE.

Conceptos del sistema de bus de Datos


Para el sistema de bus de datos, se pueden considerar dos alternativas: el bus multiplexado de direcciones/datos y el bus de datos con buffers utilizando transceivers (buffers bidireccionales). Si una memoria o un dispositivo de E/S se conecta directamente al bus multiplexado, el diseador debe garantizar que los dispositivos no corrompan la direccin en el bus durante T1. Para evitar esto, los manejadores de salida de los dispositivos no deben ser habilitados por el selector del circuito (chip select), deben tener un habilitador de salida controlado por la seal de lectura (read) del sistema. La temporizacin del 8086 garantiza que la seal read (activada en T2) no ser vlida hasta despus de que la direccin es retenida por ALE.

Conceptos del sistema de bus de Datos


bus de datos con buffers

Conceptos del sistema de bus de Datos


Se tienen algunas tcnicas disponibles para interfazar al bus multiplexado dispositivos que no tienen la terminal de habilitacin de salida output enable. Una opcin es conectar el selector del circuito (chip select) con compuertas AND a la seal de RD y WR del CPU. Una limitacin al utilizar el bus multiplexado, es que el 8086 maneja una capacidad de 2.0 mA y una carga capacitiva de 100 pF para garantizar las caractersticas especificadas. Asumiendo una carga capacitiva de 20 pF por dispositivo de E/S, 12 pF por latch de direcciones y de 5 a 12 pF por dispositivo de memoria, un sistema constituido por tres perifricos y dos o cuatro dispositivos de memoria est cerca de llegar al lmite de carga.

Conceptos del sistema de bus de Datos


Para satisfacer la carga capacitiva y manejar los requerimientos de sistemas grandes el bus de datos debe tener buffers. Los 8286 74LS245 son transceivers octales no invertidos, tienen buffers de salida de tres estados que manejan 32 mA en la interfase del bus y 10 mA en la interfase del CPU y pueden conmutar cargas capacitivas de 300 pF en la interfase del bus y 100pF en la interfase del CPU en 22 ns. Para habilitar y controlar la direccin de los transceivers, el 8086 proporciona las seales DEN (Data Enable) y DT/R (Data transmit/receive). Estas seales proporcionan el tiempo adecuado para garantizar el aislamiento del bus multiplexado del sistema durante T1 y la eliminacin de la contencin del bus con el CPU durante la lectura y escritura.

Generador de Reloj 8284


El generador 8284A produce las siguientes funciones o seales bsicas:generacin de reloj, sincronizacin de reinicializacin, sincronizacin de la seal lista (ready) y seal perifrica de reloj de nivel TTL.

Generador de Reloj 8284 Terminales


X1 y X2 son las entradas del cristal, el cual no tiene polaridad. La frecuencia se divide entre 3, con la caracterstica que es de 33% en alto y 66% en bajo, la cual se obtiene en la salida CLK. La seal CLK de salida es la que se proporciona al procesador 8086 y otros componentes del sistema . Es un tercio de la frecuencia del cristal o de EFI y tiene un cilo de trabajo del 33%. PCLK (reloj perifrico) Seal que es un sexto de la frecuencia del cristal o de entrada EFI y tiene un ciclo de trabajo del 50%. EFI (external frecuency in) es la entrada de reloj si se usa oscilador u otra seal de frecuencia externa. La terminal F/C determina cul es la seal de origen, si sta est en 1,el origen es la seal EFI, si no, ser la obtenida en X1 y X2 (cristal). OSC es una seal de salida donde se obtiene la frecuencia del cristal en una sola terminal. RES es una lnea de entrada para el disparo de la seal de RESET. Aqu se conecta un arreglo de capacitorresistencia con un botn de disparo normalmente abierto (push button).

Generador de Reloj 8284


RESET es la seal de inicializacin que se enva al microprocesador. READY se conecta directamente a la seal READY del 8086. AEN1 y AEN2 se utilizan para solicitar tiempos de espera junto con las entradas RDY1 y RDY2.Los estados de espera se generan en la terminal READY . ASYNC se emplea para seleccionar una o dos estapas de de sincronizacin para las terminales RDY 1 y RDY2. CSYNC Sincronizacin de reloj, se emplea siempre q ue la entrada EFI proporcione la temporizacin en sistemas multiprocesadores. En el modo mnimo se conecta a GND.

Generador de Reloj 8284


Generador de reloj

Generador de Reloj 8284


Los tiempos de espera son tiempos adicionales a T3 en los cuales el 8086 retiene los datos, direcciones y seales de control en una condicin esttica. Los estados de espera se solicitan CLOCK habilitando la entrada READY del 8086 en 0 antes 8086 READY de la bajada del reloj en T3. READY debe estar retenido en 0 hasta al menos 30 ns despus de que el reloj regrese a 1. Para evitar un estado de espera adicional READY debe regresar a 1 119 ns antes de la subida del reloj en Tw.
T1 T2 T3 Tw T4

8 ns Activacin de seal READY

119 ns Tiempo para garantizar T4 como siguiente 30 ns tiempo HOLD TIME 30ns

Sistema insertando un tiempo de espera

Circuito para un tiempo de espera


La mayora de las memorias y dispositivos de E/S los cuales no pueden operar a la mxima frecuencia del CPU tpicamente no requieren ms de un estado de espera. La lnea de Listo del sistema es manejada a 0 siempre que un dispositivo requiera de un estado de espera. El flip flop es puesto a cero a travs de ALE, colocando RDY de 8284 en 1, Si ningn estado de espera es requerido, el flip flop no cambia. Si el sistema requiere de tiempos de espera, (algn CS de una memoria o dispositivo lento se activa), el flip flop cambia en la transicin de cero a uno de T2 para forzar un estado de espera. En la siguiente transicin de reloj de cero a uno cambia de nuevo el flip flop para indicar que se encuentra listo y permite completar el ciclo de bus. Cambios posteriores en el flip flop, no afectarn el ciclo de bus.
7412 5 +5

1K CS1 74LS0 4

J CK 74LS73 K Q CLR

RDY hacia 8284

CS2

CLK

ALE

Figura. Generador de un Estado de Espera

Controlador de bus 8288


Un sistema 8086 que funcione en modo mximo debe tener un controlador de bus 8288 para generar las seales de modo mnimo que se eliminan durante el funcionamiento en modo mximo

Controlador de bus 8288


S2, S1 y S0: Entradas de estado que se decodifican para generar las seales de sincronizacin para el sistema. CLK: Entrada que produce la temporizacin interna se conecta a la salida CLK del 8284A. ALE:Habilitacin de direccin para demultiplexar el bus de direcciones. DEN: Habilitacin de los buffers bidireccionales. La polaridad es inversa a la del procesador. DT/R: Transmitir/recibir datos controla el sentido de los buffers bidireccionales. AEN: Habilitacin de direccin, entrada al 8288 que habilita las seales de control de la memoria.

Controlador de bus 8288


CEN: Habilitar control. Estrada que habilita las seales de comando de salida del 8288. IOB: Modo de Bus de E/S: Selecciona el funcionamiento en modo bus de E/S o en el modo bus del Sistema. AIOWC: Comando Avanzado de escritura de E/S IOWC: Comando de escritura de E/S IORC: Comando de lectura de E/S AMWC: Comando Avanzado de escritura de Memoria MWTC: Comando de escritura de Memoria MRDC: Comando del lectura de Memoria INTA: Reconocimiento de Interrupcin MCE/PDEN: Cascada principal/datos perifricos

Controlador de bus 8288


Modo bus de E/S: Cuando CEN (command enable) e IOB se activan (en 1 lgico), el 8288 opera en modo bus de E/S. La salida MCE/PDEN acta como una seal de habilitacin de perifrico. Su funcin es idntica a DEN, excepto que sta nicamente se activa durante instrucciones de E/S. Esto le permite al 8288 controlar dos conjuntos de buses: bus normal del sistema (posiblemente compartido con otros procesadores) y bus de entrada/salida especial para perifricos.

8288
Modo Bus del Sistema Las seales de control estn activas slo si las entradas AEN e IOB son activo bajo. Esta forma permite que varios 8288 (y 8086) se puedan interfazar al mismo bus. Un rbitro de bus seleccionar al procesador activo habilitando nicamente un 8288 (mediante la entrada AEN). En este modo MCE/PDEN funciona como MCE (master cascada enable)

Controlador de bus 8288


CEN IOB AEN
1 1 X

Descripcin
Modo bus entrada/salida; todas las lneas de control son habilitadas; MC/PDEN=PDEN. Modo bus del sistema; todas las seales de control son deshabilitadas, el bus est ocupado, esto es controlado por otro maestro. Modo bus del sistema; todas las seales de control son activadas; el bus es libre para usarse; MCE/PDEN=MCE. Todas las salidas de comando y las salidas de DEN y PDEN son deshabilitadas.

Cuestionario
Cules son los distintos ciclos de bus que tenemos? Para cada periodo T de un ciclo de bus de lectura de memoria indique las seales que se activan en cada tiempo. Para cada periodo T de un ciclo de bus de escritura de puerto indique las seales que se activan. Cules son las funciones que realiza el circuito 8284A?

Вам также может понравиться