rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 2 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 Computadores 3 Pipelines – Idéia Geral
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 4 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 Computadores 5 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 Computadores 6 Problemas com Desvios
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 7 Solução: Predição de Desvio (ou não)
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 8 Solução: Reordenação de Instruções
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 9 Dependências de Dados Obs.: Instruções Tipo R
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 10 Dependências de dados envolvendo a memória
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 11 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 Computadores 12 Execução de instruções em pipeline Fig. 6.11
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 13 Versão em Pipeline do Caminho de Dados Fig. 6.12
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 14 Execução da Instrução LW: Busca Fig. 6.13a
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 15 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 Computadores 16 Execução da Instrução LW: Execução Fig. 6.14
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 17 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 Computadores 18 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 Computadores 19 Execução da Instrução SW: Execução Fig. 6.16
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 20 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 Computadores 21 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 Computadores 22 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 Computadores 23 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 Computadores 24 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 Computadores 25 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 Computadores 26 Paralelismo entre os elementos funcionais do pipeline Fig. 6.20
Prof. Fábio M. Costa - Instituto de Informática - UFG Organização de Computadores 27 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 Computadores 28 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 Computadores 29 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 Computadores 30 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 Computadores 31 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 Computadores 32 Execução de Instruções em Paralelo no Pipeline Fig. 6.24b