Problemas Pipeline 2011_2

  • View
    45

  • Download
    3

Embed Size (px)

Text of Problemas Pipeline 2011_2

Problemas Pipeline1. Considere dos procesadores, uno sper escalar y otro sper segmentado, el procesador superescalar es de grado 4 y el procesador supersegmentado divide su trabajo en 20 etapas. A20 etapas 1 pipeline

B5 etapas

4 pipelines

a. (2 puntos) Si el tiempo en el que se desarrolla una instruccin es el mismo para ambos, indique la relacin de frecuencias de reloj entre ambos (la frecuencia de reloj de A es X veces mayor a la de B), as como la productividad de ambos (en teora, A produce Z resultados por unidad de tiempo, en tanto que B produce W resultados por unidad de tiempo). b. (2 puntos) Discuta brevemente, las razones que lo llevaran a decantar por uno u otro esquema para trabajar con uno de los diseos, fundamentando claramente su respuesta.

2. Se tiene un computador A, con las fases tpicas de ejecucin de una instruccin, que se indican seguidamente, junto a los tiempos empleados en cada una de ellas: i) ii) iii) iv) v) Bsqueda de la instruccin e incremento de PC. Decodificacin y lectura de registros. Ejecucin y clculo de direcciones. Acceso a memoria en las instrucciones de Load y Store. Escritura del resultado en registros. 10ns 8ns 10ns 10ns 7ns

Y otro computador B con el mismo juego de instrucciones pero con un pipeline de 5 etapas, las correspondientes a las fases anteriores. La inclusin de los registros de desacoplo necesarios entre las etapas del pipeline introduce un retardo de 1ns en el paso de una etapa a la siguiente. Considere que cuando se tiene tiempos diferentes en las fases, al construir el pipeline se toma el tiempo ms lento para todas las fases. Sabiendo que del total de las instrucciones ejecutadas en estos computadores: El 40% son del tipo A (Ej. Aritmticas o Lgicas). El 20% son del tipo B (Ej. Bifurcaciones). El 20% son del tipo C (Ej. Instrucciones Load). Y el 20% son del tipo D (Ej. Instrucciones Store).

1

Calcule: c. (2.0 puntos) El tiempo medio de ejecucin por instruccin en ambos computadores. d. (2.0 puntos) Ganancia (speedup) obtenida con el computador con pipeline. Nota: Suponga que en el computador con pipeline todas las instrucciones pasan por todas las etapas. En el computador sin pipeline: las instrucciones tipo A no realizan acceso a memoria; los del tipo B, no realizan acceso a memoria ni escritura en registros; los del tipo C, necesitan todas las fases y las del tipo D, no realizan escritura en registros.

3. Considere un procesador que ejecuta las instrucciones por etapas. Cada etapa consume un ciclo de reloj, y se ejecutan en forma secuencial segn lo siguiente: 1: IF: Bsqueda de la instruccin, tiempo requerido 3ns 2: ID: Decodificacin y bsqueda de operandos, tiempo requerido 3ns 3: EX: Ejecucin y clculo de la direccin efectiva, tiempo requerido 3ns 4: MEM: Acceso a memoria de datos, tiempo requerido 3ns 5: WB: Post escritura, tiempo requerido 3ns Considere que el procesador ensamblador: LOAD LOAD ADD AND LOAD LOAD XOR R1, 10h R2, 20h R1, R2 R3, R1 R4, 16h R5, 23h R4, R5 ejecuta la siguiente seccin de cdigo en su lenguaje

; R1 = 10h ; R1 = R1 + R2 ; R3 = R3 & R1

e. (2 puntos) Se pide, comparar el tiempo de ejecucin del programa en un procesador sin pipeline y otro procesador que si pueda ejecutar el mismo cdigo pero segmentando el proceso de ejecucin en 5 etapas. f. (2 puntos) A cunto se reducira el tiempo de ejecucin del mismo cdigo al ser ejecutado en un procesador que cuente con una unidad de control que tenga la capacidad de emplear alguna tcnica de adecuada para la ejecucin fuera de orden?

4. Considere la segmentacin bsica de dos procesadores antiguos -contemporneos entre s- el AMD Athlon K7 y el Intel Pentium III, en ambos casos de 10 etapas. Entre las mayores diferencias que podramos identificar para ambos procesadores tenemos la cantidad de instrucciones x86 que pueden absorber a la vez, en el caso del Athlon K7 podan ser 3 instrucciones simultneas, en tanto que el Pentium III nicamente 2. A nivel interno el Athlon K7 contaba con 9 unidades de ejecucin paralelas para instrucciones internas sencillas, en tanto que el Pentium III con 5. Al hablar de instrucciones internas sencillas, nos referimos a instrucciones internas de estilo RISC que utiliza cada uno de estos procesadores (en diferentes traducciones) para ir resolviendo las instrucciones CISC propias del conjunto x86 con las que trabaja cada uno de estos CPU. Si hay algo que favoreca notablemente a los procesadores Intel era el hecho que la tecnologa bajo la cual estaban fabricados, permita la resolucin de cada fase a una mayor velocidad, teniendo

2

