Anda di halaman 1dari 57

Sistemas Secuenciales Sncronos

Captulo 3: Sistemas Secuenciales Sncronos


Introduccin al diseo de autmatas. Estados equivalentes. Simplificacin de estados equivalentes. En autmatas completamente especificados. En autmatas incompletamente especificados. Codificacin de estados. Temporizacin en circuitos secuenciales. Skew de reloj. Pipeline Referencias: Jan M. Rabaey, Digital Integrated Circuits:A Design Perspective Prentice Hall. Victor P. Nelson y otros. Digital Logic Circuits Analysis&Design Prentice Hall Peter M. Kogge The Architecture of Pipelined Computers McGraw Hill

D.I.E. DCSE.4-1

Sistemas Secuenciales Sncronos

Introduccin a los Autmatas Finitos Concepto de Estado


x 1 (t) (...) x n(t) q 1(t) (...) q (t)
m

z 1(t) (...) z p(t)

X(t)={x (t)} i

Q(t)={q (t)} i

Z(t)={z (t)} i

Z(t) = g[X(t), X(t-1), X(t-2), ..., X(t-)] Estado, Q(t): Representa toda la informacin asociada al circuito desde que se puso en funcionamiento (memoria). Problema: Q(t) puede llegar a tomar infinitos valores. Z(t) = g [X(t), Q(t) ] Q(t+1) = f [X(t), Q(t)] Estructura General
x1 z1
CIRCUITO COMBINACIONAL

X(t)
xn zp

Z(t)

Q(t)

Q(t+1)

MEMORIA (flip-flops)

CLK
D.I.E. DCSE.4-2

Sistemas Secuenciales Sncronos

Autmatas de Mealy y de Moore Autmata Finito = (X, Q, Z, f, g) X, Q, Z = Entradas, Estados, Salidas f = Funcin de transicin, Q(t+1) = f [X(t),Q(t)] g = Funcin de salida Autmata de Mealy:
X(t) g Z(t)

Z(t) = g [X(t),Q(t)]

c f Q(t)
MEMORIA (flip-flops)

Q(t+1)

Clk

Autmata de Moore:

Z(t) = g [Q(t)]
g Z(t)

X(t)

c f Q(t)
MEMORIA (flip-flops)

Q(t+1)

Clk

D.I.E. DCSE.4-3

Sistemas Secuenciales Sncronos

Temporizacin de Autmatas Fases del Autmata en un Ciclo de Reloj Hay una seal de reloj que establece los instantes t

1: Los biestables leen sus entradas 2: Transicin de estado en los biestables 3: Transicin de salidas Temporizacin en Autmatas de Mealy y Moore Mealy: Una transicin en la entrada puede provocar varias transiciones en la salida Moore:La transicin en la salida ocurre un ciclo despus que la transicin en la entrada
1 2 3 1 2 3 1 2 3

Clk xa qi zn MEALY MOORE zm zr zs xb qj

t+1

t+2
D.I.E. DCSE.4-4

Sistemas Secuenciales Sncronos

Representacin de Autmatas Tabla de Transiciones y Salidas (Mealy)


Estado actual Q q1 q2 ... qm x1 Entrada actual x2 ... xn

f(q1,x1)/g(q1,x1) f(q1,x2)/g(q1,x2) f(q2,x1)/g(q2,x1) f(q2,x2)/g(q2,x2) ... ...

... f(q1,xn)/g(q1,xn) ... f(q2,xn)/g(q2,xn) ... ...

f(qm,x1)/g(qm,x1) f(qm,x2)/g(qm,x2) ... f(qm,xn)/g(qm,xn) Estado siguiente / Salida actual

Tabla de Transiciones y Salidas (Moore)


Estado actual Q q1 q2 ... qm x1 Entrada actual x2 ... xn z ... f(q1,xn) g(q1,x1) ... f(q2,xn) g(q2,x1) ... ... ...

f(q1,x1) f(q1,x2) f(q2,x1) f(q2,x2) ... ...

f(qm,x1) f(qm,x2) ... f(qm,xn) g(qm,x1) Estado siguiente Salida actual

Diagrama de Estados
q x2/z j x1/z i x3/z k q qB q /z x6 q /z x4 x5 q /z

D p

Mealy

Moore
E m

F n

D.I.E. DCSE.4-5

Sistemas Secuenciales Sncronos

Diseo de Autmatas (I) Ejemplo: Detector de tres 1s consecutivos A) Autmata de Moore con flip-flops tipo D: 1) Diagrama de Estados: a) Definicin de los estados qi = i '1's consecutivos en ciclos anteriores q0 es el estado inicial b) Diagrama: 1
0 q 0/0 0 0 1 q 3/1 0 1 q 1/0

q 2/0

