tema 1: procesadores segmentados - .tema 1: procesadores segmentados • 1.1....

Download Tema 1: PROCESADORES SEGMENTADOS - .Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente

Post on 11-Oct-2018

220 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Tema 1: PROCESADORES SEGMENTADOS

    1.1. Procesadores RISC frente a procesadores CISC.

    1.2. Clasificacin de las arquitecturas paralelas.

    1.3. Evaluacin y mejora del rendimiento de un computador.

    1.4. Caractersticas de los procesadores segmentados.

    1.5. Arquitectura segmentada genrica.

    1.6. Riesgos en la segmentacin.

    1.7. Planificacin dinmica: Algoritmo de Tomasulo.

  • CARACTERSTICAS DE LOS PROCESADORES

    SEGMENTADOS

    Segmentacin (pipelining): tcnica empleada en el diseo de procesadores que trata de aprovechar el paralelismo intrnseco que existe entre instrucciones en un flujo secuencial.

    Un elemento (unidad funcional, procesador, circuito etc.) se divide en una serie de etapas que funcionan de forma independiente por las que van pasando los operandos y las instrucciones

  • Tarea procesada de forma totalmente secuencial

  • Tarea ejecutada mediante un procesador segmentado

    (equivale a una cadena de montaje)

    profundidad de la

    segmentacin=

    nmero de etapas en que puede

    dividirse el procesamiento de una

    instruccin

  • ARQUITECTURA SEGMENTADA

    GENRICA (ASG) Sencilla arquitectura con propsitos educativos.

    Memoria principal

    CO OP=16

    DO

    200 +

    RB

    216

    CP

    Relativo a Registro

    Base

    DE

    Operaciones

    carga/almacenamiento Modo de direccionamiento

    con desplazamiento

    DE=+OP

    DE= Direccin efectiva

    RB= Registro base (R1,R2) OP= Desplazamiento

    CP=Contador de programa

    CO= Cdigo operacin DO= Dato operando en memoria

    Las instrucciones aritmtico lgicas utilizan 3 operandos y ninguno hace referencia a memoria. (instrucciones registro registro)

  • Repertorio de instrucciones de la ASG

    Aritmticas y lgicas

    Transferencia de datos

    Bifurcaciones o saltos incondicionales

    Saltos condicionales

    CO Opd(destino) Op1(fuente 1) Op2(fuente 2)

    32 registros genricos de 32 bits R0,R1,R2..R31

    32 registros de 32 bits para simple F0,F1,F2..F31

    o doble precisin F0,F2,F4..F30

  • Repertorio de instrucciones de la ASG

    Aritmticas y lgicas

    Transferencia de datos (entre parntesis

    aparece el Registro Base propio del Direccionamiento con desplazamiento)

    realizan movimiento entre memoria y registro o viceversa

    Bifurcaciones o saltos incondicionales

    Saltos condicionales

    Un salto es efectivo cuando la condicin probada por la instruccin es verdadera

  • IMPLEMENTACIN DE LA SEGMENTACIN DE

    INSTRUCCIONES EN LA ASG

    EL CICLO DE UNA INSTRUCCIN SE DESCOMPONE EN CINCO ETAPAS BSICAS

    IF (Instruction Fetch): Lectura de la instruccin de la cach de instrucciones

    ID (Instruction Decoding): Decodificacin de la instruccin y lectura de sus operandos del fichero de registros

    EX (Execution): Ejecucin de las operaciones si se trata de una instruccin aritmtico-lgica y del clculo de la condicin y de la direccin de salto si se trata de una bifurcacin o salto condicional. Clculo de direccin en instruccin de carga y almacenamiento

    MEM (Memory Access): Acceso a la cach de datos para lecturas (cargas) o escrituras (almacenamientos)

    WB (Write-Back results): Escritura del resultado en el fichero de registros.

  • IMPLEMENTACIN DE LA SEGMENTACIN DE

    INSTRUCCIONES EN LA ASG

  • Eje

    mp

    lo d

    e s

    egm

    enta

    ci

    n d

    e instr

    uccio

    nes

    Etapa IF

    Etapa ID

    Etapa EX

    Etapa MEM

    Etapa WB

  • Eje

    mp

    lo d

    e s

    egm

    enta

    ci

    n d

    e instr

    uccio

    nes

    Etapa IF

    Etapa ID

    Etapa EX

    Etapa MEM

    Etapa WB

    OP

    ER

    A C

    IN

    ALU

  • Eje

    mp

    lo d

    e s

    egm

    enta

    ci

    n d

    e instr

    uccio

    nes

    Etapa IF

    Etapa ID

    Etapa EX

    Etapa MEM

    Etapa WB

    CA

    RG

    A

    DE

    M

    EM

    OR

    IA

  • Eje

    mp

    lo d

    e s

    egm

    enta

    ci

    n d

    e instr

    uccio

    nes

    Etapa IF

    Etapa ID

    Etapa EX

    Etapa MEM

    Etapa WB

    ALM

    AC

    EN

    AM

    IEN

    TO

    E

    N M

    EM

    OR

    IA

  • Eje

    mp

    lo d

    e s

    egm

    enta

    ci

    n d

    e instr

    uccio

    nes

    Etapa IF

    Etapa ID

    Etapa EX

    Etapa MEM

    Etapa WB

    SA

    LT

    O IN

    CO

    ND

    ICIO

    NA

    L

  • Eje

    mp

    lo d

    e s

    egm

    enta

    ci

    n d

    e instr

    uccio

    nes

    Etapa IF

    Etapa ID

    Etapa EX

    Etapa MEM

    Etapa WB

    SA

    LT

    O C

    ON

    DIC

    ION

    AL

  • Segmentacin en cinco etapas de la ASG

    Se incrementa

    la

    productividad,

    es decir, el

    nmero de

    instrucciones

    completadas

    por unidad de

    tiempo

  • Ventajas de la segmentacin

    No reduce el tiempo de ejecucin de una instruccin individual (algo superior debido a Cerrojo o buffers de

    contencin para aislar la informacin entre etapas.

    La duracin de todas las etapas es similar y viene determinada por la duracin de la etapa ms lenta

    Los riesgos que se producen en la segmentacin (siguiente apartado)

  • 8 Riesgos en la segmentacin

    Se denomina riesgo a la dependencia entre instrucciones que provoca que la instruccin que sucede a aquella con la cual posee dependencias no pueda ejecutarse en el ciclo de reloj que le corresponde ya que ha de esperar algn resultado para poder efectuar su ejecucin

    Existen 1. RIESGOS ESTRUCTURALES

    2. RIESGOS POR DEPENDENCIA DE DATOS

    3. RIESGOS DE CONTROL

  • 8 Riesgos en la segmentacin 1. Riesgos estructurales

    Conflictos en los recursos; una instruccin en una etapa no puede avanzar a la

    siguiente porque el hardware que necesita lo est usando otra.

    Ejemplo: mquina con un nico puerto de memoria (no dispone de dos memorias

    cach). SOLUCIN: Una detencin no resuelve el problema globalmente (con

    estas instrucciones s).

    ASG dispone de dos cachs

    (datos + instrucciones)

  • 8 Riesgos en la segmentacin 1. Riesgos estructurales

    No todas las etapas tienen la

    misma duracin

    I1: ADD R3, R6, R7

    I2: MULT R4, R1, R2

    I3: MULT R5, R8, R9

    I4: SD 7(R11), R10

  • 8 Riesgos en la segmentacin

    RAW - Read After Write (dependencia verdadera)

    Una dependencia RAW hace referencia a una situacin donde se necesita un dato que an no ha sido calculado, por ejemplo:

    ADD R1, R2, R3 SUB R4, R1, R5

    2. Riesgos por dependencias de datos (dos

    instrucciones comparten algn dato)

  • 8 Riesgos en la segmentacin

    2. Riesgos por dependencias de datos WAR - Write After Read (antidependencia o dependencia

    falsa)

    Una dependencia WAR representa un problema de ejecucin concurrente, por ejemplo:

    ADD R1, R2, R3 SUB R2, R4, R5

    Es necesario asegurarse de que no se almacenar el resultado en el registro R2 antes de que la instruccin 1 haya podido leer sus operandos.

  • 8 Riesgos en la segmentacin

    2. Riesgos por dependencias de datos WAW - Write After Write

    Una dependencia WAW es otra de las posibles situaciones problemticas en un entorno de ejecucin concurrente, por ejemplo:

    ADD R1, R2, R3 SUB R1, R4, R5

    Debe retrasarse la escritura (etapa WB) de la instruccin 2 hasta que la instruccin 1 haya finalizado.

  • 8 Riesgos en la segmentacin

    2. Riesgos por dependencias de datos

    RAR (Read After Read) no es un riesgo.

    La ASG solo tiene riesgos de tipo RAW->SOLUCIONES

    REORGANIZACIN DEL CDIGO.

    INTERBLOQUEO ENTRE ETAPAS

    ADELANTAMIENTO

    WAR no se presenta pues lecturas de registro en ID es anterior a escrituras de registro en WB

    WAW no se produce pues solo se escribe en una etapa WB

  • RAW-> 1. SOLUCIONES

    REORGANIZACIN DEL CDIGO

    Entre instrucciones de tipo RAW existen instrucciones que permiten retrasar la segunda hasta que la primera haya escrito su resultado.

    problema

    solucin

  • RAW-> 1. SOLUCIONES

    REORGANIZACIN DEL CDIGO

    Se trata de una tcnica software. Se

    cargan en ese orden las instrucciones en

    la cach de instrucciones otra solucin

  • RAW-> 1. SOLUCIONES

    REORGANIZACIN DEL CDIGO

    Reorganizacin cuando la escritura se realiza en el flanco de subida y la lectura en el flanco de bajada.

    otra solucin

    otra solucin

    aun mejor con

    reordenacin de

    cdigo

  • RAW-> 1. SOLUCIONES

    REORGANIZACIN DEL CDIGO

    No se pueden reordenar sin alterar la

    lgica del programa:

    SOLUCIN: inclusin de instrucciones

    NOP

  • RAW-> 2. SOLUCIONES

    INTERBLOQUEO ENTRE ETAPAS

    Introduce elementos hardware para

    detectar la existencia de dependencias. El

    programa termina correctamente pero se

    siguen perdiendo ciclos

  • RAW->3. SOLUCIONES

    ADELANTAMIENTO (caminos de bypass o

    forwarding) Al detectar dependencia RAW se habilitan unos caminos que permiten que

    los resultados de una etapa pasen a la etapa donde sean necesarias. E

Recommended

View more >