tutorías con grupos reducidos (tgr) 1cm sesión 2...

51
Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 1 / 43

Upload: others

Post on 02-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Tutorías con Grupos Reducidos (TGR)

Sesión 2: Paralelismo a Nivel de Instrucción

ESTRUCTURA DE COMPUTADORES

Grupo de Arquitectura de Computadores (GAC)

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 1 / 43

Page 2: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Índice

1 Introducción a la segmentación de cauce

2 Dependencias y paralelismo a nivel de instrucción

3 Riesgos en la ejecución

4 Cauce segmentado en el MIPS

5 Procesamiento de saltos

6 Ejercicios

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 2 / 43

Page 3: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Índice

1 Introducción a la segmentación de cauce

2 Dependencias y paralelismo a nivel de instrucción

3 Riesgos en la ejecución

4 Cauce segmentado en el MIPS

5 Procesamiento de saltos

6 Ejercicios

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 3 / 43

Page 4: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Repaso: procesador multicicloProcesador MIPS multiciclo visto en FC:

Estado 0

Inicio

LeerMemSelALUA = 0

IoD = 0EscrIREscrPC

FuentePC = 00

selALUB = 01ALUOp = 00

Estado 1

SelALUA = 0selALUB = 11ALUOp = 00

(Op = “LW”) o (Op = “SW”)

Estado 4

Estado 5

Acceso amemoria

Acceso amemoria

(Op = “LW”) (Op = “SW”)

Cálculodirección dememoria

Etapa de escritura

Estado 3

Estado 2

SelALUA = 1selALUB = 10ALUOp = 00

LeerMemIoD = 1

EscrMemI0D = 1

EscrRegMem2Reg = 1RegDest = 0

Finalización dela operación

(Op

=Arit

m-L

ógic

as)

Ejecución de laoperación

(Op =

“beq”)

Finalizaciónde salto condicional

Estado 8

SelALUA = 1selALUB = 00ALUOp = 01EscrPCCond

FuentePC = 01

(Op = “j”)

Finalizaciónde jump

Estado 9

EscrPCFuentePC = 10

Estado 7

Estado 6

SelALUA = 1selALUB = 00ALUOp = 10

RegDest = 1EscrReg

Mem2Reg=0

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 4 / 43

Page 5: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Segmentación de cauce

Comparación entre la implementación multiciclo y la segmentada:

Instrucciones 1 2 3 4 5 6 7 8 9 10 11 12lw $1,16($2) IF ID EX MEM WB

addi $2,$2,4 IF ID EX MEM

beq $3,$0,loop IF ID EX

Instrucciones 1 2 3 4 5 6 7 8 9 10 11 12lw $1,16($2) IF ID EX MEM WB

addi $2,$2,4 IF ID EX MEM WB

beq $3,$0,loop IF ID EX MEM WB

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 5 / 43

Page 6: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Operaciones multiciclo

Algunas operaciones tardan más de un ciclo de reloj en la etapa deejecuciónLas instrucciones en punto flotante tienen la misma segmentación quelas enteras, pero con las siguientes modificaciones:

▶ La etapa EX tiene diferente latencia dependiendo de la instrucción▶ Existen diversas unidades funcionales para cada tipo de operación

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 6 / 43

Page 7: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Índice

1 Introducción a la segmentación de cauce

2 Dependencias y paralelismo a nivel de instrucción

3 Riesgos en la ejecución

4 Cauce segmentado en el MIPS

5 Procesamiento de saltos

6 Ejercicios

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 7 / 43

Page 8: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

DefiniciónEl paralelismo a nivel de instrucción (Instruction Level Parallelism-ILP) esla capacidad de procesar instrucciones en paralelo. Viene determinado porel número de instrucciones que pueden solaparse en las etapas de unprocesador.

Dos instrucciones son dependientes si se deben ejecutar en orden:1 Indican la posibilidad de un riesgo (una instrucción no se puede

ejecutar en el ciclo de reloj que le correspondería)2 Determinan el orden en el cual se deben calcular los resultados.3 Establecen la cantidad máxima de paralelismo que se puede obtener.

Hay tres tipos de dependencias:de datos o verdaderasde nombre (antidependencias y dependencias de salida)de control

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 8 / 43

