Monografias.com > Computación
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a la planificación de instrucciones




Enviado por Pablo Turmero



Partes: 1, 2


    Monografias.com
    PLANIFICACIÓN DINÁMICA: VENTAJAS
    Maneja aquellos casos en los que las dependencias son desconocidas durante la compilación.
    (ej., porque pueden involucrar referencias a memoria).
    Simplifica el compilador.
    Permite que el código que ha sido compilado para un cierto procesador segmentado pueda ser ejecutado eficientemente en otro procesador segmentado diferente.
    La especulación hardware, una técnica que permite ventajas de eficiencia significativas, requiere de planificación dinámica.
    1

    Monografias.com
    Idea clave: permitir que las instrucciones posteriores a una detenida puedan comenzar a ejecutarse.
    DIVD F0,F2,F4
    ADDD F10,F0,F8
    SUBD F12,F8,F14
    Permite la ejecución out-of-order => finalización out-of-order (completion).
    Permite distinguir entre el comienzo de la ejecución y la finalización de la ejecución de una instrucción; entre esos dos instantes de tiempo la instrucción está en ejecución.
    En un cauce con planificación dinámica, todas las instrucciones pasan por una etapa de iniciación en orden (in-order).
    La etapa ID descodifica y comprueba los riesgos estructurales. Scoreboard se utilizó por vez primera en la CDC 6600 en 1963.
    2
    ESQUEMAS HW: PARALELISMO DE INSTRUCCIONES

    Monografias.com
    Un cauce simple tiene una etapa para verificar tanto los riesgos estructurales como los de datos: la etapa Instruction Decode (ID), también denominada Instruction Issue.
    La ejecución Out-of-order divide la etapa ID en dos:
    1. Issue (Emisión)—descodifica las instrucciones, comprueba los riesgos estructurales.
    2. Lectura de operandos—espera hasta que no existan riesgos de datos, entonces lee los operandos.
    Scoreboards permite a la instrucción ejecutarse cuando 1 & 2 se han realizado, y no se espera por instrucciones previas.
    CDC 6600: emite las instr. in order, las ejecuta out of order , y las completa out of order (commit o completion en inglés).
    3
    ESQUEMAS HW: PARALELISMO DE INSTRUCCIONES

    Monografias.com
    4
    (Gp:) Functional Units
    (Gp:) Registers
    (Gp:) FP Mult
    (Gp:) FP Mult
    (Gp:) FP Divide
    (Gp:) FP Add
    (Gp:) Integer
    (Gp:) Memory
    (Gp:) SCOREBOARD

    ARQUITECTURA ORIGINAL DEL SCOREBOARD (CDC 6600)

    Monografias.com
    CAUCE DLX CON SCOREBOARD
    5
    IF
    FP Mult
    FP Add
    ALU
    FP Div
    MEM
    Wb
    RO
    Exint
    ExFU1
    ExFU2
    ExFU3
    IS
    (Gp:) Scoreboard

    Monografias.com
    Finalización Out-of-order => riesgos WAR, WAW?
    Soluciones para los riesgos WAR.
    Encola ambas operaciones y copia de sus operandos.
    Lee los registros solamente durante la etapa de lectura de operandos.
    Los riesgos WAW, deben detectarse y detener hasta que otras instrucciones se completen.
    Se necesita tener múltiples instrucciones en la fase de ejecución => múltiples unidades de ejecución o unidades de ejecución segmentadas (pipelined execution units).
    Scoreboard verifica y sigue las dependencias, estado u operaciones.
    Scoreboard reemplaza ID, EX, WB por 4 etapas IS (Issue), RO (read operand), EX (Execute) y WB (Write Back).
    6
    SCOREBOARD: IMPLICACIONES

    Monografias.com
    1. Emisión (Issue)—descodificación de instrucciones & verificación de riesgos estructurales (ID1)
    Si una unidad funcional capaz de ejecutar la instrucción está libre y ninguna otra instrucción activa tiene el mismo registro de destino (no hay riesgo estructural ni WAW), entonces:
    el scoreboard emite la instrucción a la unidad funcional y
    actualiza su estructura de datos interna.
    En caso contrario (existe un riesgo estructural o WAW),
    la emisión de la instrucción se detiene, y
    ninguna otra instrucción más será emitida hasta que estos riesgos desaparezcan.

    7
    SCOREBOARD: IMPLICACIONES

    Monografias.com
    2. Lectura de operandos (RO) —espera hasta que no existan riesgos de datos, entonces se leen los operandos (ID2)
    Un operando fuente esta disponible si ninguna instrucción emitida activa va a escribir en él, o si el registro que contiene el operando está siendo escrito actualmente por una unidad funcional activa.
    Cuando los operandos fuente están disponibles, el scoreboard le dice a la unidad funcional que proceda a la lectura de los operandos de los registros y comience la ejecución.
    El scoreboard resuelve los riesgos RAW dinámicamente en este paso, y las instrucciones pueden ser enviadas a la fase de ejecución out of order.
    8
    ETAPAS DE CONTROL EN SCOREBOARD

    Monografias.com
    3. Ejecución—operación sobre los operandos (EX)
    La unidad funcional comienza la ejecución cuando recibe los operandos.
    Cuando el resultado está listo (ready), notifica al scoreboard que ha completado la ejecución.
    4. Escritura del resultado—finaliza la ejecución (WB)
    Una vez que el scoreboard advierte que la unidad funcional ha completado su ejecución, el scoreboard comprueba los riesgos WAR.
    Si no hay riesgos WAR, escribe el resultado.
    Si hay riesgo WAR, entonces detiene la instrucción.
    Ejemplo:
    divd F0,F2,F4
    addd F10,F0,F8
    subd F8,F8,F14

    El scoreboard del CDC 6600 debe detener subd hasta que addd lea los operandos
    9
    ETAPAS DE CONTROL EN SCOREBOARD

    Monografias.com
    OBSERVACIONES A SCOREBOARD
    La técnica de Scoreboard es del tipo emisión-única, es decir sólo permite emitir una instrucción por ciclo.
    Un riesgo WAW o un riesgo estructural (UF no disponible) provocan que la instrucción en la fase IS se detenga y no pase a RO.
    Un riesgo RAW provoca la detención de las instrucciones en la fase RO y que no pasen a la fase EX.
    Un riesgo WAR provoca que el resultado de una operación no se escriba en el banco de registros en la etapa Wb.
    Después de que una instr se emita hacia una UF, ésta es bloqueada hasta que el resultado de la instrucción en ejecución es escrito en el registro de destino (esto puede relajarse si la escritura en el banco se hace en la primera mitad del ciclo y la lectura en la segunda parte).
    No puede utilizarse la técnica de forwarding o anticipación.
    Los operandos pueden leerse en la etapa RO después de que se han escrito en el banco de registros.
    10

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter