Sei sulla pagina 1di 78

2.

5
OPTIMIZACIN
DE CAUCES
FUNCIONALES

Mquina bsica

Mquina

Sin segmentar

Mquina bsica

Mquina

segmentada

2.5 OPTIMIZACION DE CAUCES


FUNCIONALES

Cauce Multifuncional
Cauce Multifuncional Dinmico

CARACTERISTICAS DE CAUSES
LINEALES
Todas las instrucciones tardan el mismo
tiempo y atraviesan todas las etapas
AHG.
Cada unidad funcional slo puede ser
usada una vez por instruccin (el flujo
de informacin queremos que vaya
siempre hacia la derecha)
Cada unidad funcional debe ser
utilizada en la misma etapa por todas
las instrucciones.

CARACTERISTICAS DE CAUCES NO
LINEALES
Etapas se vuelven a utilizar por una
misma operacin.
Presenta etapas que necesitan varios
ciclos de reloj
Se puede ejecutar varias etapas al mismo
tiempo
El orden de las etapas puede variar(de
una ope. a otra).
Las dependencias entre operaciones
produce un cambio en el orden de las
etapas a ejecutarse.

LA PRODUCTIVIDAD DE UN
CAUCE DEPENDE
1 QUE EXISTA UNA FUENTE
CONTINUA DE OPERACIONES
(INTRUCCIONES )A REALIZAR
2 QUE EXISTA UN
PROCEDIMIENTO EFICAZ DE
PLANIFICACION DE CAUCE

2.5.1 Ejemplos de unidades


funcionales segmentadas
Se pondr en manifiesto el problema que
surge cuando los cauces tienen etapas
de distinta duracin, etapas que se
reutilizan y etapas con mltiple funcin.

Acumulador NO
Segmentado

Acumulador
Segmentado

Acumulador
Segmentado

T (NO segmentado)

T (Segmentado)

2.01u

2.04u

10

20.1u

11.22u

100

201u

103.02u

1000

2010u

1021.02u

1000
0

20100u

10201.22u

Multiplicador de datos de 6 bits

W1

Generador de multiplicando
desplazado
W2
W3
W4
W5
SSA1

SSA2

SSA3

SSA4

SPA

P=AB

Otro ejemplo de unidad


segmentada es el
multiplicador de datos de
6 bits con cinco etapas
W6

Cauce Lineal:
Cada unidad funcional
slo puede ser usada
una vez por instruccin,
tienen la misma
duracin; as como un
orden.

Multiplicador de
datos de 32 bits
(si uno quisiera
construir el
mismo
multiplicador
anlogo a lo
anterior
necesitara usar
30 SSA que
adems serian
mas complejos
porque deben
ser capaces de
sumar mas
datos
con mas
La figura
muestra
un
bits)
diseo
de
segmentacin
alternativo en forma
de cauce no lineal
debido a que
presenta
realimentacin lo
cual hace que
algunas etapas se

Receptor

Receptor

Receptor
Multiplicaci
n

Alineacin
Suma

Alineacin
Receptor

Salida

Suma en coma FijaSuma en coma


Flotante

Suma
Normalizaci
n

Normalizaci
n
Salida

Multiplicacin
Acumulaci
n
Resta de
exponentes

Resta de
exponentes

Suma

Receptor

Salida

Salida

Multiplicacin
en coma Fija
Producto escalar de
Etapas del Cauce Aritmtico del TI-ASC
Vectores en coma
Flotante

Receptor
Multiplicac
in
Acumulaci
n
Resta de
exponentes
Alineacin
Suma
Normaliza
cin
Salida
Producto escalar de
Vectores en coma
Flotante

Cauce no Lineal:
Etapas se vuelven a utilizar por
una misma operacin.
Etapas que necesitan varios
ciclos de reloj
Se puede ejecutar varias etapas
al mismo tiempo
El orden de las etapas puede
variar(de una ope. a otra).
Las dependencias entre
operaciones produce un cambio
en el orden de las etapas a
ejecutarse.

2.5.2 DISEO DE UNA UNIDAD DE CONTROL PARA UN


CAUCE SEGMENTADO

Se describe un procedimiento para


determinar la mejor poltica de
planificacin en un cause estatico ,
unifuncional o multifuncional para
tener una mxima productividad del
dicho cauce
El procedimiento parte de una tabla
de reservas del cauce que contiene
toda la informacin acerca del uso
del cauce

Diseo de una Unidad


TRde
DE Control
UN CAUCE para
LINEALun Cauce
(UNIFUNCIONAL ):
Segmentado
El num de filas es = al num de
etapas
S1
El num de columnas = al num de
ciclos
S2
El num de etapas coincide con el
TLI (time que tarda una operacin
S3
en procesarse completamente en el
S4
TR DE UN CAUCE NO LINEAL
cauce) del cause
(UNIFUNCIONAL)(MULTIPLICADOR DE
32 BITS)
1

