Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap3 Sec
Cap3 Sec
Síncronos
Capítulo 3:
Sistemas Secuenciales
Síncronos
• Introducción al diseño de autómatas.
• Estados equivalentes.
• Codificación de estados.
• Skew de reloj.
• Pipeline
Referencias:
•Jan M. Rabaey, “Digital Integrated Circuits:A Design
Perspective” Prentice Hall.
D.I.E. DCSE.4-1
Sistemas Secuenciales
Síncronos
Concepto de Estado
X(t)={x (t)}
i Q(t)={q (t)}
i Z(t)={z (t)}
i
Estructura General
x1 z1
X(t) Z(t)
xn CIRCUITO zp
COMBINACIONAL
Q(t) Q(t+1)
MEMORIA
(flip-flops)
CLK
D.I.E. DCSE.4-2
Sistemas Secuenciales
Síncronos
X(t)
g Z(t)
c
f
Q(t) Q(t+1)
MEMORIA
(flip-flops)
Clk
g Z(t)
X(t) c
f
Q(t) Q(t+1)
MEMORIA
(flip-flops)
Clk
D.I.E. DCSE.4-3
Sistemas Secuenciales
Síncronos
Temporización de Autómatas
Ø1 Ø2 Ø3
Clk
xb
xa
qj
qi
zn
MEALY zm
zs
MOORE zr
t t+1 t+2
D.I.E. DCSE.4-4
Sistemas Secuenciales
Síncronos
Representación de Autómatas
Diagrama de Estados
q x2/z j x4
q /z
A D p
q q /z
C F n
D.I.E. DCSE.4-5
Sistemas Secuenciales
Síncronos
1 q 3/1 q 2/0
1
D.I.E. DCSE.4-6
Sistemas Secuenciales
Síncronos
6) Simplificación (Karnaugh):
D2 = e (y1+y2) D1 = e (y’1+y2) s = y1 y2
7) Circuito:
D2 y2
e > y2
s
D1 y1
Clk > y1
D.I.E. DCSE.4-7
Sistemas Secuenciales
Síncronos
1/1 q2 q1
1/0
2) Número de flip-flops necesarios, m = 2
3) Asignación de estados (y2,y1): q0=00, q1=01, q2=11
4) Tabla del flip-flop JK (ver ejemplo anterior)
5) Tabla de Excitaciones, Transiciones y Salidas:
e J1 y1 J2 y2 s
K1 K2
> y1 > y2
Clk
D.I.E. DCSE.4-8
Sistemas Secuenciales
Síncronos
• Estados Equivalentes: Representan la misma historia
del circuito.
Q2 Q3
a/
n
a/n b/m
m
b/
c/l
Q0 Q1
c/l
Q2 Q3
a/n
b/m
Q c/l
D.I.E. DCSE.4-9
Sistemas Secuenciales
Síncronos
D.I.E. DCSE.4-10
Sistemas Secuenciales
Síncronos
Método de particiones:
D.I.E. DCSE.4-11
Sistemas Secuenciales
Síncronos
x
0 1
A C/1 B/0
B C/1 E/0
C B/1 E/0
D D/0 B/1
E E/0 A/1
Partición P0 (ABCDE)
Salida para x=0 11 10 0
Salida para x=1 00 01 1
D.I.E. DCSE.4-12
Sistemas Secuenciales
Síncronos
Tabla de implicantes:
D.I.E. DCSE.4-13
Sistemas Secuenciales
Síncronos
B
x
0 1 C
A E/0 D/0
E-B
B A/1 F/0 D D-A
C C/0 A/1
A-D
D B/0 A/0 E F-C
E D/1 C/0
F C/0 D/1 A-D
F
G H/1 G/1
H C/1 B/1 G
H-C
H G-B
A B C D E F G
B
C
Luego los estados:
E-B A-D
D D-A
B-E
A-D C-F
E F-C Son equivalentes.
A-D
F
G
H-C
H G-B
A B C D E F G
D.I.E. DCSE.4-14
Sistemas Secuenciales
Síncronos
X
0 1
A B/- E/0
B B/1 E/-
C F/0 C/0
D B/1 A/1
E D/0 C/-
F D/- C/1
X
0 1
(A,B) = A’ A’ A’/1 D’/0
C = B’ B’ D’/0 B’/0
D = C’ C’ A’/1 A’/1
(E,F) = D’ D’ C’/0 B’/1
D.I.E. DCSE.4-15
Sistemas Secuenciales
Síncronos
X
0 1 Nos queda que los estados
A B/0 E/0 (A,C,E) y (B,D,F) son
B B/1 E/1 equivalentes:
C F/0 C/0 X
D B/1 A/1 0 1
E D/0 C/0 A’ B’/0 A’/0
F D/1 C/1 B’ B’/1 A’/1
Estados compatibles:
D.I.E. DCSE.4-16
Sistemas Secuenciales
Síncronos
D.I.E. DCSE.4-17
Sistemas Secuenciales
Síncronos
D.I.E. DCSE.4-18
Sistemas Secuenciales
Síncronos
X B BD
0 1 C BD
A B/1 D/0
B -/- B/0 D AD AB
C E/0 D/- E CD
D B/1 A/0 DE
F CE
E -/- C/1
F -/0 E/1 A B C D E
3. Determinar valores U y L
Luego K=4
D.I.E. DCSE.4-19
Sistemas Secuenciales
Síncronos
X
0 1
(ABD) B ABD Cumplen propiedades
(BC) E BD Completo y Consistente.
(E) - C
(F) - E X
0 1
(ABD) -> A’ A’ A’,B’/1 A’/0
(BC) -> B’ B’ C’/0 A’/0
(E) -> C’ C’ -/- B’/1
(F) -> D’ D’ -/0 C’/1
D.I.E. DCSE.4-20
Sistemas Secuenciales
Síncronos
Otro ejemplo:
X B AC
0 1
A A/- -/- C AD
B C/1 B/0 D AD BD CD
C D/0 -/1 AD BC
E AE
D -/- B/-
E A/0 C/1 A B C D
D.I.E. DCSE.4-21
Sistemas Secuenciales
Síncronos
X
0 1 X
(ABD) AC B 0 1
(ACD) AD B A’ B’/1 A’/0
(ACE) AD C B’ A’/0 B’/1
Consideraciones:
•La minimización de estados conduce a un circuito con
un número mínimo de elementos de memoria
(biestables), que no siempre se traduce en un circuito
de mínima complejidad. El circuito está formado por
los biestables más los bloques combinacionales.
D.I.E. DCSE.4-22
Sistemas Secuenciales
Síncronos
Sea el autómata:
X
0 1
A B/0 E/0
B C/0 G/0
C D/0 F/0
D A/1 A/0
E G/0 C/0
F A/0 A/1
G F/0 D/0
Y1 Y2 Y3
A 0 0 0 J1=Y2’X+Y3X
B 0 0 1 K1=Y3’+X
C 0 1 1 J2=Y3
D 0 1 0 K2=Y3’
E 1 0 1 J3=Y2’
F 1 1 0 K3=Y2
G 1 1 1 Z=Y3’Y2Y1’X’+Y3’Y1X
D.I.E. DCSE.4-23
Sistemas Secuenciales
Síncronos
Y1 Y2 Y3
A 0 0 0 J1=Y3’X+Y2’X
B 0 0 1 K1=Y3+X
C 0 1 0 J2=Y3’Y1 +Y1’Y3
D 0 1 1 K2=Y3 +Y1X’ +Y1’X
E 1 0 0 J3=Y2+Y1’X’
F 1 0 1 K3=1
G 1 1 0 Z=Y3Y1X+Y3Y2X’
Na = 2N ! / (2N - M) !
D.I.E. DCSE.4-24
Sistemas Secuenciales
Síncronos
Ejemplo:
X
Posibles asignaciones:
0 1
A A/0 B/0 1 2 3
B A/0 C/0 Y1Y2 Y1Y2 Y1Y2
C C/0 D/0 A 0 0 1 0 0 0
D C/1 A/0 B 0 1 1 1 1 0
C 1 1 0 1 1 1
D 1 0 0 0 0 1
Con asignación 1:
D1 = Y1X’+Y2X
D2 = Y1X’+Y1’X
Con asignación 2:
D1 = Y1X’+Y2’X
D2 = Y1’X’+Y1X
Con asignación 3:
D1 = Y2X’+Y2’X
D2 = Y2X’+Y1X
D.I.E. DCSE.4-25
Sistemas Secuenciales
Síncronos
1 2 3
Y1Y2 Y1Y2 Y1Y2
A 0 0 0 0 0 0
B 0 1 1 1 1 0
C 1 1 0 1 0 1
D 1 0 1 0 1 1
X
0 1
A C/0 D/0
B C/0 A/0
C B/0 D/0
D A/1 B/1
D.I.E. DCSE.4-26
Sistemas Secuenciales
Síncronos
Con asignación 1:
D2 = Y1’Y2’+Y2’X’+XY1Y2
D1 = Y2’X’+Y1X’+XY1’Y2
Z = Y1’Y2
Con asignación 2:
D2 = Y1’X+Y2’Y1
D1 = Y2’X’+Y1X’+XY1’Y2
Z = Y1’Y2
Con asignación 3:
D2 = Y1Y2’+Y2’X+XY1
D1 = Y2’X+Y1’X’
Z = Y1Y2
Asignación Nº entradas
1 20
2 18
3 15
D.I.E. DCSE.4-27
Sistemas Secuenciales
Síncronos
Reglas:
D.I.E. DCSE.4-28
Sistemas Secuenciales
Síncronos
Y2 Y2 Y2
Y1 0 1 Y1 0 1 Y1 0 1
0 A D 0 A D 0 A B
1 B C 1 C B 1 C D
Asignación: 1 2 3
D.I.E. DCSE.4-29
Sistemas Secuenciales
Síncronos
Clk
Clk
tff tc tsu
L
T
D.I.E. DCSE.4-30
Sistemas Secuenciales
Síncronos
D.I.E. DCSE.4-31
Sistemas Secuenciales
Síncronos
tc ts tr th Salida
Entrada
de datos ti de datos
C1 R1 C2 R2
Reloj
tϕ
tϕ’ tϕ’’
D.I.E. DCSE.4-32
Sistemas Secuenciales
Síncronos
Restricciones temporales
tϕ’ tϕ’’
T
δ Reloj en R1
3
2 5
ts th ts th Reloj en R2
D.I.E. DCSE.4-33
Sistemas Secuenciales
Síncronos
Restricciones temporales
D.I.E. DCSE.4-34
Sistemas Secuenciales
Síncronos
Posibles escenarios
C1 R1 C2 R2
Reloj
tϕ’ tϕ’’
D.I.E. DCSE.4-35
Sistemas Secuenciales
Síncronos
Posibles escenarios
2.-Reloj rutado en sentido contrario que los datos:
Skew: δ = tϕ’’ − tϕ’ < 0
C1 R1 C2 R2
Reloj
tϕ’ tϕ’’
D.I.E. DCSE.4-36
Sistemas Secuenciales
Síncronos
D.I.E. DCSE.4-37
Sistemas Secuenciales
Síncronos
Reloj
D.I.E. DCSE.4-38
Sistemas Secuenciales
Síncronos
Reloj
D.I.E. DCSE.4-39
Sistemas Secuenciales
Síncronos
D.I.E. DCSE.4-40
Sistemas Secuenciales
Síncronos
Entrada Salida
Unidad de Procesamiento no
segmentada
CLK
Entrada Salida
E1 E2 En
CLK
•CLASIFICACIÓN:
D.I.E. DCSE.4-2
Sistemas Secuenciales
Síncronos
•DEFINICIONES BÁSICAS:
•Partiendo de la arquitectura genérica de un pipeline
estático, como el representado en la figura:
Entrada Salida
E1 E2 Ek
CLK
Ek X
δ+T≥trmáx+2.ti+τcmáx+tsmáx
1
f máx =
T min
3.- Se define el THROUGHPUT como el nº de datos
procesados por unidad de tiempo:
K+(n-1)
D.I.E. DCSE.4-4
Sistemas Secuenciales
Síncronos
n.K
•Luego el Speedup (SK), es:
n.K
SK =
K + ( n − 1)
•Si el número de datos, n, es muy grande:
n→∞
SK=SKmáx=K
5.- EFICIENCIA (EK):
SK n →∞
EK = = n→
1
K K + (n −1)
n n. f n→∞
TH = = →
f
[K +(n −1)].T K +(n −1)
D.I.E. DCSE.4-5
Sistemas Secuenciales
Síncronos
N º datosprocesados
TH máx =
tiempo
•EJEMPLOS:
1.- Pipeline estático lineal que realiza la función A
(con 3 etapas)
t0 t1 t2 t3 t4 .......... tn
E1 A1 A2 A3 A4 A5 ...
E2 A1 A2 A3 A4 ...
E3 A1 A2 A3 ... An-1
t0=t1=t2=.................=tn=T(periodo de reloj)
A1=dato1;A2=dato2......;An-1=daton-1
“llenado” del pipeline=LATENCIA INICIAL
D.I.E. DCSE.4-6
Sistemas Secuenciales
Síncronos
n.3.T
S3 = n→∞ → 3 ⇒ N º Etapas
(n + 2).T
•Eficiencia (E3):
S3 n
E3 = = n→ ∞ →1
3 n+2
D.I.E. DCSE.4-7
Sistemas Secuenciales
Síncronos
•THROUGHPUT (TH):
n. f 1
TH = n→ ∞ → f =
n + 2 T
•Se define la Latencia Media como:
•Nº de unidades de tiempo (T) transcurridas
entre 2 entradas consecutivas
1
Latencia _ Media =
TH
•Se define la utilización media de una etapa o
segmento (en %) como:
D.I.E. DCSE.4-8
Sistemas Secuenciales
Síncronos
E0 B B B B
E1 B B
B B
E2
TABLA DE RESERVA
•Estrategias de Control:
1ª.- “Introducir un nuevo dato en cuanto se pueda”
S3=16.T/11.T ≈1’45
•Eficiencia (E3):
E3=S3/3 ≈0’48 ⇒50% máximo
•Throughput (TH):
TH=11 ciclos/2 datos
D.I.E. DCSE.4-10
Sistemas Secuenciales
Síncronos
D.I.E. DCSE.4-11
Sistemas Secuenciales
Síncronos
•Throughput (TH):
TH=1/latencia media=0’25
•Hay que formalizar el método, no vale con “prueba y
error”
•Hay que demostrar que el control es óptimo
•Se puede demostrar que: “LA MÍNIMA LATENCIA
ALCANZABLE (M.A.L.) ES MAYOR O IGUAL
QUE EL MÁXIMO DEL Nº DE VECES QUE SE
UTILIZA UNA ETAPA PARA PROCESAR UN
DATO”
•En el ejemplo anterior, para la función B, de la tabla de
reserva original se ve que:
•E1 se utiliza 4 veces, E2 se utiliza 2 veces y E3 2
veces.
•La M.A.L es 4
•FORMALIZACIÓN DEL MÉTODO
•Se define el vector de colisiones, Vc, como:
Vc(i)=ARRAY (0..H-1) OF BOOLEAN
H⇒Nº de ciclos de reloj para procesar un dato en
la tabla de reserva
Vc(i) 1 ⇒Colisión si entra un nuevo dato en i ciclos de reloj
0 ⇒No habrá colisión
D.I.E. DCSE.4-12
Sistemas Secuenciales
Síncronos
•EJEMPLO:
t0 t1 t2 t3 t4 t5 t6 t7
B B B B CLP(1)={0,1,2,5,6,7}
E0
E1 B B CLP(2)={0,2}
E2 CLP(3)={0,2}
B B
CLP=U3CLP(i)={0,1,2,5,6,7}
Vc(i)=<1,1,1,0,0,0,1,1,1>
D.I.E. DCSE.4-13
Sistemas Secuenciales
Síncronos
Vector inicial
La
=3 11100111 ten
c i a cia
La
=4
aten
≥8
ten
L
cia
cia
ten
≥8
Latencia≥8
La
11111111 11110111
Latencia=4
D.I.E. DCSE.4-14
Sistemas Secuenciales
Síncronos
t0 t1 t2
E1 A A CLP(1)={0,2}
E2 A A CLP(2)={0,1}
E3 A CLP(3)={0}
CLP=U3CLP(n)={0,1,2}
Vc(i)=<1,1,1>
•Diagrama de estados de Vc(i):
111 Latencia≥3
D.I.E. DCSE.4-15
Sistemas Secuenciales
Síncronos
t0 t1 t2 t3
E1 A A CLP(1)={0,2}
E2 A X A CLP(2)={0,2}
E3 A CLP(3)={0}
D A CLP(4)={0}
•CLP=U4CLP(i)={0,2}
•Vc=<1,0,1,0>
•Diagrama de estados de Vc:
ci a≥3
Laten
=1
1010
i a Lat
t e nc enc
ia≥
La 3
1110
•Latencia media=1+3/2(datos)=2=M.A.L.
t0 t1 t2 t3 t4 t5 t6 t7 t8
E1 A1 A2 A1 A2 A3 A4 A3 A4 A5
E2 A1 A2 A1 A2 A3 A4 A3 A4
E3 A1 A2 A3 A4
D A1 A2 A3 A4
Ciclo estable (2 datos procesados)
D.I.E. DCSE.4-16
Sistemas Secuenciales
Síncronos
•CONCLUSIONES:
1.- En una arquitectura pipeline, los datos no se
procesan más deprisa; incluso más despacio (más Hw,
estados de espera, etc)
2.- Se procesan mayor nº de datos por unidad de tiempo
(Throughput)
3.- Una vez alcanzado el ciclo estable (pipelines
estáticos no lineales) el throughput es máximo
4.- En los lineales, una vez “llenado” el pipeline
(latencia inicial), se obtiene un resultado por ciclo de
reloj
5.- Para que 3 y 4 sean ciertos, el flujo de datos de
entrada debe ser continuo y grande
6.- El control de los pipelines lineales es muy simple; el
de los no lineales requiere de autómatas que “decidan”
cuándo y cómo introducir nuevos datos y su ruta por la
arquitectura
D.I.E. DCSE.4-17