32
Microprocesadores 1121060 Tema 6. Temporización de ciclos de Bus.

Temporizacion de Ciclo de Bus

Embed Size (px)

DESCRIPTION

Ideal para estudiantes de ingenieria en electronica y computacion.

Citation preview

Microprocesadores 1121060Tema 6. Temporizacin de ciclos de Bus.Microprocesadores 1121060Tema 6. Temporizacin del Bus.1. Retencin del bus de Direcciones1.1 Demultiplexacin de los buses1.2 El sistema de retencin1.3 Temporizacin del Bus. Ciclo de Lectura y Ciclo de Escritura.1.4 Generador de reloj 8284. 1.5 El controlador de bus 8288TERMINALES DEL 8086Modo MximoVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDRQ/GT0 HOLDRQ/GT1 HLDALOCK WRS2 M/IOS1 DT/RS0 DENQS0 ALEQS1 INTATESTREADYRESETGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND14023933843753663573483393210311130122913281427152616251724182319222021Configuracin de terminales del 8086Modo Mnimo AD0a AD15: bus de direcciones/datos multiplexados A16/S3, A17/S4, A18/S5y A19/S6: en estas cuatro salidas multiplexadasel P libera los cuatro bits ms significativos de direcciones y despus las seales de estado. BHE/S7: en esta salida multiplexadael P libera la seal BHE validando el bytems 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 enmascarablese activa en flanco ascendente INTR : solicitud de interrupcin enmascarableactivada en el nivel alto TEST sincronizacin con un procesador especializadoSEALES COMUNES A LOS DOS MODOS DEL 8086TERMINALES DEL 8086Modo MximoVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDRQ/GT0 HOLDRQ/GT1 HLDALOCK WRS2 M/IOS1 DT/RS0 DENQS0 ALEQS1 INTATESTREADYRESETGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND14023933843753663573483393210311130122913281427152616251724182319222021Configuracin de terminales del 8086Modo Mnimo__ _ S0, S1, S2 : seales de estadodecodificadaspor el 8288 RQ/GT0, RQ/GT1: solicitudes yautorizaciones deacceso al bus. LOCK: prohibicin de acceso al bus enfuncionamiento multiprocesador QS0, QS1: estado de la cola de espera 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 buffersdel bus de datos ALE : seal de validacin de la direccin HOLD: solicitud de acceso directo amemoria HLDA: reconocimiento de acceso directoa memoriaSEALES ESPECIFICAS AL MODO MAXIMOSEALES ESPECIFICAS AL MODO MINIMOTERMINALES DEL 8086Ninguna operacin en cursoEl primer bytedeuna instruccin se ha extrado de la cola de esperaLa cola de espera seha reinicializadoEl siguiente bytede una instruccin seha extrado de la cola de esperaEstado de lacola de espera0101QS00011QS1ExtraPilaCdigoDatos01010011Reconocimiento de interrupcinLectura de perifricoEscritura de perifricoHaltBsqueda de una instruccinLectura de memoriaEscritura de memoriaNada010101010011001100001111Segmento seleccionadoS3S4 Tipo de transferencia en curso _S0_S1_S2 S5es una copia del bit de bandera deinterrupcin I S6est en nivel cero. S7 es un bit de estado inutilizado disponible para una eventual versin del 8086 Configuracin en Modo mnimo 8086 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 buffersdel bus de datos ALE : seal de validacin de la direccin HOLD: solicitud de acceso directo amemoria HLDA: reconocimiento de acceso directoa memoriaSEALES ESPECIFICAS AL MODO MINIMOConfiguracin en Modo mximo 8086__ _ S0, S1, S2 : seales de estadodecodificadaspor el 8288 RQ/GT0, RQ/GT1: solicitudes yautorizaciones deacceso al bus. LOCK: prohibicin de acceso al bus enfuncionamiento multiprocesador QS0, QS1: estado de la cola de esperaSEALES ESPECIFICAS AL MODO MAXIMODefinicin 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. Durante el primer estadoT (T1), el CPU coloca unadireccin en los 20 bitsdel bus multiplexado dedirecciones/datos/status. Durante T2 , las cuatrolneas ms significativasdel bus se cambian dedirecciones (A19-A16) aseales de estado (S6,S5, S4, S3). Lainformacin de estado esprincipalmente paramonitoreo de diagnstico.Definicin del ciclo de bus del 8086Definicin del ciclo de bus del 8086Durante el segundo estado T (T2), el CPU remueve la direccin del bus y coloca entercer estado sus 16 lneas desalida menos significativas del bus en preparacin de unCiclo de lectura o coloca losdatos en esas 16 lneas en unciclo de escritura. Los buffersbidireccionales se habilitan en el tiempo T1 o T2dependiendo de la direccinde la transferencia (haciaadentro o hacia fuera delCPU).Los comando delectura, escritura o reconocimiento deinterrupcin se habilitansiempre 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 CPUa insertar tiemposde 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. Cuandoel 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 escrituray 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.Microprocesadores 1121060Tema 6. Temporizacin del Bus.Retencin del bus de Direcciones1.1 Demultiplexacin de los buses1.2 El sistema de retencin1.3 Temporizacin del Bus. Ciclo de Lectura y Ciclo de Escritura.1.4 Generador de reloj 8284. 1.5 El controlador de bus 8288Conceptos 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 DireccionesPara demultiplexar el bus el 8086proporcionala seal ALE (address latch enable) paracapturar la direccin en el 8282 oen 74LS373 (8-bit biestablelatch). Estos latches tienensalidas con buffers de tercerestado que proporcionan unacapacidad de 32 mA y puedenconmutar una carga capacitivade 300 pF en 22 ns. Estoscircuitos propagan la direccin atravs de las salidas mientrasALE est en nivel alto y retienenla direccin en la bajada de ALE.Las salidas se habilitan a travsde 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/datosy 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 habilitadospor 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 buffersConceptos 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 caractersticasespecificadas. Asumiendo una carga capacitiva de 20 pFpor 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 DatosPara satisfacer la carga capacitiva y manejar los requerimientos desistemas grandes el bus de datosdebe tener buffers. Los 8286 74LS245 son transceivers octales noinvertidos, tienen buffers de salida detres estados que manejan 32 mA en lainterfase del bus y 10 mA en lainterfase del CPU y pueden conmutarcargas capacitivas de 300 pF en la interfase del bus y 100pF en lainterfase del CPU en 22 ns. Parahabilitar y controlar la direccin de lostransceivers, el 8086 proporciona las seales DEN (Data Enable) y DT/R(Data transmit/receive). Estas sealesproporcionan el tiempo adecuado para garantizar el aislamiento del bus multiplexado del sistema durante T1 yla eliminacinde la contencin del buscon el CPU durante la lectura y escritura.Generador de Reloj 8284 El generador 8284A produce las siguientes funciones o seales bsicas:generacinde reloj, sincronizacin de reinicializacin, sincronizacin de la seal lista (ready) y seal perifrica de reloj de nivel TTL.Generador de Reloj 8284Terminales 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 EFIy 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 capacitor-resistencia 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 seleccionaruna o dos estapas de de sincronizacin para las terminales RDY 1 y RDY2. CSYNC Sincronizacin de reloj, se emplea siempre q ue la entrada EFIproporcione la temporizacin en sistemas multiprocesadores. En el modo mnimo se conecta a GND.Generador de Reloj 8284 Generador de relojGenerador 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 habilitando la entrada READY del 8086 en 0 antes 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 nsantes de la subida del reloj en Tw.CLOCK119 ns Tiempo para garantizar T4 como siguiente tiempoT1 T2 T3 Tw8086 READYHOLDTIME 30nsSistema insertando un tiempo de espera8 ns30 nsT4Activacin de seal READYCircuito para un tiempo de esperaLa mayora de las memorias y dispositivosde E/S los cuales no pueden operar a lamxima frecuencia del CPU tpicamente no requieren ms de un estado de espera.La lnea de Listo del sistema es manejadaa 0 siempre que un dispositivo requierade un estado de espera. El flip flop espuesto a cero a travs de ALE, colocandoRDY de 8284 en 1, Si ningn estado deespera es requerido, el flip flop no cambia.Si el sistema requiere de tiempos deespera, (algn CS de una memoria odispositivo lento se activa), el flip flopcambia en la transicin de cero a uno deT2 para forzar un estado de espera. En lasiguiente transicin de reloj de cero a unocambia de nuevo el flip flop para indicarque se encuentra listo y permite completarel ciclo de bus. Cambios posteriores en elflip flop, no afectarn el ciclo de bus.Figura. Generador de un Estado de EsperaRDY hacia 8284JCK74LS73KQCLR74125CS1CS2+51K74LS04CLKALEControlador 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 buffersbidireccionales. La polaridad es inversa a la del procesador. DT/R: Transmitir/recibir datos controla el sentido de los buffersbidireccionales. 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 busde 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 perifricosControlador 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 interfazaral 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 8288Todas las salidas de comando y las salidas de DEN y PDEN son deshabilitadas.X X 0Modo bus del sistema; todas las seales de control son activadas; el bus es libre para usarse; MCE/PDEN=MCE.0 0 1Modo bus del sistema; todas las seales de control son deshabilitadas, el bus est ocupado, esto es controlado por otro maestro.1 0 1Modo bus entrada/salida; todas las lneas de control son habilitadas; MC/PDEN=PDEN.X 1 1Descripcin AEN IOB CENCuestionario 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?