t
S
1
S
2
S
3
S
4
S
5

1
0

1
1

1
2

1
3

1
4

1
5

1
6

1
7

1
8

1
9

2
0

2
1

2
2

2
3

2
4

2
5

26

Diseo de una Unidad de Control para un Cauce


Segmentado
TR DE UN CAUCE NO
LINEAL
(UNIFUNCIONAL)(MULTIPLICADOR DE
32 BITS)
t

1
0

1
1

1
2

1
3

1
4

1
5

1
6

1
7

1
8

1
9

2
0

2
1

2
2

2
3

2
4

S
1
S
2
S
3
S
4
S
5

Presenta un TLI = 27ciclos


Reutilizacin de las etapas del cauce
Existencia de etapas que consumen mas de un ciclo (etapa S5)
y la utilizacin de una etapa simultneamente (etapas S1 y S4
en los ciclos 3,6,9,)

2
5

26

Diseo de una Unidad de Control


para un Cauce Segmentado

LATENCIA
PROHIBIDA:

Dado un estado del cauce en un


instante determinado, los retardos
con respecto a ese instante en los
que no se pueden introducir nuevas
operaciones en el cauce, por que
daran ligar a colisiones se denomina
latencias prohibidas

LATENCIA MEDIA
El diagrama obtenido anteriormente permite conocer en cada
momento cuanto tiempo hay que esperar para iniciar la siguiente
operacin pendiente sin que se produzcan colisiones.
Para establecer la mejor poltica de planificacin de inicio de
operaciones
en el cauce, se debe determinar el ciclo del
programa que proporciona la mayor productividad.
Teniendo en cuenta que en un ciclo del diagrama los estados
corresponden al inicio de una nueva operacin y los arcos se
designan con el retardo entre el inicio de dos operaciones
consecutivas.

LATENCIA MEDIA
La poltica de planificacin ptima es la que viene
definida por el ciclo de Mxima Latencia Media (MLM).
Si la unidad de control se disea de forma que las
operaciones se inician con los intervalos indicados
por el ciclo de mxima latencia media, la
productividad mxima del cauce ser:

Donde t es el tiempo de ciclo

CICLOS AVARICIOSOS
El problema de determinar la poltica mas productiva de
inicio de operaciones se resuelve si se identifica el ciclo de
mnima latencia media.
Esta identificacin puede ser compleja en el caso de que se
tengan diagramas complicados que den lugar a un nmero
de ciclos elevados.
Una alternativa ms sencilla se basa en la identificacin de
los Ciclos Avariciosos que incluyen a los distintos estados.
Para construir un ciclo avaricioso se parte de un estado y
se toma el camino que implica iniciar la operacin
esperando el tiempo mnimo posible. Es decir, se toma el
arco correspondiente a la latencia no prohibida ms
pequea del estado. Se pasa a un nuevo estado y se sigue
el mismo procedimiento hasta que se cierra el ciclo

A continuacin se muestra con un


ejemplo los pasos para determinar
el diagrama de estados de
operaciones del cause

Tabla de Reservas
t

S1

S2

1 5 6
, ,

S3

S4

S5

Latencias
Prohibidas

Vector de
Colisiones

Tabla de Reservas
t

S1

S2

1 5 6
, ,

S3

S4

S5

Latencias
Prohibidas

Vector de
Colisiones

1011000
1

Suma or
2

1011110
1

1011110
1

1011011
1

1011000
1

1011110
1

1011011
1

1011011
1

1011101
1

1011000
1

1011110
1

1011101
1

1011011
1

1011000
1

7,9+

1011110
1

1011000
1

1011101
1

1011000
1

1011011
1

1011000
1

7,9+

1011110
1
2

1011101
1

1011111
1

1011111
1

1011000
1

7,9+

7,9+
1011011
1

1011110
1
2

1011101
1

1011111
1

1011000
1

1011000
1

7,9+

2
7,9+

7,9+
1011011
1

1011110
1
2

1011101
1

1011111
1

1011000
1

1011000
1

7,9+

2
7,9+

7,9+
1011011
1

4
4

1011101
1

1011110
1
2
1011111
1

1011101
1

1011000
1

1011101
1

7,9+
4

7,9+

7,9+
1011011
1

7,9+

1011110
1
2
1011111
1

1011000
1

1011000
1

3
1011101
1

7,9+
4

7,9+

7,9+
1011011
1

7,9+

1011110
1
2
1011111
1

1011011
1

1011000
1

7,9+

3
1011101
1

7,9+
4

7,9+

7,9+
1011011
1

7,9+

1011110
1
2
1011111
1

1011000
1