como efecto una mayor frecuencia de reloj de trabajo, por el contrario, la cantidad de trabajo efectivo que realizaba por cada ciclo de reloj era un tanto menor que la de su competidor. a. (2 puntos) Es posible considerar como modelos comparables (en trminos de rendimiento) a un procesador AMD Athlon K7 de 800MHz contra un Intel Pentium III de 1GHz? Establezca y explique los criterios que le permitiran afirmar que la comparacin anterior podra ser aceptada como vlida (que minimizan el peso de la diferencia en frecuencia de operacin sobre el rendimiento). b. (2 puntos) Los sucesores de cada uno de estos procesadores, el Athlon XP de AMD y el Intel Pentium 4 se diferencian fuertemente por su nivel de segmentacin, pues en tanto que el ncleo de los primeros Athlon XP incorporaba un pipeline bsico de 12 fases, el P4 contena hasta 20 etapas. Explique, bajo esta perspectiva, cual de los dos caminos podra haber resultado como el ms conveniente; sustente claramente su respuesta.5. (4.0 puntos) El siguiente programa ser ejecutado en un procesador RISC segmentado con 4 etapas: IF, ID, EX, WB. R0 = R0 + 1 R3 = R0 + R3 R2 = R2 + 5 SALTO LOOP R0 = R0 + 1 R3 = R0 + R3 R2 = R2 + 5 R0 = R0 + 1 R3 = R0 + R3 R2 = R2 + 5 b. (2.0 puntos) Grafique la ejecucin del programa en el procesador segmentado sobre un diagrama de tiempo. c. (2.0 puntos) Qu inconvenientes se presentan en la ejecucin? Cmo se solucionaran? Explique.

LOOP:

6. Considere un programa que genera una secuencia de 500,000 instrucciones mayoritariamente aritmtico lgicas y sin considerar saltos. a. Determine el tiempo de ejecucin del programa en un CPU segmentado en 5 etapas con un ciclo de reloj de 1.5ns. b. Determine el Speedup alcanzado, al ejecutar el mismo programa en un CPU superescalar grado 2, con 5 etapas por instruccin, con un ciclo de reloj de 2ns. Asuma que la ejecucin del programa se realiza en ambos casos, sin detenciones de ningn tipo (no existen riesgos).

7. Acerca de la clasificacin de arquitecturas CISC/RISC, se pide responder a las siguientes preguntas:

3

a. (2 puntos) Por qu razn an cuando RISC se muestra ms eficiente en trminos de implementacin y ejecucin sobre un pipeline, es menos popular que la arquitectura CISC en el campo de computacin de propsito general? b. (2 puntos) De qu manera los procesadores de la IA32, que son eminentemente ejemplos de arquitectura CISC, pueden lidiar con los problemas de ineficiencia en la explotacin de la infraestructura del pipeline inherente a la heterogeneidad de su juego de instrucciones? Detalle las tcnicas empleadas para minimizar tales problemas.

8. Se tiene un computador con un procesador de 800 MHz y un pipeline de 5 fases (IF, ID, ALU, MEM, WB), todas las fases tienen la misma duracin equivalente a un T. Se desea ejecutar el siguiente programa en lenguaje ensamblador: MOV MOV SUB XOR MOV OR MOV MOV AND SUB MOV MUL ADD a) AX, 2000H BX, 4508 AX, BX BX, AX DX, 73E2H DX, 0F05H CX, 0A4F4H AX, 1234 DX, CX CX, AX CX, 2345 CX DX, 500

; AX = AX - BX ; BX = BX (OR EXCLUSIVA) AX

; DX = DX (AND) CX ; DX:AX AX * DX

(1.5 ptos) Calcule el nmero de ciclos empleado y el tiempo de ejecucin del programa. Justifique su respuesta empleando un grfico.

b) (2.5 ptos) Proponga un arreglo para eliminar las dependencias de datos en el pipeline y as mejorar el tiempo de ejecucin del programa. Cul sera el nuevo nmero de ciclos empleado y su tiempo de ejecucin? Justifique su respuesta empleando un grfico.

9. Dados los siguientes comentarios, justifique o niegue la afirmaciones que se indican en cada prrafo. Deber explicar claramente y al detalle las razones de su respuesta. a) ( 1 punto ) Los microprocesadores "cableados": aquellos que tienen una unidad de control especficamente diseada sobre el silicio para un juego de instrucciones concreto y los microprocesadores "microprogramados": aquellos que tienen una unidad de control genrica o prediseada y que implementan un juego de instrucciones u otro dependiendo de un microprograma.

b) ( 1 punto ) Hoy da la microprogramacin ha desaparecido prcticamente por completo. Esto se debe a los siguientes factores: Ya existen herramientas avanzadas para disear complejas unidades de control con millones de transistores litografiados. Estas herramientas prcticamente garantizan la ausencia de errores de diseo. Las unidades de control cableadas tienen un rendimiento significativamente mayor que cualquier unidad microprogramada, resultando ms competitivas.

4

c)

(1 punto ) Intel acaba de presentar la siguiente evolucin de su microarquitectura, con nombre comercial Core i7 y conocida como Nehalem. Las novedades ms importantes de los nuevos procesadores son el abandono de la arquitectura de bus que ha usado Intel desde el Pentium-Pro , para pasar a una nueva denominada Intel QuickPath Interconnect, QPI y la inclusin de los controladores de memoria en la propia oblea (cosa que ya hizo AMD hace tiempo). Core i7 es un microprocesador con un pipeline de ejecucin de 14 etapas capaz de ejecutar instrucciones fuera de orden. Las unidades de ejecucin no han cambiado respecto a la actual arquitectura Core 2. Ha vuelto la tecnologa de hyperthreading (SMT), de tal manera que un micro con dos cores fsicos, el sistema ver ahora como