Anda di halaman 1dari 20

ARQUITECTURA DE COMPUTADORES I

Tema 2: Segmentacin de Cauce


Leccin 6:

Optimizacin del Rendimiento de Cauces


Unifuncionales y Multifuncionales

Curso 2011/2012

Bibliografa
1. K. HWANG.

Advanced Computer Architecture.


Parallelism, Scalability, Programmability,
McGraw Hill, 1993.

2. D. SIMA and T. FOUNTAIN, and P. KACSUK.

Advanced Computer Architectures: A Design Space Approach,


Addison Wesley, 1997.

3. J. L. HENNESSY and D. A. PATTERSON.

Computer Architecture. A Quantitative Approach,


Morgan Kaufmann, 3rd edition, 2003.

4. J. ORTEGA, M. ANGUITA y A. PRIETO.

Arquitectura de Computadores,
Thomson, 2005.

Arquitectura de Computadores I. Tema 2. Leccin 6

Tema 2. Segmentacin de Cauce


1. Introduccin: Motivacin y nota histrica
2. Principio y prestaciones generales
3. Diseo de un procesador segmentado sencillo

4. Espacio de diseo de los procesadores segmentados


5. Optimizacin de cauces funcionales [Ortega 2.5; Hwang 6.2]
1. Introduccin a los cauces no lineales

2. Tablas de reservas
3. Planificacin de las entradas a un cauce unifuncional
4. Planificacin de las entradas a un cauce multifuncional

5. Mejora de prestaciones

6. Interrupciones en un procesador segmentado

Arquitectura de Computadores I. Tema 2. Leccin 6

Implementacin de los Cauces: Cauces no Lineales


Cauce Lineal:
Cada etapa est conectada slo con una etapa anterior y otra posterior, y las
entradas a procesar (instrucciones, operandos,) se pueden introducir en el
cauce al ritmo de una cada ciclo de reloj

Existen cauces no lineales, en los que:


Hay etapas que necesitan varios ciclos de reloj.
Algunas etapas se vuelven a reutilizar por una misma operacin.

Una misma operacin (instruccin,..) puede utilizar ms de una etapa al


mismo tiempo.
El orden en que se visitan las etapas (y las etapas que se visitan) puede
cambiar de una operacin a otra (cauces multifuncionales).
Pueden existir dependencias entre las operaciones que se introducen en el
cauce, de forma que el orden en que una operacin visite las etapas cambie
dinmicamente (cauces dinmicos multifuncionales)
La productividad de un cauce depende de (1) que exista una fuente continua de
operaciones (instrucciones,..) a realizar, y (2) de que exista un procedimiento eficaz de
planificacin del cauce.
Arquitectura de Computadores I. Tema 2. Leccin 6

Ejemplo de Cauce Lineal: Multiplicador de 6 bits

SPA

Sumador con Propagacin


de acarreo de n bits

SSA

Sumador con salvaguarda


de acarreo de n bits

Arquitectura de Computadores I. Tema 2. Leccin 6

Ejemplo de No Cauce Lineal: Multiplicador de 32 bits


Multiplicador de 32 bits, a partir de la estructura de
multiplicador de 6 bits anterior.
Un multiplicador lineal de 32 bits necesitara 30
SSAs.
Los operandos a multiplicar se introducen en trozos
de 4 bits (de menos a ms significativos) y
reutilizan etapas del cauce.

1
S1
S2

No se puede iniciar
otra multiplicacin
distinta

1
1

S3

S4

S5
Tiempo

Arquitectura de Computadores I. Tema 2. Leccin 6

Ejemplos de Procesadores Segmentados: TI-ASC

Reutilizacin de
algunas etapas
para implementar
un producto escalar

Diseo de los diferentes cauces lgicos del


procesador
Arquitectura de Computadores I. Tema 2. Leccin 6

Implementacin de los cauces


lgicos en un cauce fsico
7

Tabla de Reservas: Cauce Unifuncional


t

La Tabla de Reservas describe el uso


que una operacin, instruccin, hace
de las distintas etapas del cauce en su
paso por el mismo

Permite determinar el tiempo de


latencia de la operacin, instruccin,
Cauce Lineal (Unifuncional)

Cauce No-Lineal (Unifuncional)

Arquitectura de Computadores I. Tema 2. Leccin 6

Tabla de Reservas: Cauce Multifuncional

Cauce Multifuncional

Tablas de Reservas para las dos formas distintas (X, Y) de


poder utilizar el cauce

Arquitectura de Computadores I. Tema 2. Leccin 6

Tabla de Reservas: Latencias Prohibidas

Latencia Prohibida 2:
Se produce colisin si se
introduce X1 y 2 ciclos despus
X2.

Latencia Prohibida 5:
Se produce colisin si se
introduce X1 y 5 ciclos despus
X2.
Xi: instruccin i-sima del tipo X

En un cauce no se pueden introducir operaciones (instrucciones,) con retardos


iguales a las latencias prohibidas del cauce: se produciran colisiones en el
cauce
Arquitectura de Computadores I. Tema 2. Leccin 6

10

Planificacin de un Cauce Unifuncional (I): Unidad de Control para


Productividad Mxima

F={8,1,5,6} (Latencias Prohibidas)