2) Nmero de flip-flops necesarios, m = 2. Se debe cumplir que 2m nmero de estados 3) Asignacin de estados a valores en flip-flops (y2,y1): q0=00 q1=01 q2=10 q3=11 Normas de asignacin:
a) Cdigos con ms 0's para los estados ms referenciados b) Minimizar el nmero de flip-flops que cambian en las transiciones de estado Estrategias con los estados no utilizados: a) Riesgo mnimo: Evitar transiciones accidentales a estos estados no utilizados b) Coste mnimo: Se consideran indeterminados en la Tabla de Excitaciones
D.I.E. DCSE.4-6

Sistemas Secuenciales Sncronos

Diseo de Autmatas (II) 4) Tabla de transiciones/excitaciones del flip-flop: y(t) 0 0 1 1 y(t+1) 0 1 0 1 D(t) 0 1 0 1 J(t) 0 1 X X K(t) X X 1 0 T(t) 0 1 1 0

5) Tabla de Excitaciones, Transiciones y Salidas: X(t) e 0 0 0 0 1 1 1 1 Q(t) y2 0 0 1 1 0 0 1 1 y1 0 1 0 1 0 1 0 1 Q(t+1) y2 y1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 D(t) D2 0 0 0 0 0 1 1 1 D1 0 0 0 0 1 0 1 1 Z(t) s 0 0 0 1 0 0 0 1

6) Simplificacin (Karnaugh): D1 = e (y1+y2) D2 = e (y1+y2) 7) Circuito:


D2 e > D1 Clk > y2 y2

s = y1 y2

s y1 y1
D.I.E. DCSE.4-7

Sistemas Secuenciales Sncronos

Diseo de Autmatas (III) B) Autmata de Mealy con flip-flops tipo JK: 1) Diagrama de Estados: qi = i ciclos siendo '1'
0/0 0/0 1/1 q2 q0 1/0 0/0 1/0 q1

2) Nmero de flip-flops necesarios, m = 2 3) Asignacin 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: X(t) e 0 0 0 0 1 1 1 1 Q(t) y2 0 0 1 1 0 0 1 1 y1 0 1 0 1 0 1 0 1 Q(t+1) y2 y1 0 0 0 0 X X 0 0 0 1 1 1 X X 1 1 J2 0 0 X X 0 1 X X JK(t) K2 X X X 1 X X X 0 J1 0 X X X 1 X X X K1 X 1 X 1 X 0 X 0 Z(t) s 0 0 X 0 0 0 X 1

6) Simplificacin: J1=e, K1=K2=e, J2=ey1, s=ey2 7) Circuito:


e J1 K1 > y1 y1 J2 K2 > y2 y2 s

Clk
D.I.E. DCSE.4-8

Sistemas Secuenciales Sncronos

Estados Equivalentes: Representan la misma historia del circuito. Para cada una de las entradas posibles producen la misma salida y conducen a estados siguientes iguales o equivalentes.

Q2

a/ n

Q3

a/n

b/

b/m c/l Q1 c/l

Q0

Q0 y Q1 son estados equivalentes Q2 Q3


b/m

a/n

c/l

D.I.E. DCSE.4-9

Sistemas Secuenciales Sncronos

Varios estados equivalentes se pueden agrupar en uno solo. La simplificacin de estados equivalentes es importante por:

Coste: El nmero de elementos de memoria est directamente relacionado con el nmero de estados. Complejidad: Cuanto mayor el nmero de estados ms complejo el diseo y ms compleja la implementacin. Fallo de las herramientas de anlisis: Muchas de las herramientas de anlisis asumen que no hay estados equivalentes.

D.I.E. DCSE.4-10

Sistemas Secuenciales Sncronos

Simplificacin de estados equivalentes en autmatas completamente especificados: Mtodo de particiones: 1. Se agrupa en la misma particin todos los estados que produzcan la misma salida para cada una de las posibles entradas. 2. Para cada particin se comprueba que todos sus estados conducen, para cada entrada, a estados siguientes que se encuentran en la misma particin. Caso de que no sea as se subdividen las particiones. 3. Si se ha subdividido alguna particin, volver a repetir el punto 2 con las nuevas particiones. Si no se ha subdividido ninguna en el punto anterior, todos los estados se encuentren en una misma particin son equivalentes y se pueden agrupar en uno solo.

D.I.E. DCSE.4-11

Sistemas Secuenciales Sncronos

x A B C D E 0 C/1 C/1 B/1 D/0 E/0 1 B/0 E/0 E/0 B/1 A/1

Particin P0 Salida para x=0 Salida para x=1 Particin P1 Estado siguiente para x=0 Estado siguiente para x=1 Particin P2 Estado siguiente para x=0 Estado siguiente para x=1 Particin P3 Estado siguiente para x=0 Estado siguiente para x=1 Particin P4=P3

(ABCDE) 11 10 0 00 01 1 (ABC) CCB BEE (DE) DE BA

(A) (BC) (DE) C CB DE B EE BA (A) (BC) (D) (E) C CB D E B EE B A (A) (BC) (D) (E)

D.I.E. DCSE.4-12

Sistemas Secuenciales Sncronos

