Lógica igital - Circuitos Secuenciales Organización del Computador I Carlos A. i Pietro epartamento de Computación - FCEyN UBA 2 do Cuatrimestre de 2014 1 / 27
Menú del ía 1 Repaso 2 Clocks 3 Flip-Flops 4 Registros 5 Componentes de Tres Estados 6 Circuitos Secuenciales 7 Ejercicios 2 / 27
Repaso ué deberíamos saber hasta ahora? Operadores y funciones booleanas. Compuertas lógicas y su correlación con los operadores booleanos. Conversión de tablas de verdad a funciones booleanas. Reducción de funciones booleanas usando Álgebra de Bool. Armado de circuitos combinatorios (tal como hicimos en el taller pasado). 3 / 27
Relojes (Clocks) Un reloj es un componente que emite de manera contínua una señal que oscila entre un estado alto (1) y bajo (0) a un ritmo fijo y definido. Se utiliza para coordinar la acción en conjunto de diversos componentes a lo largo de un circuito (igual que un metrónomo). Cada componente se activa en la transición del nivel bajo hacia el alto, o en la del nivel alto hacia el bajo. Cada una de estas recibe el nombre de flanco. Al período comprendido entre dos flancos del mismo tipo lo denominamos tiempo de ciclo del reloj. La frecuencia de un reloj se definide por la cantidad de ciclos que ocurren en 1 segundo. Frecuencia = 1 T 4 / 27
Flip-Flops Un FF es un circuito construido en base a compuertas lógicas. Tiene la particularidad de que es capaz de almacenar un bit usando el principio de la retroalimentación. El paso de un estado a otro se realiza variando las entradas. Esta característica lo convierte en la mínima unidad de memoria posible. En Electrónica igital se lo utiliza como un componente para almacenar un bit. 5 / 27
Tipos de Flip-Flops Los Flip-Flops pueden ser: Asincrónicos: Solo tienen entradas de control y pueden cambiar de estado en cualquier momento. Sincrónicos: Además de las entradas de control poseen una entrada de reloj. El sistema solo puede cambiar en los instantes de sincronismo. Tipos de Sincronismo por nivel (alto o bajo): El sistema lee sus entradas cuando el reloj esta en estado alto o bajo. por flanco (de subida o de bajada): El sistema lee sus entradas justo cuando se produce el flanco activo. 6 / 27
Asincrónicos: Flip-Flop RS (Reset & Set) Características Tiene dos entradas S(et) y R(eset). Cuando ambas están en 0 se mantiene el valor de. Cuando ambas están en 1 el valor de se indefine. Si sólo S está en 1, el valor de cambia a 1. Si sólo R está en 1, el valor de cambia a 0. S R S R t+1 0 0 t 0 1 0 1 0 1 1 1 X 7 / 27
Sincrónicos: Flip-Flop RS (Reset & Set) Características Es idéntico al Flip-Flop RS asincónico, pero este sólo se actualiza su estado en el instante de sincronismo que marca el reloj. S Clk R S R GRB CLR S R clk t+1 0 0 1 t 0 1 1 0 1 0 1 1 1 1 1 X 0 t 8 / 27
Sincrónicos: Flip-Flop (elay) Características Posee solo una entrada. La salida obtiene el valor de la entrada cuando hay un pulso de reloj. Clk S Clk R GRB CLR clk t+1 0 1 0 1 1 1 0 t 9 / 27
Sincrónicos: Flip-Flop T (Toggles) Características Posee solo una entrada T. Si hay un 0 en la entrada T, cuando se aplica un pulso de reloj la salida mantiene el valor del estado presente. Si hay un 1 se complementa. GRB T T clk t+1 0 1 t 1 1 t CLR 0 t 10 / 27
Sincrónicos: Flip-Flop JK Características Sus entradas son J y K en honor a Jack Kilby. Se considera como el FF universal ya que puede configurarse para obtener los demás FF. J K clk (t + 1) J Clk K S Clk R J K GRB CLR 0 0 1 t 0 1 1 0 1 0 1 1 1 1 1 t 0 t 11 / 27
Registros Ent 0 Sal 0 Un registro es un conjunto de n flip-flops asociados, que permiten almacenar temporariamente una palabra o grupo de n bits. Ent 1 Ent 2 Sal 1 Sal 2 Ent 3 Sal 3 Clock 12 / 27
Componentes de Tres Estados Noción Eléctrica Símbolo Tabla de Verdad A B C A B=0 C A B=1 C A B C 0 1 0 1 1 1 0 Hi-Z Hi-Z significa alta impedancia, es decir, que tiene una resistencia alta al pasaje de corriente. Como consecuencia de esto, podemos considerar al pin C como desconectado del circuito. 13 / 27
Volvamos a los circuitos... Ya conocíamos los circuitos combinatorios. ué introducen de nuevo los secuenciales? Circuitos Combinacionales Circuitos Secuenciales La salida esta determinada únicamente por la entrada del circuito. La salida esta determinada por la entrada y el estado del circuito. 14 / 27
Circuitos Secuenciales Cualquier circuito secuencial, se puede separar en dos partes: 1 un bloque combinacional 2 un bloque con memoria La memoria almacena bits que determinan el estado del circuito Las entradas del circuito combinacional son las entradas (E) junto con las salidas de la memoria ( n ) El bloque combinacional genera la salida del circuito (S) y el nuevo estado del mismo ( n+1 ) 15 / 27
Ejercicio 1 a) iseñar un registro de 4 bits. El mismo debe contar con 4 entradas e 0,..., e 3 para ingresar el dato a almacenar, 4 salidas s 0,..., s 3 para ver el dato almacenado y las señales de control reset y WriteEnable. b) Modificar el diseño anterior agregándole componentes de 3 estados para que sólo cuando se active la señal de control mostrar muestre el dato almacenado. 16 / 27
Solución - 1.a e3 SET s3 CLR e2 SET s2 CLR e1 SET s1 e0 CLR SET s0 WriteEnable CLR Reset 17 / 27
Solución - 1.b e3 SET HAB. s3 CLR e2 SET HAB. s2 CLR e1 SET HAB. s1 CLR e0 SET HAB. s0 WriteEnable CLR Reset Enable out 18 / 27
Ejercicio 2 Implementar un registro contador de dos bits que cumpla con los siguientes estados y que cada cambio se produzca al apretar un pulsador. Nos piden además que el componente a desarrollar cuente con una entrada de Reset. 19 / 27
Solución - 2 Analizo usando la tabla de verdad de los flip-flop qué valores deberían tener 1 y 0 para obtener los valores deseados de 0 y 1. Luego miro a 1 y 0 como las salidas de un circuito combinatorio que tiene por entradas a 0 y 1 y armo su tabla de verdad: Así se obtiene el siguiente circuito: 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 0 0 Finalmente, utilizo el Álgebra de Bool para deducir cómo se generan las salidas a partir de las entradas. 0 = ( 1. 0 ) 1 = ( 1. 0 ) + ( 1. 0 ) = ( 1 + 1 ). 0 = 1. 0 = 0 FF1 FF0 20 / 27
Ejercicio 3 Idem ejercicio 3 21 / 27
Solución - 3 Realizando un análisis análogo al del ejercicio 2 se obtiene: 1 0 1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 = ( 1. 0 ) + ( 1. 0 ) = 0 1 = ( 1. 0 ) + ( 1. 0 ) = 1 2 FF1 FF2 22 / 27
Ejercicio 2 Configurar dos flip-flops JK para que se comporten como la siguiente tabla característica. 1 2 1 2 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 23 / 27
Solución - 4 1 2 J 1 K 1 J 2 K 2 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 Analizando el problema como en los ejercicios anteriores se obtiene la tabla de verdad que aparece a la izquierda. Sin embargo, observando detenidamente podemos advertir que: J 1 y K 1 valen siempre 1 sin importar los valores de 1 y 2. J 2 y K 2 siempre toman el valor de 1 Entonces, sin necesidad de usar Álgebra Booleana, puedo armar el cicuito de la siguiente forma: 1 J 1 1 J 2 2 K 1 1 K 2 2 Moraleja: El conocimiento no reemplaza a la inteligencia, lo complementa. 24 / 27
Resumen Hoy vimos... Clocks: ué son, para qué sirven, tipos de sincronismo (por nivel o por flanco). Flip-Flops: ué son, para qué sirven, cómo se componen, presentacion de diversos FF. Registros: Extensión de la idea de flip-flop a un conjunto de bits haciendo uso del diseño bloques bloques. Componentes de Tres Estados: ué son, para qué sirven, diferencias con cortar usando AN. Circuitos: iferencias entre combinatorios y secuenciales, análisis de circuitos secuenciales y deducción de sus tablas de verdad. 25 / 27
udas Alguna duda sobre los temas que vimos hoy? 26 / 27
Cómo seguimos? Con lo que vimos hoy ya pueden terminar toda la práctica 2. Pueden profundizar más sobre estos temas en The Essential of Computer Organization (L. Null) - Capítulo 3. Tras el intervalo comenzamos en los labos con el Segundo Taller de Lógica igital. Y durante el intervalo vamos a estar en los labos corrigiendo las entregas que quedaron pendientes del taller pasado. 27 / 27