Page 9: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Índice

1 Introducción a la segmentación de cauce

2 Dependencias y paralelismo a nivel de instrucción

3 Riesgos en la ejecución

4 Cauce segmentado en el MIPS

5 Procesamiento de saltos

6 Ejercicios

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 9 / 43

Page 10: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Riesgos en la ejecución

El CPI ideal de un procesador segmentado es unoSin embargo, hay situaciones, denominadas riesgos (hazards), queimpiden que se ejecute la siguiente instrucción del flujo deinstrucciones durante su ciclo de reloj.

Tipos de riesgos▶ Estructurales: el hardware no puede soportar la combinación de

instrucciones que se quieren ejecutar en el mismo ciclo.▶ De control: surgen del problema de determinar la instrucción correcta que

se tiene que ejecutar después de un salto.▶ De datos: surgen de la existencia de dependencias entre las instrucciones

(RAW, WAW, WAR).

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 10 / 43

Page 11: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Índice

1 Introducción a la segmentación de cauce

2 Dependencias y paralelismo a nivel de instrucción

3 Riesgos en la ejecución

4 Cauce segmentado en el MIPS

5 Procesamiento de saltos

6 Ejercicios

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 11 / 43

Page 12: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Unidad de control

Camino de datos segmentado con las señales de control identificadas

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 12 / 43

Page 13: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Anticipación

Permite obtener las entradas de la ALU de cualquier registro desegmentación, no solo del ID/EX

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 13 / 43

Page 14: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Anticipación

Permite obtener las entradas de la ALU de cualquier registro desegmentación, no solo del ID/EX

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 13 / 43

Page 15: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Bloqueo

En algunas situaciones la anticipación no evita el riesgo RAW y sehace necesario bloquear el flujo de instrucciones en el cauce

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 14 / 43

Page 16: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Bloqueo

En algunas situaciones la anticipación no evita el riesgo RAW y sehace necesario bloquear el flujo de instrucciones en el cauce

Necesitamos parar Necesitamos parar un cicloun ciclo

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 14 / 43

Page 17: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Índice

1 Introducción a la segmentación de cauce

2 Dependencias y paralelismo a nivel de instrucción

3 Riesgos en la ejecución

4 Cauce segmentado en el MIPS

5 Procesamiento de saltos

6 Ejercicios

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 15 / 43

Page 18: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Procesamiento de saltos

Los riesgos de control se originan a partir de las instrucciones desalto condicional que determinan la secuencia de instrucciones quehay que procesar tras ellas.Cuando se ejecuta un salto, éste puede cambiar o no el contador deprograma (PC): salto efectivo / salto no efectivo.El método más simple para tratar con saltos consiste en purgar elcauce y repetir la búsqueda de la instrucción siguiente al salto una vezque se detecta el salto.Pueden provocar una mayor pérdida de rendimiento para un cauceMIPS que un riesgo de datos.Unos ciclos de parada en cada salto no parecen mucho, pero en lapráctica puede suponer una pérdida del rendimiento de entre un 10%y un 30%, dependiendo de la frecuencia de saltos y de la latencia delos mismos (etapa en la que se decide el salto).

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 16 / 43

Page 19: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Predicción de salto

Existen dos tipos de predicción de saltos:Predicción fija: la predicción no depende del comportamientodinámico del salto, el hardware siempre realiza la misma predicciónpara cada salto.Predicción dinámica: depende del comportamiento del salto entiempo de ejecución y cambiará si el salto cambia su comportamientodurante la ejecución.

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 17 / 43

Page 20: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Salto retardado

Las instrucciones que se captan después de una instrucción de salto yantes de la modificación del PC se ejecutan en su totalidad.

▶ Se dice que estas instrucciones ocupan el hueco de retardo.El compilador debe ubicar después de la instrucción de salto:

▶ Una instrucción que no modifique la semántica del programa.▶ Una NOP.

La tarea del compilador es hacer las instrucciones sucesorasválidas y útiles.

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 18 / 43

Page 21: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Índice

1 Introducción a la segmentación de cauce

2 Dependencias y paralelismo a nivel de instrucción

3 Riesgos en la ejecución

4 Cauce segmentado en el MIPS

5 Procesamiento de saltos