Tabla de implicantes: Mtodo muy eficaz para autmatas incompletamente especificados, tambin se puede utilizar en completamente especificados. 1. Se hace una tabla: En vertical todos los estados menos el primero. Horizontal todos menos el ltimo. Cada casilla lleva asociados dos estados, y en ella se pone el resultado del test de equivalencia. 2. Como solo pueden ser equivalentes estados con la misma salida para cada una de las entradas, se descartan con X los que no cumplen esta condicin. 3. En las casillas libres de X se pone las condiciones que deben cumplir los estados siguientes, para que los estados asociados a la casilla sean a su vez equivalentes. 4. Se repasan las condiciones de equivalencia impuestas, y se tachan las imposibles. 5. Si se ha tachado alguna casilla en 4 volver a repetir paso 4. Else todas las casillas no tachadas representan pares de estados equivalentes.

D.I.E. DCSE.4-13

Sistemas Secuenciales Sncronos

B x A B C D E F G H 0 E/0 A/1 C/0 B/0 D/1 C/0 H/1 C/1 1 D/0 F/0 A/1 A/0 C/0 D/1 G/1 B/1 C
E-B D D-A

E F G H A

A-D F-C A-D

H-C G-B

B C D D-A E F G H A B C D E F
H-C G-B A-D F-C A-D E-B

Luego los estados: A-D B-E C-F Son equivalentes.

G
D.I.E. DCSE.4-14

Sistemas Secuenciales Sncronos

Simplificacin de estados en autmatas incompletamente especificados: X A B C D E F 0 B/B/1 F/0 B/1 D/0 D/1 E/0 E/C/0 A/1 C/C/1

Supongamos que fijamos las indeterminaciones de forma que: A equivalente a B, E equivalente a F: X (A,B) = A C = B D = C (E,F) = D A B C D 0 A/1 D/0 A/1 C/0 1 D/0 B/0 A/1 B/1

Simplificacin inmediata, fcil de ver pero no ptima.

D.I.E. DCSE.4-15

Sistemas Secuenciales Sncronos

Si fijamos las indeterminaciones del siguiente modo: X A B C D E F 0 B/0 B/1 F/0 B/1 D/0 D/1 1 E/0 E/1 C/0 A/1 C/0 C/1 Nos queda que los estados (A,C,E) y (B,D,F) son equivalentes: X 0 1 A B/0 A/0 B B/1 A/1

Estados compatibles: - Dos estados son compatibles cuando para cada posible entrada : Las salidas que produce son iguales, si estn especificadas. Los estados siguientes que produce son iguales, si estn especificados. - Un conjunto de estados compatibles se llama una clase compatible. - Un mximo compatible es una clase compatible en la que la incorporacin de cualquier estado (no de la clase) lo hace que deje de ser clase compatible. Estados incompatibles: los que no cumplen las dos condiciones de compatibilidad anteriores.
D.I.E. DCSE.4-16

Sistemas Secuenciales Sncronos

OJO!! En autmatas completamente especificados, la equivalencia es una propiedad transitiva: Si A equivalente B y B equivalente C, podemos asegurar que A equivalente C, (A,B,C) son equivalentes. En autmatas incompletamente especificados para que (A,B,C) sean equivalentes se tiene que cumplir: - A equivalente B - A equivalente C - B equivalente C.

Para simplificar nuestra mquina debemos seleccionar un conjunto de clases compatibles que cumpla: Completo: La unin de todas las clases debe contener todos los estados de la mquina original. Consistente: El conjunto de clases compatibles elegido debe ser cerrado: Para cada entrada, los siguientes estados asociados a cada clase deben estar contenidos en una clase de las elegidas. Mnimos: El menor nmero de clases que cumpla los dos criterios anteriores, es el que se debe seleccionar.

D.I.E. DCSE.4-17

Sistemas Secuenciales Sncronos

El nmero de estados K de nuestra mquina simplificada ser: U>K>L - U: Mnimo valor entre nmero estados originales y nmero agrupaciones mximas compatibles obtenidas. - L: Nmero de estados de la mayor agrupacin mxima incompatible.

Procedimiento a seguir para la simplificacin de estados equivalentes: 1. Buscar las mximas compatibles. 2. Buscar las mximas incompatibles. 3. Determinar los valores U y L. 4. Buscar por prueba y error el conjunto de clases que cumplan condiciones de: Mnimo, Consistente y Completo. 5. Producir la tabla de estados mnimos, que en general puede tener salidas y estados siguientes sin especificar.

D.I.E. DCSE.4-18

Sistemas Secuenciales Sncronos

Ejemplo: Simplifiquemos el siguiente autmata: X A B C D E F 0 B/1 -/E/0 B/1 -/-/0 1 D/0 B/0 D/A/0 C/1 E/1 B BD C BD D AD AB E F
CD DE CE

A B C D

