Está en la página 1de 50

6 .

1 REGISTROS
Elena Valderrama
Universidad Autnoma de Barcelona

6 .1

1. Registros

El registro es el mdulo secuencial ms simple. Un registro de n bits es simplemente


un conjunto de n biestables controlados todos ellos por las mismas seales de reloj y
de Reset o Set.
Almacenan n bits de informacin.

S
D

in0

S
D

....

(n)

......

Q
_
Q

in 0

Reg n bits

S
Q
_
Q

Reset
Load

S
Q
_
Q

Q
_
Q

in1

....

inn-3

inn-2

inn-1

inn-1 inn-2

outn-1 outn-2

out1 out0

In (n-1,0)
Load
Reset

out0

outn-3

outn-2

outn-1

Reset
Load

Reg n bits

Out (n-1,0)

6 .1

1. Registros
Salida OE (Output Enable): Permite la conexin directa a un bus

....

Reset
Load

Registro n bits
....

Bus n bits

6 .1

2. Registros de desplazamiento

in

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.

Serial in

S
D

S
D
R

....

Q
_
Q
R

Reset
CK

S
D

Q
_
Q

Q
_
Q

Q
_
Q

(n)

Shift Reg n bits


....

outn-1 out n-2

out1 out0

Shift
CK
Reset

Shift Reg n bits

out0

Outn-3

Outn-2

Outn-1

Serial in
Reset
CK

Out (n-1,0)

6 .1

2.1 Tipos de registros de desplazamiento


1. En funcin del sentido del desplazamiento:
a)
b)
c)

A la derecha (con relleno o no a 0s) o a la izquierda (con relleno o no a 0s)


Cclicos a derecha o a izquierda
Bidireccionales

EJEMPLO: Registro de desplazamiento bidireccional de 5 bits.


L/R: Left/Right
E/D
L/R
in

0
1

S
D

0
1

S
D

S
D

S
D

S
D

Q
_
Q

0
1

Q
_
Q

0
1

Q
_
Q

0
1

Q
_
Q

Q
_
Q

CK
Shift

out0

out1

Out2

Out3

Out4

Reset

2.1 Tipos de registros de desplazamiento

6 .1

2. En funcin del tipo de entrada y de salida.


a)
b)

Entrada serie y/o paralelo


Salida serie y/o paralela

6 .1

2.1 Tipos de registros de desplazamiento

2. En funcin del tipo de entrada. Los chips comerciales suelen llevar ambas salidas, la
serie y la paralelo incorporadas:
a)
b)

Entrada serie
Entrada paralela

EJEMPLO: Registro de desplazamiento con entrada serie y paralelo y salida serie.


inn-4

inn-3

inn-2

inn-1

Carga sncrona
L/S: Load/Shift

D/C
L/S
S
D

S
D
R

0
1

S
D

Q
_
Q
R

0
1

.....

S
D

Q
_
Q

Q
_
Q

0
1

Q
_
Q

Serial
out

CK
Shift

Reset

6 .1

2.2 Controles especiales

Seal PL (Parallel Load): Los bits de entrada se cargan en el registro con independencia
de la seal de reloj. Seal de carga asncrona.
Seal CE (Clock Enable): Cuando est activa, permite que la seal de reloj llegue al
circuito. Si est desactivada, el circuito queda parado.
Las seales OE (Output Enable): Ya vista. Cuando est desactivada, las salidas de datos
estn en alta impedancia.

Carga sncrona:

....

Reset
PL or L/S
CE
CK

Serial_Out

Registro de desplazamiento

L/S: Load/Shift

Carga asncrona:
PL

....

6 .1

Pregunta 1
En el circuito de desplazamiento que se muestra en la figura:
Cuando la seal L/S est configurada en modo L
(Load), los datos inn-1,,in1,in0 se cargan en los flipflops inmediatamente
Cuando la seal L/S est configurada en modo L
(Load), los datos inn-1,,in1,in0 se cargan en los flipflops en el siguiente flanco de reloj
El contenido de los flip-flops se desplaza una posicin a
la derecha cada vez que se recibe un flanco de la seal
CK, independientemente del valor que tenga la seal
L/S

....

Reset
L/S
CE
CK

Registro de desplazamiento
(derecha)

Serial_Out

....