6 Ejercicios

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 19 / 43

Page 22: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 1

Enunciado:Identifica todas las dependencias y su tipo en el siguiente código:

1 add $2, $5, $42 add $4, $2, $53 lw $4, 100($2)4 sub $10, $4, $16

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 20 / 43

Page 23: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 1

Solución:1 Dependencias verdaderas.2 Antidependencias.3 Dependencias de salida.

add $2, $5, $4add $4, $2, $5lw $4, 100($2)sub $10, $4, $16Dye r Ro lá n Ga rc ía

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 21 / 43

Page 24: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 1

Solución:1 Dependencias verdaderas.2 Antidependencias.3 Dependencias de salida.

add $2, $5, $4add $4, $2, $5lw $4, 100($2)sub $10, $4, $16Dye r Ro lá n Ga rc ía

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 21 / 43

Page 25: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 1

Solución:1 Dependencias verdaderas.2 Antidependencias.3 Dependencias de salida.

add $2, $5, $4add $4, $2, $5lw $4, 100($2)sub $10, $4, $16Dye r Ro lá n Ga rc ía

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 21 / 43

Page 26: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 2

Enunciado:El siguiente código se ejecuta en un procesador segmentado de 5etapas con salto fijo no efectivo que se decide en la 2ª etapa:

etiq: slt $t3, $a0, $a1bne $t3, $0, salirlw $t0, 0($a0)add $t2, $t2, $t0addi $a0, $a0, -4j etiq

salir: sw $t2, 0($a0)

Dibuja el diagrama multiciclo para una iteración y calcula el CPI si $a0inicialmente tenía el valor 0x1000FF10 y $a1 el valor 0x1000FF00.

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 22 / 43

Page 27: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 2

Solución (Primera iteración):

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 23 / 43

Page 28: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 2

Solución (Iteración de salida):

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 24 / 43

Page 29: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 2

Solución (CPI):

CPIsec1 =4 ciclosent + (5 it × 10 ciclos/it) + 6 ciclossal

(5 it × 6 inst/it) + 3 instsal=

6033 = 1,81

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 25 / 43

Page 30: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 3

Enunciado:Considere la siguiente secuencia de instrucciones empleada parauna copia de memoria a memoria:

lw $6, 100($5)sw $6, 200($5)

Muestre los cambios necesarios en el camino de datos para permitir queun código como este se ejecute sin bloqueos. Incluya las ecuaciones deanticipación para cada una de las señales de control de cada multiplexor.

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 26 / 43

Page 31: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 3

Solución:

MEM

EX/MEM MEM/WB

Forwarding unit

MUX

MUX

MEM/WBRegisterRd

(MEM/WB RegisterRd == EX/MEM RegisterRd) and EX/MEM.MemWrite and MEM/WB.MemtoReg=0

EX/MEMRegisterRd

MemtoRegMemWrite

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 27 / 43

Page 32: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 4

Enunciado:Calcular el CPI de un camino de datos segmentado con el siguienterepertorio de instrucciones: 22% cargas, 11% almacenamientos,49% tipo R, 16% saltos y 2% bifurcaciones. Suponer que la mi-tad del tiempo la instrucción que sigue a una instrucción de cargadepende del resultado de la carga. Considerar que las bifurcacio-nes tienen siempre 1 ciclo de reloj de retardo (CPIj=2). Suponerademás que el 25% de los saltos son efectivos.

¿Cuántas veces es más rápida una máquina segmentada (con CPI = 1), queno retarda la segmentación, si se compara con la máquina descrita?

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 28 / 43

Page 33: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 4

Solución a):

CPI = 0, 22×(0, 5×1+0, 5×2)+ 0, 11×1 + 0, 49×1+0, 16×(0, 25×2+0, 75×1)+0, 02×2 = 1,17

Solución b):Rmaq1

Rmaq2=

CPImaq2

CPImaq1= 1,17

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 29 / 43

Page 34: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 5 (I)

Enunciado:Supongamos un procesador segmentado de 4 etapas (IF, ID,EX/MEM y WB) con salto fijo no efectivo. En la etapa EX/MEMse realiza la ejecución de las instrucciones o el acceso a memoria yen WB se realiza la post-escritura. Además, este procesador tieneuna unidad de anticipación en la etapa EX/MEM y una unidad dedetección en la etapa ID.

