Organización del Computador 1 Lógica Digital 2 Circuitos y memorias
Circuitos combinatorios Funciones Booleanas El resultado depende sólo de las entradas El resultado depende sólo de las entradas También necesitamos circuitos que puedan “recordar” su estado y que actúen según su estado y las entradas Memorias, contadores, etc. Memorias, contadores, etc. Estos circuitos de los denominan “Secuenciales” Circuitos Secuenciales
En general, necesitamos una forma de ordenar los diferentes eventos que producen cambios de estados Para esto usamos relojes Un “reloj” (clock) es un circuito capaz de producir señales eléctricas de oscilantes, con una frecuencia uniforme Un “reloj” (clock) es un circuito capaz de producir señales eléctricas de oscilantes, con una frecuencia uniforme Relojes
Los cambios de estado se producen en cada tick de reloj Estos cambios pueden producirse cuando se produce un cambio de flanco (ascendente o descendente) o por un cambio nivel (alto o bajo) Cambios de estado
Para retener sus valores, los circuitos secuenciales recurren a la realimentación. La realimentación se produce cuando una salida se conecta a una entrada. Ejemplo simple:. Si Q es 0 siempre será, si es 1, siempre será 1, porqué? Si Q es 0 siempre será, si es 1, siempre será 1, porqué? Realimentación
Uno de los circuitos secuenciales más básicos es el flip-flop SR. “SR” por set/reset. “SR” por set/reset. Circuito lógico y diagrama en bloque de un flip- flop SR: Flip-Flops
La tabla característica describe el comportamiento del flip-flop SR. Q(t) es el valor de la salida al tiempo t. Q(t+1) es el valor de Q en el próximo ciclo de clock. Flip-Flops
El flip-flop SR tiene en realidad 3 entradas: S, R, y su salida corriente, Q(t). Note los dos valores indefinidos, cuando las entradas S y R son 1, el flip- flop es inestable. Flip-Flops
Si aseguramos que las entradas al SR no estarán nunca las dos en 1, el circuito se volvería estable. Es posible realizar esta modificación: El flip-flop modificado se denomina JK. - “JK” en honor de Jack Kilby (inventor del circuito integrado). Flip-Flop JK
A la derecha podemos ver el circuito lógico de flip-flop SR modificado. La tabla característica indica que es estable para cualquier combinación de sus entradas. Flip-Flop JK
Otra modificación al flip-flop SR es el denominado flip-flop D. Note que retiene el valor de la entrada al pulso de clock, hasta que cambia dicha entrada, pero al próximo pulso de clock. Flip-Flop D
El flip-flop D es el circuito fundamental (celda) de la memoria de una computadora. Flip-Flop D
Registro de 4 bits compuesto por 4 flip-flops D. Registros
Un contador binario es otro ejemplo de circuito secuencial. El bit de menor orden se complementa a cada pulso de clock. Cualquier cambio de 0 a 1, produce el próximo bit complementado, y así siguiendo a los otros flip-flops. Contadores
Diseño de circuitos Los circuitos digitales se pueden ver desde dos puntos de vista: análisis digital y síntesis digital. El Análisis Digital explora la relación entre las entradas a un circuito y sus salidas. El Análisis Digital explora la relación entre las entradas a un circuito y sus salidas. La Síntesis Digital crea diagramas lógicos utilizando los valores expresados en una tabla de verdad. La Síntesis Digital crea diagramas lógicos utilizando los valores expresados en una tabla de verdad. Los diseñadores de circuitos digitales deben tener en cuenta el comportamiento físico de los circuitos electrónicos, es decir existen retardos de propagación, los cuales pueden incidir cuando las señales toman distintos caminos, en la tabla de verdad de todo el sistema.
Los circuitos sincrónicos funcionan sobre la base del tiempo. Es decir, las salidas dependen no sólo de las entradas. Sino del estado en que estaban las salidas y del tiempo. Circuitos sincrónicos
Flip-flop RS S Q Q RSRQ00? 01? 10? 11?
S Q Q RSRQ Q
S Q Q RSRQQ QQ
S Q Q RSRQQ QQ FF set reset
SRQ Q S Q Q R FF S Q R Ejercicio:Encontrar Q para las señales R, S dadas t
SRQ Q S Q Q R FF S Q R Ejercicio:Encontrar Q para las señales R, S dadas t
Flip-flop RS síncrono S Q Q R CKCKSRQ00Q
Flip-flop RS síncrono CKCKSRQ00Q S Q Q R FF set reset clock
S Q R Ejercicio:Encontrar Q para las señales R, S dadas usando FF RS síncrono tCKSRQ00Q CK S Q Q R FF CK
S Q R Ejercicio:Encontrar Q para las señales R, S dadas usando FF RS síncrono tCKSRQ00Q CK S Q Q R FF CK
Flip-flop D CK S Q Q R FF data clock DCKDQ00 11 Sin clock la salida no cambia
Flip-flop D CK D Q Q data clock PR CLRPRCLRCKDQ01XX1 10XX0 1111 1100 110XQ
Flip-flop JK CK J Q Q K data clockCKJKQ00Q 010 101 11Q 0XXQ
Contador de 4 bits basado en Flip-Flop JK CK J Q K 1 1 J Q K 1 1 J Q K 1 1 J Q K 1 1 LSB MSB
Registro de corrimiento basado en Flip-Flops D CK D Q data CK D Q D Q D Q
Diseño de un circuito secuencial Ejemplo:diseñar un circuito secuencial que genere una secuencia de estados binarios: 00, 01, 10, 11 a partir de una señal de control x, que cada vez que esté en 1 y venga una señal de clock cambie de estado.
Consideraciones de diseño: 1.Hacer un diagrama de estado identificando las variables entrada (control) y salida. En el diagrama: un estado es un círculo, un flecha es una transición de un estado a otro. 2.El número de flip-flops necesarios para el circuito es el número de bits que tienen los estados. 3.Se realiza la tabla de estados y la tabla de excitación para cada flip-flop. 4.Se diseña el circuito combinacional para cada entrada de cada flip-flop usando mapas de Karnough. 5.Se implementa el circuito secuencial. Circuitos secuenciales
Celda de memoria entrada salida leer/escribir (1/0) seleccionar S R Q Celda de memoria
entrada salida leer/escribir (1/0) seleccionar S R Q Celda de memoria BC entrada seleccionar salida leer/escribir (1/0)
BC Dato de entrada (3 bits) Dato de salida leer/escribir Entrada de selección de memoria Decoder 2×4 D0D0 D1D1 D2D2 D3D3 A0A0 A1A1 Unidad de memoria de 4 × 3 bits Unidad de memoria de 4 x 3 bits
Unidad de memoria RAM
Celda de memoria RAM
IN OUT EN = 0 IN OUT EN = 1 Esquema eléctrico EN: enable IN: input OUT: output Buffer de 3 estados
EN: enable IN: input OUT: output Diagrama Tabla de verdad Buffer de 3 estados
Diagrama Tabla de verdad Buffer de 3 estados
RAM de 16 x 1 bit
RAM de 16 x 1 bit usando celdas de 4 x 4
Chip 64 x 8 RAM RAM de 64K x 8 bits
RAM de 256K 4 chips 64K x 8
RAM de 64K x 16 utilizando 2 chips de 64K x 8
Memoria ROM (read only memory)
Lógica interna de una ROM
Tabla de verdad ROM 32 x 8
Programación de ROM 32 x 8