Download Lógica digital - memorias

Document related concepts
no text concepts found
Transcript
Organización del
Computador 1
Lógica Digital 2
Circuitos y memorias
Flip-flops

Circuitos combinatorios  Funciones Booleanas




El resultado depende sólo de las entradas
Para hacer aplicaciones mas interesantes,
necesitamos circuitos que puedan “recordar” su
estado y que actúen según su estado y las
entradas.
¿Para que? Para construir memorias, registros,
contadores, etc.
Un circuito lógico de estas características se
denomina flip-flop. La razón porque memoriza un
estado hasta que se le grabe otro estado diferente.
Realimentación



Para utilizar sus valores previos, 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á 0, si es 1, siempre será 1,
porqué?
Flip-flop SR

Uno de los circuitos secuenciales más básicos es
el flip-flop SR.


“SR” por set/reset.
Circuito lógico y diagrama en bloque
Flip-flop SR

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-flop SR

A los efectos del análisis
de los estados,
podemos considerar que
el flip-flop SR tiene en
realidad 3 entradas: S,
R, y su salida actual
Q(t).
 Note los dos valores
indefinidos, cuando las
entradas S y R son 1, el
flip-flop es inestable
¿Por qué?
Flip-flop RS
 Para
uniformar el tipo de compuerta a
utilizar puede demostrarse fácilmente que
todos los circuitos lógicos se pueden
construir utilizando compuertas NOR o
Compuertas NAND solamente.
 Esto ayuda a trabajar con los elementos
reales ya que minimiza la cantidad de
componentes físicos que incluimos en
nuestro diseño lógico
Flip-flop RS NAND
S
Q
Aplicando De Morgan
S
Q
S + Qt = S . Q t
Q
R
Q
R
S
Q
Q
R
Habilitación de datos
(Enable)
 Generalmente
es necesario determinar
cuando grabar información en un latch, a
pesar de tener datos en la entrada
 Para habilitar (enable) es ideal la
compuerta AND.
A
Enable
Q
Si Enable = 0, Q = 0
Si Enable = 1, Q = A
Flip-flop SR con Enable
S
S’
Q
Enable
R’
Q
R
S
Integramente
con
compuertas
NAND
S’
Q
Enable
R’
R
Q
Ejercicio
Encontrar Q para las
señales R, S dadas
S
1
0
1
0
1
1
1
1
1
0
R
0
0
1
1
1
0
1
0
1
1
S
Q
t
R
Q
Q
Ejercicio
Encontrar Q para las
señales R, S dadas
S
1
0
1
0
1
1
1
1
1
0
R
0
0
1
1
1
0
1
0
1
1
S
Q
0
1
1
1
1
0
0
0
0
1
t
R
Q
Q
Circuitos sincrónicos
 Los
circuitos sincrónicos funcionan sobre
lo que denominaremos base de tiempo.
 Es
decir, las salidas dependen no sólo de
las entradas, sino del estado en que
estaban las salidas y del ritmo que impone
la base de tiempo.
Bases de tiempo = Relojes

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 oscilantes, con una frecuencia
uniforme
Cambios de estado

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)
Flip-flop RS sincrónico
CK
Q
S
CK
Q
R
S
R
Q
0
0
Q
0
1
0
1
0
1
1
1
-
Flip-flop RS sincrónico
CK
set
S
clock
CK
reset
R
Q
Q
S
R
Q
0
0
Q
0
1
0
1
0
1
1
1
-
Ejercicio
Encontrar Q para las señales R, S
dadas usando RS síncrono
CK
CK
S
S
R
Q
0
0
Q
0
1
0
1
0
1
1
1
-
R
S
Q
Q
CK
t
R
Q
Ejercicio
Encontrar Q para las señales R, S
dadas usando RS síncrono
CK
CK
S
S
R
Q
0
0
Q
0
1
0
1
0
1
1
1
-
R
S
Q
Q
CK
t
R
Q
Flip-flop D



Otra modificación al flip-flop SR es el
denominado flip-flop D.
Elimina el estado inestable asegurando que
siempre S y R son mutuamente inversas
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 en:



una celda de 1 bit de memoria RAM, de tecnología
estática (de las que nos ocuparemos en breve).
un bit de un registro de un controlador Entrada
Salida.
un bit de un registro que compone la arquitectura de
la CPU
Registros
 Registro
de 4 bits
compuesto por 4
flip-flop D.
Registro de desplazamiento
basado en flip-flop D
data
D
CK
Q
D
CK
Q
D
CK
Q
D
CK
Q
Limitaciones de los flip-flop
Ciclo de reloj
data
clock
D
Q
CK

Q
CK
Q

D
Q
Cuando se conectan en cascada para
construir circuitos secuenciales, el
tiempo de propagación tpd, que es el
que tarda la entrada del latch en
grabarse a su salida, puede hacer que
una entrada tome el nuevo estado en
tpd en lugar de en el ciclo siguiente de
clock.
Se trata de dispositivos transparentes.
La entrada se propaga a la salida
luego de tpd.
tpd
tpd
¿Cómo se arregla esto?
Flip-flops Master Slave

S
Son dispositivos de almacenamiento no
transparentes
S1
Q1
R1
Q2
Q
CK
CK
R
S2
Q1
R2
Q2
Q
Q1
Q2
Ciclo de reloj
tpd
tpd
Flip-flop JK



La idea es convertir el flip-flop SR en un flip-flop
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.
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.
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.
Contadores

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-flop.
Celda de memoria
seleccionar
entrada
S
Q
R
leer/escribir (1/0)
salida
Celda de memoria
Celda de memoria
seleccionar
entrada
S
Q
salida
seleccionar
R
entrada
BC
salida
leer/escribir (1/0)
leer/escribir (1/0)
Unidad
de
memoria
de
4
x
3
Unidad de memoria de 4 × 3 bits
bits
Dato de entrada (3 bits)
A0
A1
Entrada de
selección
de memoria
D0
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
D1
D2
D3
Decoder
2×4
leer/escribir
Dato de salida
Unidad de memoria RAM
Ejemplo: RAM de 16 x 1 bit
Ejemplo: RAM de 16 x 1 bit
usando celdas de 4 x 4
Diagrama en bloque
RAM Chip
de 6464K
x
8
bits
x 8 RAM
Ejemplo: RAM de 256K con 4
chips de 64K x 8
Ejemplo: RAM de 64K x 16
utilizando 2 chips de 64K x 8