PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

Procesadores Superescalares
Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
El modelo de Von Neumann
Arquitectura de Computadores I
Administración de memoria
Compiladores e intérpretes
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
TEMA 3 ILP, Panificación dinámica, Predicción de saltos, Especulación
Estructuras segmentadas
TEMA 2 Arquitectura de un Ordenador
Scheduling dinámico Scoreboarding.
PROCESADORES SUPERESCALARES
Microprocesadores.
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
PROCESADORES SUPERESCALARES Y VLIW
Arquitectura de Computadores
Pipelines: Riesgos.
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
El procesador: la ruta de datos y el control (II Parte)
SEGMENTACIÓN DEL CAUCE
Teoría de lenguajes y compiladores
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
SISTEMAS OPERATIVOS UNIDAD 1..
EMISION MULTIPLE DE INSTRUCCIONES
Arquitectura de Conjunto de Instrucciones (ISA)
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
TEMA II PROCESADORES SUPERESCALARES Fuente imágenes: Prof. Morillo.
TRADUCTOR DE UN PROGRAMA
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
Tema 10: Gestión de Memoria
Unidad 2: Organización del CPU
INGENIERIA DE COMPUTADORES II
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Procesador Introducción - Funcionamiento - Memoria caché
Segmentación No Lineal
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Conceptos Arquitectónicos del computador
Estructura del sistema de Archivos de
Scheduling dinámico Algoritmo de Tomasulo.
TEMA 2: Organización de computadores
Organización de Computadoras
Capítulo 7 Gestión de memoria.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
“Organización y Arquitectura de Computadores” William Stallings
Cap. 6: Pipelining. Encauzamiento de procesadores
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Metodología de la programación
RENDIMIENTO DEL COMPUTADOR
1.1 Introducción A Los Sistemas Informáticos

PROCESADORES SUPERESCALARES
Principio unidad 1.
Unidad de transferencia de memoria
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
Santiago Restrepo Rodríguez
Trabajo practico: Microprocesadores Escuela: Rodolfo Walsh Rodolfo WalshRodolfo Walsh Materia: Tecnologia| Tecnologia Profesor: Gustavo Cucuzza Integrantes:
Gestión de Memoria – Parte 2
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Para el fragmento de código siguiente: lwr1, 0x1ac; r1=m[0x1ac] lwr2, 0xc1f; r2=m[0xc1f] addr3,r0,r0; r3=r0+r0 mulr4,r2,r1; r4=r2*r1.
Transcripción de la presentación:

PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES 1

PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES El Concepto Método del Marcador (Scoreboard) Método de Tomasulo 2 2

PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES El Concepto 3 3

¿Por qué “SUB.D” tiene que esperar? El concepto Múltiples o Segmentadas Múltiples y segmentadas Procesador con unidades funcionales . . . DIV.D F1,F2,F3 ADD.D F4,F5,F1 SUB.D F6,F7,F8 IF ID IF EXDIV ID IF EXDIV ID IF EXDIV ID IF EXDIV ID IF EXDIV ID IF EXDIV ID IF ¿Por qué “SUB.D” tiene que esperar? Planificación dinámica de instrucciones 4

El concepto De la etapa IF se encarga una unidad especial que va extrayendo instrucciones y dejándolas en un buffer. La etapa ID se desdobla en dos: ID Emisión Decodificación Resolución de riesgos estructurales Resolución de riesgos RAW Lectura de los operandos Lectura de operandos La emisión se realiza en orden. Lectura de operandos y ejecución se realiza fuera de orden. Planificación dinámica de instrucciones 5

El concepto Ventajas: Inconvenientes: Simplifica el diseño de compiladores. Maneja los casos en los que las dependencias se desconocen en tiempo de compilación. Ejecuta eficientemente código compilado para otro procesador compatible. Permite aprovechar la espera por fallo de caché. Inconvenientes: Incrementa notablemente la complejidad del hardware. Aparecen riesgos WAR y WAW. Complica el tratamiento de las interrupciones. Planificación dinámica de instrucciones 6

El marcador (Scoreboard) El concepto El marcador (Scoreboard) Tomasulo Estudiaremos dos métodos Planificación dinámica de instrucciones 7

PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES Método del Marcador (Scoreboard) 8 8

Método del Marcador Registros U. Entera Su objetivo es obtener el rendimiento óptimo de una instrucción por ciclo. El módulo denominado “Marcador” se encarga de supervisar todo el proceso. FP Sum. . . . . FP Sum. FP Mult. FP Mult. FP Div. Marcador Planificación dinámica de instrucciones 9

