Anexo Sobre Winmips(Ac6)

16
  Arquitectura de Computadoras 2010  Anexo sobre dependencias y el Simulador winmips64

Transcript of Anexo Sobre Winmips(Ac6)

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 1/16

 Arquitectura de Computadoras2010

 Anexo sobre dependencias y el

Simulador winmips64

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 2/162010 Arquitectura de Computadoras 2

Segmentación de cauce

Problemas:•Dependencia de datos (RAW)

•Saltos

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 3/162010 Arquitectura de Computadoras 3

RAW: Read-After-Write• Dependencia de datos (RAW): ej. una

instrucción quiere usar un registro

cuando la instrucción anterior todavíano terminó de almacenar el dato en elregistro. Se logra una mejora usando

forwarding “adelantando” el dato paraque lo use la instrucción posterior.

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 4/162010 Arquitectura de Computadoras 4

Saltos• El problema con los saltos es que la

verificación del salto y el cálculo del destino

del salto se realiza muy “adentro”del pipeline.Se obtiene una mejora adelantando estastareas a la etapa de ID, no antes porquetengo que saber que es un salto.

• Otra mejora: estas tareas se pueden llevar ala etapa IF con BTB (Branch Target Buffer)

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 5/162010 Arquitectura de Computadoras 5

Un ejemplo sin forwarding

Dependencia dedatos. R2

disponible aquí 

Se estira la etapa ID(decodificación) hastaque está disponible el

dato en R2

No avanza elpipeline y se

estira la etapaIF

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 6/162010 Arquitectura de Computadoras 6

… con forwarding

R2 disponiblepara

forwarding

Por forwarding sepuede utilizar R2 en

esta etapa

 Ver el ej. anterior

hay 2 RAW menos

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 7/162010 Arquitectura de Computadoras 7

Otro ejemplo sin nada

Dependencia dedatos por R2

Dependencia dedatos por R1

Se precapta HALT

y en realidad hayque ejecutar

DSLL R1,R1,1 setira lo que avanza

por el pipe

 Aquí precaptar HALT escorrecto y no se tira lo que

avanza en el pipe

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 8/162010 Arquitectura de Computadoras 8

… con forwarding

Mejora porforwarding

Todavía faltasolucionar la “mala” predicción del salto

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 9/162010 Arquitectura de Computadoras 9

…con forwarding y BTB

Incorpora elsalto a la tabla

BTB

Se predice elsalto en formacorrecta puesestá en BTB

Predicción incorrecta del saltohay que sacarlo de BTB

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 10/162010 Arquitectura de Computadoras 10

Ejemplo de ejecución normal y

con uso del salto retardado.data

equis: .word 4

.text

LD R1, equis(R0)

DADDI R1, R1, 1

J SIGUE

DADD R1, R1, R2DADD R3, R3, R2

SIGUE: SD R1, equis(R0)

HALT

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 11/162010 Arquitectura de Computadoras 11

Ejecución normal

Dependencias RAW

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 12/162010 Arquitectura de Computadoras 12

Ejecución con fowarding

Dependencia RAW

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 13/162010 Arquitectura de Computadoras 13

Ejecución con salto retardado

Dependencia RAW Cuidado: SD almacena (R1+R2) debido

a la ejecución de DADD R1,R1,R2

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 14/162010 Arquitectura de Computadoras 14

Ejecución con NOP agregada

sin salto retardado

Dependencia RAW

NOP es descartada

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 15/162010 Arquitectura de Computadoras 15

Ejecución con NOP y con salto

retardado

Dependencia RAW

NOP es totalmente ejecutada

5/11/2018 Anexo Sobre Winmips(Ac6) - slidepdf.com

http://slidepdf.com/reader/full/anexo-sobre-winmipsac6 16/16

2010 Arquitectura de Computadoras 16

Ejecución con salto retardado

optimizado (reordenando)

No sólo aprovechamos el “hueco de retardo”,también desaparece la dependencia RAW