a)¿Es posible ejecutar el siguiente código sin introducir ninguna burbuja?

lw $t0, 0($a0)add $t2, $t2, $t0

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 30 / 43

Page 35: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 5 (y II)

b)Muestra el diagrama multiciclo del siguiente código:

addi $8, $0, 0etiq: lw $2, 0($4)

addi $4, $4, 4add $9, $9, $2addi $8, $8, 1slti $1, $8, 2bne $1, $0, etiqaddi $9, $9, 1

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 31 / 43

Page 36: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 5

Solución (a):

lw $t0, 0($a0)add $t2, $t2, $t0

IF ID EX/MEM WBIF ID EX/MEM WB

$t0

García

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 32 / 43

Page 37: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 5

Solución (b):addi $8, $0, 0etiq: lw $2, 0($4)addi $4, $4, 4add $9, $9, $2addi $8, $8, 1slti $1, $8, 2bne $1, $0, etiqaddi $9, $9, 1

IF ID EX/MEM WB

IF ID EX/MEM WB

IF ID EX/MEM WB

IF ID EX/MEM WB

IF ID EX/MEM WB

IF ID EX/MEM WB

IF ID EX/MEM WB

$8

IF

Siguiente iteración

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 33 / 43

Page 38: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6 (I)Enunciado:

En un procesador segmentado MIPS con salto fijo no efectivo,en donde el salto se decide en la etapa ID y tiene una unidad deanticipación en la etapa de EX, es decir, se anticipan los datos a laALU o unidades de punto flotante, se está ejecutando el siguientecódigo:

Loop:addi $s2, $s2, 4lwc1 $f1, 0($s2)mul.s $f1, $f1, $f2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $f2swc1 $f2, 0x7000($s2)bne $s2, $s1, Loopadd $s1, $s2, $t0

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 34 / 43

Page 39: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6 (y II)

Suponiendo que la latencia de la unidad de multiplicación enpunto flotante es de 4, la de suma en punto flotante de 2 yambas unidades son segmentadas,

a) Dibuja el diagrama multiciclo para una iteración donde el salto fueseefectivo.b) ¿Cómo se puede mejorar el rendimiento de la secuencia anteriorreordenando el código?c) Dibuja el diagrama multiciclo para una iteración donde el salto fueseefectivo si en lugar de salto fijo no efectivo se utiliza salto retardado.d) ¿Cómo se puede aprovechar el hueco del salto con la técnica de saltoretardado en el código de este ejercicio?

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 35 / 43

Page 40: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6

Solución (a):

Loop:

addi $s2, $s2, 4

lwc1 $f1, 0($s2)

mul.s $f1, $f1, $s2

lwc1 $f2, 0x7000($s2)

add.s $f2, $f1, $s2

swc1 $f2, 0x7000($s2)

bne $s2, $s1, Loop

add $s1, $s2, $t0

IF ID MEM

IF ID EX MEM

IF ID EX1

IF ID EX MEM

IF ID

ID EX

ID EX WB

IF

WBEX

WB

EX2 EX3 EX4 MEM WB

WB

EX1 EX2 MEM WB

MEM WB

MEM$f1

$f1

$f2

$s2

IF

IF

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 36 / 43

Page 41: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6

Solución (b):Loop: addi $s2, $s2, 4lwc1 $f1, 0($s2)mul.s $f1, $f1, $s2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $s2swc1 $f2, 0x7000($s2)bne $s2, $s1, Loopadd $s1, $s2, $t0

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 37 / 43

Page 42: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6

Solución (b):Loop: addi $s2, $s2, 4lwc1 $f1, 0($s2)mul.s $f1, $f1, $s2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $s2swc1 $f2, 0x7000($s2)bne $s2, $s1, Loopadd $s1, $s2, $t0

Loop: lwc1 $f1, 4($s2)addi $s2, $s2, 4mul.s $f1, $f1, $s2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $s2swc1 $f2, 0x7000($s2)bne $s2, $s1, Loopadd $s1, $s2, $t0

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 37 / 43

Page 43: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6

