Sei sulla pagina 1di 43

AT5118 Arquitectura e Ingeniera de Computadores I

Juan Antonio Maestro

Principios bsicos de la segmentacin

Curso 2011-2012

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Qu es la Segmentacin?
Qu ocurre si una U.F. no es lo
suficientemente rpida?
Solucin tecnolgica: Acelerarla con
componentes ms rpidos. Limitada.
Solucin arquitectnica: Segmentacin.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Definicin de Segmentacin
La segmentacin es una tcnica por la
que se divide una U.F. en varias etapas
ms rpidas, a fin de mejorar el
rendimiento de la misma.
Gracias a la segmentacin, se permite
la coexistencia de distintos datos en las
etapas de la U.F.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin lineal
Todas las etapas de la unidad se ejecutan en orden
secuencial.
No hay posibilidad de lazos hacia atrs.
Cada etapa ha de producir su resultado antes del
siguiente ciclo de reloj.
Los resultados de cada etapa se guardan en
registros (latches).
L
input

L
F1

F2

L
F3

L
F4

output

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Tabla de reserva
Tabla en la que se indica la
ocupacin de cada etapa
frente al tiempo (ciclos de
reloj).
En una unidad con
segmentacin lineal, la
tabla de reserva es trivial:
siempre es una diagonal, ya
que no hay posibilidad de
vuelta atrs.

Tiempo
1
F1
F2
F3
F4

X
X
X
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Mtricas de la segmentacin lineal (I)


Tiempo de ejecucin de n datos en una U.F.
segmentada con k etapas:
Tk = [k + (n 1)]
k corresponde al nmero de ciclos de iniciacin. Despus, se
necesita un nico ciclo por dato.

Tiempo de ejecucin de n datos en la misma


U.F. sin segmentar:
T1 = n k

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Mtricas de la segmentacin lineal (II)


Speed-up de una unidad segmentada frente a
una no segmentada:
T1
n k
nk
SU k = =
=
Tk [k + (n 1)] k + ( n 1)

Mximo S.U.: Cuando n tiende a infinito, S.U. tiende a


k. Lmite terico difcil de conseguir.
Es conveniente que k sea arbitrariamente grande para
maximizar el S.U.? ...

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Mtricas de la segmentacin lineal (III)


Eficiencia: Speed-up conseguido por etapa.
SU k
n
Ek =
=
k
k + (n 1)

Lmite inferior: 1/k (cuando n=1)


Lmite superior: 1 (cuando n )

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Mtricas de la segmentacin lineal (IV)


Throughput: Nmero de tareas por segundo.
n
Hk =
[k + (n 1)]

ptimo: 1 (cuando n ). En este caso, el


tiempo de iniciacin de la unidad es
despreciable.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Las etapas no se ejecutan en orden
secuencial.
S hay posibilidad de lazos hacia atrs.
Cada etapa se puede visitar ms de una vez
en cada iniciacin de datos.
La tabla de reserva no es nica en este tipo
de sistemas. Depende del algoritmos de
encaminamiento de datos.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo

1
Etapa

F1
F2
F3

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo
Etapa

F1
F2
F3

1
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo
Etapa

F1
F2
F3

1
X

2
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo
Etapa

F1
F2
F3

1
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo
Etapa

F1
F2
F3

1
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo
Etapa

F1
F2
F3

1
X

5
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo
Etapa

F1
F2
F3

1
X

5
X

6
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Segmentacin no lineal
Mquina X
input

F1

F2

F3
output

Tiempo
Etapa

F1
F2
F3

1
X

5
X

6
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Latencia y colisin
Latencia: Nmero de ciclos de reloj entre dos
iniciaciones consecutivas.
La latencia ptima es 1.
Siempre es posible en segmentacin lineal.
Pocas veces posible en no lineal.
Colisin: Situacin en la que datos de dos
inicializaciones distintas tratan de acceder a la
misma etapa.
Latencia prohibida: Aquella que produce una
colisin.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Latencia en la segmentacin lineal


Tiempo
Etapa

X1

X2

X3

X1

X2