C=(10110001) (Vector de Colisiones)
Unos en las componentes 1,5,6,8 (las
componentes se cuentan de derecha a
izquierda empezando desde 1)
7,9+

7,9+

(1) Construir la Tabla de Reservas

7,9+

7,9+

7,9+

(2) Determinar la Lista de Latencias Prohibidas


(3) Construir el vector de Colisiones
(4) Construir el Diagrama de Estados

Diagrama de Estados
Arquitectura de Computadores I. Tema 2. Leccin 6

11

Planificacin de un Cauce Unifuncional (II): Unidad de Control para


Productividad Mxima

Estado Inicial

9+
7

10110111
10110111

10110001

Se desplaza 4
posiciones a la
derecha introduciendo
ceros

00001011

Unin bit a bit

10111011

10111011

Arquitectura de Computadores I. Tema 2. Leccin 6

12

Planificacin de un Cauce Unifuncional (III): Unidad de Control


para Productividad Mxima
Latencia Media de un Ciclo (LM)

7,9+

LM
7,9+
7,9+

Suma _ de _ Latencias _ del _ Ciclo


Numero _ de _ Estados _ del _ Ciclo

7,9+ 7,9+

LM(Ciclo A) = 11/3 = 3.67


B

LM(Ciclo B) = 7/2 = 3.5

El ciclo para el que se obtiene la menor


latencia media (MLM) es el que permite
conseguir el mejor rendimiento del cauce:
Ciclos avariciosos: Se obtienen a partir
de cada estado, seleccionando la opcin
correspondiente al mnimo tiempo de
espera. Los ciclos A y B de la figura son
ciclos avariciosos

Wmax

Arquitectura de Computadores I. Tema 2. Leccin 6

MLM t
t = periodo del cauce
13

Planificacin de un Cauce Unifuncional (IV): Implementaciones


1 2 3 .

Componentes

Para Ciclo Avaricioso


0

Desplazamiento
con cada ciclo

Para Ciclo de Mnima Latencia Mnima

Tabla definida segn el ciclo de MLM del diagrama

Arquitectura de Computadores I. Tema 2. Leccin 6

14

Planificacin de un Cauce Multifuncional (I): Unidad de Control


para Productividad Mxima
FAB : Latencias prohibidas que se generan al
introducir una operacin B en el cauce para
las operaciones A que puedan venir
despus
FAA ={2,3}

FAB={1,2,4}

FBA ={2,4}

FBB={2,3}

Vectores de Colisiones Cruzadas:


VAA=(0110)

VAB=(1011)

VBA=(1010)

VBB=(0110)

Matrices de Colisin:

MA=

0110

AA

1010

BA

MB=

1011

AB

0110

BB

Arquitectura de Computadores I. Tema 2. Leccin 6

15

Planificacin de un Cauce Multifuncional (II): Unidad de Control


para Productividad Mxima

B5+

1011

B4
0111

0000

A5+

0000
A3

0001
0000

0111

Desplaza 3
posiciones
hacia la
derecha

0110
Unin bit a bit

1011
0110

0110

1011

1010

Unin bit a bit

1010

=MB

Desplaza 4
posiciones
hacia la
derecha

=MA

Arquitectura de Computadores I. Tema 2. Leccin 6

16

Planificacin de un Cauce Multifuncional (III): Unidad de Control


para Productividad Mxima
Si se sabe la secuencia de
instrucciones se puede establecer el
diagrama de estados (es un
subgrafo del obtenido).

A5

Ejemplo: ABABAB.
MLM=(3+1)/2=2

Diagrama de estados a partir de


ciclos avariciosos (se sale de cada
estado esperando la mnima latencia)

Arquitectura de Computadores I. Tema 2. Leccin 6

17

Planificacin de un Cauce Multifuncional (IV): Implementaciones

Hay m funciones distintas:


m matrices de colisin que
definen m estados iniciales

Se activar el que corresponda a


la funcin que est preparada para
entrar DAVi=1

Tabla definida a partir del diagrama de


estados

Arquitectura de Computadores I. Tema 2. Leccin 6

18

Planificacin del Cauce: Mejora de Prestaciones

MLM=3

Introduciendo
retardos
convenientemente, se
consigue reducir la
MLM (mejorar el
rendimiento del cauce,
aunque la latencia
aumenta)

MLM=2

Arquitectura de Computadores I. Tema 2. Leccin 6

19

Para ampliar

Pginas Web:
http://www.sigda.org/Archives/ProceedingArchives/Dac
(Design Automation Conference)
http://www.synopsys.com/products/designware/docs/doc/dwf/datasheets/
dw02_mult_5_stage.pdf (Hoja de caractersticas y descripcin HDL de un
Multiplicador segmentado)

Artculos de Revistas y Libros:


Grun, P.; Halambi, A.; Dutt, N.; Nicolau, A.: RTGEN: An Algorithm for
Automatic Generation of Reservation Tables from Architectural
Descriptions, ISSS, 1999.
Kogge, P.M.: The Architecture of Pipelined Computers. McGraw Hill, 1981.
Jun, H.S.; Hwang, S.Y.: Automatic Synthesis of Pipeline Structures with
Variable Data Initiation Intervals. 31st Design Automation Conference, 1994.

Arquitectura de Computadores I. Tema 2. Leccin 6

20

Anda mungkin juga menyukai