1. Buscar los mximos compatibles: (ABD), (BC), (E), (F) (BD) (BC) (AD) (AB) (E) (F) (BD), (AD), (AB) -> (ABD) 2. Buscar los mximos incompatibles: (CDEF) (ACEF) (BEF) 3. Determinar valores U y L U: N estados iniciales 6, N mximos compatibles 4 U=4 L: N estados del mayor mximo incompatible= 4 Luego K=4
D.I.E. DCSE.4-19

Sistemas Secuenciales Sncronos

4. Los cuatro mximos compatibles formarn los estados del autmata simplificado: X (ABD) (BC) (E) (F) (ABD) (BC) (E) (F) 0 B E -> A -> B -> C -> D 1 ABD BD C E Cumplen propiedades Completo y Consistente. X A B C D 0 A,B/1 C/0 -/-/0 1 A/0 A/0 B/1 C/1

El autmata resultante tiene todava grados de libertad que se pueden utilizar para simplificar la realizacin hardware del circuito.

D.I.E. DCSE.4-20

Sistemas Secuenciales Sncronos

Otro ejemplo: X 0 1 A A/- -/B C/1 B/0 C D/0 -/1 D -/- B/E A/0 C/1

B AC C AD D AD BD CD AD BC E AE A B C D

Mximos compatibles: (ABD) (ACD) (ACE) Mximos incompatibles: (BC) (BE) (DE) Clculo de U: 5 Estados iniciales, 3 Mximos compatibles-> U=3 Clculo de L: N estados del mayor mximo incompatible 2-> L=2. N estados autmata simplificado 2<K<3 Probemos a obtener un conjunto de 2 mximos compatibles que cumpla condiciones de completo y consistente: El conjunto formado ppor A= (ABD) y B= (ACE) lo cumple.

D.I.E. DCSE.4-21

Sistemas Secuenciales Sncronos

X 0 (ABD) AC (ACD) AD (ACE) AD 1 B B C X 0 1 A B/1 A/0 B A/0 B/1

Consideraciones: La minimizacin de estados conduce a un circuito con un nmero mnimo de elementos de memoria (biestables), que no siempre se traduce en un circuito de mnima complejidad. El circuito est formado por los biestables ms los bloques combinacionales. Hay veces que aumentando el nmero de biestables se consigue se consigue reducir la lgica combinacional. Ejemplo en un contador en anillo se utilizan N biestables para tener 2N estados, pero la lgica combinacional se reduce hasta hacerla desaparecer.

D.I.E. DCSE.4-22

Sistemas Secuenciales Sncronos

ptima codificacin de estados: Una vez definido el nmero de estados de nuestro circuito debemos codificarlos inteligentemente para conseguir que el circuito combinacional asociado sea los ms sencillo posible. Sea el autmata: X A B C D E F G 0 B/0 C/0 D/0 A/1 G/0 A/0 F/0 1 E/0 G/0 F/0 A/0 C/0 A/1 D/0

Si codificamos los estados con el siguiente criterio: Y1 Y2 Y3 A 0 0 0 B 0 0 1 C 0 1 1 D 0 1 0 E 1 0 1 F 1 1 0 G 1 1 1 J1=Y2X+Y3X K1=Y3+X J2=Y3 K2=Y3 J3=Y2 K3=Y2 Z=Y3Y2Y1X+Y3Y1X

D.I.E. DCSE.4-23

Sistemas Secuenciales Sncronos

Consideremos ahora la siguiente asignacin: Y1 0 0 0 0 1 1 1 Y2 0 0 1 1 0 0 1 Y3 0 1 0 1 0 1 0

A B C D E F G

J1=Y3X+Y2X K1=Y3+X J2=Y3Y1 +Y1Y3 K2=Y3 +Y1X +Y1X J3=Y2+Y1X K3=1 Z=Y3Y1X+Y3Y2X

1 asignacin: 3-OR, 4-AND, 1-NOT (8 puertas) 2 asignacin: 6-OR, 9-AND, 1-NOT (16 puertas) En un autmata de N biestables y M estados: 2N > M > 2N-1 El nmero de asignaciones posibles Na ser: Na = 2N ! / (2N - M) !

D.I.E. DCSE.4-24

Sistemas Secuenciales Sncronos

No todas estas asignaciones son independientes con relacin al resultado. Ejemplo: X 0 1 A A/0 B/0 B A/0 C/0 C C/0 D/0 D C/1 A/0

Posibles asignaciones: 1 Y1Y2 0 0 0 1 1 1 1 0 2 Y1Y2 1 0 1 1 0 1 0 0 3 Y1Y2 0 0 1 0 1 1 0 1

A B C D

Con asignacin 1: D1 = Y1X+Y2X D2 = Y1X+Y1X Con asignacin 2: D1 = Y1X+Y2X D2 = Y1X+Y1X Con asignacin 3: D1 = Y2X+Y2X D2 = Y2X+Y1X

D.I.E. DCSE.4-25

Sistemas Secuenciales Sncronos

