Contadores y Memorias PDF
Contadores y Memorias PDF
Contadores y Memorias PDF
1 REGISTROS
Elena Valderrama
Universidad Autónoma de Barcelona
6 .1
1. Registros
El registro es el módulo secuencial más simple. Un registro de n bits es simplemente
un conjunto de n biestables controlados todos ellos por las mismas señales de reloj y
de Reset o Set.
Almacenan n bits de información.
inn-1 inn-2 in1 in 0
....
inn-1
inn-2
inn-3
in0
Reset
Load Reg n bits
....
S S S S
D Q D Q D Q D Q
_ _ _ (n) _ outn-1 outn-2 out1 out0
......
Λ
Λ
Q Q Q Q
R R R R
In (n-1,0)
Load
Reset Reset
Load Reg n bits
outn-1
outn-2
outn-3
out0
Out (n-1,0)
2
6 .1
1. Registros
Salida OE (Output Enable): Permite la conexión directa a un bus
… …
....
Reset
Registro n bits
Load
....
…. Bus n bits
3
6 .1
2. Registros de desplazamiento
Los registros de desplazamiento (shift registers) son registros que permiten desplazar su
contenido hacia la derecha o hacia la izquierda en cada pulso de reloj.
in
Serial in
Reset
S S S (n) S
Shift Reg n bits
CK
D Q D Q D Q .... D Q
_ _ _ _ ....
Λ
Λ
Λ
Λ
Q Q Q Q
R R R R outn-1 out n-2 out1 out0
Shift
CK
Reset
Serial in
Reset Shift Reg n bits
CK
Outn-1
Outn-2
Outn-3
out0
Out (n-1,0)
4
6 .1
2.1 Tipos de registros de desplazamiento
1. En función del sentido del desplazamiento:
a) A la derecha (con relleno o no a 0s) o a la izquierda (con relleno o no a 0s)
b) Cíclicos a derecha o a izquierda
c) Bidireccionales
0 S 0 S 0 S 0 S 0 S
D Q 1 D Q D Q 1 D Q 1 D Q
1 _ _ 1 _ _ _
Q
Λ
Λ
Λ
Q Q Q Q
R R R R R
CK
Shift
Reset
Out2
out0
Out4
Out3
out1
5
6 .1
2.1 Tipos de registros de desplazamiento
2. En función del tipo de entrada y de salida.
a) Entrada serie y/o paralelo
b) Salida serie y/o paralela
6
6 .1
2.1 Tipos de registros de desplazamiento
2. En función del tipo de entrada. Los chips comerciales suelen llevar ambas salidas, la
serie y la paralelo incorporadas:
a) Entrada serie
b) Entrada paralela
inn-3
inn-1
inn-2
inn-4
L/S: Load/Shift
D/C
L/S
S
D
S
Q
0
1 D
S
Q
0
1 D
S
Q
0
1
..... D Q
_ _ _ _ Serial
Q
Λ
Λ
Q Q Q out
R R R R
CK
Shift
Reset
7
6 .1
2.2 Controles especiales
Señal PL (Parallel Load): Los bits de entrada se cargan en el registro con independencia
de la señal de reloj. Señal de carga asíncrona.
Señal CE (Clock Enable): Cuando está activa, permite que la señal de reloj llegue al
circuito. Si está desactivada, el circuito queda parado.
Las señales OE (Output Enable): Ya vista. Cuando está desactivada, las salidas de datos
están en alta impedancia.
… …
.... Carga síncrona:
Reset Serial_Out L/S: Load/Shift
PL or L/S
Registro de desplazamiento Carga asíncrona:
CE
CK
PL
....
8
6 .1
Pregunta 1
En el circuito de desplazamiento que se muestra en la figura:
10
6 .1
2.3 Usos más habituales de los regs de desplazamiento
1. En UALs, por su capacidad de multiplicar y dividir por 2
2. En transmisión de señales, como conversores serie-paralelo y paralelo-serie
3. Como reconocedores de secuencias
serie/salida paralela
SR entrada
…
…
serie
11
6 .1
2.3 Usos más habituales de los regs de desplazamiento
RECONOCEDORES DE SECUENCIAS (de 1 bit)
in
... 1001 ... D Q D Q D Q D Q
_ _ _ _
Q Q Q Q
CK
out
12
6 .1
2.3 Usos más habituales de los regs de desplazamiento
RECONOCEDORES DE SECUENCIAS (varios bits)
in1
0001 D Q D Q D Q D Q
_ _ _ _
Q Q Q Q
in2
0011 D Q D Q D Q D Q
_ _ _ _
Q Q Q Q
out
in3
1000 D Q D Q D Q D Q
_ _ _ _
Q Q Q Q
1026
CK
13
6 .1
RESUMEN
1. Registros: Almacenan n bits de información. Bloques fundamentales en los
computadores.
2. Registros de desplazamiento. Tipos y usos más frecuentes.
14
6 .2 CONTADORES
Elena Valderrama
Universidad Autónoma de Barcelona
6 .2
1. Contadores
Un “contador” es un circuito secuencial que a cada pulso de reloj incrementa en 1 el
valor de su estado.
No tiene entradas de datos
Sigue una secuencia cíclica
Las salidas coinciden con los estados de los biestables que lo forman
Tipos:
Contador binario ascendente. P.e., para n=3, (000, 001, 010, 011, 100, 101, 110, 111).
Contador binario descendente. P.e., para n=3, (111, 110, 101, 100, 011, 010, 001, 000).
Contador BCD (4 bits). (0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001)
Contador Gray. P.e., para n=3, (000, 010, 110, 100, 101, 111, 011, 001)
Contadores bidireccionales,
…
16
6 .2
1. Contadores
Ejemplo: Contador binario ascendente de 3 bits
(000, 001, 010, 011, 100, 101, 110, 111)
17
6 .2
1. Contadores
Ejemplo: Contador binario ascendente de 3 bits
(000, 001, 010, 011, 100, 101, 110, 111)
CK
Reset
q0 q1 q2
18
6 .2
1. Contadores
Ejemplo: Contador binario ascendente de 3 bits
(000, 001, 010, 011, 100, 101, 110, 111)
Incrementador (+1)
n n
Reset
Load
Registro 3 bits
n
out
19
6 .2
1. Contadores
Señal INC (Increment): El contador incrementa su estado a cada pulso de la señal INC.
Señal OE (Output Enable).
Señal CE (Count Enable) = Clock Enable
Señal TC (Terminal Count): TC=1 cuando el contador ha llegado a su valor máximo. Sirve para
conectar contadores en serie.
Reset
Contador de n bits TC
CE
INC
… …
20
6 .2
Pregunta 1
Los módulos que se muestran en la figura son contadores binarios ascendentes de 4 bits.
Cada uno de ellos, en el ciclo de reloj en que su estado alcanza el valor 1111 generan una
señal TC=1. El circuito formado por los dos contadores:
o Cuenta de 0 a 31 Reset
CE CONT 4bits TC CE CONT 4bits TC
o Cuenta de 0 a 63 INC > INC
>
o Cuenta de 0 a 127
q0 q1 q2 q3 q4 q5 q6 q7
o Cuenta de 0 a 255
21
6 .2
2. Contadores bidireccionales
Incrementa o decrementa su valor dependiendo de la señal U/D (Up/Down)
U/D=1 U/D
000
U/D=1 Reset
U/D=0
001 CE Contador de n bits TC
INC/DEC
U/D=1 U/D=0
010
… …
U/D=1 U/D=0
…
U/D=1 U/D=0
111
U/D=0
22
6 .2
3. Contadores con carga paralela
Carga paralela síncrona cuando Load está activa
… …
Reset
Load
Contador de n bits TC
, , .
INC
....
… …
23
6 .2
3. Contadores con carga paralela
Reset asíncrono o reset síncrono
… … Gnd
Reset Reset
PL or L/C Contador de n bits TC Load Contador de n bits TC
INC INC
.... ....
… … … …
24
6 .2
4. Usos más habituales de los contadores
1. Contar intervalos de tiempo (temporizadores)
2. Contar eventos
3. Divisores de frecuencia
4. Generadores de secuencias
25
6 .2
4. Usos más habituales de los contadores
1. Contar intervalos de tiempo (temporizadores)
Construir un circuito que genere una señal z=1 cada 5 segundos
Seleccionar el periodo de reloj
“recortar” el conteo
26
6 .2
4. Usos más habituales de los contadores
3. Divisores de frecuencia
Construir un circuito que a partir de una señal de reloj de frecuencia f genere una
nueva señal de reloj de frecuencia f/4
27
6 .2
Pregunta 2
El módulo que se muestra en la figura es un contador binario ascendente de 4 bits. CK1 es una
señal de reloj frecuencia igual a 256KHz. En el ciclo de reloj en el que alcanza el valor 1111, el
contador genera una señal TC=1. Si se desea utilizar la salida TC como señal de reloj (CK2), ¿cuál
será la frecuencia de dicho reloj?
o 16 Hz.
Reset
o 1 KHz. CK1 > CONT 4bits TC (CK2)
o 16 KHz
o Ninguna de las anteriores q0 q1 q2 q3
28
6 .2
4. Usos más habituales de los contadores
4. Generadores de secuencias
a) Construir un circuito que genere la secuencia 10010101
b) Idem la secuencia 100101
29
6 .2
4. Usos más habituales de los contadores
4. Generadores de secuencias
a) Construir un circuito que genere la secuencia 10010101
b) Idem la secuencia 100101
30
6 .2
RESUMEN
1. Hemos visto los contadores, bloques secuenciales sin entrada de datos y cuyas salidas
son los propios estados de los biestables, que aumentan el valor de su estado en 1
cada vez que detectan un flanco en la señal de reloj (o equivalente)
2. Tipos y usos más frecuentes.
31
6 .2
32
6 .3 MEMORIAS
Elena Valderrama
Universidad Autónoma de Barcelona
6 .3
1. Memorias
Las memorias son módulos secuenciales capaces de almacenar un número elevado de
bits de información.
Una memoria se puede ver como un conjunto de registros “apilados” a los cuales se puede
acceder individualmente ya sea para cargar información (escribir) o para leer la información
existente.
34
6 .3
1. Memorias líneas de
palabra
líneas
0
Decodificador de direcciones
de
Bus de direcciones bit
a1 1
a0
2
A todas
las
celdas
3
d5 d4 d3 d2 d1 d0
Bus de datos
35
6 .3
1. Memorias: Tipos
Memorias
Volátiles No volátiles
36
6 .3
1. Memorias: Tipos
permanence
Storage
Mask-programmed ROM In-system Ideal memory
programmable
OTP ROM
Life of product
SRAM/DRAM
Near zero
Write
ability
During External External External External
fabrication programmer, programmer, programmer programmer In-system,
writes,
fast
only one time only OR in-system, OR in-system,
1.000s block-oriented unlimited
of cycles 1.000s Writes. cycles
of cycles
1.000s of cycles
37
6 .3
2. Memorias RAM
Línea de bit
Memorias volátiles que permiten lectura y escritura
RAMs estáticas (SRAM) R/W
RAMs dinámicas (DRAM) D Q
líneas de
<
Q Celda SRAM
palabra
líneas
0
Decodificador de direcciones
de
bit
Línea de palabra
Bus de direcciones
a1 1
Línea de bit
a0
2
A todas Celda DRAM
las
celdas
3
Línea de bit
líneas
0
R/W
Decodificador de direcciones
de
bit
L/E:
D Q
Bus de direcciones
a1 1 <
Q 1. Si L: Datos en Bus de datos
a0
2 2. Dirección en Bus de direcciones
A todas
las
celdas
3. R/W=1 si L; R/W=0 si E
3
Chips de hasta 64Mbits (no confundir el tamaño del chip con el tamaño de un banco de memoria)
Tiempos de L/E típicos en el rango de 10-100ns. (depende del tamaño)
Menor consumo que las DRAM (salvo a frecuencias muy altas)
39
6 .3
2.2 Memorias DRAM
Línea de bit
Línea de bit
Pre-carga +
comparador
Circuitería de lectura/escritura y R/W
R/W refresco
Línea de palabra
Bus de datos
di
Requiere refresco
La lectura es destructiva
Chips de hasta 2 Gbits (tamaño del chip ≠ tamaño del banco de memoria)
Más lenta que la SRAM debido a los refrescos
Mayor consumo, en general, que las DRAM
40
6 .3
2. Memorias ROM
Estudiadas en la lección 1.3 (semana 1)
La información viene “de fábrica” (ROM por máscara), o la introduce una única vez el usuario
(OTP ROM: One Time Programmable ROM)
líneas de palabra
líneas de bit
Decodificador de direcciones
Bus de direcciones 0
a1 1
a0
2
Circuitería de lectura R
d5 d4 d3 d2 d1 d0
Bus de datos 41
6 .3
3. Memorias PROM
Memorias en que la escritura sólo se puede realizar en condiciones especiales. La celda
básica contiene un único transistor “de puerta flotante”
EPROM (Erasable Programmable ROM)
La información se borra por radiación ultravioleta. El borrado afecta a toda la memoria
Se cargan mediante un dispositivo programador
Flash memories
Evolución de las EEPROM en las que el borrado y la carga se realizan por bloques, optimizando el HW
La circuitería necesaria para la carga se integra dentro del chip
Uso en “pens”, cámaras digitales, celulares, … alternativas al disco duro (SSD)
42
6 .3
Pregunta 1
SRAM
DRAM
OTP ROM
EPROM
Flash
Ninguna de ellas
43
6 .3
4. Banco de memoria
¿Cómo se puede construir una memoria de, p.e., 64 Gb (2Giga-palabras de 32 bits)?: La
respuesta es … interconectando chips de memoria como los vistos hasta ahora.
EJEMPLO:
Construir un banco de memorias de 1.024 palabras de 8 bits (1.024x8) utilizando chips
de memoria SRAM de 256 palabras de 4 bits (256x4)
R/W ME R/W ME
1.024 x 8 256 x 4
OE A D OE A D
44
6 .3
4. Banco de memoria
EJEMPLO:
Construir un banco de memorias de 1.024 palabras de 8 bits (1.024x8) utilizando chips
de memoria SRAM de 256 palabras de 4 bits (256x4)
bits
3 2 1 0
a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
0 0 0 0 0 0 0 0 0 0
MEMORY MAPPING
0 0 0 0 0 0 0 0 0 1
… … Chip 1 R/W ME
0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 0 0 0 0
direcciones
0 1 0 0 0 0 0 0 0 1
… … Chip 2
256 x 4
0 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0 OE A D
1 0 0 0 0 0 0 0 0 1
… …
Chip 3 (8) (4)
1 0 1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 1
… …
Chip 4
1 1 1 1 1 1 1 1 1 1
45
6 .3
4. Banco de memoria
EJEMPLO:
Construir un banco de memorias de 1.024 palabras de 8 bits (1.024x8) utilizando chips
de memoria SRAM de 256 palabras de 4 bits (256x4)
R/W
ME
46
6 .3
4. Banco de memoria
EJEMPLO:
Construir un banco de memorias de 1.024 palabras de 8 bits (1.024x8) utilizando chips
de memoria SRAM de 256 palabras de 4 bits (256x4)
d7d6d5d4 d3d2d1d0
47
6 .3
Pregunta 2
¿Cuántos bloques de memoria de 256x4 bits son necesarios para construir un banco de
memoria de 1Mx4 bits?
o 2
o 4
o 8
o 16
48
6 .3
Pregunta 3
¿Cuántos bloques de memoria de 256x4 bits son necesarios para construir un banco de memoria
de 256x64 bits?
o 2
o 4
o 8
o 16
49
6 .3
RESUMEN
1. Hemos visto los parámetros que definen los distintos tipos de memorias:
Volatilidad, permanencia de la información y número de ciclos de L/E que admite el
chip.
2. Hemos estudiado que las memorias se organizan en palabras y se identifican por una
dirección.
3. Hemos conocido los tipos de memoria de uso más frecuente (SRAM, DRAM, ROM,
EPROM, EEPROM y flash)
4. Hemos aprendido el concepto de “banco de memoria” con un ejemplo.
50