Escritura de resultados Método del Marcador Emisión Lectura de operandos Ejecución Escritura de resultados El método se estructura en cuatro etapas. Planificación dinámica de instrucciones 10

Reservar U.F. y emitir instrucción Método del Marcador 1ª ETAPA EMISIÓN ¿Riesgos estructurales? SI WAW? NO Reservar U.F. y emitir instrucción Se comprueba que ninguna instrucción activa tenga el mismo registro destino que la instrucción a emitir. Se comprueba que la unidad funcional que necesita la instrucción esté libre. Planificación dinámica de instrucciones 11

Proporcionar operandos a U.F. Método del Marcador 2ª ETAPA LECTURA DE OPERANDOS ¿Riesgos RAW? SI NO Proporcionar operandos a U.F. Si alguna instrucción activa tiene que escribir en alguno de los operandos fuente de nuestra instrucción, se espera a que esto ocurra. Planificación dinámica de instrucciones 12

Método del Marcador 3ª ETAPA EJECUCIÓN Opera la U.F. La unidad funcional realiza la operación requerida avisando al marcador al finalizar. Planificación dinámica de instrucciones 13

Escribir resultado en destino Método del Marcador 4ª ETAPA ESCRITURA DE RESULTADOS ¿Riesgos WAR? SI NO Escribir resultado en destino Si una instrucción emitida anteriormente tiene que leer el registro que se va a escribir, se espera a que se realice la lectura. Planificación dinámica de instrucciones 14

Estructuras de implementación. Método del Marcador Estructuras de implementación. Para la implementación, el marcador mantiene tres estructuras: Estado de las instrucciones Estado de las unidades funcionales Estado de los registros Planificación dinámica de instrucciones 15

Estado de las instrucciones Método del Marcador Estado de las instrucciones Hay una entrada por cada instrucción activa donde se indica en cuál de las cuatro fases se encuentra. Fase Inst. 1 Escritura resultados Inst. 2 Ejecución Inst. 3 Lectura operandos . . . . . . Planificación dinámica de instrucciones 16

Estado de las unidades funcionales Método del Marcador Hay una entrada por cada unidad funcional. Busy: Indica si está ocupada. Op: Operación que está realizando. FI: Registro destino. FJ y FK: Registros fuente. QJ y QK: U.F.´s que generan los valores de FJ y FK. RJ y RK: Indican si FJ y FK están listos. Estado de las unidades funcionales Busy Op FI FJ FK QJ QK RJ RK U.F. 1 si + F1 F4 F8 U.F. 2 / F2 F12 UF 1 no U.F. 3 . . . Planificación dinámica de instrucciones 17

Estado de los registros Método del Marcador Estado de los registros Indica la U.F. que debe escribir su resultado en ese registro. Si está en blanco es que el valor del registro está actualizado. . . . F0 F1 F2 F3 F4 F5 U.F. UF 1 UF 2 UF 4 F30 F31 UF 2 . . . Planificación dinámica de instrucciones 18

Método del Marcador Ejemplo Tenemos un procesador con las siguientes características: Método del Marcador. 2 unidades funcionales para la suma que utilizan 2 ciclos. 2 unidades funcionales para la división que utilizan 20 ciclos. La escritura de registros se realiza en el primer subciclo de reloj. La lectura de registros se realiza en el segundo subciclo de reloj. Vamos a indicar durante qué ciclos tienen lugar cada una de las fases que se corresponden con la ejecución del siguiente código: DIV F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 Planificación dinámica de instrucciones 19

Método del Marcador + / + / Planificación dinámica de instrucciones Instrucción Emisión Lectura Ejecución Escritura DIV F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 1 2 3 - 22 23 + / 1 - 22 + / Planificación dinámica de instrucciones 20

Método del Marcador + / + / Planificación dinámica de instrucciones Instrucción Emisión Lectura Ejecución Escritura DIV F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 1 2 3 - 22 23 2 23 RAW 24 - 25 26 + 2 - 25 / 1 - 22 + / Planificación dinámica de instrucciones 21

Método del Marcador + / + / Planificación dinámica de instrucciones Instrucción Emisión Lectura Ejecución Escritura DIV F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 1 2 3 - 22 23 2 23 RAW 24 - 25 26 3 4 5 - 24 25 + 2 - 25 / 1 - 22 + / 3 - 24 Planificación dinámica de instrucciones 22