Solución (c):Loop: addi $s2, $s2, 4lwc1 $f1, 0($s2)mul.s $f1, $f1, $s2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $s2swc1 $f2, 0x7000($s2)bne $s2, $s1, Loopadd $s1, $s2, $t0addi $s2, $s2, 4

IF ID MEM

IF ID EX MEM

IF ID EX1

IF ID EX MEM

IF ID

ID EX

ID EX WB

IF

WBEX

WB

EX2 EX3 EX4MEMWB

WB

EX1 EX2MEMWB

MEMWB

MEM

$f1

$f1

$f2

$s2

IF

IF

ID EX MEMWB

IF ID MEMWBEX

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 38 / 43

Page 44: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6

Solución (d):Loop: addi $s2, $s2, 4lwc1 $f1, 0($s2)mul.s $f1, $f1, $s2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $s2swc1 $f2, 0x7000($s2)bne $s2, $s1, Loopadd $s1, $s2, $t0

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 39 / 43

Page 45: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 6

Solución (d):Loop: addi $s2, $s2, 4lwc1 $f1, 0($s2)mul.s $f1, $f1, $s2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $s2swc1 $f2, 0x7000($s2)bne $s2, $s1, Loopadd $s1, $s2, $t0

Loop: lwc1 $f1, 4($s2)addi $s2, $s2, 4mul.s $f1, $f1, $s2lwc1 $f2, 0x7000($s2)add.s $f2, $f1, $s2bne $s2, $s1, Loopswc1 $f2, 0x7000($s2)add $s1, $s2, $t0

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 39 / 43

Page 46: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 7

Enunciado:Identifica todas las dependencias del siguiente código:

salto: addi $4, $4, 4lwc1 $f18, 100($4)sub.s $f18, $f12, $f18swc1 $f18, 100($4)add $3, $6, $3beq $3, $8, saltonop

Si usamos el procesador MIPS habitual pero con salto retardado:

a) ¿Cuál sería el diagrama multiciclo para una iteración?b) Reordena el código para optimizar el rendimiento.

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 40 / 43

Page 47: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 7

Solución (a):1 Dependencias verdaderas.2 Dependencias de salida.

salto: addi $4, $4, 4lwc1 $f18, 100($4)sub.s $f18, $f12, $f18 swc1 $f18, 100($4)add $3, $6, $3beq $3, $8, saltonop

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 41 / 43

Page 48: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 7

Solución (a):1 Dependencias verdaderas.2 Dependencias de salida.

salto: addi $4, $4, 4lwc1 $f18, 100($4)sub.s $f18, $f12, $f18 swc1 $f18, 100($4)add $3, $6, $3beq $3, $8, saltonop

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 41 / 43

Page 49: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 7

Solución (b):salto: addi $4, $4, 4lwc1 $f18, 100($4)sub.s $f18, $f12, $f18 swc1 $f18, 100($4)add $3, $6, $3beq $3, $8, saltonop

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 42 / 43

Page 50: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 7

Solución (b):salto: addi $4, $4, 4lwc1 $f18, 100($4)sub.s $f18, $f12, $f18 swc1 $f18, 100($4)add $3, $6, $3beq $3, $8, saltonop

salto: lwc1 $f18, 104($4)add $3, $6, $3sub.s $f18, $f12, $f18 addi $4, $4, 4beq $3, $8, saltoswc1 $f18, 100($4)

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 42 / 43

Page 51: Tutorías con Grupos Reducidos (TGR) 1cm Sesión 2 ...quegrande.org/apuntes/grado/2G/ECG/seminarios/11... · Ejercicio7 Solución(a): 1 Dependenciasverdaderas. 2 Dependenciasdesalida

Ejercicio 7

Solución (c):salto: addi $4, $4, 4lwc1 $f18, 100($4)sub.s $f18, $f12, $f18swc1 $f18, 100($4)add $3, $6, $3beq $3, $8, saltonop

IF ID MEM

IF ID EX MEM

IF ID EX1

IF ID EX MEM

ID

IF EX

WBEX

WB

EX2MEMWB

WB

EX MEMWB

MEMWB

$4

$f18

$f18

IF

ID

Dyer Rolán García (GAC) Paralelismo a nivel de instrucción Curso 2011/2012 43 / 43