Para un autmata de dos biestables las nicas 3 posibles asignaciones independientes son: 1 Y1Y2 0 0 0 1 1 1 1 0 2 Y1Y2 0 0 1 1 0 1 1 0 3 Y1Y2 0 0 1 0 0 1 1 1

A B C D

Apliquemos estas tres asignaciones al siguiente autmata:

X A B C D 0 C/0 C/0 B/0 A/1 1 D/0 A/0 D/0 B/1

D.I.E. DCSE.4-26

Sistemas Secuenciales Sncronos

Con asignacin 1: D2 = Y1Y2+Y2X+XY1Y2 D1 = Y2X+Y1X+XY1Y2 Z = Y1Y2 Con asignacin 2: D2 = Y1X+Y2Y1 D1 = Y2X+Y1X+XY1Y2 Z = Y1Y2 Con asignacin 3: D2 = Y1Y2+Y2X+XY1 D1 = Y2X+Y1X Z = Y1Y2 Si en cada solucin contamos el nmero total de entradas a las puertas: Asignacin 1 2 3 N entradas 20 18 15

D.I.E. DCSE.4-27

Sistemas Secuenciales Sncronos

Reglas de asignacin de estados: - Objetivo: Conseguir mximas agrupaciones de 1s en las tablas de simplificacin del estado siguiente. Hacer que los 1s se encuentren en una misma columna o fila. - Consideremos que cada fila representa el siguiente estado para cada una de las entradas asociadas a un determinado estado presente. - Consideremos que cada columna representa el siguiente estado para cada uno de los distintos estados presentes de una determinada entrada. Reglas: 1. Estados que tengan el mismo estado siguiente para una determinada entrada se les asignarn cdigos adyacentes. 2. Estados siguientes asociados a entradas adyacentes, para un estado presente determinado, se les asignar cdigos adyacentes. Ojo: no todas las condiciones de adyacencia se podrn cumplir siempre, habr que intentar cumplir las mximas posibles.

D.I.E. DCSE.4-28

Sistemas Secuenciales Sncronos

De la inspeccin de nuestro autmata, de derivan las siguiente condiciones de adyacencia: - Regla 1: A y B deben ser adyacentes, y tambin A-C - Regla 2: A-B, A-C, B-D Y C-D Algunas condiciones se repiten, se debe intentar cumplir: A-B, A-C, B-D Y C-D Veamos cmo hemos codificado los estados en cada una de las tres asignaciones: Y2 Y2 Y2

0 1 Y1 0 A D 1 B C Asignacin: 1

0 1 Y1 0 A D 1 C B 2

Y1

0 1 0 A B 1 C D 3

En las asignaciones 1 y 2 cumplimos dos condiciones de adyacencia, en la 3 cumplimos las 4.

D.I.E. DCSE.4-29

Sistemas Secuenciales Sncronos

Temporizacin en circuitos secuenciales: Com L bina cio nal Com bina cio nal

In

Re gis tro

Re gis tro

Out

Clk Clk Q

tff L

tc

tsu

T tff: Tiempo retardo biestable tc: Tiempo retardo combinacional tsu: T set-up th: Thold. T > tff max.+ tcmax.+ tsu th < tff min.+ tcmin.

D.I.E. DCSE.4-30

Sistemas Secuenciales Sncronos

El problema del skew


Los circuitos secuenciales precisan de una correcta ordenacin de los eventos. En el diseo sncrono la ordenacin se logra por medio de un reloj global. Dicho reloj se distribuye por todo el sistema y se conecta a todos los registros y flip-flops. Todo ello provoca una elevada resistencia de la lnea de reloj y una gran carga capacitiva sobre el generador de reloj. La lnea de reloj acta como una red RC distribuida donde el retardo es funcin de la longitud. Aparece as el problema del skew:

Los flancos activos del reloj no alcanzan a todos los elementos de memoria en el mismo instante.

D.I.E. DCSE.4-31

Sistemas Secuenciales Sncronos

El problema del skew


Ejemplo: datapath sncrono segmentado
Entrada de datos tc ti C1 R1 C2 R2 ts tr th Salida de datos

Reloj t

C1 y C2: circuitos combinacionales R1 y R2: unidades de memoria (registros) tc: tiempo de retardo de los combinacionales ti: tiempo de retardo de las interconexiones ts: tiempo de set-up de los registros tr: tiempo de retardo de los registros th: tiempo de hold de los registros

Skew: = t t 0

D.I.E. DCSE.4-32

Sistemas Secuenciales Sncronos

Restricciones temporales
t 1 2 ts th 4 tr+ti+tc+ti Datos en la entrada de R2 3 5 ts th Reloj en R2 Reloj en R1 t T

En (instante t) el flanco activo del reloj alcanza al registro R1, con lo cual se captura el dato presente a su entrada y se propaga hacia R2. En el dato alcanza el registro R2 despus de un tiempo de retardo tr+ti+tc+ti. En y el registro R2 captura el dato presente en su entrada.

D.I.E. DCSE.4-33

Sistemas Secuenciales Sncronos