Método del Marcador + / + / Planificación dinámica de instrucciones Instrucción Emisión Lectura Ejecución Escritura DIV F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 1 2 3 - 22 23 2 23 RAW 24 - 25 26 3 4 5 - 24 25 4 5 6 - 7 24 WAR + 2 - 25 / 1 - 22 + 4 - 7 / 3 - 24 Planificación dinámica de instrucciones 23

Método del Marcador + / + / Planificación dinámica de instrucciones Instrucción Emisión Lectura Ejecución Escritura DIV F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 1 2 3 - 22 23 2 23 RAW 24 - 25 26 3 4 5 - 24 25 4 5 6 - 7 24 WAR 23 RE 24 25 - 44 45 + 2 - 25 / 1 - 22 ; 23 - 44 + 4 - 7 / 3 - 24 Planificación dinámica de instrucciones 24

Método del Marcador + / + / Planificación dinámica de instrucciones Instrucción Emisión Lectura Ejecución Escritura DIV F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 1 2 3 - 22 23 2 23 RAW 24 - 25 26 3 4 5 - 24 25 4 5 6 - 7 24 WAR 23 RE 24 25 - 44 45 46 WAW 47 48 - 49 50 + 2 - 25 ; 46 - 49 / 1 - 22 ; 23 - 44 + 4 - 7 / 3 - 24 Planificación dinámica de instrucciones 25

PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES Método de Tomasulo 26 26

Método de Tomasulo También intenta conseguir el rendimiento óptimo de una instrucción por ciclo. No hay un módulo que centralice la supervisión. Técnica de renombrado de registros para solucionar los riesgos WAR y WAW. Planificación dinámica de instrucciones 27

Método de Tomasulo Registros. FIFO de instrucciones. Planificación dinámica de instrucciones 28

Método de Tomasulo Unidades funcionales. Planificación dinámica de instrucciones 29

Método de Tomasulo Estaciones de reserva. Las instrucciones se envían a las estaciones de reserva hasta que están listas para ejecutarse. Planificación dinámica de instrucciones 30

Buffers de almacenamiento. Método de Tomasulo Buffers de almacenamiento. Buffers de carga. Planificación dinámica de instrucciones 31

Método de Tomasulo CDB Planificación dinámica de instrucciones Envía los resultados al registro o E.R. en espera. Si varias instrucciones tienen el mismo registro destino, solo la última actualiza dicho registro. CDB (Common Data Bus) Planificación dinámica de instrucciones 32

Escritura de resultados Método de Tomasulo El método se estructura en tres etapas. Emisión Ejecución Escritura de resultados Planificación dinámica de instrucciones 33

Método de Tomasulo 1ª ETAPA EMISIÓN ¿Operandos disponibles? NO SI Enviar operandos a la E.R. Indicar las E.R. con las instrucciones que los generarán ¿Todos los operandos en la E.R.? ¿E.R. disponible? Enviar instrucción a la E.R. Planificación dinámica de instrucciones 34

Método de Tomasulo 2ª ETAPA EJECUCIÓN Ejecutar en la U.F. Planificación dinámica de instrucciones 35

Método de Tomasulo 3ª ETAPA ESCRITURA DE RESULTADOS Envía los resultados al CDB Desde el CDB se reenvía a los registros o E.R. que lo espere Planificación dinámica de instrucciones 36

Método de Tomasulo LOAD / STORE El tratamiento es similar. Buffers de carga y almacenamiento Estaciones de reserva INSTRUCCIONES DE SALTO No se permite la ejecución de una instrucción hasta que no se hayan resuelto las instrucciones de salto que la precedan. Facilita el tratamiento de las interrupciones. Planificación dinámica de instrucciones 37

Buffers de almacenamiento Método de Tomasulo Estructuras de implementación. Para la implementación del método de Tomasulo hay que agregar cierta información a cada uno de los siguientes elementos: Estaciones de reserva Banco de registros Buffers de carga Buffers de almacenamiento Planificación dinámica de instrucciones 38

. . . Método de Tomasulo Hay una entrada por cada estación de reserva. Busy: Indica si está ocupada la E.R y su U.F. Op: Operación a realizar en la U.F. VJ y VK: Valores de los operandos. QJ y QK: E.R. que generará el operando VJ y VK. Estaciones de reserva Busy Op VJ VK QJ QK E.R. 1 si + 10 44 E.R. 2 / 200 1 E.R. 3 no . . . Planificación dinámica de instrucciones 39

. . . . . . Método de Tomasulo Hay una entrada por cada registro. QI: E.R. que generará el resultado a almacenar en el correspondiente registro. Banco de registros QJ F0 F1 4 F2 . . . . . . Planificación dinámica de instrucciones 40

