tutorías con grupos reducidos (tgr) 1cm sesión 2...
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/2.jpg)
Í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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/3.jpg)
Í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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/7.jpg)
Í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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/9.jpg)
Í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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/11.jpg)
Í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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/17.jpg)
Í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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/21.jpg)
Í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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050413/5f8a5093f039a82f860d219d/html5/thumbnails/51.jpg)
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