Está en la página 1de 38

Fundamentos de Computadores

Subsistemas Secuenciales
Objetivos

● Conceptuales:
– Diseño modular
– Concepto de registro
– Operaciones a nivel de registros: RT
– Contador como secuenciador de estados
– Contadores y registros como elementos de propósito
general
Objetivos

● Procedimentales:
– Diseño de un registro universal a partir de biestables
y puertas lógicas
– Diseño de contadores con múltiples operaciones:
reversibilidad, puesta a cero, carga en paralelo, etc.
– Limitación y programación de estados de cuenta
– Diseño de contadores y registros a partir de otros
más simples
– Síntesis de máquinas secuenciales con subsistemas
secuenciales
Objetivos

● Actitudinales:
– Importancia del diseño modular. Ventajas e
inconvenientes
– Abstracción al nivel RT
– El registro como elemento determinante de
arquitecturas digitales complejas
Bibliografía

● Básica
– [FLOYD00] Capítulos 9 y 10
– [GARC92] Capítulo 11
– [NELS96] Capítulo 7
– [MANO98] Capítulo 5

● Complementaria
– [TOCC91] Capítulo 7
– [WAKE94] Capítulo 9
Contenidos

● Diseño modular
● Registros
– Tipos de registros
– Registro universal
● Contadores
– Diseño de contadores
– Operaciones especiales
● Síntesis de máquinas secuenciales
– Generadores de secuencia
– Diseño con registros y contadores
SUBSISTEMAS SECUENCIALES

r Conceptos generales

r Registros
4Definición y clasificación
4Descripción funcional
4Diseño modular de los registros

r Contadores
4Cuestiones básicas
4Contadores módulo 2n/ Divisores de frecuencia
4Operaciones especiales
4Contadores módulo < 2n
4Contadores de desplazamiento

r Diseño con subsistemas


4 Generadores de secuencia

T-1
Conceptos Generales

r MODULARIDAD

4 descomposición de problemas complejos

1 problema de n variables

n problemas de 1 variable

Xn-1 X1 X0

REG

REGi ← Xi ∀ i

4 diseño modular

• obtener algoritmo para el bit i-ésimo


• resolver diseño para el bit i-ésimo
• optimizar
• replicar para n bits
• simplificar celdas extremas

T-2
Registros

4 un registro es un dispositivo cuya función principal


es almacenar palabras de n bits

n -1 n-2 1 0

4 está compuesto por n biestables

4 cada biestable almacena un bit

4 la información puede ser transferida a/desde


los registros de dos formas:

4 en serie: la palabra completa se transfiere


bit a bit por una única línea
(n ciclos de reloj)

4 en paralelo: todos los bits se transfieren


simultáneamente cada uno por
una línea (1 ciclo de reloj)

T-3
Clasificación

4 según el tipo de transferencia que se realice a la


entrada y la salida de los registros se pueden
clasificar en 4 grupos

4 registros con entrada y salida serie (SER/SER)

Xin Xin

n-1 n-2 1 0 REG

Zout Zout
4 la entrada o salida de cada bit produce un
desplazamiento de los bits almacenados
4 el desplazamiento puede ser a derecha o a izquierda

4 registros con entrada serie y salida paralelo (SER/PAR)

Xin Xin

n-1 n-2 1 0 REG


n
Zn-1 Zn-2 Z1 Z0 Zn-1:0

4 sólo la entrada es mediante desplazamiento

T-4
Clasificación

4 registros con entrada paralelo y salida serie (PAR/SER)

Xn-1 Xn-2 X1 X0 Xn-1:0


n

n-1 n-2 1 0 REG

Zout Zout

4 sólo la salida es mediante desplazamiento

4 registros con entrada paralelo y salida paralelo (PAR/PAR)

Xn-1 Xn-2 X1 X0 Xn-1:0


n

n-1 n-2 1 0 REG


n
Zn-1 Zn-2 Z1 Z0 Zn-1:0

T-5
Diseño modular

4 el biestable D es el más adecuado para el diseño


de registros

4 operación de desplazamiento

- desplazamiento a derecha:
- la entrada de la celda i procede de la celda
de su izquierda (i+1)
- la primera celda (n-1) recibe la línea de entrada

Di = q i+1 i = 0,1, ..., n-2


Dn-1 = Xin

qn-1 qn-2 q0
Xin Dn-1 Dn-2 ... D0

- desplazamiento a izquierda:

