Semana 6 - Lecciones

50
REGISTROS Elena Valderrama Universidad Autónoma de Barcelona 6 .1

description

electronica digital

Transcript of Semana 6 - Lecciones

REGISTROS

Elena ValderramaUniversidad Autónoma de Barcelona

6 .1

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

CONTADORES

Elena ValderramaUniversidad Autónoma de Barcelona

6 .2

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

32

6 .2

MEMORIAS

Elena ValderramaUniversidad Autónoma de Barcelona

6 .3

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