Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson &...

Preview:

Citation preview

Organização de Computadoresrganização de Computadores

Melhorias de DesempenhoMelhorias de Desempenhocom com PipelinesPipelines

Capítulo 6 – Patterson & HennessyCapítulo 6 – Patterson & Hennessy

Prof. Fábio M. CostaInstituto de InformáticaUniversidade Federal de Goiás

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores2

Pipelining - Introdução Fatores que facilitam

– Todas as instruções com o mesmo tamanho– Poucos formatos de instruções– Operandos em memória aparecem apenas em loads e stores

Fatores que dificultam– Problemas estruturais: apenas uma memória– Problemas de controle: necessário considerar instruções de

desvio cuidadosamente– Problemas com os dados: uma instrução que depende da

instrução anterior

Exemplificar estas questões com um pipeline simples Considerar outras questões de projeto de pipelines em

processadores modernos– Tratamento de exceções– Melhoria de desempenho com execução fora de ordem, etc.

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores3

Pipelines – Idéia Geral

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores4

Estágios do pipeline do MIPS (simplificado)

1. Busca de instrução

2. Decodificação de instrução e busca de operandos em registradores

3. Execução (ALU)

4. Acesso à memória (leitura ou escrita)

5. Escrita de resultados (em registradores)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores5

Pipeline de Instruções e Duração dos Ciclos de Relógio

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores6

Problemas com Desvios

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores7

Solução: Predição de Desvio (ou não)

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores8

Solução: Reordenação de Instruções

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores9

Dependências de Dados

Obs.: Instruções Tipo R

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores10

Dependências de dados envolvendo a memória

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores11

Caminho de Dados em Pipeline: Delimitação dos Estágios (partindo do caminho de dados monociclo)

Fig. 6.10

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores12

Execução de instruções em pipeline

Fig. 6.11

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores13

Versão em Pipeline do Caminho de Dados

Fig. 6.12

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores14

Execução da Instrução LW: Busca

Fig. 6.13a

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores15

Execução da Instrução LW: Decodificação e Leitura dos Registradores

Fig. 6.13b

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores16

Execução da Instrução LW: Execução

Fig. 6.14

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores17

Execução da Instrução LW: Acesso à Memória

Fig. 6.15a

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores18

Execução da Instrução LW: Escrita do Resultado no Registrador de Destino

Fig. 6.15b

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores19

Execução da Instrução SW: Execução

Fig. 6.16

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores20

Execução da Instrução SW: Acesso à Memória

Fig. 6.17a

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores21

Execução da Instrução SW: Escrita de Resultado

Fig. 6.17b

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores22

Algum problema com o Caminho de Dados para a Instrução LW???

Como passar o número do registrador onde ocorrerá a escrita do resultado (registrador de destino) para o último estágio do pipeline (estágio de escrita de resultado)?

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores23

Correção no Caminho de Dados para a Instrução LW

Fig. 6.18

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores24

Uso global do Caminho de Dados pela Instrução LW

Fig. 6.19

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores25

Visão do Pipeline na execução de múltiplas instruções

Fig. 6.21

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores26

Paralelismo entre os elementos funcionais do pipeline

Fig. 6.20

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores27

Execução de Instruções em Paralelo no Pipeline

Fig. 6.22a

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores28

Execução de Instruções em Paralelo no Pipeline

Fig. 6.22b

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores29

Execução de Instruções em Paralelo no Pipeline

Fig. 6.23a

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores30

Execução de Instruções em Paralelo no Pipeline

Fig. 6.23b

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores31

Execução de Instruções em Paralelo no Pipeline

Fig. 6.24a

Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores32

Execução de Instruções em Paralelo no Pipeline

Fig. 6.24b

Recommended