DLX Pipeline

download DLX Pipeline

of 18

Transcript of DLX Pipeline

  • 8/18/2019 DLX Pipeline

    1/18

    Arquitectura de Computadores Mejora del Rendimiento - 1

    Arquitectura de Computadores

    1. Introducción

    2. La CPU

    3. Lenuaje M!quina". La Memoria

    #. $istemas de %ntrada&$alida

    '. Mejora del Rendimiento

    (. Arquitecturas RI$C

  • 8/18/2019 DLX Pipeline

    2/18

    Arquitectura de Computadores Mejora del Rendimiento - 2

    Arquitectura de Computadores

    '. Mejora del Rendimiento

    1. CPU $ementada )Pipeline *1.2 Un ejemplo+ ,L

    2. Memoria Cac/

    1. CPU $ementada )Pipeline *1.2 Un ejemplo+ ,L

  • 8/18/2019 DLX Pipeline

    3/18

    Mejora del Rendimiento - 3Arquitectura de Computadores

    La CPU $ementación )Un ejemplo+ ,L-* 

    0amos a er una simpliicación )sin tener en cuentainstrucciones multiciclo MMU etc.*

    Arquitectura RI$C load&store 

    Arquitectura 4ar1ard  de memoria

    # etapas

     IF+ %5tracción de la instrucción ID+ ,ecodiicación & Acceso a reistros EX+ %jecución & C!lculo de operandos MEM+ Acceso a memoria WB+   6rite 7ac8  )escritura en

    reistros*

    Cada etapa en un ciclo de reloj

  • 8/18/2019 DLX Pipeline

    4/18

    Mejora del Rendimiento - "Arquitectura de Computadores

    Pipeline  ...,L- 

       I  -  c

      a  c   h   é

    Actualizar  PC

       R  e  g

     .   I  n  s   t  r .    D

      -  c  a  c   h   é

       A   L   U   O  u   t  p  u   t

       A   l  m  a  c  e  n  a  r   R  e  g .

       D  a   t  o   d  e   M  e  m .

       D  a   t  o

      a   R  e  g .    M

       U        A

         L      U 

       A   L   U   I  n  p  u   t   !

       A   L   U   I  n  p  u   t

       "

       A   L   U   I  n  p

      u   t   #

       P   C

    IF ID EX MEM WB

    5

    532

    32

    32

    32

    $scritura en registros

    Lectura %

    $scritura

       R  e  g   i  s   t  r  o  s

    Unidadde &altos

    32&alto 'ue(o PC

  • 8/18/2019 DLX Pipeline

    5/18

    Mejora del Rendimiento - #Arquitectura de Computadores

    Pipeline  ...,L- 

    IF+ Extracción de la instrucciónIR 9 I:Cace ;PC

  • 8/18/2019 DLX Pipeline

    6/18

    Mejora del Rendimiento - 'Arquitectura de Computadores

    Pipeline  ...,L- 

    EX E!ecución / "#lculo de o$erandos

    @tener ALU:@utput operación aritm/tica&lóica

     dirección de memoria

    B

    MEM Acceso a %e%oria,ato:a:Reistro 9 ALU:@utput ó

    ,:Cace ;ALU:@utput< 9 Almacenar:Re

    WB Write Bac&  'escritura en registros(Reistros;< 9 ,ato:a:Reistro ó

    Reistros;< 9 ,ato:de:Mem

  • 8/18/2019 DLX Pipeline

    7/18Mejora del Rendimiento - (Arquitectura de Computadores

    Pipeline  ...,L- 

    D)X Instrucciones *+$icas

    I,S*-.""I, 0E-A"I, E2EM)0 NOP

    LW Reg, Dir (Reg

  • 8/18/2019 DLX Pipeline

    8/18Mejora del Rendimiento - Arquitectura de Computadores

    Pipeline  ...,L- 

    D)X -alenti3ación 4 De$endencias de Datos $ólo amos a estudiar las RA6

    6A6 ocurren en cauces con m!s de un etapa de escritura D enejecuciones uera de orden

    6AR cuando una etapa de escritura precede a una de lectura

    IFlw R1,$100

    lw R2,$200

    add R2,R1,R2

    !" R1,R2,R1

    *ie%$o

    1 2 3 4 5 6 7 8

    ID

    IF

    EX

    ID

    IF WB

    MEM WB

    MEM

    EX

    ID

    IF

    WB

    MEM

    EX

    ID

    WB

    MEM

    EXAntiguo R1

    Nuevo R1

  • 8/18/2019 DLX Pipeline

    9/18Mejora del Rendimiento - EArquitectura de Computadores

    Pipeline  ...,L- 

    S0)."I, S0F*WA-E )Insertar ?@P por el compilador*

    lw R1,$100

    lw R2,$200

    add R2,R1,R2

    *ie%$o

    1 2 3 4 5 6 7 8

    #%

    #%

     56abr+a bastado con una 7nica instrucción ,08

    9

    MEM WBIF ID EX

    MEM WBIF ID EX

    MEM WBIF ID EX

    MEM WBIF ID EX

    MEM WBIF ID EX

    No hay conficto

    Se accede a los registros en el 2 subciclo de ID

    Nuevo R1

  • 8/18/2019 DLX Pipeline

    10/18Mejora del Rendimiento - 1>Arquitectura de Computadores

    Pipeline  ...,L- 

    S0)."I, 6A-DWA-E ),etener el cauce*

    lw R1,$100

    lw R2,$200

    add R2,R1,R2

    *ie%$o

    1 2 3 4 5 6 7 8

    Nuevo R1

    9

    !" R1,R2,R1

    10

    9"ada de$endencia -AW genera burbu!as

    Se ralenti3a la e!ecución del $rogra%a

    IF ID

    IF

    EX

    ID

    IF

    MEM

    EX

    IF

    WB

    MEM

    IF

    WB

    ID

    IF

    EX

    IF

    MEM

    IF

    WB

    ID EX

  • 8/18/2019 DLX Pipeline

    11/18Mejora del Rendimiento - 11Arquitectura de Computadores

    Pipeline  B,L

    S0)."I, 6A-DWA-E )Antici$ación*

    add R2,R1,R2

    *ie%$o

    1 2 3 4 5 6

    !" R1,R2,R1

    9Eli%ina%os las burbu!as

    5Funciona $ara todas las instrucciones8

    ALU

    ALU

    R2

    AnticipaciónMEM WBIF EX

    MEM WB

    ID

    IF ID EX

    R2

  • 8/18/2019 DLX Pipeline

    12/18Mejora del Rendimiento - 12Arquitectura de Computadores

    Pipeline  B,L

    S0)."I, 6A-DWA-E )Detener el cauce = Antici$ación*

    lw R1,$100

    lw R2,$200

    add R2,R1,R2

    *ie%$o

    1 2 3 4 5 6 7 8   9

    !" R1,R2,R1

    10

    A$arecen burbu!as cuando ;a< instrucciones de acceso a %e%oria 'lw(

    El dato en una instrucción load 'lw( est# dis$onible tras la eta$a MEM

    Anticipación

    MEM!E"IF MEMID EX

    IF ID EX

    IF ID

    IF

    WB

    MEM WB

    ID

    WB

    MEM

    IF

    EX

    WB

    ID

    MEM

    EX

    R2

    R1

    R2

    Anticipación

    E"!E"

  • 8/18/2019 DLX Pipeline

    13/18Mejora del Rendimiento - 13Arquitectura de Computadores

    Pipeline  ...,L

    E2EM)0 4 Sin antici$ación 'For=arding(

    lw R&,$100

    ll' R&,R&,2

    g( R1,R),R&

    *ie%$o

    1 2 3 4 5 6 7 8   9

    ID

    IF

    IF IF IF

    MEMIF ID EX WB Nuevo R#

    MEM WBEX

    EXEIF   MEM

    ,L

  • 8/18/2019 DLX Pipeline

    14/18Mejora del Rendimiento - 1"Arquitectura de Computadores

    Pipeline  B,LD)X -alenti3ación 4 Moti>os estructurales

    ,L no tiene riesos estructurales )$tructural $tall *.

    0amos a introducir alunas modiicaciones en las etapas del caucepara proocar la aparición de riesos estructurales.

    "aso 1.- $uponamos que en la etapa M%M realiFamos unaescritura en los reistros

    Giempo

    1 2 3 4 5 6 7 8

    "AS0 1

    lw R1,$100

    ll' R&,R*,2

    Banco de REGISR!S

    Acceso si$ult%neoWBWB

    MEM

    WB   WBWB

    IF ID EX

    IF ID

    MEM

    WB

    EX

    ,L

  • 8/18/2019 DLX Pipeline

    15/18Mejora del Rendimiento - 1#Arquitectura de Computadores

    Pipeline  ...,L

    Banco de REGISR!S

    Acceso si$ult%neo

    0*-0S -IES?0S UtiliFación de la ALU )por ejemplo para actualiFar el contador de prorama*

    Una Hnica memoria )accesos simult!neos desde las etapas I D M%M*.

    "aso .- La etapa I, tiene dos suciclos )1J decodiicación D 2J

    acceso a los operandos en el anco de reistros*. ,iidimos laetapa I, en dos+ ,%C R%K.

    "AS0

    WBlw R&,$100

    ll' R&,R&,2

    Giempo

    1 2 3 4 5 6 7 8

    ++++++++++

    IF DE" REG MEMEX

    IF DE" REG MEM WBEX

    ,L

  • 8/18/2019 DLX Pipeline

    16/18Mejora del Rendimiento - 1'Arquitectura de Computadores

    Pipeline  ...,LD)X -alenti3ación 4 Bifurcaciones

    %l prolema aparece con las instrucciones de salto condicional

    ,etener el cauce para conocer la siuiente instrucción a ejecutarreduce su rendimiento

    Calcular la dirección de salto lo antes posile )etapa I,* aorece latoma de decisiones D eita los riesos de control

    I%$le%entación 7GA )7ranc. Garet Address *+ ?ueo reistro interno %n la etapa I, se calcula la dirección del salto )desplaFamiento

    sore el PC* se uarda en 7GA D se compruea la condición de salto)consulta de un reistro*

    Poltica adoptada+ Predicción est!tica de no saltarN

    %n la etapa % si el salto se toma se actualiFa PC con 7GA

    Puede ocurrir dos situaciones+

    ?o se toma el salto 9O Continua la ejecución

    $e toma el salto 9O 0aciar el cauce

    A&IER'(

    ,L

  • 8/18/2019 DLX Pipeline

    17/18Mejora del Rendimiento - 1(Arquitectura de Computadores

    Pipeline  ...,L

    Bifurcaciones: ,0 se to%a el salto

    #%

     "e- R1,SALIR 

    add R2,R.,R2

    *ie%$o

    1 2 3 4 5 6 7 8   9

    !" R&,R),R*

    10

    SALIR ++

    R11

    IF ID

    IF

    " @ "

    EX

    ID

    IF WB

    MEM WB

    MEM

    EX

    ID

    IF

    WB

    MEM

    EX

    ID

    WB

    MEM

    EX

    redicción est#tica de Cno saltar

    B*A" @ " des$l.

    -1@1 # ,0 SA)*A-

    ,L

  • 8/18/2019 DLX Pipeline

    18/18Mejora del Rendimiento 1Arquitectura de Computadores

    Pipeline  ...,L

    Bifurcaciones: SI se to%a el salto

    #%

     "e- R1,SALIR 

    add R2,R.,R2

    *ie%$o

    1 2 3 4 5 6 7 8   9

    !" R&,R),R*

    10

    SALIR ++

    R10

    IF ID

    IF

    EX

    ID

    IF

    MEM

    EX

    redicción est#tica de Cno saltar

    " @ B*A"

    99SA)*A-

    0aciar

    IF WBMEM

    WB

    EX

    WB

    MEM

    ID