Ing. Julin Giraldo 1 ARQUITECTURA DE COMPUTADORES I
En el mbito de los sistemas digitales se han distinguido siempre dos grandes grupos:
Sistemas combinacionales: Son aquellos en los cuales la salida actual solo depende de la entrada actual. A esta categora pertenecen todos los dispositivos vistos hasta ahora: compuertas AND, OR, XOR, NOT y componentes como MUX, DMUX, Codificadores y Decodificadores.
Sistemas secuenciales: Un sistema secuencial es un sistema digital en el cual el estado actual de las salidas no solo depende del estado actual de las entradas sino tambin del estado anterior del sistema. A los sistemas secuenciales tambin se les denomina mquinas de estados finita (FSM) EJEMPLO DE SISTEMA SECUENCIAL Ing. Julin Giraldo 2 ARQUITECTURA DE COMPUTADORES I Supongamos una mquina que para arrancar o detener su movimiento solo usa un pulsador. Es decir, si la mquina est detenida y se presiona el pulsador la mquina arranca; Si la mquina est en marcha y se oprime el pulsador la mquina se detiene.
Es claro entonces, que en esta situacin debe haber alguna manera en la cual la mquina sea capaz de almacenar su propio estado (Marcha/Paro). El sistema que realice el control de la mquina deber considerar el estado anterior para deducir el estado presente. El diagrama de la izquierda representa el modelo de dicho sistema secuencial
Una sola lnea representa el estado del pulsador (Seal de entrada) La memoria informa sobre el estado presente (Variable de estado) La lgica combinacional obtiene la salida en funcin del estado actual y el estado anterior La memoria cambia su estado en funcin de la informacin proporcionada por el sistema combinacional (Variable de excitacin) CLASIFICACION DE LOS SISTEMAS SECUENCIALES (1) Ing. Julin Giraldo 3 ARQUITECTURA DE COMPUTADORES I Sistemas secuenciales asncronos
Su comportamiento depende del orden en que cambien las seales de entrada . La evolucin de sus estados internos es automtica y no requiere seales externas que la gobiernen.
El siguiente sistema ante una peticin de cambio de la seal de entrada (IN), verifica el estado actual del sistema y cambia su salida en concordancia inmediatamente. SECUENCIAL OUT ASINCRONO SISTEMA OUT V. ESTADO IN IN CLASIFICACION DE LOS SISTEMAS SECUENCIALES (2) Ing. Julin Giraldo 4 ARQUITECTURA DE COMPUTADORES I Sistemas secuenciales sncronos
Su comportamiento puede ser definido a partir del conocimiento de sus seales en instantes especficos de tiempo. Generalmente, la evolucin de sus estados internos es gobernada por los impulsos de un generador externo.
En el siguiente esquema, el sistema no reacciona ante los cambios en la seal de entrada, sino hasta que sta se sincroniza con la seal de reloj. CLK IN CLK SISTEMA SECUENCIAL IN SINCRONO OUT OUT LATCH (CERROJO) Ing. Julin Giraldo 5 ARQUITECTURA DE COMPUTADORES I Un latch es un circuito digital capaz de mantener un estado binario de manera indefinida (siempre y cuando se encuentre energizado), hasta que una cierta seal externa le haga cambiar de estado. Es por tanto una celda de memoria de 1 bit de capacidad.
Los latch son dispositivos asincrnicos, debido a que sus salidas cambian en funcin de las entradas, de forma directamente dependiente del estado de las entradas, en un instante de tiempo cualquiera.
Un aspecto fundamental en el funcionamiento de un latch es la realimentacin. Traer la seal de salida de nuevo hacia las entradas.
Se pueden disear varios tipos de latch, pero los ms conocidos son:
Latch S-R (Set-Reset) Latch D LATCH S-R (Set-Reset) (1) Ing. Julin Giraldo 6 ARQUITECTURA DE COMPUTADORES I Este cerrojo se compone de dos compuertas NOR. El smbolo lgico se encuentra abajo y la tabla de verdad producida por este circuito se encuentra a la derecha.
La operacin de este circuito puede entenderse mediante el anlisis del estado de las terminales para los posibles valores de las entradas R y S.
S R Q(i+1) Q'(i+1) 0 0 Qi Qi' 0 1 0 1 1 0 1 0 1 1 N.C. N.C. LATCH S-R (Set-Reset) (2) Ing. Julin Giraldo 7 ARQUITECTURA DE COMPUTADORES I S=0 y R=0: Asumamos Q=0, la salida de OR B es (0+0 = 0 = 1), esa seal entra a OR A, la salida de OR A es (0+1 = 1 = 0), o sea Q = 0; Q = 1 Asumamos Q=1, la salida de OR B es (0+1 = 1 = 0), esa seal entra a OR A, la salida de OR A es (0+0 = 0 = 1), o sea Q = 1 ; Q = 0 Conclusin: La salida no cambi S=0 y R=1: Asumamos Q=0, la salida de OR B es (0+0 = 0 = 1), esa seal entra a OR A, la salida de OR A es (0+1 = 1 = 0), o sea Q = 0 ; Q = 1 Asumamos Q=1, la salida de OR B es (0+1 = 1 = 0), esa seal entra a OR A, la salida de OR A es (1+0 = 1 = 0), o sea Q = 0 ; Q = 1 Conclusin: La salida se puso a 0 (resete) S=1 y R=0: Asumamos Q=0, la salida de OR B es (1+0 = 1 = 0), esa seal entra a OR A, la salida de OR A es (0+0 = 0 = 1), o sea Q = 1 ; Q = 0 Asumamos Q=1, la salida de OR B es (1+1 = 1 = 0), esa seal entra a OR A, la salida de OR A es (0+0 = 0 = 1), o sea Q = 1 ; Q = 0 Conclusin: La salida se puso a 1 (sete) S=1 y R=1: Asumamos Q=0, la salida de OR B es (1+0= 1 = 0), esa seal entra a OR A, la salida de OR A es (1+0= 1 = 0), o sea Q = 0 ; Q = 0 Asumamos Q=1, la salida de OR B es (1+1 = 1 = 0), esa seal entra a OR A, la salida de OR A es (1+0 = 1 = 0), o sea Q = 0 ; Q = 0 Conclusin: La salida no est definida
LATCH D (1) Ing. Julin Giraldo 8 ARQUITECTURA DE COMPUTADORES I Este cerrojo se compone de cuatro compuertas NAND y una compuerta NOT. El smbolo lgico se encuentra abajo y la tabla de verdad producida por este circuito se encuentra a la derecha.
La operacin de este circuito puede entenderse mediante el anlisis del estado de las terminales para los posibles valores de las entradas D y E.
D E Q(i+1) Q'(i+1) 0 0 Qi Qi' 0 1 0 1 1 0 Qi Qi' 1 1 1 1 LATCH D (2) Ing. Julin Giraldo 9 ARQUITECTURA DE COMPUTADORES I E=0: Si E = 0, no importa el estado de D la salida de las dos primeras NAND es 1 Asumamos Q=0, la salida de NAND B es (1x0 = 0 = 1), esa seal entra a NAND A, la salida de NAND A es (1x1 = 1 = 0), o sea Q = 0; Q = 1 Asumamos Q=1, la salida de NAND B es (1x1 = 1 = 0), esa seal entra a NAND A, la salida de NAND A es (1x0 = 0 = 1), o sea Q = 1; Q = 0 Conclusin: La salida no cambi E=1: Si E = 1, hay que analizar las dos posibilidades: D=0 Asumamos Q=0, la salida de la NAND que entra a NAND B es (1x1 = 1 = 0), la salida de NAND B es (0x0 = 0 = 1), que entra a NAND A. La otra entrada de NAND A es (0x1 = 0 = 1), por tanto la salida de NAND A es (1x1 = 1 = 0), o sea Q = 0; Q = 1 Asumamos Q=1, la salida de la NAND que entra a NAND B es (1x1 = 1 = 0), la salida de NAND B es (1x0 = 0 = 1), que entra a NAND A. La otra entrada de NAND A es (0x1 = 0 = 1), por tanto la salida de NAND A es (1x1 = 1 = 0), o sea Q = 0; Q = 1 Conclusin: La salida se puso a 0 D=1 Asumamos Q=0, la salida de la NAND que entra a NAND B es (0x1 = 0 = 1), la salida de NAND B es (0x0 = 0 = 1), que entra a NAND A. La otra entrada de NAND A es (1x1 = 1 = 0), por tanto la salida de NAND A es (0x1 = 0 = 1), o sea Q = 1; Q = 0 Asumamos Q=1, la salida de la NAND que entra a NAND B es (0x1 = 0 = 1), la salida de NAND B es (1x1 = 1 = 0), que entra a NAND A. La otra entrada de NAND A es (1x1 = 1 = 0), por tanto la salida de NAND A es (0x0 = 0 = 1), o sea Q = 1; Q = 0 Conclusin: La salida se puso a 1
ESTADOS METAESTABLES Ing. Julin Giraldo 10 ARQUITECTURA DE COMPUTADORES I Un estado metaestable es aquel que ocurre cuando se presentan condiciones no vlidas en los latch. Por ejemplo, cuando en el cerrojo S-R las entradas son: S=1 y R=1. En esta condicin las salidas intentan generar un mismo estado lgico (0), lo cual constituye una indeterminacin, porque no se cumple que Q y Q' sean estados complementarios. ESTADO METAESTABLE EN LAS SALIDAS Q' Q R S LATCH COMO IC (1) Ing. Julin Giraldo 11 ARQUITECTURA DE COMPUTADORES I Varios IC cumplen la funcin de trabajar como latch. Algunos de ellos son los siguientes: 4043 Integrado con 4 latch SR internos Tecnologa CMOS Alimentacin desde 3.0V hasta 18V Entrada de habilitacin (E) . Si no est activa las salidas se ponen en alta impedancia (Z) LATCH COMO IC (2) Ing. Julin Giraldo 12 ARQUITECTURA DE COMPUTADORES I La estructura interna del 4043 se encuentra a la izquierda. LATCH COMO IC (3) Ing. Julin Giraldo 13 ARQUITECTURA DE COMPUTADORES I 74373 Integrado con 8 latch D internos Tecnologa TTL Seal de habilitacin de latch (LE). Permite actualizar el dato en los latch Seal de habilitacin de salida (OE). Salida alta o baja o alta impedancia LATCH COMO IC (4) Ing. Julin Giraldo 14 ARQUITECTURA DE COMPUTADORES I Estructura interna del 74373 FLIP FLOP Ing. Julin Giraldo 15 ARQUITECTURA DE COMPUTADORES I Los latch son dispositivos asncronos, es decir su salida cambia inmediatamente en funcin de sus entradas. Un flip flop es un latch sncrono, o sea que a pesar del cambio en sus seales de entrada, las salidas no cambian inmediatamente sino hasta la presencia de una seal sincronizadora (seal de reloj o clock).
Se introducen los siguientes tipos de flip flop:
Flip flop SR Flip flop D Flip flop JK Flip flop T FLIP FLOP SR (1) Ing. Julin Giraldo 16 ARQUITECTURA DE COMPUTADORES I El flip flop ms sencillo se denomina flip-flop R-S (Reset-Set). Est compuesto por 2 compuertas OR de tres entradas y 2 compuertas AND de dos entradas. Es esencia es un latch SR al cual se le ha agregado una seal de reloj (CLK), una seal de borrar (CLEAR) y una seal de poner a uno (PRESET). El smbolo lgico del flip flop, se presenta en la parte derecha. Los crculos en las seales de PRESET (PRN) y CLEAR (CLRN) indican que dichas seales son activas bajas. FLIP FLOP SR (2) Ing. Julin Giraldo 17 ARQUITECTURA DE COMPUTADORES I El anlisis del flip flop SR, parte de la base del funcionamiento del latch SR: S = 0 R = 0 El flip flop SR conserva su estado anterior S = 0 R = 1 El flip flop SR pone a 0 su salida Q S = 1 R = 0 El flip flop SR pone a 1 su salida Q S = 1 R = 1 El flip flop SR indetermina su salida
Si la seal CLK es 0, la salida de ambas AND es 0, por tanto, no importa que seales haya en S y R, la salida Q no cambia de estado. Solo si la seal CLK es 1, el flip flop aceptar las entradas S y R y se comportar como el latch SR. La conclusin es que no importa el estado de las entradas S y R, estas solo harn cambiar el estado del flip flop, cuando la seal de CLK se haga presente, por eso se le llama seal sincronizadora.
Adicionalmente a los flip flop se les aaden seales de puesta a 0 (CLEAR) y puesta a 1 (PRESET). Estas seales deben ser activadas al encender el flip flop (por parte del sistema controlador), dado que en ese momento no se conoce cual es su estado inicial.
FLIP FLOP D (1) Ing. Julin Giraldo 18 ARQUITECTURA DE COMPUTADORES I La estructura del flip flop D es muy similar a la del latch D. La seal de habilitacin anterior es ahora la seal de reloj (CLK). Se le agregan adems las seales de puesta a 0 (CLEAR) y puesta a 1 (PRESET).
A la izquierda se encuentra la estructura interna y a la derecha el smbolo lgico del flip flop D. FLIP FLOP D (2) Ing. Julin Giraldo 19 ARQUITECTURA DE COMPUTADORES I Una gran ventaja del latch D y el flip flop D es que no se presenta indeterminacin en las salidas ante ninguna combinacin de las entradas D y (E) CLK. En resumen se puede decir que en un flip flop D, la salida Q sigue a la entrada D si la seal CLK est activa, de lo contrario la salida sostiene su ltimo valor. DIAGRAMAS DE TIEMPO Ing. Julin Giraldo 20 ARQUITECTURA DE COMPUTADORES I La seal de reloj en un flip flop controla todas las dems seales (D, PRN y CLRN), es decir, ninguna de ellas ocasionar un cambio en las salidas hasta que el CLK se encuentre activo. La evolucin de la salida en funcin de las entradas es ms fcil de visualizar en un diagrama de tiempos.
Vemos en el siguiente diagrama:
En t = 100 ns. D = 1, pero la salida Q solo cambia cuando CLK se hace activo En t = 200 ns. D = 0, pero la salida Q no cambia porque CLK no est activo En t = 300 ns. CLR = 0, la salida Q se hace 0 porque CLK est activo En t = 400 ns. CLR = 1, D est en 0 la salida Q no cambia porque CLK no est activo En t = 500 ns. No hay cambio en las seales de entrada, entonces no hay cambio en Q En t = 600 ns. PRESET = 1, CLK est activo, entonces Q se hace 1
NIVELES ACTIVOS EN UN FLIP FLOP (1) Ing. Julin Giraldo 21 ARQUITECTURA DE COMPUTADORES I Los flip flop pueden efectuar el cambio de sus salidas en momentos especficos de la seal de reloj (CLK).
Si es en el estado alto o bajo de la seal de reloj, se les denomina activos por nivel Si es en el momento del cambio de la seal de reloj (paso de bajo a alto o de alto a bajo) se les denomina activos por flanco. Nivel bajo de la seal CLK Nivel alto de la seal Flanco ascendente de la seal Flanco descendente de la seal NIVELES ACTIVOS EN UN FLIP FLOP (2) Ing. Julin Giraldo 22 ARQUITECTURA DE COMPUTADORES I Los posibles tipos de estados de la seal de reloj que generan los cambios en el flip flop se representan de la siguiente manera: FLIP FLOP JK (1) Ing. Julin Giraldo 23 ARQUITECTURA DE COMPUTADORES I El flip - flop JK es el ms usado en general y tambin el ms verstil y sofisticado. Al igual que el flip flop RS, tiene dos entradas de datos y al igual que el flip flop D no indetermina su salida ante ninguna circunstancia.
La mayora de las versiones del JK estn controladas por el flanco descendente de la seal de reloj, en lugar de serlo por el flanco ascendente, que controla al tipo D.
En la grfica inferior podemos observar la estructura interna del flip flop JK. FLIP FLOP JK (2) Ing. Julin Giraldo 24 ARQUITECTURA DE COMPUTADORES I Es posible tambin observar el flip flop JK como un flip flop D modificado, como se muestra en la figura inferior. A la derecha se muestra el smbolo lgico de dicho flip flop y en diagonal su tabla de verdad.
CLK J K Q(i+1) Q'(i+1) 0 0 Qi Qi' 0 1 0 1 1 0 1 0 1 1 Qi' Qi FLIP FLOP JK (3) Ing. Julin Giraldo 25 ARQUITECTURA DE COMPUTADORES I De acuerdo con la tabla de verdad el flip flop JK se comporta as:
Si J = 0 y K = 0, el flip flop mantiene su estado anterior Si J = 0 y K = 1, el flip flop clarea su salida Q Si J = 1 y K = 0, el flip flop pone a 1 su salida Q Si J = 1 y K = 1, el flip flop complementa la salida anterior de Q
El diagrama de tiempos correspondiente a este flip flop se puede observar abajo.
FLIP FLOP T Ing. Julin Giraldo 26 ARQUITECTURA DE COMPUTADORES I El flip - flop T (Toggle : balanceado) es un tipo especial de flip flop. Se caracteriza porque con cada pulso de reloj cambia su salida al estado complementario (Qi+1 = Qi).
Un flip flop T puede ser construido usando un flip flop SR (izquierda) o un flip flop JK (derecha). Abajo se ve el diagrama de tiempos de este flip flop. En cada flanco ascendente del CLK la salida Q cambia de estado. FLIP FLOP como IC Ing. Julin Giraldo 27 ARQUITECTURA DE COMPUTADORES I 4027
IC con dos flip flop JK Seales de Preset (S) y Clear (R) individuales para cada flip flop Capacidad de alimentacin desde 3.0 VDC hasta 18 VDC
La tabla de verdad se encuentra abajo
FLIP FLOP como IC Ing. Julin Giraldo 28 ARQUITECTURA DE COMPUTADORES I 4013
IC con dos flip flop D Seales de Preset (S) y Clear (R) individuales para cada flip flop Capacidad de alimentacin desde 3.0 VDC hasta 18 VDC
La tabla de verdad se encuentra abajo
ESPECIFICACIONES DE TIEMPO DE UN FLIP FLOP (1) Ing. Julin Giraldo 29 ARQUITECTURA DE COMPUTADORES I Los flip flop son componentes digitales de gran importancia. Basados en ellos es posible construir unidades bsicas de memoria, registros, memorias RAM, cach, etc. Para comprender algunos de los problemas que se presentan en el diseo de los sistemas de cmputo, es necesario introducir algunas caractersticas de funcionamiento.
1. Tiempo de establecimiento (Ts): Define el tiempo durante el cual, la seal de entrada debe permanecer estable antes que la seal CLK se haga activa 2. Tiempo de retencin (Th): Define el tiempo durante el cual, la seal de entrada debe permanecer estable una vez que la seal CLK se ha activado
Valores tpicos de Ts y Th para un flip flop son de 5 a 50 ns. Si una seal de entrada no cumple con este requisito, el flip flop no se disparar de manera confiable. Para asegurar una correcta transicin, la seal de entrada debe estar estable Ts tiempo antes de la activacin de la seal CLK y Th tiempo despus de la activacin de la seal CLK. Ts Th ESPECIFICACIONES DE TIEMPO DE UN FLIP FLOP (2) Ing. Julin Giraldo 30 ARQUITECTURA DE COMPUTADORES I Observemos el diagrama de tiempos de la figura de arriba:
En la transicin de CLK 1 la seal D est activa lo suficientemente antes (respeta Ts) y dura activa un tiempo prudencial (respeta Th). El estado de la salida es confiable
En la transicin de CLK 2 la seal D cambia de estado (alto a bajo) justo cuando la seal CLK empieza a activarse (no respeta Ts). El estado de la salida no es confiable
En la transicin de CLK 3 la seal D est activa lo suficientemente antes (respeta Ts) pero cambia de estado antes que la seal CLK se estabilice en su estado activo (no respeta Th). El estado de la salida no es confiable 2 D 3 CLK 1 ESPECIFICACIONES DE TIEMPO DE UN FLIP FLOP (3) Ing. Julin Giraldo 31 ARQUITECTURA DE COMPUTADORES I 3. Retardo en la propagacin: Define cuanto tiempo se demora en cambiar la salida, una vez que las condiciones en las entradas estn dadas para el cambio. Este tiempo puede variar desde unos cuantos ns hasta 100 ns. Generalmente los fabricantes lo especifican con dos variables: Tplh (Tiempo de propagacin de bajo a alto) y Tphl (Tiempo de propagacin de alto a bajo) D CLK Tplh 3 Tphl Q 2 1 4. Frecuencia mxima de reloj (Fmax): Indica cuan rpido puede cambiar la seal de reloj sin que se presenten problemas en el disparo del flip flop. Esta frecuencia es del orden de las decenas de MHz
ESPECIFICACIONES DE TIEMPO DE UN FLIP FLOP (4) Ing. Julin Giraldo 32 ARQUITECTURA DE COMPUTADORES I 5. Tiempo en alto y bajo de la seal de reloj (Twl; Twh): Especifica cuanto tiempo mnimo debe permanecer la seal de reloj en bajo antes de pasar a alto y viceversa 6. Tiempo de transicin de reloj: Indica cuanto tiempo toma la seal de reloj en ir desde bajo hasta alto y viceversa. Si la seal CLK toma mucho tiempo en cambiar de estado el flip flop puede dispararse irregularmente
Las especificaciones de tiempo anteriores se entregan en los parmetros del fabricante. Abajo pueden verse las de un dispositivo tpico.