saltos retardados mips64

23
Arquitectura de Computadores MIPS 64 - 1 Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Segmentación (Pipeline) MIPS 64 7. Memoria Caché 8. Arquitecturas RISC

Upload: gimena-martinez

Post on 25-Sep-2015

253 views

Category:

Documents


0 download

DESCRIPTION

Resumen

TRANSCRIPT

  • Arquitectura de Computadores MIPS 64 - 1

    Arquitectura de Computadores

    1. Introduccin

    2. La CPU

    3. Lenguaje Mquina

    4. La Memoria

    5. Sistemas de Entrada/Salida

    6. Segmentacin (Pipeline) MIPS 64

    7. Memoria Cach

    8. Arquitecturas RISC

  • Arquitectura de Computadores MIPS 64 - 2

    MIPS 64 Caractersticas

    Bus de datos de 64 bits

    Registros de 64 bits

    32 registros de propsito general (R0..R31)

    32 registros de coma flotante (F0..F32)

    Instrucciones de longitud fija (32 bits)

    Cdigo de operacin de longitud fija (6 bits)

    Arquitectura Load/Store

    Memoria separada para instrucciones y datos (Harvard)

    Cauce segmentado en 5 etapas de 1 ciclo cada una

  • Arquitectura de Computadores MIPS 64 - 3

    MIPS 64 Etapas del cauce

    EtapaIF

    Etapa ID

    Etapa EX

    Etapa MEM

    EtapaWB

    Etapa IF

    Extraccin de la instruccin

    PC = PC + 4

    Etapa ID

    Decodificacin de la instruccin

    Lectura de los registros

    Extensin de signo (si es necesario)

    Actualizacin del PC en caso de salto

  • Arquitectura de Computadores MIPS 64 - 4

    MIPS 64 Etapas del cauce

    Etapa EX

    Clculos en la ALU

    Clculo de direccin de operandos de memoria

    Etapa MEM

    Acceso a memoria (Load/Store)

    Etapa WB

    Escritura de los registros

  • Arquitectura de Computadores MIPS 64 - 5

    MIPS 64 Riesgos

    Riesgos en MIPS 64

    - Estructurales

    - De datos

    - De control

  • Arquitectura de Computadores MIPS 64 - 6

    MIPS 64 Riesgos estructurales

    IDIF MEMEX WB

    IDIF MEMEX WB

    IDIF MEMEX WB

    IDIF MEMEX WB

    Problema: Se accede a la memoria a la vez

    Solucin: Memoria separada (Harvard)

    Problema: Se escriben y leen los registros a la vez

    Solucin: Escritura en el 1 subciclo y lectura en el 2

  • Arquitectura de Computadores MIPS 64 - 7

    MIPS 64 Riesgos de datos

    DADD R1,R2,R3

    AND R4,R5,R3

    RAR (Read After Read) No presenta problemas

    IDIF MEMEX WB

    IDIF MEMEX WB

    DADD R1,R2,R3

    AND R4,R5,R1

    RAW (Read After Write) Problemas!

    IDIF MEMEX WB

    IDIF MEMEX WB

  • Arquitectura de Computadores MIPS 64 - 8

    MIPS 64 Riesgos de datos

    DADD R1,R2,R3

    AND R3,R4,R5

    WAR (Write After Read)

    DIV.D F1,F2,F3

    ADD.D F1,F4,F5

    WAW (Write After Write)

    IDIF EXEX EX

    IDIF MEMEX WB

    Se da cuando hay ejecucin fuera de orden

    Se da cuando hay ejecucin fuera de orden u

    operaciones multiciclo

    MEM WB

  • Arquitectura de Computadores MIPS 64 - 9

    MIPS 64 Riesgos de datos (RAW)

    Solucin de riesgos RAW

    - Software- Insercin de instrucciones NOP

    - Reordenacin de cdigo

    - Hardware- Detencin del cauce

    - Anticipacin

    En la fase IDDnde se detectan los riesgos?

  • Arquitectura de Computadores MIPS 64 - 10

    MIPS 64 Riesgos de datos (RAW)

    IDIF MEMEX WB

    IDIF MEMEX WB

    IDIF MEMEX WB

    IDIF MEMEX WB

    DADD R1,R2,R3

    DSUB R4,R5,R1

    AND R6,R7,R8

    OR R9,R10,R11

    El problema

  • Arquitectura de Computadores MIPS 64 - 11

    MIPS 64 Riesgos de datos (RAW)

    DADD R1,R2,R3

    NOP

    NOP

    DSUB R4,R5,R1

    AND R6,R7,R8

    OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Insercin de instrucciones NOP (Solucin software)

    Se alarga el tiempo de ejecucin

  • Arquitectura de Computadores MIPS 64 - 12

    MIPS 64 Riesgos de datos (RAW)

    IDIF MEMEX WB

    IDIF MEMEX WB

    IDIF MEMEX WB

    IDIF MEMEX WB

    DADD R1,R2,R3

    AND R6,R7,R8

    OR R9,R10,R11

    DSUB R4,R5,R1

    Reordenacin del cdigo (Solucin software)

    Se mantiene el tiempo de ejecucin

  • Arquitectura de Computadores MIPS 64 - 13

    MIPS 64 Riesgos de datos (RAW)

    DADD R1,R2,R3

    DSUB R4,R5,R1

    AND R6,R7,R8

    OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Detencin del cauce (Solucin Hardware)

    IF IF

    Se alarga el tiempo de ejecucin igual que insertando NOP

  • Arquitectura de Computadores MIPS 64 - 14

    MIPS 64 Riesgos de datos (RAW)

    Anticipacin (forwarding) (Solucin hardware)

    DADD R1,R2,R3

    DSUB R4,R5,R1

    AND R6,R7,R8

    OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Lee un valor errneo

    Sustituye el valor ledo en ID por la salida de la ALU anterior

    Se mantiene el tiempo de ejecucin

    Caso 1:

  • Arquitectura de Computadores MIPS 64 - 15

    MIPS 64 Riesgos de datos (RAW)

    Anticipacin (forwarding) (Solucin hardware)

    LD R3,100(R0)

    DADD R1,R2,R3

    DSUB R4,R5,R6

    AND R7,R8,R9

    IF ID EX MEM WB

    IF ID ID EX MEM

    IF ID EX MEM WB

    IF ID EX MEM WB

    Lee un valor errneo

    Sustituye el valor ledo en ID por lo ledo de la

    memoria

    Se incrementa 1 ciclo el tiempo de ejecucin

    WB

    Caso 2:

  • Arquitectura de Computadores MIPS 64 - 16

    MIPS 64 Riesgos de datos (RAW)

    Anticipacin (forwarding) (Solucin hardware)

    DADD R1,R2,R3

    BNE R1,R4,Etq

    DSUB R5,R6,R7

    Etq AND R8,R9,R10

    IF ID EX MEM WB

    IF ID ID EX MEM

    IF IF ID EX MEM

    IF ID EX MEM WB

    Lee un valor errneo

    Si salta, se abortar la ejecucin de DSUB

    WB

    Caso 3:Sustituye el

    valor ledo en ID por la salida de la ALU anterior

    WB

  • Arquitectura de Computadores MIPS 64 - 17

    MIPS 64 Riesgos de control

    El problema

    ADD R1,R2,R3

    BEQ R4,R5,Etq

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Aqu no se sabe si hay que ejecutar AND

    pero ya se ha cargado

    AND siempre se ejecuta!

  • Arquitectura de Computadores MIPS 64 - 18

    MIPS 64 Riesgos de control

    Solucin de riesgos de control

    - Software- Insercin de instrucciones NOP

    - Salto retardado

    - Hardware- Detencin del cauce

    - Prediccin del salto

  • Arquitectura de Computadores MIPS 64 - 19

    MIPS 64 Riesgos de control

    Insercin de instrucciones NOP (Solucin software)

    ADD R1,R2,R3

    BEQ R4,R5,Etq

    NOP

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    En caso de salto

    AND no se ejecuta

  • Arquitectura de Computadores MIPS 64 - 20

    MIPS 64 Riesgos de control

    Salto retardado (Solucin software)

    BEQ R4,R5,Etq

    ADD R1,R2,R3

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    En caso de salto

    AND no se ejecuta

  • Arquitectura de Computadores MIPS 64 - 21

    MIPS 64 Riesgos de control

    Detencin del cauce (Solucin Hardware)

    ADD R1,R2,R3

    BEQ R4,R5,Etq

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    En caso de no salto

    ADD R1,R2,R3

    BEQ R4,R5,Etq

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    En caso de salto

    Hueco

    Hueco

  • Arquitectura de Computadores MIPS 64 - 22

    MIPS 64 Riesgos de control

    BEQ R4,R5,Etq

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    IF

    IF ID EX MEM WB

    Si falla penalizacin = 1 ciclo

    Prediccin del salto (Solucin Hardware)

    Se predice no saltar

    BEQ R4,R5,Etq

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Si acierta penalizacin = 0

    Abortar

  • Arquitectura de Computadores MIPS 64 - 23

    MIPS 64 Riesgos de control

    Prediccin del salto (Solucin Hardware)

    Se predice s saltar

    BEQ R4,R5,Etq

    AND R6,R7,R8

    Etq OR R9,R10,R11

    IF ID EX MEM WB

    ?

    ?

    Hasta este instante no se conoce la direccin del salto

    No se utiliza en MIPS 64 ya que la penalizacin siempre es de 1 ciclo