Restricciones temporales
El evento debe ser posterior al , ya que en caso contrario se produce una captura doble y se pierde un dato: < tr MIN + 2ti + tc MIN + ts MIN (1)

El evento debe ser anterior al , ya que en caso contrario se produce una captura nula y se duplica un dato: + T > tr MAX + 2ti + tc MAX + ts MAX (2)

El retardo absoluto del reloj es irrelevante, lo que importa es el retardo relativo entre dos registros consecutivos.

Si bien la condicin (1) garantiza que no se producir captura doble, el funcionamiento slo quedar asegurado si el evento es posterior al : < tr MIN + 2ti + tc MIN th MAX (1)

D.I.E. DCSE.4-34

Sistemas Secuenciales Sncronos

Posibles escenarios
1.-Reloj rutado en el mismo sentido que los datos: Skew: = t t > 0

C1

R1

C2

R2

Reloj t t

Es necesario disear obligando a que se cumpla (1) (o mejor (1)), ya que de lo contrario se producir un mal funcionamiento con independencia de la frecuencia de reloj. Se puede aumentar la frecuencia de reloj (y por tanto incrementar el throughput) reduciendo T en la cantidad , como se deduce de la expresin (2) (aunque siempre dentro del lmite impuesto por (1)).

D.I.E. DCSE.4-35

Sistemas Secuenciales Sncronos

Posibles escenarios
2.-Reloj rutado en sentido contrario que los datos: Skew: = t t < 0

C1

R1

C2

R2

Reloj t t

La expresin (1) se verifica sin condiciones, lo cual garantiza siempre un correcto funcionamiento. Para que se cumpla (2) es necesario aumentar T, reduciendo la frecuencia de reloj (y por tanto recortando el throughput del circuito).
En la temporizacin bsica de un circuito secuencial, con skew nulo ( = 0), debe cumplirse la expresin (1). As pues, tanto ms cuando < 0.

D.I.E. DCSE.4-36

Sistemas Secuenciales Sncronos

Soluciones para el skew


1.-Segn se ha visto, una posible solucin es rutar reloj y datos en sentido contrario. Sin embargo, este procedimiento no es prctico: Es necesario recortar el throughput del circuito, reduciendo la frecuencia de reloj. El flujo de datos no siempre es unidireccional, sino que a veces existen realimentaciones.

As pues, esta tcnica slo puede emplearse en subcircuitos concretos, como por ejemplo datapaths. Otra tcnica deber ser aplicada a escala global en el sistema.

D.I.E. DCSE.4-37

Sistemas Secuenciales Sncronos

Soluciones para el skew


2.-Emplear una red de distribucin de reloj del tipo H-tree, como la de la figura.

Reloj

Los bloques estn equidistantes de la fuente del reloj, por lo cual el retardo es similar para todos ellos. Los bloques deben ser suficientemente pequeos como para que el skew sea despreciable en su interior. Este mtodo proporciona por tanto un skew nulo, pero slo es adecuado para circuitos muy regulares.

D.I.E. DCSE.4-38

Sistemas Secuenciales Sncronos

Soluciones para el skew


3.-Emplear una red de distribucin de reloj en forma de rbol jerrquico.

Reloj

Los bloques estn equidistantes de la fuente del reloj, por lo cual el retardo es tambin similar para todos ellos. Sin embargo, el skew no es nulo en los bloques, por lo cual deben ser diseados con cuidado para mantenerlo acotado. Los buffers de las ramas permiten amplificar las seales de reloj degradadas por el cableado y aislar la fuente de reloj de la carga que producen los bloques.

D.I.E. DCSE.4-39

Sistemas Secuenciales Sncronos

Notas sobre el skew


La distribucin de reloj es cada vez ms un problema dominante debido al aumento en:
las densidades de integracin el tamao de los sistemas las frecuencias de reloj

Es imprescindible considerar el problema del skew lo antes posible en la etapa de diseo, ya que puede influir notablemente en la distribucin final del sistema. Actualmente se investiga en arquitecturas autotemporizadas, que evitan la distribucin de seales de reloj globales.

D.I.E. DCSE.4-40

Sistemas Secuenciales Sncronos

ARQUITECTURAS PIPELINE (Segmentadas)


Surgen por la necesidad de aumentar la velocidad de procesamiento La velocidad, en un sistema secuencial sncrono, est limitada, entre otros factores, por:
Tecnolgicos Consumo Restricciones algortmicas Arquitecturales Etc

Segmentar una arquitectura es dividirla en segmentos o etapas Cada segmento (etapa) est definido por un registro que almacena los datos a procesar y otro que almacena los resultados
Entrada CLK
Unidad de Procesamiento no segmentada

Salida

Entrada

Salida

E1
CLK

E2

En

Arq. Segmentada (n segmentos o etapas)


D.I.E. DCSE.4-1

Sistemas Secuenciales Sncronos

CLASIFICACIN:

