semana 6 - lecciones
DESCRIPTION
electronica digitalTRANSCRIPT
6 .1
� 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.
1. Registrosinn-1
inn-2
inn-3
out0
outn-2
outn-1
outn-3
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
in0
ResetLoad
......(n)ΛΛΛ Λ
Reg n bits
....
....
Load
inn-1 inn-2 in1 in0
outn-1 outn-2 out1 out0
Reset
Reg n bitsLoad
In (n-1,0)
Out (n-1,0)
Reset
2
6 .11. Registros
Salida OE (Output Enable): Permite la conexión directa a un bus
��
Registro n bits
....
....
LoadReset
����� ����……������
…. Bus n bits
3
6 .1
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.
2. Registros de desplazamiento
out0
Outn-2
Outn-1
Outn-3
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
in
Reset
Shift
(n)....
Λ Λ Λ Λ
CK
Shift Reg n bits
....
CK
outn-1 outn-2 out1 out0
Reset
Serial in
Shift Reg n bits
Out (n-1,0)
CKReset
Serial in
4
6 .1
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
2.1 Tipos de registros de desplazamiento
EJEMPLO: Registro de desplazamiento bidireccional de 5 bits.
L/R: Left/Right
Reset
Shift
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
in
out0
Out4
Out3
Out2
out1
E/D
01
01
01
01
01
Λ Λ Λ Λ Λ
L/R
CK
5
6 .1
2. En función del tipo de entrada y de salida.
a) Entrada serie y/o paralelo
b) Salida serie y/o paralela
2.1 Tipos de registros de desplazamiento
6
6 .1
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
EJEMPLO: Registro de desplazamiento con entrada serie y paralelo y salida serie.
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
SD
RQ_Q
Serial out
inn-4
in n
-3
inn-2
inn-1
D/C
Shift
Reset
.....01
01
01
Λ Λ Λ Λ
L/S
CK
Carga síncrona
L/S: Load/Shift
2.1 Tipos de registros de desplazamiento
7
6 .1
� 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.
2.2 Controles especiales
��
Registro de desplazamiento
....
....
CKCE
����� ����……������
PL or L/S
Reset Serial_Out
Carga síncrona:
L/S: Load/Shift
Carga asíncrona:
PL
8
6 .1
En el circuito de desplazamiento que se muestra en la figura:
��
Registro de desplazamiento (derecha)
....
....
CKCE
����� ����……������
L/S
Reset Serial_Out
� Cuando la señal L/S está configurada en modo ”L”
(Load), los datos inn-1,…,in1,in0 se cargan en los flip-
flops inmediatamente
� Cuando la señal L/S está configurada en modo ”L”
(Load), los datos inn-1,…,in1,in0 se cargan en los flip-
flops en el siguiente flanco de reloj
� El contenido de los flip-flops se desplaza una posición a
la derecha cada vez que se recibe un flanco de la señal
CK, independientemente del valor que tenga la señal
L/S
� El contenido de los flip-flops se desplaza una posición a
la derecha cada vez que se recibe un flanco de la señal
CK y L/S está en modo ”S”9
Pregunta 1
6 .1
En el circuito de desplazamiento que se muestra en la figura:
��
Registro de desplazamiento (derecha)
....
....
CKCE
����� ����……������
PL
Reset Serial_Out
� Cuando la señal PL está activa, los datos inn-1,…,in1,in0
se cargan en los flip-flops inmediatamente
� Cuando la señal PL está activa, los datos inn-1,…,in1,in0
se cargan en los flip-flops en el siguiente flanco de reloj
� El contenido de los flip-flops se desplaza una posición a
la derecha cada vez que se recibe un flanco de la señal
CK y PL está activa.
� El contenido de los flip-flops se desplaza una posición a
la derecha cada vez que se recibe un flanco de la señal
CK, independientemente del valor de PL.
10
Pregunta 2
6 .1
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
2.3 Usos más habituales de los regs de desplazamiento
CONVERSORES SERIE-PARALELO Y PARALELO-SERIE
SR e
ntr
ada
par
alel
o/s
alid
a se
rie
CANAL DE TRANSMISIÓN
SR e
ntr
ada
seri
e/sa
lida
par
alel
a
Origen Destino… …
11
6 .12.3 Usos más habituales de los regs de desplazamiento
RECONOCEDORES DE SECUENCIAS (de 1 bit)
12
D
Q_Q D
Q_QD
Q_QD
Q_Q
in
CK
out
... 1001 ...
6 .12.3 Usos más habituales de los regs de desplazamiento
RECONOCEDORES DE SECUENCIAS (varios bits)
13
0 0 0 1
1 0 2 6
D
Q_Q D
Q_Q D
Q_QD
Q_Q
D
Q_Q D
Q_Q D
Q_QD
Q_Q
D
Q_Q D
Q_QD
Q_QD
Q_Q
in1
in2
in3
CK
out
0 0 1 1
1 0 0 0
RESUMEN
1. Registros: Almacenan n bits de información. Bloques fundamentales en los
computadores.
2. Registros de desplazamiento. Tipos y usos más frecuentes.
6 .1
14
6 .2
� 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,
� …
1. Contadores
16
� Ejemplo: Contador binario ascendente de 3 bits
1. Contadores
(000, 001, 010, 011, 100, 101, 110, 111)
Est. actual Est siguiente q0 q1 q2 q0
∆ q1
∆ q2
∆
0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0
6 .2
17
� Ejemplo: Contador binario ascendente de 3 bits
1. Contadores
(000, 001, 010, 011, 100, 101, 110, 111)
222
2111
210210201000 .....
qqD
qqqD
qqqqqqqqqqqD
==
⊕==
⊕=++==
∆
∆
∆ Est. actual Est siguiente q0 q1 q2 q0
∆ q1
∆ q2
∆
0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0
6 .2
SD
CPR
Q_Q
SD
CPR
Q_Q
SD
CPR
Q_Q
D0 D1D2q0 q1 q2
q0 q1 q2
CK
Reset
> > >
18
� Ejemplo: Contador binario ascendente de 3 bits
1. Contadores
(000, 001, 010, 011, 100, 101, 110, 111)
6 .2
Registro 3 bitsLoad
out
Reset
Incrementador (+1)
n n
n
19
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.
6 .2
�� Contador de n bits
INC
Reset
�������……����
TCCE
20
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
o Cuenta de 0 a 63
o Cuenta de 0 a 127
o Cuenta de 0 a 255
CONT 4bits>
CONT 4bits>INC
Reset
q0 q1 q2 q3 q4 q5 q6 q7
TCCE CE
INC
TC
21
6 .2
2. Contadores bidireccionales
� Incrementa o decrementa su valor dependiendo de la señal U/D (Up/Down)
000
001
010
111
U/D=0
U/D=1
U/D=0
U/D=0
U/D=0
U/D=0
U/D=1
U/D=1
U/D=1
U/D=1
…
6 .2
��Contador de n bits
INC/DEC
Reset
�������……����
TCCE
U/D
22
3. Contadores con carga paralela
� Carga paralela síncrona cuando Load está activa
��, ��, ���.Contador de n bits
....
INC
����� ����……������
LoadReset
�������……����
TC
6 .2
23
3. Contadores con carga paralela
� Reset asíncrono o reset síncrono
��Contador de n bits
....INC
����� ����……������
PL or L/C
�������……����
TC
Reset
��Contador de n bits
....INC
LoadReset
�������……����
TC
Gnd
6 .2
24
1. Contar intervalos de tiempo (temporizadores)
2. Contar eventos
3. Divisores de frecuencia
4. Generadores de secuencias
4. Usos más habituales de los contadores6 .2
25
1. Contar intervalos de tiempo (temporizadores)
4. Usos más habituales de los contadores
Construir un circuito que genere una señal z=1 cada 5 segundos
� Seleccionar el periodo de reloj
� “recortar” el conteo
6 .2
26
3. Divisores de frecuencia
4. Usos más habituales de los contadores
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
6 .2
27
6 .2
CONT 4bits>CK1
Reset
q0 q1 q2 q3
TC (CK2)
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.
o 1 KHz.
o 16 KHz
o Ninguna de las anteriores
28
Pregunta 2
4. Generadores de secuencias
4. Usos más habituales de los contadores
a) Construir un circuito que genere la secuencia 10010101
b) Idem la secuencia 100101
6 .2
29
4. Generadores de secuencias
4. Usos más habituales de los contadores
a) Construir un circuito que genere la secuencia 10010101
b) Idem la secuencia 100101
6 .2
30
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.
6 .2
31
6 .3
� Las memorias son módulos secuenciales capaces de almacenar un número elevado de
bits de información.
1. Memorias
� 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 .31. Memorias
Dec
od
ific
ado
r d
e d
irec
cio
nes
Circuitería de lectura/escritura
0
1
2
3
líneas de
palabra
líneas
de
bit
a1
a0
d0d1d2d3d4d5
Bu
s d
e d
ire
ccio
ne
s
Bus de datos
A todas
las
celdas
R/W
35
6 .31. Memorias: Tipos
Memorias
Volátiles No volátiles
Lectura /escritura
Solo lecturaLectura + escritura en condiciones especiales
SRAMDRAM EPROM
EEPROM
flash ROM por máscara
OTP ROM
36
6 .31. Memorias: Tipos
Externalprogrammer
OR in-system,block-oriented
Writes.
1.000s of cycles
Battery life(10 years)
Writeability
EPROM
Mask-programmed ROM
EEPROM FLASH
NVRAM
SRAM/DRAM
Sto
rage
per
man
ence
Nonvolatile
In-systemprogrammable
Ideal memory
OTP ROM
Duringfabrication
only
Externalprogrammer,
1.000sof cycles
Externalprogrammer,one time only
Externalprogrammer
OR in-system,
1.000sof cycles
In-system, fastwrites,
unlimitedcycles
Near zero
Tens of years
Life of product
37
6 .32. Memorias RAM
De
cod
ific
ado
r d
e d
ire
ccio
ne
s
Circuitería de lectura/escritura
0
1
2
3
líneas de
palabra
líneas
de
bit
a1
a0
d0d1d2d3d4d5
Bu
s d
e d
ire
ccio
ne
s
Bus de datos
A todas
las
celdas
R/W
� Memorias volátiles que permiten lectura y escritura
� RAMs estáticas (SRAM)
� RAMs dinámicas (DRAM)
Línea de palabra
D
Q
Q Lín
ea
de
bit
R/W
< Celda SRAM
Lín
ea
de
bit
Línea de palabra
Celda DRAM
38
6 .32.1 Memorias SRAM
De
cod
ific
ado
r d
e d
ire
ccio
ne
s
Circuitería de lectura/escritura
0
1
2
3
líneas de
palabra
líneas
de
bit
a1
a0
d0d1d2d3d4d5
Bu
s d
e d
ire
ccio
ne
s
Bus de datos
A todas
las
celdas
R/W
� 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)
Línea de palabra
D
Q
Q Lín
ea
de
bit
R/W
<
L/E:
1. Si L: Datos en Bus de datos
2. Dirección en Bus de direcciones
3. R/W=1 si L; R/W=0 si E
39
6 .32.2 Memorias DRAM
� 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
Lín
ea
de
bit
Línea de palabra
Lín
ea
de
bit
R/W
Pre-carga + comparador
di
Circuitería de lectura/escritura y refresco
Bus de datos
R/W
40
6 .32. 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)
Dec
od
ific
ado
r d
e d
irec
cio
nes
Circuitería de lectura
0
1
2
3
líneas de palabra
líneas de bit
a1
a0
d0d1d2d3d4d5
Bu
s d
e d
ire
ccio
ne
s
Bus de datos
R
41
6 .33. 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
� EEPROM (Electrically Erasable Programmable ROM)
� La información se borra selectivamente aplicando un voltaje “alto”
� La circuitería necesaria para la carga se integra dentro del propio sistema
� 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 .3Pregunta 1
¿Qué tipo/s de memoria/s es no-volátil y puede ser escrita miles de veces?
� SRAM
� DRAM
� OTP ROM
� EPROM
� Flash
� Ninguna de ellas
43
6 .34. 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)
1.024 x 8
A D
(10) (8)
R/W ME
OE
256 x 4A D
(8) (4)
R/W ME
OE
44
6 .34. 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)
256 x 4A D
(8) (4)
R/W ME
OE
3 2 1 0
Chip 1
Chip 2
Chip 3
Chip 4
dir
ecc
ion
es
bits
a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 … … 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 … … 0 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 … … 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 … … 1 1 1 1 1 1 1 1 1 1
ME
MO
RY
MA
PP
ING
45
6 .34. 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/WME
46
6 .3
Chip 1 Chip 2 Chip 3 Chip 4 Chip 5 Chip 6 Chip 7 Chip 8
d7d6d5d4 d3d2d1d0
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)
4. Banco de memoria
47
¿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
6 .3
48
Pregunta 2
¿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
6 .3
49
Pregunta 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.
6 .3
50