X3

X1

X2

X3

X1

X2

X3

X1

X2

X3

Segmentacin lineal: Latencia 1 siempre alcanzable

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Latencia en la segmentacin no lineal


Latencia 1: Prohibida

A
B
C
D
E
F
G
H

Z
X

X Z
Z
X
X Z

Z
X

Z
X

X
Z

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Latencia en la segmentacin no lineal


Latencia 2: Prohibida
1
A
B
C
D
E
F
G
H

Z
X
X

Z
X

Z
Z
X

XZ
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Latencia en la segmentacin no lineal


Latencia 3: Permitida
1
A
B
C
D
E
F
G
H

Z
Z

Z
X

X
X

X
X

Z
X

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Latencia en la segmentacin no lineal

Latencia 1: Prohibida

Latencia 2: Permitida
Cmo identificar todas las latencias prohibidas?

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Identificacin de latencias prohibidas


Latencias prohibidas: Distancias entre
cada uno de los pares de marcas en la
tabla de reserva.
Toda latencia prohibida es siempre
menor que el nmero de columnas en
la tabla de reserva.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Ciclo de Latencia y Latencia Media


Ciclo de latencia: Secuencia de latencias
que se repiten sin que exista colisin. No
puede contener latencias prohibidas. Ej.:
(1,3)=1,3,1,3,1,3,1,.
Ciclo constante: Aquel que slo tiene una
latencia. Ej.: (3)=3,3,3,3,3,3,3,.
Latencia media: Suma de las latencias de un
ciclo, entre el nmero de ciclos. Ej.:
AL(1,3)=(1+3)/2=2
AL(3)=3/1=3

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Mnima Latencia Media (MAL)


Objetivo: Encontrar el ciclo de latencia
con la mnima latencia media (MAL).
Al minimizar la latencia se consigue un
mayor rendimiento de la unidad
funcional.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Vector de Colisin
Sea m la mxima latencia prohibida de
una tabla de reserva.
Se define Vector de Colisin, al vector
C=(Cm, Cm-1, , C2, C1), siendo Cn
igual a 1 si la latencia n es prohibida, y
0 si es permitida.
Ej.: Sistema con latencias prohibidas
2,4,5,7 C=(1011010).

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Pasos para calcular el ciclo de latencia ptimo


Calcular el Vector Inicial de Colisin.
Calcular el Diagrama de Estado de la Tabla
de Reserva.
Sobre el Diagrama, identificar todos los
ciclos de latencia que sean greedy (aquellos
en los que se elige la menor latencia posible
en cada estado).
Calcular la latencia media de cada uno de
estos ciclos. La menor es la MAL.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Algoritmo para calcular el Diagrama de Estados


Se parte del Vector de Colisin Inicial, que es el Estado
inicial del Diagrama. Se identifican las latencias
permitidas.
Cada latencia da lugar a un arco. El estado destino de
cada arco se calcula mediante la operacin lgica:
C final

rn
= (C actual ) + (Cinicial )

rn
C es el desplazamiento lgico a la derecha de C (n posiciones,
siendo n la latencia del arco).
+ es la operacin O-lgica.

Si Cfinal da lugar a un nuevo estado, se aade al


diagrama y se repite el proceso.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Ejemplo de clculo de ciclos de latencia

Latencias prohibidas: 1, 3, 4, 5
Latencias permitidas: 2, 6+
Vector de colisin inicial: C=(1,1,1,0,1)

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Ejemplo de clculo de ciclos de latencia

6+

11101

Toda latencia mayor que Cm es siempre permitida, y


genera un arco hacia el estado inicial

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Ejemplo de clculo de ciclos de latencia

6+

11101

2
11111

Latencia 2:
Cfinal= (00111) + (11101) = (11111)

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Ejemplo de clculo de ciclos de latencia

6+

11101

6+

11111

Desde (11111) no hay latencias permitidas, excepto 6+,


que retorna al estado inicial.
Todos los estados han sido explorados: Diagrama de
Estados final.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Ejemplo de clculo de ciclos de latencia

6+

11101

6+