1.- LINEAL: Est formado por un conjunto de etapas conectadas en cascada, sin bucles de realimentacin de datos 2.- NO LINEAL: Pueden existir bucles hacia delante o hacia atrs (Feedback, feedforward)

Atendiendo a la funcin que realizan se pueden clasificar en:

1.- ESTTICOS: Realizan una funcin fija sobre un conjunto de datos de entrada 2.- DINMICOS: Realizan diferentes funciones sobre un conjunto de datos de entrada

D.I.E. DCSE.4-2

Sistemas Secuenciales Sncronos

DEFINICIONES BSICAS:
Partiendo de la arquitectura genrica de un pipeline esttico, como el representado en la figura:
Entrada Salida

E1
CLK

E2

Ek

1.- TABLA DE RESERVA de un pipeline lineal esttico de K etapas t=0 T1 E1 E2 E3 ... Ek TIEMPO (CICLOS DE CLK) T2 T3 .......................................... Tk

X X X
....................................................................

Indican en qu etapa hay datos procesndose, en un determinado ciclo de reloj


D.I.E. DCSE.4-3

Sistemas Secuenciales Sncronos

2.- Tal y como se vi, al estudiar el Skew, se ha de cumplir que:

+Ttrmx+2.ti+cmx+tsmx Tmin= trmx +2.ti+cmx+tsmx-


La frecuencia mxima ser:

f mx

1 T min

3.- Se define el THROUGHPUT como el n de datos procesados por unidad de tiempo:

TH=fSiempre que se mantenga


un flujo cte de datos de entrada 4.- SPEEDUP(SK): En un pipeline lineal esttico de K etapas y n datos a procesar, el n de ciclos de reloj necesario es:

K+(n-1)

D.I.E. DCSE.4-4

Sistemas Secuenciales Sncronos

En una arquitectura no pipeline ser:

n.K
Luego el Speedup (SK), es:

SK

n.K = K + ( n 1)
n SK=SKmx=K

Si el nmero de datos, n, es muy grande:

5.- EFICIENCIA (EK):

SK n n EK = = 1 K K + (n 1)
6.- THROUGHPUT (TH):

n n. f n TH = = f [K +(n 1)].T K +(n 1)


D.I.E. DCSE.4-5

Sistemas Secuenciales Sncronos

Control de arquitecturas segmentadas


Se trata de saber cundo y cmo introducir un dato nuevo en el pipeline: Para obtener un rendimiento mximo Y que no existan colisiones, es decir, que no se introduzca un nuevo dato en una etapa antes de haber procesado el anterior Mximo rendimientoThroughput mximo

TH mx =
EJEMPLOS:

N datosprocesados tiempo

1.- Pipeline esttico lineal que realiza la funcin A (con 3 etapas)


t0 t1 t2 t3 t4 .......... tn

E1 E2 E3

A1 A2 A3 A4 A5 ... A1 A2 A3 A4 ... 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 Sncronos

El control de este tipo de pipelines es trivial: Se introduce un dato en cada ciclo de reloj (sin colisiones) Para procesar A1 (a la salida de E3) transcurren 3 ciclos de reloj: Latencia Inicial A partir de ese instante se obtiene un resultado por cada ciclo de reloj Para procesar n datos:

[K +(n1)].T =[3+n1].T =(n+2).T


SPEEDUP(S3):

n.3.T S3 = (n + 2).T
Eficiencia (E3):

3 N Etapas

S3 n E3 = = n+2 3

D.I.E. DCSE.4-7

Sistemas Secuenciales Sncronos

THROUGHPUT (TH):

TH

n. f = n + 2

1 f = 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 utilizacin media de una etapa o segmento (en %) como:

Tiempo_ de _ uso _ de _ una _ etapa (n _ datos) Tiempo_ total _ de _ procesado

D.I.E. DCSE.4-8

Sistemas Secuenciales Sncronos

2.- Pipeline esttico no lineal que realiza la funcin B con 3 etapas t0 E0 t1 t2 t3 t4 t5 t6 t7

B B B B B

E1

E2

TABLA DE RESERVA Estrategias de Control: 1.- Introducir un nuevo dato en cuanto se pueda
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15
E1 E2 E3

B1 B1

B2 B2 B1 B1 B2 B2 B3 B3 B1 B1 B2 B2 B3 B3 B1 B1 B2 B2 B3

Ciclo estable=11.T ciclos de reloj Secuencia de latencias <3T,8T,3T,8T,...> Ciclo estable (3T,8T)=11.T
D.I.E. DCSE.4-9

Sistemas Secuenciales Sncronos

Latencia media=55 (11ciclos de reloj/2 datos procesados) Utilizacin de etapas: E18/1173% E2 4/1136% E3 4/1136% Speedup (S3):
2datosx8ciclosxT

S3=16.T/11.T 145 Eficiencia (E3): E3=S3/3 048 50% mximo Throughput (TH): TH=11 ciclos/2 datos

D.I.E. DCSE.4-10

Sistemas Secuenciales Sncronos

