ejercicios_boletin1sincortocircuitos (1)

download ejercicios_boletin1sincortocircuitos (1)

of 9

Transcript of ejercicios_boletin1sincortocircuitos (1)

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    1/9

    1

    ESTRUCTURA DE COMPUTADORES

    Ejercicios Tema 2: Segmentacin bsica.

    PROBLEMAS RESUELTOS

    1. El programa BROT tarda 34 segundos en ejecutarse en un computador quedispone de un procesador con un CPI medio de 2,5 y un reloj a 800 MHz.

    a. Cuntas instrucciones mquina ejecuta este programa?

    El nmero de instrucciones I se calcula por medio de la ecuacin que expresa eltiempo de ejecucin T de un programa como el producto del nmero de instruccionesN, el nmero medio de ciclos por instruccin CPI y el periodo del reloj t C. Por lo tanto,resolvemos la ecuacin:

    34 = 2,51

    800 106

    Luego el nmero de Instrucciones I = 10880x106

    b. Si quisiramos reducir el tiempo de ejecucin por debajo de los 30segundos, justifique cul de las dos siguientes opciones sera la msapropiada: aumentar la frecuencia de reloj en 50 MHz o cambiar elprocesador por otro compatible (con el mismo juego de instrucciones) quetrabaja a la misma frecuencia con un CPI medio de 2,1.

    Si gastamos la expresin anterior, la primera opcin conseguira un tiempo de ejecucin de:

    10880 106 2,5 1

    850 106= 32

    Mientras que la segunda

    10880 106 2,11

    850 106= 28,56

    Luego, esta ltima sera la opcin que consigue un tiempo de ejecucin por debajo de los 30segundos

    2. Considera la siguiente secuencia de instrucciones,

    et i quet a : l w $3, 100( $4) ( 1)or $6, $5, $4 ( 2)add $4, $6, $3 ( 3)beq $5, $4, et i quet a ( 4)add $1, $4, $8 ( 5)and $6, $3, $5 ( 6)sw $5, 100( $6) ( 7)

    a. Rellena la siguiente tabla para indicar los riesgos por dependencia de datos que seencuentran en este fragmento de cdigo.

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    2/9

    2

    (En las casillas Se escribe en y Se lee en indica el nmero de instruccin, que seencuentra a la derecha de las instrucciones entre parntesis, en la cual se escribe olee el registro.)

    Registro Se escribe en Se lee en

    Riesgo 1 $3 (1) (3)

    Riesgo 2 $6 (2) (3)

    Riesgo 3 $4 (3) (4)

    Riesgo 4 $4 (3) (5)

    Riesgo 5 $6 (6) (7)

    b. Realiza el diagrama instrucciones/tiempo considerando que la instruccin de

    salto NO realiza el salto.

    Empleo de ciclos de espera para resolver los conflictos de datos

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    et i queta l w $3, 100( $4) LI DI EX M ER

    or $6, $5, $4 LI DI EX M ER

    add $4, $6, $3 LI DI EX M ER

    beq $5, $4, eti quet a LI DI EX M ER

    add $1, $4, $8 LI DI EX M ER

    and $6, $3, $5 LI DI EX M ER

    sw $5, 100($6) LI DI EX M ER

    3. Considera ahora que el programa anterior se ha ejecutado en la ruta de datossegmentada de cinco etapas (LI, DI, EX, M, ER) estudiada en clase y supn que lasetapas tienen un retardo de 90, 40, 70, 120, 55 ns respectivamente y que el tiemponecesario para escribir en los registros de segmentacin es de 5ns.

    a. Cul es la frecuencia de la seal de reloj a emplear en esta ruta de datos?Justifica la respuesta.

    La frecuencia de reloj es la inversa del periodo de reloj y ste ha de ser igual al retardode la etapa ms lenta ms el retardo de los registros.

    Luego, = 40 + 10 = 50 ns,

    =

    =

    b. Cul es la productividad mxima que se puede alcanzar con esta ruta de datos?Justifique la respuesta.

    =

    =

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    3/9

    3

    La productividad mxima se produce cuando se ejecuta una instruccin cada ciclode reloj

    c. Cul es la productividad conseguida realmente al ejecutar el programa delejercicio 2, utilizando para ello el resultado del apartado 1.b? Justifique larespuesta.

    =

    =,

    Se ejecutan 7 instrucciones en 19 ciclos. Cada ciclo dura 125 ns

    d. Cul es la aceleracin mxima que se puede alcanzar? Justifica la respuesta.

    =

    =

    =

    La aceleracin mxima es el ratio entre el tiempo de ciclo del procesador monociclo sinsegmentar y el del procesador segmentado. Podra ser hasta 3 veces ms rpido

    4. Se dispone de un procesador que ha sido segmentado en 5 etapas cuyos retardos

    son 40ns, 25ns, 20ns, 40ns y 25ns. Asumiendo que el retardo de los registros de

    segmentacin es de 10ns, se pide:

    a. Calcular la frecuencia de reloj del procesador segmentado.

    La frecuencia de reloj es la inversa del periodo de reloj y ste ha de ser igual al retardo

    de la etapa ms lenta ms el retardo de los registros.

    Luego, = 40 + 10 = 50 ns, = 1

    50= 20

    b. Productividad mxima del procesador segmentado.

    La productividad mxima ser ejecutar una instruccin por ciclo de reloj.

    Por tanto, = 1

    50= 20

    c. Calcular la aceleracin (speedup) del procesador segmentado respecto al nosegmentado Cul sera la aceleracin ideal?

    La aceleracin mxima es el ratio entre el tiempo de ciclo del procesador monociclo sinsegmentar y el del procesador segmentado.

    =

    =+ + + +

    =

    La aceleracin ideal es 5. EL procesador segmentado podra ser hasta 5 veces ms rpidoque el no segmentado. 5 es el nmero de etapas (K=5)

    d. Cmo se podra incrementar la productividad mxima del procesadorsegmentado? Qu factores pueden impedir que se alcance la productividad

    mxima?

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    4/9

    4

    La productividad se puede incrementar reduciendo el tiempo de ciclo y gestionandoeficientemente los conflictos y riesgos que aparecen en el cdigo. Los conflictos yriesgos son un impedimento para conseguir una alta productividad.

    e. Suponiendo que se dispone de un procesador superescalar de 4 vias cuyoscauces segmentados son similares al especificado en el enunciado, qutiempo se requerira para ejecutar 8000 instrucciones en dicho procesador?

    Al tener 4 vas podramos ejecutar 4 instrucciones en paralelo. Por tanto el tiempo deejecutar 8000 instrucciones sera similar al de ejecutar 2000. Si la existencia deconflictos y riesgos el tiempo para ejecutar 2000 instrucciones sera:

    = ( + ) = ( + ) =,

    5. Los siguientes fragmentos de cdigo contienen conflictos y/o riesgos cuando seejecutan en un procesador segmentado como el visto en clase. Completa elcronograma tiempo-etapas e indica claramente donde se producen y aportando lasolucin adecuada.

    a.

    1 2 3 4 5 6 7 8 9 10 Confl icto/Riesgo

    add $1,$2,$3 BI DI EX M EX La instruccin addescribe en el $1 y lainstruccin siguiente lolee

    or $3,$2,$1 BI DI EX M

    La solucin consiste en introducir dos ciclos de espera entre ambas instrucciones. Otraposible solucin hubiera sido insertar dos NOP entre ambas

    b.Considera que SIque se produce el salto y la latencia del mismo es 3.

    1 2 3 4 5 6 7 8 9 10 Conf licto/Riesgo

    lw $6,50($7) BI DI EX M EX Si se produce el saltoexiste una dependencia dedatos en $6 ya que loescribe la instruccin load ylo lee la instruccin or. Sinembargo al tener quesolucionar el riesgo decontrol generado por lainstruccin beq mediante lainsercin de 3 instrucciones

    NOP, esta dependenciadesaparece. Tambin sepodran haber insertado 3ciclos de espera despusde la instruccin beq

    beq $7,$8,L BI DI EX M EX

    NOP BI DI EX M EX

    NOP BI DI EX M EX

    NOP BI DI EX M EX

    and $1,$2,$3

    L:or $7,$6,$8BI DI EX M EX

    c.

    1 2 3 4 5 6 7 8 9 10 Conflicto/Riesgo

    lw $1,100($2) BI DI EX M ER La instruccin lwactualiza $1 y lainstruccin siguiente lolee

    and $2,$1,$0 BI DI EX M ER

    La solucin consiste en introducir dos ciclos de espera entre ambas instrucciones. Otraposible solucin hubiera sido insertar dos NOP entre ambas

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    5/9

    5

    d.

    1 2 3 4 5 6 7 8 9 10 Confl icto/Riesgo

    sub $4,$3,$2 BI DI EX M ER No existe

    sw $3,100($2) BI DI EX M ER

    6. Considera la siguiente secuencia de instrucciones,

    lw $1, 100($2) (1)beq $1, $2, etiqueta (2)and $3, $1, $4 (3)

    etiqueta: lw $1, 50($3) (4)sw $1, 100($2) (5)sub $5, $1, $2 (6)lw $1, 10($5) (7)

    a. Rellena la siguiente tabla para indicar los riesgos por dependencia de datos quese encuentran en este fragmento de cdigo.

    Registro Se escr ibe en Se lee en

    Riesgo 1 $1 (1) (2)

    Riesgo 2$3 (3) (4)

    Riesgo 3 $1 (5) (6)

    Riesgo 4

    $5 (6) (7)

    b. Realiza el diagrama instrucciones/tiempo considerando que la instruccin desalto SI realiza el salto. En este caso asume la resolucin de conflictos de controlpor medio de la tcnica predict not taken y latencia de salto de tres ciclos. Losconflictos de datos se resolvern mediante insercin de ciclos de espera.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    l w $1, 100( $2) BI DI EX M ER

    beq $1, $2, eti quet a BI DI EX M ER

    and $3, $1, $4 BI DI EX

    eti queta l w $1, 50( $3) BI DI

    sw $1, 100($2) BI

    eti queta l w $1, 50( $3) BI DI EX M ER

    sw $1, 100($2) BI DI EX M ER

    7. Considerando la ruta de datos de cinco etapas vista en clase, y suponiendo que la

    duracin de las etapas es LI=60ns, DI=40ns, EX=50ns, M=70ns, ER=45ns, y un retardopor los registros de segmentacin de 5ns, se pide:

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    6/9

    6

    a. Cul es el tiempo de ciclo para este procesador?

    El tiempo de ciclo ha de ser igual al retardo de la etapa ms lenta ms el retardo de losregistros, luego:

    = 70 + 5 = 75 ns

    b. Suponiendo que se ejecuta este fragmento de cdigo identifica los riesgosexistentes.

    ( 1) sw $2, 0( $3)( 2) sw $3, 0( $2)( 3) beq $2, $3, et i quet a( 4) add $4, $1, $2( 5) l w $5, 100( $4)( 6) sw $5, 50($4)

    et i quet a : ( 8) or $1, $5, $3

    Registro Se escribe en Se lee en

    Riesgo 1 $4 (4) (5)

    Riesgo 2 $5 (5) (6)

    c. Rellena el diagrama instrucciones/tiempo correspondiente a la ejecucin delsiguiente cdigo, suponiendo que el salto NO tiene lugar y solucionando lasdependencias de datos que se producen. Considera prediccin de salto no

    efectivo para la resolucin del riesgo de control.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    sw $2, 0($3) BI DI EX M ER

    sw $3, 0($2) BI DI EX M ER

    beq $2, $3, et i queta BI DI EX M ER

    add $4, $1, $2 BI DI EX M ER

    l w $5, 100( $4) BI DI EX M ER

    sw $5, 50( $4) BI DI EX M ER

    eti queta or $1, $5, $3 BI DI EX M ER

    d. Cul es la productividad conseguida con la ejecucin de dicho cdigo?

    =

    =,

    e. Cul es la mxima productividad alcanzable en este procesador?

    =

    =,

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    7/9

    7

    PROBLEMAS PROPUESTOS

    8. Se dispone de un sistema digital el cual se ha procedido a segmentar en 4 etapassecuenciales sin solapamiento entre ellas, y cuyos retardos son 33ns, 35ns, 22ns,30ns. Se pide:

    a. Retardo mximo permitido para los registros de segmento a fingarantizar una productividad mxima de 20 MOPS. Justificar larespuesta.

    b. En el caso anterior, calcla la aceleracin (speed-up) mxima que sepodra alcanzar. Justificar la respuesta.

    c. Qu factores pueden impedir que se alcance la productividad mxima?

    d. Qu factores pueden impedir que se alcance la aceleracin ideal?

    9. Considra la ruta de datos segmentada de cinco etapas (LI, DI, EX, M, ER) estudiada enclase y supn que las etapas tienen un retardo de 60, 45, 50, 80, 30 ns respectivamentey que el tiempo necesario para escribir en los registros de segmentacin es de 5ns.

    a. Cul es la productividad mxima que se puede alcanzar con esta ruta de datos

    segmentada?

    b. Cul es la aceleracin mxima conseguida respecto a la versin no segmentadade esta ruta de datos?

    c. Cul es la aceleracin ideal que tericamente se puede conseguir con uncircuito segmentado en cinco etapas?

    d. Qu dos condiciones debera cumplir nuestro circuito segmentado para poderalcanzar la aceleracin ideal?

    10. Considera ahora la siguiente secuencia de programa,

    l w $1, 50( $4)beq $1, $2, et i quetaor $3, $5, $6sw $3, 50( $4)add $4, $4, $1sw $4, 100($6)

    et i quet a : and $3, $5, $6sw $3, 100($4)

    a. Identifica claramente todos los riesgos que aparecen. Seala los riesgos por

    dependencias de datos en el cdigo para clarificar la respuesta.

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    8/9

    8

    b. Realiza el diagrama instrucciones/tiempo considerando que la instruccin desalto SI realiza el salto, utiliza la prediccin de salto no efectiva cmo tcnica deresolucin de este tipo de riesgo. Compara con la utilizacin de prediccin desalto efectiva para ese mismo caso. Qu conclusiones se obtienen?

    11. Un cierto procesador se ha segmentado en 5 etapas, cuyos retardos son lossiguientes: 25ns, 15ns, 30ns, 25ns y 25ns. Suponiendo que el retardo de losregistros de segmentacin es de 10ns, se pide:

    a. Frecuencia de reloj a la que trabajar el procesador segmentado yproductividad mxima que podr alcanzar.

    b. Frecuencia de reloj a la que trabajara el procesador NO-segmentado yproductividad que alcanzara.

    c. Tiempo de retardo para el procesamiento de 10 instrucciones

    d. Aceleracin mxima que podr alcanzar el circuito segmentado

    e. Cul sera la aceleracin ideal? Qu se podra hacer para intentaraproximar la aceleracin mxima a la aceleracin ideal?

    12. Considera la siguiente secuencia de programa del MIPS R2000, el cual se ejecuta encierta ruta de datos que se halla segmentada en cinco etapas (LI, DI, EX, M, ER):

    sw $1,50($3)

    lw $2,50($3)

    beq $2,$5,etiquetasub $5,$1,$4

    etiqueta: and $6,$5,$1

    sw $6,50($3)

    Se pide:

    a. Qu tipo de riesgos aparecen y dnde?

    b. Cmo pueden solucionarse?

    c. Diagrama instrucciones tiempo indicando los mecanismos de solucin

    empleados para resolver los conflictos de dependencias de datos. Consideraque los saltos tienen latencia 3 y se resuelven mediante insercin de nop. Parael caso de la ejecucin del fragmento dado supn que el salto SI se produce.

    d. Cul ha sido en este caso el tiempo de ejecucin del fragmento de cdigo?

    13. Considera la siguiente secuencia de programa en ensamblador de MIPS R2000, elcual se ejecuta en cierta ruta de datos que se halla segmentada en cinco etapas (LI, DI,EX, M, ER):

    lw $2,0($4)

    beq $2,$3, etiqueta

    add $1,$2,$3sub $4,$1,$3

  • 7/25/2019 ejercicios_boletin1sincortocircuitos (1)

    9/9

    9

    lw $5,100($4)

    sw $5,50($4)

    ...

    etiqueta : ...

    a. Qu tipo de riesgos aparecen, dnde aparecen y cmo pueden solucionarse.

    b. Diagrama instrucciones/tiempo suponiendo que el salto NO tiene lugar yconsiderando que los conflictos de control se resuelven mediante insercin denopy que la latencia de salto es 2.

    c. Diagrama instrucciones/tiempo suponiendo que el salto NO tiene lugar yconsiderando que los conflictos de control se resuelven mediante prediccin desalto NO efectivo.

    d. Diagrama instrucciones/tiempo suponiendo que el salto NO tiene lugar yconsiderando que los conflictos de control se resuelven mediante prediccin de

    salto efectivo.