Professional Documents
Culture Documents
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?
( )
( )
( )
( )
( )
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.
Diagrama de estados
4,5,7+ 100011 000001 4,5,7+ 100111 100011 3
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: ( )
Ganancia secuencial:
( )
( )
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.
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)
( )
( )
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
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
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
32 ID IF
33 EX ID IF
34 35 MEM WB EX ID IF EX EX S S
36
37
38
39
40
41