11111

Ciclos de latencia:
Desde (11101):
(6): No greedy; (2,6): Greedy

Desde (11111):
(6,2): Greedy. Igual que (2,6)

nico ciclo greedy: (2,6)


AL(2,6)=4 MAL

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Ejemplo de clculo de ciclos de latencia


Lat
F1
F2
F3

0
1

4
1

5
1

6
2

10
2

1
1

2
2
1

3
2
1

4
1
2

5
1

6
2

7
2

8
3

11101

2
11111

6
6+

15

16
3

17
3

18
4

19

20

19

20
5
6

Planificacin 1:
Latencias= <6, 6, 6, 6, 6, ..>
Ciclo de latencias= (6)
AL = 6

3
2

2
6+

14

6+

0
1

13

11111
Lat
F1
F2
F3

12
3
2

11101

6+

11
2

10
4
3

11
4
3

12
3
4

13
3

14
4

15
4

16
5

17
5

18
6
5

Planificacin 2: (Greedy)
Latencias= <2, 6, 2, 6, 2, 6, ..>
Ciclo de latencias = (2, 6)
AL = (2+6)/2 = 4 = MAL

6
5

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Es este el mejor rendimiento alcanzable?


La mnima latencia media (MAL) asociada al mejor
ciclo greedy es ptima para la tabla de reserva inicial.
Sin embargo, puede no ser ptima para el sistema.
Solucin: Calcular otra tabla de reserva para el mismo
sistema que derive en una mejor latencia media.
En general, MAL tiene como:
lmite inferior el mximo nmero de marcas en
cualquier fila de la tabla de reserva
lmite superior la latencia media del mejor ciclo
greedy.

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Modificacin de la Tabla de Reserva


output
input

S1
S2
S3

S1

1
X

S2

X
X

S3

4
X
X

5
X

Vector de Colisin Inicial


1011

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Modificacin de la Tabla de Reserva


5+

1011

Ciclo greedy: (3) MAL=3


Es posible mejorarlo?
El nmero mximo de marcas en una fila de la tabla
de reservas es 2.
Se puede alcanzar MAL=2 modificando la tabla?

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Modificacin de la Tabla de Reserva


D1
D1

output
input

S1

S2

S3

D2
D2

S1
S2
S3

1
X

X
X

5
X

X
X D1 X

6
D2

7
X

Vector de Colisin Inicial


100010

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Modificacin de la Tabla de Reserva


4, 7+
100010
5

5
100011

4, 7+
5

7+

4
4, 7+

100110

110011
1
3

Ciclo greedy: (1,3) MAL=2


Introduciendo retrasos en el sistema se ha modificado la
tabla de reserva, y se ha conseguido un ciclo mejor.
Contradictorio?

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Mtricas de la segmentacin no lineal (I)


Throughput: Nmero de tareas iniciadas por ciclo
de reloj. Depende de la latencia:
H(3) = 1/3 x1 - - x2 - - x3 .
H(1,3) = 2/4 = 1/2 x1x2 - - x3x4 - - x5 .

AT5118 Arquitectura e Ingeniera de Computadores I


Juan Antonio Maestro

Mtricas de la segmentacin no lineal (II)


Eficiencia: % de utilizacin de las etapas en
estado estacionario (tras las inicializacin).
S1
S2
S3

1
1

1
1

4
2
1
1

5
1
2

7
3
2
2

8
2
3

9
3

10
2
3

11
2

12
4
3

13
4

14
3
4

E(3) = 6/9 = 66.7%


2

15
3

16
5
4

17
5

18
4
5

19
4

20
6
5

21
6
5

Estacionario

S1
S2
S3

1
1

2
2
1

2
1

1
2

5
3
2
1

6
4
3
2

7
1
4
3

8
2
3
4

9
5
4
3

10
6
5
4

11
3
6
5

Estacionario

11

12
4
3

13
4

14
3
4

15
3

16
5
4

17
5

18
4
5

E(1,3) = 12/12 = 100%


3

19
4
5

20
6
5

21
6
5

Potrebbero piacerti anche