Algoritmo de Tomasulo MO 401 Arquitetura de Computadores

  • Slides: 26
Download presentation
Algoritmo de Tomasulo MO 401 – Arquitetura de Computadores I Cristiano Dalmaschio Ferreira Instituto

Algoritmo de Tomasulo MO 401 – Arquitetura de Computadores I Cristiano Dalmaschio Ferreira Instituto de Computação Universidade. Algoritmo Estadualdede Campinas – SP - Brasil Tomasulo

Introdução ¡ Pipelines e paralelismo no nível de instrução Algoritmo de Tomasulo

Introdução ¡ Pipelines e paralelismo no nível de instrução Algoritmo de Tomasulo

Conflitos de Dados DIV. D F 0, F 1, F 2 SUB. D F

Conflitos de Dados DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo

Conflitos de Dados DIV. D F 0, F 1, F 2 SUB. D F

Conflitos de Dados DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo

Conflitos de Dados RAW DIV. D F 0, F 1, F 2 SUB. D

Conflitos de Dados RAW DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo

Conflitos de Dados RAW DIV. D F 0, F 1, F 2 SUB. D

Conflitos de Dados RAW DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo

Conflitos de Dados WAW RAW DIV. D F 0, F 1, F 2 SUB.

Conflitos de Dados WAW RAW DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo

Conflitos de Dados WAW RAW DIV. D F 0, F 1, F 2 SUB.

Conflitos de Dados WAW RAW DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo

Conflitos de Dados WAW RAW DIV. D F 0, F 1, F 2 SUB.

Conflitos de Dados WAW RAW DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 WAR Algoritmo de Tomasulo

Escalonamento de Instruções ¡ Escalonamento estático l ¡ Focalizado no compilador Escalonamento dinâmico l

Escalonamento de Instruções ¡ Escalonamento estático l ¡ Focalizado no compilador Escalonamento dinâmico l Focalizado no hardware Algoritmo de Tomasulo

Renomeação de Registradores WAW MULT. D F 1, F 4, F 5 ADD. D

Renomeação de Registradores WAW MULT. D F 1, F 4, F 5 ADD. D F 1, F 2, F 3 MULT. D F 6, F 7, F 2 ADD. D F 7, F 2, F 4 ADD. D F 8, F 1, F 4 WAR Algoritmo de Tomasulo

Renomeação de Registradores WAW MULT. D F 1, F 4, F 5 ADD. D

Renomeação de Registradores WAW MULT. D F 1, F 4, F 5 ADD. D F 1, F 2, F 3 MULT. D F 6, F 7, F 2 ADD. D F 7, F 2, F 4 ADD. D F 8, F 1, F 4 MULT. D F 1, F 4, F 5 ADD. D R 1, F 2, F 3 MULT. D F 6, F 7, F 2 ADD. D R 2, F 4 ADD. D F 8, R 1, F 4 WAR Algoritmo de Tomasulo

Algoritmo de Tomasulo ¡ ¡ ¡ IBM 360/91 Explorar o paralelismo no nível de

Algoritmo de Tomasulo ¡ ¡ ¡ IBM 360/91 Explorar o paralelismo no nível de instrução Minimizar conflitos RAW, WAR Algoritmo de Tomasulo

Arquitetura de Hardware

Arquitetura de Hardware

Arquitetura de Hardware

Arquitetura de Hardware

Arquitetura de Hardware

Arquitetura de Hardware

Execução do algoritmo Ciclo 1 Emitir Fim exec 1 DIV. D F 0, F

Execução do algoritmo Ciclo 1 Emitir Fim exec 1 DIV. D F 0, F 1, F 2 SUB. D F 5, F 0, F 3 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo Gravar

Execução do algoritmo Ciclo 2 Emitir Fim exec DIV. D F 0, F 1,

Execução do algoritmo Ciclo 2 Emitir Fim exec DIV. D F 0, F 1, F 2 1 SUB. D F 5, F 0, F 3 2 ADD. D F 0, F 2, F 4 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo X Gravar

Execução do algoritmo Ciclo 3 Emitir Fim exec DIV. D F 0, F 1,

Execução do algoritmo Ciclo 3 Emitir Fim exec DIV. D F 0, F 1, F 2 1 SUB. D F 5, F 0, F 3 2 ADD. D F 0, F 2, F 4 3 MULT. D F 6, F 7, F 8 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo X Gravar

Execução do algoritmo Ciclo 4 Emitir Fim exec DIV. D F 0, F 1,

Execução do algoritmo Ciclo 4 Emitir Fim exec DIV. D F 0, F 1, F 2 1 SUB. D F 5, F 0, F 3 2 ADD. D F 0, F 2, F 4 3 MULT. D F 6, F 7, F 8 4 ADD. D F 7, F 2, F 4 Algoritmo de Tomasulo X X Gravar

Execução do algoritmo Ciclo 5 Emitir Fim exec DIV. D F 0, F 1,

Execução do algoritmo Ciclo 5 Emitir Fim exec DIV. D F 0, F 1, F 2 1 SUB. D F 5, F 0, F 3 2 ADD. D F 0, F 2, F 4 3 MULT. D F 6, F 7, F 8 4 ADD. D F 7, F 2, F 4 5 Algoritmo de Tomasulo X 5 Gravar

Execução do algoritmo Ciclo 6 Emitir Fim exec DIV. D F 0, F 1,

Execução do algoritmo Ciclo 6 Emitir Fim exec DIV. D F 0, F 1, F 2 1 SUB. D F 5, F 0, F 3 2 ADD. D F 0, F 2, F 4 3 MULT. D F 6, F 7, F 8 4 ADD. D F 7, F 2, F 4 5 Algoritmo de Tomasulo Gravar X 5 X 6

Execução do algoritmo Ciclo 8 Emitir Fim exec DIV. D F 0, F 1,

Execução do algoritmo Ciclo 8 Emitir Fim exec DIV. D F 0, F 1, F 2 1 SUB. D F 5, F 0, F 3 2 ADD. D F 0, F 2, F 4 3 MULT. D F 6, F 7, F 8 4 ADD. D F 7, F 2, F 4 5 Algoritmo de Tomasulo Gravar X 5 8 6

Execução do algoritmo Ciclo 42 Emitir Fim exec DIV. D F 0, F 1,

Execução do algoritmo Ciclo 42 Emitir Fim exec DIV. D F 0, F 1, F 2 1 41 SUB. D F 5, F 0, F 3 2 X ADD. D F 0, F 2, F 4 3 5 MULT. D F 6, F 7, F 8 4 X ADD. D F 7, F 2, F 4 5 8 Algoritmo de Tomasulo Gravar 42 6 9

Execução do algoritmo Ciclo 52 Emitir Fim exec Gravar DIV. D F 0, F

Execução do algoritmo Ciclo 52 Emitir Fim exec Gravar DIV. D F 0, F 1, F 2 1 41 42 SUB. D F 5, F 0, F 3 2 43 44 ADD. D F 0, F 2, F 4 3 5 6 MULT. D F 6, F 7, F 8 4 51 52 ADD. D F 7, F 2, F 4 5 8 9 Algoritmo de Tomasulo

Conclusões ¡ Explora paralelismo ¡ Renomeação de registradores ¡ “Buferização de operandos” ¡ Independência:

Conclusões ¡ Explora paralelismo ¡ Renomeação de registradores ¡ “Buferização de operandos” ¡ Independência: Compilador X Arquitetura Algoritmo de Tomasulo