. . . Método de Tomasulo Hay una entrada por cada buffer de carga. Busy: Indica si el buffer está ocupado. A: Dirección de acceso a memoria. Buffers de carga Busy A B.C. 1 si 200 B.C. 2 1000 B.C. 3 no . . . Planificación dinámica de instrucciones 41

Buffers de almacenamiento Método de Tomasulo Hay una entrada por buffer de almacenamiento. Busy: Indica si el buffer está ocupado. A: Dirección de acceso a memoria. VI: Valores de los operandos. QI: E.R. que generará el operando VI. Buffers de almacenamiento Busy A VI QI B.A. 1 no B.A. 2 si 3500 22 B.A. 3 . . . Planificación dinámica de instrucciones 42

Método de Tomasulo Ejemplo Tenemos un procesador con las siguientes características: Método de Tomasulo. 1 unidad funcional para suma y resta que utiliza 2 ciclos. 1 unidad funcional para multiplicación y división que utiliza 20 ciclos. Cada unidad funcional dispone de 2 estaciones de reserva. Vamos a indicar durante qué ciclos tienen lugar cada una de las fases que se corresponden con la ejecución del siguiente código: SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 Planificación dinámica de instrucciones 43

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 ER3 ER4 * / Planificación dinámica de instrucciones 44

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 ER3 ER4 * / Planificación dinámica de instrucciones 45

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 3 4 - 23 24 ER3 ER4 * / 3 4 - 23 Planificación dinámica de instrucciones 46

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 4 7 - 8 RE 9 ER3 ER4 * / 3 4 - 23 Planificación dinámica de instrucciones 47

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 4 7 - 8 RE 9 5 24 - 43 RAW RE 44 ER3 ER4 * / 3 4 - 23 5 - 23 24 - 43 Planificación dinámica de instrucciones 48

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 6 - 8 9 - 10 4 7 - 8 RE 9 5 24 - 43 RAW RE 44 6 9 - 10 RE 11 ER3 ER4 * / 3 4 - 23 5 - 23 24 - 43 Planificación dinámica de instrucciones 49

¿WAW? ¡NO! Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 6 - 8 9 - 10 4 7 - 8 RE 9 ¿WAW? 5 24 - 43 RAW RE 44 ¡NO! 6 9 - 10 RE 11 ER3 ER4 * / 3 4 - 23 5 - 23 24 - 43 Planificación dinámica de instrucciones 50

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 6 - 8 9 - 10 4 7 - 8 RE 9 7 - 11 12 - 13 5 24 - 43 RAW RE 44 6 9 - 10 RE 11 ER3 ER4 * / 7 12 - 13 RAW 14 3 4 - 23 5 - 23 24 - 43 Planificación dinámica de instrucciones 51

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 6 - 8 9 - 10 4 7 - 8 RE 9 7 - 11 12 - 13 9 - 10 11 - 12 5 24 - 43 RAW RE 44 6 9 - 10 RE 11 ER3 ER4 * / 7 12 - 13 RAW 14 3 4 - 23 5 - 23 24 - 43 9 RE 11 - 12 RE 13 Planificación dinámica de instrucciones 52

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 6 - 8 9 - 10 4 7 - 8 RE 9 7 - 11 12 - 13 9 - 10 11 - 12 5 24 - 43 RAW RE 44 6 9 - 10 RE 11 ER3 ER4 * / 7 12 - 13 RAW 14 3 4 - 23 5 - 23 24 - 43 9 RE 11 - 12 RE 13 Planificación dinámica de instrucciones 53

Método de Tomasulo ER1 ER2 + - ER3 ER4 * / Instrucción Emisión Ejecución Escritura SUB F1,F2,F3 ADD F4,F1,F3 DIV F5,F6,F7 ADD F3,F8,F9 DIV F7,F3,F10 ADD F7,F11,F12 SUB F13,F13,F7 SUB F14,F14,F15 ER1 ER2 + - 1 2 - 3 4 1 2 - 3 2 5 - 6 RAW 7 2 - 4 5 - 6 4 - 6 7 - 8 3 4 - 23 24 6 - 8 9 - 10 4 7 - 8 RE 9 7 - 11 12 - 13 9 - 10 11 - 12 5 24 - 43 RAW RE 44 7 - 12 13 - 14 6 9 - 10 RE 11 ER3 ER4 * / 7 13 - 14 RAW RE 15 3 4 - 23 5 - 23 24 - 43 9 RE 11 - 12 RE 13 Planificación dinámica de instrucciones 54