El contenido de los flip-flops se desplaza una posicin a


la derecha cada vez que se recibe un flanco de la seal
CK y L/S est en modo S
9

6 .1

Pregunta 2
En el circuito de desplazamiento que se muestra en la figura:
Cuando la seal PL est activa, los datos inn-1,,in1,in0
se cargan en los flip-flops inmediatamente

Cuando la seal PL est activa, los datos inn-1,,in1,in0


se cargan en los flip-flops en el siguiente flanco de reloj Reset
El contenido de los flip-flops se desplaza una posicin a
la derecha cada vez que se recibe un flanco de la seal
CK y PL est activa.

PL
CE
CK

....

Registro de desplazamiento
(derecha)

Serial_Out

....

El contenido de los flip-flops se desplaza una posicin a


la derecha cada vez que se recibe un flanco de la seal
CK, independientemente del valor de PL.

10

6 .1

2.3 Usos ms habituales de los regs de desplazamiento


1. En UALs, por su capacidad de multiplicar y dividir por 2
2. En transmisin de seales, como conversores serie-paralelo y paralelo-serie
3. Como reconocedores de secuencias

CANAL DE TRANSMISIN

SR entrada
serie/salida paralela

SR entrada paralelo/salida
serie

Origen

CONVERSORES SERIE-PARALELO Y PARALELO-SERIE

Destino

11

6 .1

2.3 Usos ms habituales de los regs de desplazamiento


RECONOCEDORES DE SECUENCIAS (de 1 bit)

... 1001 ...

in
D

Q
_
Q

Q
_
Q

Q
_
Q

Q
_
Q

CK
out

12

6 .1

2.3 Usos ms habituales de los regs de desplazamiento


RECONOCEDORES DE SECUENCIAS (varios bits)
in1
0001

Q
_
Q

Q
_
Q

Q
_
Q

Q
_
Q

Q
_
Q

Q
_
Q

Q
_
Q

Q
_
Q

in2
0011

out
in3
1000

Q
_
Q

Q
_
Q

Q
_
Q

Q
_
Q

1026

CK
13

6 .1
RESUMEN
1. Registros: Almacenan n bits de informacin. Bloques fundamentales en los
computadores.
2. Registros de desplazamiento. Tipos y usos ms frecuentes.

14

6 .2 CONTADORES
Elena Valderrama
Universidad Autnoma de Barcelona

1. Contadores

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 cclica
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

1. Contadores

6 .2

Ejemplo: Contador binario ascendente de 3 bits


(000, 001, 010, 011, 100, 101, 110, 111)
Est. actual
q0 q 1 q 2
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Est siguiente

q0
q1
q2
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0

17

6 .2

1. Contadores
Ejemplo: Contador binario ascendente de 3 bits
(000, 001, 010, 011, 100, 101, 110, 111)
Est. actual
q0 q 1 q 2
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Est siguiente

q0
q1
q2
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0

D0 = q0 = q0 .q1 + q0 .q2 + q0 .q1.q2 = q0 q1.q2


D1 = q1 = q1 q2
D2 = q2 = q2

D0

S
D

Q
_
Q

>CP

q0

D1

S
D

>CP

Q
_
Q

D2

q1

S
D
CP
>

Q
_
Q

q2

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

Reset
Load

Registro 3 bits

out

19

6 .2

1. Contadores

Seal INC (Increment): El contador incrementa su estado a cada pulso de la seal INC.
Seal OE (Output Enable).
Seal CE (Count Enable) = Clock Enable
Seal TC (Terminal Count): TC=1 cuando el contador ha llegado a su valor mximo. Sirve para
conectar contadores en serie.

Reset
CE
INC

Contador de n bits

TC

20

6 .2

Pregunta 1

Los mdulos 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
seal TC=1. El circuito formado por los dos contadores:

o Cuenta de 0 a 31

Reset

o Cuenta de 0 a 63

CE
INC

>

CONT 4bits

TC

CE

>
INC

CONT 4bits

TC

o Cuenta de 0 a 127
o Cuenta de 0 a 255

q0 q1 q2 q3

q4 q5 q6 q7

21

6 .2

2. Contadores bidireccionales
Incrementa o decrementa su valor dependiendo de la seal U/D (Up/Down)
000

