Está en la página 1de 12

1.

Un circuito que implementaba una operacin en T = 500 ns se ha segmentado mediante un cauce lineal con cinco etapas de duracin t1 = 80 ns, t2 = 100 ns, t3 = 120 ns, t4 =110 ns y t5 = 100 ns respectivamente, separadas por un registro de acoplo que introduce un retardo d = 10 ns. a) A qu frecuencia funciona el cauce?

b) Cul es la mxima ganancia de velocidad posible?

( )

( )

( )

c) Cul es la productividad mxima del cauce?

( )

( )

d) A partir de qu nmero de operaciones ejecutadas se consigue una productividad igual al 75% de la productividad mxima?

( )

2. Realice un programa para calcular la expresin X = aX + bY + Z, donde a y b son escalare y X, Y, y Z son tres vectores cuyos componentes se encuentran almacenados en memoria en posiciones consecutivas a partir de dos direcciones establecidas. Adems, tanto a como b y las componentes de X, Y, y Z son nmeros de doble precisin. a) Suponiendo un cauce con las etapas IF, ID, EX, MEM, WB, en el que la multiplicacin tarda 5 ciclos y la suma de nmeros en coma flotante tarda 2, y hay un multiplicador y un sumador que pueden ejecutar operaciones en paralelo. Adems, el clculo de la direccin de destino de salto se realiza en la etapa ID. Estime el nmero de ciclos que se necesitaran, y aplique alguna tcnica que permita reducir los atascos (stalls) para este programa suponiendo que, en las instrucciones de salto, el procesador anula las instrucciones que se introducen tras la instruccin de salto slo si se produce el salto. b) Qu cambios realizara si el procesador utilizase la tcnica de anular siempre? y en el caso de anular si no se salta? y en el caso de anular siempre? c) Utilice la tcnica de segmentacin software (software pipelining) para mejorar las prestaciones del programa (sin utilizar desenrollado de bucle) en el caso de anular si se salta.

3. Se han encontrado dos posibles alternativas para la ejecucin de una funcin F en un cauce con 5 etapas S1, S2, S3, S4, S5. La alternativa 1 visita las etapas segn la secuencia S1 S5 S1 S3 S2 S4 S4, S5, y la alternativa 2 en el orden S1 S2 S3 S2 S1 S3 S4 S2 S5. e) Cul de las dos alternativas permite ejecutar un nmero mayor de funciones por unidad de tiempo? Demuestre razonadamente su respuesta.

1 Alternativa - > S1 S5 S1 S3 S2 S4 S4 S5 Tabla de reservas: S1 S2 S3 S4 S5 1 X 2 3 X 4 5 X X X X X X 6 7 8

Latencias Prohibidas: F= {1,2,6} Vector de Colisiones: C= (100011)

Diagrama de estados
4,5,7+ 100011 000001 4,5,7+ 100111 100011 3

2 Alternativa - > S1 S2 S3 S2 S1 S3 S4 S2 S5 Tabla de reservas: S1 S2 S3 S4 S5 1 X 2 X X 3 4 X X X X 5 X 6 7 8 X 9

Latencias Prohibidas: F= {2,3,4,6} Vector de Colisiones: C= (101110)

Diagrama de estados
7+
101110 7+ 1 5 7+ 5 111111 101111

Luego ambas alternativas permiten ejecutar el mismo nmero de instrucciones por unidad de tiempo.

f) Obtenga adems la ganancia en velocidad que ofrecen cada una de las alternativas con respecto a su ejecucin sin cauce para 1000 operaciones, teniendo en cuenta que sin cauce la funcin requiere un tiempo de 20 ns; que las etapas del cauce suponen unos tiempos de ejecucin de: 6ns para S1, 5 ns para S2, 3 ns S3 y 4 ns para S4 y S5; y que los registros introducen retardos de 0.2 ns.

Secuencial: ( )

Tiempo ciclo segmentado:

Ganancia secuencial:

Para 1000 operaciones:

( )

( )

4. Las cinco etapas de un cauce multifuncional, S1, S2, S3, S4, y S5, se utilizan por las instrucciones del tipo A de la forma S1 S2 S5 S1 S3 S1 S4 S1 y por las instrucciones del tipo B de la forma S1 S4 S1 S3 S1 S2 S1 S5. Escriba las matrices de colisiones cruzadas, el diagrama de estados, y determine cul es la productividad mxima del cauce para una secuencia de instrucciones del tipo B (es decir B, B, B,) teniendo en cuenta que la frecuencia de reloj es de 500 MHz.