2.- Prueba y Error: Esperamos 4 ciclos de reloj y analizamos el pipeline


t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15
E1 E2 E3

B1 B1

B2 B2 B1 B1 B3 B3 B2 B2 B4 B4 B3 B3 B1 B1 B2 B2 B3 B3 B4 B1 B1 B2 B2 B3 B3 B4
Ciclo estable 8.T

Ritmo de entrada=2 datos/8.T Secuencia de latencias <4,4,....> Ciclo estable (4T,4T) = 8.T Latencia Media = 8 ciclos/2 datos = 4 Utilizacin de etapas (en el ciclo estable): E1100% Es ptimo, no se puede mejorar! E2 50% E3 50% Speedup (S3): S3=16.T/8.T= 2 Eficiencia (E3): E3=S3/3066.... 666%
D.I.E. DCSE.4-11

Sistemas Secuenciales Sncronos

Throughput (TH): TH=1/latencia media=025 Hay que formalizar el mtodo, no vale con prueba y error Hay que demostrar que el control es ptimo Se puede demostrar que: LA MNIMA LATENCIA ALCANZABLE (M.A.L.) ES MAYOR O IGUAL QUE EL MXIMO DEL N DE VECES QUE SE UTILIZA UNA ETAPA PARA PROCESAR UN DATO En el ejemplo anterior, para la funcin 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 FORMALIZACIN DEL MTODO Se define el vector de colisiones, Vc, como: Vc(i)=ARRAY (0..H-1) OF BOOLEAN HN de ciclos de reloj para procesar un dato en la tabla de reserva Vc(i) 1 Colisin si entra un nuevo dato en i ciclos de reloj
0 No habr colisin
D.I.E. DCSE.4-12

Sistemas Secuenciales Sncronos

Se define el conjunto de latencias prohibidas por cada segmento o etapa: CLP(n)nN de etapasIndica cuando se produce colisin Se define el CLP de todo el pipeline, como: CLP=UnCLP(n) Se obtendr el vector de colisiones Vc, a partir del CLP del pipeline: Vc(i)
1Si i est en el CLP 0 Si i no est en el CLP

EJEMPLO:
t0 t1 t2 t3 t4 t5 t6 t7

E0 E1 E2

B B B B B

CLP(1)={0,1,2,5,6,7} CLP(2)={0,2} CLP(3)={0,2}

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 Sncronos

Diagrama de estados de Vc(i)


Vector inicial
=3 a i c ten a L

11100111
8 cia ten La

La ten cia 8

La ten cia =4

Latencia8

11111111
Latencia=4

11110111

*Se obtiene haciendo el OR lgico: 00111000 11100111 11111111


Vc DESPLAZADO Vc ORIGINAL

*Se obtiene haciendo el OR lgico: 01110000 11100111 11110111

CICLO (3,8) CICLO ANSIOSO CICLO (8,8) CICLO TONTO CICLO (4,4) CICLO PTIMO LATENCIA MEDIA = M.A.L.=4
D.I.E. DCSE.4-14

Sistemas Secuenciales Sncronos

En ocasiones no es posible alcanzar MAL, o Throughput mximo Una posible solucin (a veces no se consigue) es insertar ciclos de espera. EJEMPLO: Pipeline con 3 etapas, Funcin A.
t0 E1 E2 E3 t1 t2

A A A

A A

CLP(1)={0,2} CLP(2)={0,1} CLP(3)={0}

CLP=U3CLP(n)={0,1,2} Vc(i)=<1,1,1> Diagrama de estados de Vc(i):

111

Latencia3

Se sabe que MAL=2, pues es el mximo N de veces que se utiliza E1 y E2 para procesar un dato

D.I.E. DCSE.4-15

Sistemas Secuenciales Sncronos

Si se introduce un estado de espera D, se obtiene: t0


E1 E2 E3 D

t1

t2

t3
CLP(1)={0,2}

A A A

A
X

CLP(2)={0,2} CLP(3)={0}

CLP(4)={0}

CLP=U4CLP(i)={0,2} Vc=<1,0,1,0> Diagrama de estados de Vc:


ci Laten
=1 a i nc e t La

a3

1010

Lat

enc

ia 3

1110 Latencia media=1+3/2(datos)=2=M.A.L.


t0 t1 t2 t3 t4 t5 t6 t7 t8

E1 E2 E3 D

A1 A2 A1 A2 A3 A4 A3 A4 A5 A1 A2 A1 A2 A3 A4 A3 A4 A3 A4 A1 A2 A1 A2 A3 A4
Ciclo estable (2 datos procesados)
D.I.E. DCSE.4-16

Sistemas Secuenciales Sncronos

CONCLUSIONES: 1.- En una arquitectura pipeline, los datos no se procesan ms deprisa; incluso ms despacio (ms 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 estticos no lineales) el throughput es mximo 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 autmatas que decidan cundo y cmo introducir nuevos datos y su ruta por la arquitectura

D.I.E. DCSE.4-17

Anda mungkin juga menyukai