Di = q i-1 i = 1, ..., n-1


D0 = Xin

T-6
Diseño modular

4 operación de carga en paralelo


- para que la celda i almacene la entrada i-ésima Xi
Di = Xi (i=0,1, ...n-1)

4 operación de salida en paralelo


- la salida proviene de la qi del biestable
Zi = qi (i=0,1, ...n-1)

Xn-1 Xn-2 X0

qn-1 qn-2 q0
Dn-1 Dn-2 ... D0

Zn-1 Zn-2 Z0

T-7
Registro universal

4 el registro universal reúne en un sólo circuito


distintos modos de operación, en concreto:
S1S0 operación
00 inhibición
01 despl. a derecha
10 despl. a izquierda
11 carga en paralelo
Puesta a cero asíncrona

4 diseño modular: nos basamos en los resultados previos


S1S0 Di=
00 qi
01 qi+1 XR si i=n-1
10 qi-1 XL si i = 0
11 Xi
usaremos biestables con CL

4 diseño para 4 bits

CL
q 3 Z3 q 2 Z2 q1 Z 1 q 0 Z0
D3 D2 D1 D0

Ck
q3 0 q2 0 q1 0 q0 0
XR 1 q3 1 q2 1 q1 1
q2 2 q1 2 q0 2 XL 2
X3 310 X2 310 X1 310 X0 310
S0
S1

T-8
Contadores
r CUESTIONES BÁSICAS
4dispositivos capaces de contar sucesos de entrada
(normalmente los flancos de la señal de cuenta)
4 número de sucesos: número de estados

A B ... I J ... K

cuenta k o más sucesos

A B ... I J ... K

cuenta módulo k

4 tipos de cuenta

• entre 0 y k-1 • ascendente


(0, 1, ..., 8, 9) (0, 1, ..., 8, 9, 0,1 ...)
CONT ← CONT + 1|mod k
• entre h y h+k-1
(13, 14, ..., 21, 22) • descendente
(9, 8, ..., 1, 0, 9, 8, ...)
CONT ← CONT - 1|mod k

4 diseño global

4 diseño modular

T-9
Contadores Binarios Módulo 2n

4 n biestables, 2n estados de cuenta SC CONT

Zn-1 Z1 Z0

4 divisores de frecuencia

SC f
q0 f/2
q1 f/4
q2 f/8
q3 f/16
... ... ... ... ... ... ... ... ... ...

4 contador binario síncrono

4 contador binario de rizado

T-10
Contador Binario Síncrono

SC
q0

q1

q2
q3
... ... ... ... ... ... ... ...

• diseño modular

Q0 = q0
Qi = qi si qi-1 = . . . = q1 = q0 = 1
Qi = qi en otro caso

J0 = K 0 = 1
Ji = Ki = qi -1. qi-2 . . . . . q0, i ∈ [1,n-1]

Zi = qi 4 contador ascendente
Zi = qi 4 contador descendente

T-11
Contador Binario Síncrono

J0 = K0 = 1
Ji = Ki = qi -1. qi-2 . . . . . q0,
i ∈ [1,n-1]

r Contador síncrono serie

q0 q1q0 q2q1q0

J0 q0 J1 q1 J2 q2 J3 q3
1
K0 K1 K2 K3 ...
...
SC
Z0 Z1 Z2 Z3

r Contador síncrono paralelo

q q1
J0 q0 J1 q1 0 J2 q2 q0 J3 q3 ...
1
K0 K1 K2 K3 ...
SC
Z0 Z1 Z2 Z3

T-12
Contador Binario de Rizado

SC
q0

q1

q2
q3
... ... ... ... ... ... ... ...

• diseño
Qi = qi cuando qi-1: 1 → 0

1 Ji q i
Zi = qi 4 contador ascendente
1 Ki qi
Zi = qi 4 contador descendente
qi-1 Zi

1 J0 q0 1 J1 q1 1 Ji qi
... ...
1 K0 q0 1 K1 q1 1 Ki qi
SC ... ...
qi-1
Z0 Z1 Zi

4 ascendente

T-13
Contador Binario de Rizado

4 los biestables no conmutan simultáneamente

4 estados no deseados ( ↑ con el no de etapas)

4 disparo de otros dispositivos

SC

q0 1 0
q1 1 0
q2 1 0
q3 0 1
tprop 7 8
tprop tprop
640

T-14
Contadores Módulo 2n No Binarios

r otros códigos de salida: Gray, BCD, ...