Tabla de reservas: S1 S2 S3 S4 S5 1 A,B 2 A B B A A B A B 3 B 4 A 5 B 6 A 7 B 8 A

Latencias Prohibidas, vectores de colisiones FAA= {2,3,4,5,7} FAB= {1,2,3,4,5,6} FBA= {1,3,5,7} FBB= {2,4,6} CAA=(1011110) CAB=(111111) CBA=(1010101) CBB=(101010)

Matrices de colisiones MA= ( MB= ( ) ) ( ( ) )

Como la secuencia es B-B-B-.. solo hacemos el diagrama con CBB

Diagrama de estados B7+ 101010 B5 B7+ B1 B7+ 111111 101111 B5 B3 B3 101011 B5

( )

( )

5. Un procesador segmentado consta de las etapas IF (captacin de instrucciones), ID (Decodificacin de Instrucciones/Captacin de Operando), EX (Ejecucin de instruccin), MEM (ciclo de acceso a memoria/espera), WB (Almacenamiento de resultados en el banco de registros). En la etapa de ejecucin, una instruccin puede utilizar una ALU para sumas/restas con enteros y operaciones lgicas (1 ciclo de latencia), un sumador para operaciones en coma flotante (2 ciclos), un multiplicador (5 ciclos de latencia), o un divisor (19 ciclos de latencia). Adems, el procesador implementa excepciones/interrupciones precisas que se atienden en la etapa WB de la instruccin que genera la excepcin. Muestre el diagrama de ejecucin espacio-temporal del siguiente fragmento de cdigo addi r1, r1, #4 ;(1) addf f3, f2, f1 ;(2) lw f5, 0(r1) ;(3) add r5, r4, r1 ;(4) addf f4, f3, f5 ;(5) add r6, r5, r1 ;(6) subi r6, r5, #4 ;(7) sw r4, (r6) ;(8) teniendo en cuenta que la instruccin (3) da lugar a una excepcin cuando est en su etapa MEM mientras que la instruccin (5) causa otra excepcin en el primer ciclo de su etapa de ejecucin en el sumador.

Instruccin 1 addi r1, r1, #4 IF ;(1) addf f3, f2, f1 ;(2) lw f5, 0(r1) ;(3) add r5, r4, r1 ;(4) addf f4, f3, f5 ;(5) add r6, r5, r1 ;(6) subi r6, r5, #4 ;(7) sw r4, (r6) ;(8)

2 ID IF

3 EX ID IF

4 MEM EX ID IF

5 WB EX Stall Stall Stall

19

20

21

22

23

24

25

26

MEM EX ID IF

WB MEM EX ID IF WB MEM EX ID IF IF ID IF EX ID IF MEM EX ID IF WB MEM EX ID IF WB EX EX STALL STALL MEM Stall STALL STALL WB MEM ID IF

Instruccin addf f4, f3, f5 ;(5) add r6, r5, r1 ;(6) subi r6, r5, #4 ;(7) sw r4, (r6) ;(8)

35 36 37 38 IF ID EX EX IF ID IF EX

39 40 MEM WB Stall

41

42

43

44

MEM WB EX ID MEM WB EX MEM WB

STALL STALL ID STALL STALL IF

Cul sera el diagrama en el caso de que el procesador implemente excepciones imprecisas?

Instruccin 1 addi r1, r1, #4 IF ;(1) addf f3, f2, f1 ;(2) lw f5, 0(r1) ;(3) add r5, r4, r1 ;(4) addf f4, f3, f5 ;(5) add r6, r5, r1 ;(6) subi r6, r5, #4 ;(7) sw r4, (r6) ;(8) Instruccin add r5, r4, r1 ;(4) addf f4, f3, f5 ;(5) add r6, r5, r1 ;(6) subi r6, r5, #4 ;(7) sw r4, (r6) ;(8) 31 IF

2 3 4 5 ID EX MEM WB IF ID IF EX ID IF EX

18 19 20 21

22

MEM WB MEM EX ID IF IF ID IF EX MEM WB ID EX MEM IF ID IF EX ID IF

STALL EX STALL ID STALL IF

32 ID IF

33 EX ID IF

34 35 MEM WB EX ID IF EX EX S S

36

37

38

39

40

41

MEM WB STALL MEM WB STALL ID STALL IF EX ID MEM WB EX MEM WB

También podría gustarte