U/D=1

U/D
Reset

U/D=1
001
U/D=1

U/D=0

CE
INC/DEC

Contador de n bits

TC

U/D=0
010
U/D=0

U/D=1

U/D=1

U/D=0
111

U/D=0
22

6 .2

3. Contadores con carga paralela


Carga paralela sncrona cuando Load est activa

Reset
Load
,
.
INC

Contador de n bits

TC

....

23

6 .2

3. Contadores con carga paralela


Reset asncrono o reset sncrono

Gnd


Reset

Reset
PL or L/C

Contador de n bits

TC

INC

Load

Contador de n bits

TC

INC
....

....

24

4. Usos ms habituales de los contadores

6 .2

1. Contar intervalos de tiempo (temporizadores)


2. Contar eventos
3. Divisores de frecuencia
4. Generadores de secuencias

25

4. Usos ms habituales de los contadores

6 .2

1. Contar intervalos de tiempo (temporizadores)


Construir un circuito que genere una seal z=1 cada 5 segundos
Seleccionar el periodo de reloj
recortar el conteo

26

4. Usos ms habituales de los contadores

6 .2

3. Divisores de frecuencia
Construir un circuito que a partir de una seal de reloj de frecuencia f genere una
nueva seal de reloj de frecuencia f/4

27

6 .2

Pregunta 2

El mdulo que se muestra en la figura es un contador binario ascendente de 4 bits. CK1 es una
seal de reloj frecuencia igual a 256KHz. En el ciclo de reloj en el que alcanza el valor 1111, el
contador genera una seal TC=1. Si se desea utilizar la salida TC como seal de reloj (CK2), cul
ser la frecuencia de dicho reloj?
o 16 Hz.
o 1 KHz.

Reset
CK1

>

CONT 4bits

TC (CK2)

o 16 KHz
o Ninguna de las anteriores

q0 q1 q2 q3

28

4. Usos ms habituales de los contadores

6 .2

4. Generadores de secuencias
a) Construir un circuito que genere la secuencia 10010101
b) Idem la secuencia 100101

29

4. Usos ms habituales de los contadores

6 .2

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 seal de reloj (o equivalente)
2. Tipos y usos ms frecuentes.

31

6 .2

32

6 .3 MEMORIAS
Elena Valderrama
Universidad Autnoma de Barcelona

1. Memorias

6 .3

Las memorias son mdulos secuenciales capaces de almacenar un nmero elevado de


bits de informacin.
Una memoria se puede ver como un conjunto de registros apilados a los cuales se puede
acceder individualmente ya sea para cargar informacin (escribir) o para leer la informacin
existente.

34

6 .3

1. Memorias

a1
a0

Decodificador de direcciones

Bus de direcciones

lneas de
palabra

lneas
de
bit

2
A todas
las
celdas

Circuitera de lectura/escritura
d5

d4

d3

d2

Bus de datos

d1

R/W
d0
35

6 .3

1. Memorias: Tipos
Memorias

Voltiles

No voltiles

Lectura
/escritura

DRAM

Lectura + escritura en
condiciones especiales

SRAM

EPROM

flash

Solo lectura

ROM por
mscara

OTP ROM

EEPROM

36

6 .3

Storage
permanence

1. Memorias: Tipos

Mask-programmed ROM
OTP ROM

Ideal memory

In-system
programmable

Life of product
EPROM EEPROM

Tens of years
Battery life
(10 years)

Nonvolatile

FLASH
NVRAM

SRAM/DRAM
Near zero
During
External
External
External
External
fast
fabrication programmer, programmer, programmer programmer In-system,
writes,
OR in-system, OR in-system,
only
one time only
1.000s
block-oriented
unlimited
1.000s
of cycles
Writes.
cycles
of cycles
1.000s of cycles

Write
ability

37

2. Memorias RAM
Memorias voltiles que permiten lectura y escritura
RAMs estticas (SRAM)
RAMs dinmicas (DRAM)

R/W
D

<

a0

lneas
de
bit

Celda SRAM

Lnea de palabra

Lnea de bit

a1

Decodificador de direcciones

Bus de direcciones

lneas de
palabra

Q
Q

Lnea de bit

6 .3

2
A todas
las
celdas

Circuitera de lectura/escritura

Celda DRAM