4 como diseño específico 4 a partir de un contador binario

contador
SC binario
A B A 000
000 001 Y2 Y1 Y0
H C B 001
100 011 C 011 circuito
D 010 combinacional
G D
101 010 E 110
F E F
111 110 111 Z2 Z1 Z0
G 101
H 100 Y2Y1Y0 Z2Z1Z0
000 000
J2 = q1q0 K2 = q1q0 001 001
Zi = qi Z0 = Y2 ⊕ Y1 ⊕ Y0
J1 = q2q0 K1 = q2q0 010 011 Z1 = Y2 ⊕ Y1
011 010 Z2 = Y2
J0 = q2q1 + q2q1 100 110
K0 = q2q1 + q2q1 101 111
110 101 contador Gray
contador Gray mód. 8 111 100 mód. 8

T-15
Salidas de Fin de Ciclo de Cuenta

r detección del último estado de cuenta

4 para activar acciones


4 para la asociación de contadores

r contadores ascendentes: carry último


4 Cy = qn-1 . qn-2 . . . . . q0

r contadores descendentes: borrow


4 Bw = qn-1 . qn-2 . . . . . q0

• nivel o flanco de fin de ciclo

SC
[CONT] = . . . último inicial ...
señal de fin de ciclo Flancos de fin
de ciclo

señal de fin de ciclo


Niveles de fin de ciclo

T-16
Operaciones Especiales

r Descripción funcional

4 puesta a 0 4 puesta a 1
CONT ← 0 CONT ← 1
• inicio del ciclo de cuenta
4 carga del estado de cuenta 4 inhibición

CONT ← Xin CONT ← CONT


• predeterminación del • detener la cuenta
estado de cuenta • almacenar

r realizaciones

asíncronas síncronas
1 1
C C.C.
EE cuenta 0 EE cl pr q

C.C. 1 biest. q
cl pr q
EE
biest. q C

EE operación especial

modificaciones a la celda básica

T-17
Realizaciones Asíncronas

CL
SC CONT

PR
SC SC CONT

CL
PR
[CONT] 0 cuenta(SC)
[CONT] cuenta (según SC)
[CONT] 0 cuenta(SC) 11...11
(caso síncrono)

CL . . . CL ... PR . . . PR ...
1 1

cl pr cl pr q
q
i i
q q

puesta a 0 puesta a 1

T-18
Realizaciones Asíncronas
carga en paralelo inhibición
Xn-1 X1X0
SC SCint
LOAD INH CONT
SC CONT

SC
LOAD
INH
XIN VÁLIDO
SCint
[CONT] cuenta XIN cuenta (según SC)
se pierde la cuenta de
este suceso de entrada
Xi

LOAD SC

LOAD Xi cl pr INH !
0 x 1 1 SCint
1 0 0 1 cl pr q
1 1 1 0 i flanco no deseado
q

T-19
Realizaciones Asíncronas

r Ejemplo: contador binario ascendente módulo 8 con carga asíncrona

- la solución obtenida para la celda i-ésima se replica tres veces

X0 X1 X2

LOAD

cl pr cl pr cl pr
1 T0 q0 T1 q1 T2 q2

CK

T-20
Realizaciones Asíncronas

r Ejemplo: funciones de carga en paralelo y puesta a 0 asíncronas en un contador

- la solución para la celda i-ésima viene dada por la siguiente tabla de operación

Xi

CL C.C.
LOAD CL LOAD Xi cl pr
1x x 0 1
cl pr q 00 x 1 1
EE 01 0 0 1
biest. q 01 1 1 0

cl = CL (LOAD + Xi)

pr = CL + LOAD + Xi

T-21
Realizaciones Síncronas

qi qi qi Xi
qi 0 1
0 0 0 1 0 0
0 0 1
1 0 1 1 1 1
1 0 1
Qi Qi Qi
Qi

qi qi Xi
qi qi 0 1
0 0x 0 1x 0 0x 0 0x 1x
1 x1 1 x0 1 x0 1 x1 x0
JiKi JiKi JiKi JiKi

Ji = 0, Ki = 1 Ji = 1, Ki = 0 Ji = 0, Ki = 0 Ji = Xi, Ki = Xi

puesta a 0 puesta a 1 inhibición carga en paralelo

T-22
Realizaciones Síncronas

r Ejemplo: contador binario ascendente módulo 8 con carga asíncrona

- la solución obtenida para la celda i-ésima se replica tres veces


