Descargar la presentación
La descarga está en progreso. Por favor, espere
1
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
1
2
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
El Concepto Método del Marcador (Scoreboard) Método de Tomasulo 2 2
3
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
El Concepto 3 3
4
¿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
5
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
6
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
7
El marcador (Scoreboard)
El concepto El marcador (Scoreboard) Tomasulo Estudiaremos dos métodos Planificación dinámica de instrucciones 7
8
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Método del Marcador (Scoreboard) 8 8
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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
18
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
19
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
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 + / 1 - 22 + / Planificación dinámica de instrucciones 20
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 26 + 2 - 25 / 1 - 22 + / Planificación dinámica de instrucciones 21
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 26 3 4 5 - 24 25 + 2 - 25 / 1 - 22 + / 3 - 24 Planificación dinámica de instrucciones 22
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 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
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 26 3 4 5 - 24 25 4 5 6 - 7 24 WAR 23 RE 24 45 + 2 - 25 / 1 - 22 ; + 4 - 7 / 3 - 24 Planificación dinámica de instrucciones 24
25
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 26 3 4 5 - 24 25 4 5 6 - 7 24 WAR 23 RE 24 45 46 WAW 47 50 + 2 - 25 ; / 1 - 22 ; + 4 - 7 / 3 - 24 Planificación dinámica de instrucciones 25
26
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Método de Tomasulo 26 26
27
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
28
Método de Tomasulo Registros. FIFO de instrucciones.
Planificación dinámica de instrucciones 28
29
Método de Tomasulo Unidades funcionales.
Planificación dinámica de instrucciones 29
30
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
31
Buffers de almacenamiento.
Método de Tomasulo Buffers de almacenamiento. Buffers de carga. Planificación dinámica de instrucciones 31
32
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
33
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
34
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
35
Método de Tomasulo 2ª ETAPA EJECUCIÓN
Ejecutar en la U.F. Planificación dinámica de instrucciones 35
36
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
37
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
38
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
39
. . . 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
40
. . . . . . 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
41
. . . 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
42
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
43
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
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 ER3 ER4 * / Planificación dinámica de instrucciones 44
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 ER3 ER4 * / Planificación dinámica de instrucciones 45
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 3 4 - 23 24 ER3 ER4 * / 3 4 - 23 Planificación dinámica de instrucciones 46
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 ER3 ER4 * / 3 4 - 23 Planificación dinámica de instrucciones 47
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 4 7 - 8 RE 9 5 RAW RE 44 ER3 ER4 * / 3 4 - 23 5 - 23 Planificación dinámica de instrucciones 48
49
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 RAW RE 44 6 RE 11 ER3 ER4 * / 3 4 - 23 5 - 23 Planificación dinámica de instrucciones 49
50
¿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 RAW RE 44 ¡NO! 6 RE 11 ER3 ER4 * / 3 4 - 23 5 - 23 Planificación dinámica de instrucciones 50
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 5 RAW RE 44 6 RE 11 ER3 ER4 * / 7 RAW 14 3 4 - 23 5 - 23 Planificación dinámica de instrucciones 51
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 9 - 10 5 RAW RE 44 6 RE 11 ER3 ER4 * / 7 RAW 14 3 4 - 23 5 - 23 9 RE RE 13 Planificación dinámica de instrucciones 52
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 9 - 10 5 RAW RE 44 6 RE 11 ER3 ER4 * / 7 RAW 14 3 4 - 23 5 - 23 9 RE RE 13 Planificación dinámica de instrucciones 53
54
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 9 - 10 5 RAW RE 44 7 - 12 6 RE 11 ER3 ER4 * / 7 RAW RE 15 3 4 - 23 5 - 23 9 RE RE 13 Planificación dinámica de instrucciones 54
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.