R/W

Lnea de palabra
d5

d4

d3

d2

Bus de datos

d1

d0

38

6 .3

a0

Decodificador de direcciones

a1

lneas
de
bit

R/W
D

<

Bus de direcciones

lneas de
palabra

Q
Q

Lnea de bit

2.1 Memorias SRAM

2
A todas
las
celdas

Circuitera de lectura/escritura
d5

d4

d3

d2

d1

R/W

L/E:
1. Si L: Datos en Bus de datos
2. Direccin en Bus de direcciones
3. R/W=1 si L; R/W=0 si E

Lnea de palabra

d0

Bus de datos

Chips de hasta 64Mbits (no confundir el tamao del chip con el tamao de un banco de memoria)
Tiempos de L/E tpicos en el rango de 10-100ns. (depende del tamao)
Menor consumo que las DRAM (salvo a frecuencias muy altas)
39

6 .3
Lnea de bit

Lnea de bit

2.2 Memorias DRAM

Pre-carga +
comparador
R/W

Circuitera de lectura/escritura y
refresco

R/W

Lnea de palabra
Bus de datos
di

Requiere refresco
La lectura es destructiva
Chips de hasta 2 Gbits (tamao del chip tamao del banco de memoria)
Ms lenta que la SRAM debido a los refrescos
Mayor consumo, en general, que las DRAM
40

6 .3

2. Memorias ROM
Estudiadas en la leccin 1.3 (semana 1)

La informacin viene de fbrica (ROM por mscara), o la introduce una nica vez el usuario
(OTP ROM: One Time Programmable ROM)

a1
a0

Decodificador de direcciones

Bus de direcciones

lneas de palabra
lneas de bit

0
1
2

Circuitera de lectura
d5

d4

d3

d2

Bus de datos

d1

d0

41

3. Memorias PROM

6 .3

Memorias en que la escritura slo se puede realizar en condiciones especiales. La celda


bsica contiene un nico transistor de puerta flotante
EPROM (Erasable Programmable ROM)
La informacin se borra por radiacin ultravioleta. El borrado afecta a toda la memoria
Se cargan mediante un dispositivo programador

EEPROM (Electrically Erasable Programmable ROM)


La informacin se borra selectivamente aplicando un voltaje alto
La circuitera necesaria para la carga se integra dentro del propio sistema

Flash memories
Evolucin de las EEPROM en las que el borrado y la carga se realizan por bloques, optimizando el HW
La circuitera necesaria para la carga se integra dentro del chip
Uso en pens, cmaras digitales, celulares, alternativas al disco duro (SSD)
42

Pregunta 1

6 .3

Qu tipo/s de memoria/s es no-voltil y puede ser escrita miles de veces?


SRAM
DRAM
OTP ROM
EPROM
Flash
Ninguna de ellas

43

6 .3

4. Banco de memoria

Cmo 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

256 x 4

1.024 x 8
OE

A
(10)

OE

D
(8)

A
(8)

D
(4)

44

6 .3

4. Banco de memoria
EJEMPLO:

direcciones

MEMORY MAPPING

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)

a9
0
0

0
0
0

0
1
1

1
1
1

a8
0
0
0
1
1
1
0
0
0
1
1
1

a7 a6 a5 a4 a3 a2 a1 a0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1

1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1

1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1

1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1

1 1 1 1 1 1 1 1

bits
2 1

Chip 1

R/W ME

Chip 2

256 x 4
OE

Chip 3

A
(8)

D
(4)

Chip 4
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)

Chip 1

Chip 2

Chip 3

Chip 4

d7d6d5d4

Chip 5

Chip 6

Chip 7

Chip 8

d3d2d1d0

47

Pregunta 2

6 .3

Cuntos 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

Pregunta 3

6 .3

Cuntos 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 parmetros que definen los distintos tipos de memorias:
Volatilidad, permanencia de la informacin y nmero de ciclos de L/E que admite el
chip.
2. Hemos estudiado que las memorias se organizan en palabras y se identifican por una
direccin.
3. Hemos conocido los tipos de memoria de uso ms frecuente (SRAM, DRAM, ROM,
EPROM, EEPROM y flash)
4. Hemos aprendido el concepto de banco de memoria con un ejemplo.

50

También podría gustarte