1 1

EE cuenta 0 EE cl pr q Ji = Xi, Ki = Xi

C.C. 1 biest. ecs. de la carga en paralelo


q

C
1 1
EE operación especial qi-1...q0 0
Xi 1 cl pr
qi-1...q0 Ji qi
0
. qi
Ki
Xi 1

LOAD

T-23
Contadores Módulo < 2n

r Contadores módulo N, con N ≠ 2n


4 contador BCD (módulo 10)
4 contador módulo 60

• diseño global
4 como diseño específico
4 a partir de un contador módulo 2n (2n > N)

r como diseño específico

A B
000 001
E C A B C D E
100 010 000 001 010 011 100
D
011 asignación de estados
diagrama de estados (Zi = qi)

J2 = q1 q 0 K2 = 1
J1 = q0 K 1 = q0
J0 = q2 K0 = 1

T-24
Contadores Módulo < 2n
r como diseño específico
r a partir de un contador módulo 2n (2n > N)

SC CONT
4 contador BCD (módulo 10)
CL mód 16
• contador módulo 16
• puesta a 0 Z3 Z2 Z1 Z0
C.C.

síncrona asíncrona

Z3Z2
Z1Z0 00 01 11 10
00 0 0 - 0
• activar CL con 9
01 0 0 - -
11 0 0 - - CL = Z3 . Z0
10 0 0 - 0

SC
Z3
Z2
Z1

Z0
8 9 0 1
CL
Td and + Tprop

T-25
Contadores Módulo < 2n

SC CONT
con puesta a 0 asíncrona CL mód 16
Z3 Z2 Z1 Z0
C.C.

Z3Z2
Z1Z0 00 01 11 10
00 0 0 - 0
01 0 0 - 0 • activar CL con 10
11 0 0 - -
10 0 0 - 1 CL = Z3 . Z1

SC
Z3
Z2
Z1
Z0
9 10 0 1

CL
Tprop
Td and
Td and + Tprop asinc

T-26
Contadores de Desplazamiento

r contador en anillo r contador Johnson


n biestables
n estados start

in in PR CL CL CL
q3 q2 q1 q0
Ck q3 q2 q1 q0 D3 D2 D1 D0

out Ck

q3q2q1q0
1000 A
1000 N
0100 D B 0000
0010 0001 0100
0001 M
C 1111
1000 0010
... H
0011 L
P 1101
G E 0101 K I
0110 1001 1110
1011
F J
1100 O
1010 0111

T-27
Contador en Anillo

4 autocorrección
• n-1 ciclos Xin
• inicialización q3 q2 q1 q0
D3 D2 D1 D0

Ck
M
1111
J
0111
I
1110 N
H 0000
0011 ciclo de cuenta
F A
1100 1000
G B E
L 0110 D 0100 1001
1101 0001
C
0010
K
1011
P
O 0101
1010

T-28
Contador Johnson

4 n biestables start
4 2n estados
Xin CL CL CL CL
q3 q2 q1 q0
in D3 D2 D1 D0
q0
Ck q3 q2 q1 q0 Ck
out
Ck
q3q2q1q0 1 de 8
q3
0000 Z0 = q3q0
q2
1000 Z1 = q3q2
1100 Z2 = q2q1 q1
1110 Z3 = q1q0 q0
1111 Z4 = q3q0
0111 Z5 = q3q2
0011 Z6 = q2q1 convertidor Z0
contador n
0001 Z7 = q1q0 de . Z1
Johnson .
código .
0000 Zk
...

T-29
Generadores de Secuencia

Ck Z
. . . , b1, b2, b3, . . ., bk-1, bk, b1, b2, b3, . . ., bk-1, bk, b1, b2, . . .

longitud de la secuencia (k)

4 dispositivos de n bits log2k ≤ n ≤ k

r con un contador módulo k y un circuito combinacional

r con contadores de desplazamiento

T-30
Generadores de Secuencia

r con un contador módulo k y un circuito combinacional

Ck CONT mod k
...
circuito
combinacional

b1 0
b2 .. 1
. Z
bk .
..
2n-1 ROM 2n × m
b1
C n
b2
O n n ..
N .
T
mod k bk
..
.

Ck
Z

• soluciones programables

T-31
Generadores de Secuencia

r basado en un contador de desplazamiento

4 con n = k bits

in
Ck bk bk-1 . . . b2 b1

Z
• desplazamiento a la derecha

T-32

También podría gustarte