La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES

Presentaciones similares


Presentación del tema: "PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES"— Transcripción de la presentación:

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


Descargar ppt "PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES"

Presentaciones similares


Anuncios Google