Mnima Latencia Media y Ciclos Avariciosos

1011000
1

7,9+

3
1011101
1

7,9+
4

2
7,9+

7,9+
1011011
1

7,9+

1011110
1
2
1011111
1

Mnima Latencia Media y Ciclos Avariciosos

1011000
1

7,9+

3
1011101
1

7,9+
4

2
7,9+

7,9+
1011011
1

7,9+

1011110
1
2
1011111
1

Mnima Latencia Media y Ciclos Avariciosos

1011000
1

7,9+

3
1011101
1

7,9+
4

2
7,9+

7,9+
1011011
1

7,9+

1011110
1
2
1011111
1

Mnima Latencia Media y Ciclos Avariciosos

1011000
1

7,9+

7,9+

2
7,9+

7,9+

1011011
1
3

7,9+

1011110
1
A

1011101
1

1011111
1

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

3
2

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

3
2

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

1, 4
2

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

1, 4
2

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

2, 4

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

2, 4

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

Tabla de Reservas

S1

S2
S3

B
AB

Latencias
Prohibidas

Latencias
Prohibidas

Vectores de Colisiones
4321
4Cruzadas
321

4321

4321

Vectores de Colisiones
Cruzadas

Matrices de Colisin

0110
1010

1011
0110

A1

0110
1010

1011
0110

4 3 2 1

4 3 2 1

1010

0101
0111
1111

1010
0111
1111

A4

A1

0110
1010

1011
0110

4 3 2 1

4 3 2 1

1010

000

0000
0111
1111

1010
0110
1010

A4

A1

0110
1010

1011
0110

4 3 2 1

4 3 2 1

1010

B1

0011
0101
0111
1111

1011
0111

0110
1011
0111

A4

A1

0110
1010

1011
0110

4 3 2 1

4 3 2 1

1010

B1
B3
0111
1111

0000
0001
1011
0111

0110
1011
0111

A4

A1

0110
1010

1011
0110

4 3 2 1

4 3 2 1

0110

B1
B3
0111
1111

0001
0000
1011
0111

1010
A3
0111
1010

0111
1010

A4

A1

0110
1010

1011
0110

4 3 2 1

4 3 2 1

0110

B1
B3
0111
1111

B1
1111
0111

1011
0111

0101
0011

0110

A3
1111
0111
0111
1010

A4

A1

0110
1010

B4
1011
0110

4 3 2 1

4 3 2 1

0110

B1
B3
0111
1111

B1
1111
0111

1011
0111

0000
0000

0110

A3
1011
0110
0111
1010

A4

A1

0110
1010

B4
1011
0110

4 3 2 1

4 3 2 1

1111

B1
A4
0111
1111

B3

B1
1111
0111

1011
0111

0000
0000

1010

A3
0110
1010
0111
1010

A4

A1

0110
1010

B4
1011
0110

4 3 2 1

4 3 2 1

0111

B1
A4
0111
1111

B3

B1
1111
0111

1011
0111

0001
0000

1010

A3
A3

0111
1010

0111
1010

A4

A1

0110
1010

1011
0110
B1

A4
0111
1111

B4

B3

B4
B1
1111
0111

1011
0111

4 3 2 1

4 3 2 1

0111

0000
0000

0110

A3
A3

0111
1010

1011
0110

A4

A1

0110
1010

1011
0110
B1

A4
0111
1111

B4

B3

B4

B4
B1
1111
0111

1011
0111

4 3 2 1

4 3 2 1

0111

0000
0000

0110

A3
A3

0111
1010

1011
0110

A4

A1

B4

0110
1010

1011
0110
B1

A4
0111
1111

B3

B4

B4
B1
1111
0111

1011
0111

4 3 2 1

4 3 2 1

1010

0000
0000

1010

A3

A4
A3

0111
1010

0110
1010

A4

A1

B4

0110
1010

1011
0110
B1

A4
0111
1111

B3

B4

B4
B1
1111
0111

1011
0111

4 3 2 1

4 3 2 1

1010

0011
0101

0110

A3

A4
A3

0111
1010

B1

1011
0111

A4

A1

B4

0110
1010

1011
0110
B1

A4
0111
1111

B4

B4

B3

B1
1111
0111

1011
0111

4 3 2 1

4 3 2 1

1010

0000
0001

0110

A3

A4
A3

B1
B3

0111
1010

1011
0111

A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111

4 3 2 1
4 3 2 1

0000
0000
+

0000
0000
+

1010

0110

0110
1010

1011
0111

A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Ciclos Avariciosos
A5+

A1

A4
0110
1010

1011
0110
B1

A4
0111
1111

B5+

B4
B4

B4

B3

B1
1111
0111

1011
0111
A3

A4
A3

B1
B3

0111
1010

Potrebbero piacerti anche