Arquitectura segmentada
•Tecnológicos •Consumo •Restricciones algorítmicas •Arquitecturales •Etc
•Segmentar una arquitectura es dividirla en segmentos o etapas •Cada segmento (etapa) está definido por un registro quealmacena los datos a procesar y otro que almacena los resultados
Entrada CLK Entrada Salida
Unidad de Procesamiento no segmentada
E1
CLK
E2
Arq. Segmentada (n segmentos o etapas)
P IH 6 9 D B 5 6 9686 Q@3GF¢7EC4A@))75
£ 1 10 ' 4"32¢)( £ §$ ¡ § § £ © §¥ £¡ &%#"!¦¨¦¤¢
Salida
En
•CLASIFICACIÓN:
1.- LINEAL: Está formado por un conjunto de etapasconectadas en cascada, sin bucles de realimentación de datos 2.- NO LINEAL: Pueden existir bucles hacia delante o hacia atrás ()HHGEDFN IHHGIRUZDUG)
•Atendiendo a la función que realizan se pueden clasificar en:
1.- ESTÁTICOS: Realizan una función fija sobre un conjunto de datos de entrada 2.- DINÁMICOS: Realizan diferentes funciones sobre un conjunto de datos de entrada
R IH 6 9 D B 5 6 9686Q@3GF¢7EC4A@))75
£ 1 10 ' 4"32¢)( £ §$ ¡ § § £ © §¥ £¡ &%#"!¦¨¦¤¢
•DEFINICIONES BÁSICAS:
•Partiendo de la arquitectura genérica de un pipeline estático, como el representado en la figura:
Entrada Salida
E1
CLK
E2
1.- TABLA DE RESERVA de un pipeline lineal estático de K etapas t=0 TIEMPO (CICLOS DE CLK) T1 E1 E2 E3 ... Ek T2 T3.......................................... Tk
X X X
....................................................................
Indican en qué etapa hay datos procesándose, en un
S IH 6 9 D B 5 6 9686 Q@3GF¢7EC4A@))75
determinado ciclo de reloj
£ 1 10 ' 4"32¢)( £ §$ ¡ § § £ © §¥ £¡ &%#"!¦¨¦¤¢
Ek
X
2.- Tal y como se vió, al estudiar el Skew, se ha de cumplir que:δ+T≥trmáx+2.ti+τcmáx+tsmáx Tmin= trmáx +2.ti+τcmáx+tsmáx- δ
•La frecuencia máxima será:
I
máx
=
1
7
PLQ
3.- Se define el THROUGHPUT como el nº de datos procesados por unidad de tiempo:
TH=f⇒Siempre que se mantenga
un flujo cte de datos de entrada 4.- SPEEDUP(SK): •En un pipeline lineal estático de K etapas y n datos a procesar, el nº de ciclos de reloj necesario es:
K+(n-1)
U TH 6 9 D B 5 6 9686Q@3GF¢7EC4A@))75
£ 1 10 ' 4"32¢)( £ §$ ¡ § § £ © §¥ £¡ &%#"!¦¨¦¤¢
•En una arquitectura no pipeline será:
n.K
•Luego el Speedup (SK), es:
6
=
X
.
.. + ( Q − 1)
Q
•Si el número de datos, n, es muy grande:
n→∞ SK=SKmáx=K
5.- EFICIENCIA (EK):
(
.
.
+ (Q −1)
6.- THROUGHPUT (TH):
7
. →∞ = = → I [. + (Q −1)].7 . + (Q −1)
VTH 6 9 D B 5 6 9686 W@3GF¢7EC4A@))75 a
Q
Q I
Y
`
=
6
=
Q
£ 1 10 ' 4"32¢)( £ §$ ¡ § § £ © §¥ £¡ &%#"!¦¨¦¤¢
→∞ →1
`
b
•Control de arquitecturas segmentadas
•Se trata de saber cuándo y cómo introducir un dato nuevo en el pipeline: •Para obtener un rendimiento máximo •Y que no existan colisiones, es decir, que no se introduzca unnuevo dato en una etapa antes de haber procesado el anterior •Máximo rendimiento≡Throughput máximo
p f t rpi h fd u¢"sq"gec
7
máx
=
1
º GDWRV
WLHPSR
•EJEMPLOS: 1.- Pipeline estático lineal que realiza la función 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
t0=t1=t2=.................=tn=T(periodo de reloj)A1=dato1;A2=dato2......;An-1=daton-1 “llenado” del pipeline=LATENCIA INICIAL
I TH 6 9 D B 5 6 9686 Q@3GF¢7EC4A@))75
£ 1 10 ' 4"32¢)( £ §$ ¡ § § £ © §¥ £¡ &%#"!¦¨¦¤¢ v
... ... ... An-1
•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...
Regístrate para leer el documento completo.