A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de.

Apresentações semelhantes


Apresentação em tema: "Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de."— Transcrição da apresentação:

1 rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás

2 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 2 Controle do Processador com Pipeline Utilizando os mesmos sinais de controle do caminho de dados monociclo – Elementos do caminho de dados que não possuem sinais específicos são ativados pela transição do relógio (como sempre) Problema: – Determinar quais são os sinais de controle ativos durante cada estágio do pipeline Suposição (simplifica bastante): – Cada linha de controle é usada em apenas um estágio

3 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 3 Caminho de dados em Pipeline com os sinais de controle

4 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 4 Sinais usados em cada estágio Busca e Decodificação: nenhum – Todas as ações são executadas para todas as instruções Execução / Cálculo do endereço – RegDst, UALOp, e UALFonte Acesso à memória – DvC, LerMem, e EscMem Escrita de resultado – MemParaReg e EscReg

5 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 5 Sinais de controle e seus efeitos Valor a ser escrito no registrador de destino vem da memória Valor a ser escrito no registrador de destino vem da UAL MemParaReg Escreve o valor em Dado a ser escrito no endereço selecionado NenhumEscMem Palavra endereçada é produzida na saída de leitura da memória NenhumLerMem PC = PC + 4 + End. alvo do desvio (saída do somador) PC = PC + 4FontePC Segundo operando da UAL: extensão do deslocamento Segundo operando da UAL: reg. em Dado lido #2 UALFonte Escreve o valor presente em Dado de Escrita no reg. selecionado por Reg. a ser escrito NenhumEscReg Reg. a ser escrito: bits 15-11 da instrução (campo rd) Reg. a ser escrito: bits 20-16 da instrução (campo rt) RegDst Efeito se = 0 (inativo) Efeito se = 1 (ativo) Nome do Sinal

6 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 6 Sinais de controle da UAL 111set less than 101010 set less than10Tipo R 001or 100101 OR10Tipo R 000and 100100 AND10Tipo R 110subtração 100010 subtract10Tipo R 010soma 100000 add10Tipo R 110subtração XXXXXX branch equal01Branch equal 010soma XXXXXX store word00SW 010soma XXXXXX load word00LW Entrada de controle da UAL Operação da UAL Campo de Função Operação da Instrução UALOpopcode

7 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 7 Valores dos sinais de controle nos estágios 3, 4 e 5 do Pipeline X0100010XBEQ X0010100XSW 110011000LW 010000011Tipo R Mem ParaReg EscRegDvCEscMemLerMem UAL Fonte UALOp0UALOp1RegDstInstru- ção Estágio de Execução Acesso à Memória Resultado

8 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 8 Geração e transferência dos sinais de controle entre os estágios

9 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 9 Caminho de dados Pipeline com os sinais de controle conectados

10 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 10 Exercício Ilustrar a execução da seguinte seqüência de instruções no pipeline do slide anterior Add $1, $2, $3 Add $4, $1, $3 Beq $2, $3, 100 Sub $10, $11, $12 Add $10, $11, $12 Que problemas você encontrou e quais as soluções para melhorar o pipeline? +100:

11 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 11 Exercícios do Livro (P&H, Cap. 6) 6.1 a 6.5

12 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 12 Execução de uma seqüência de instruções no Pipeline... lw$10, 20($1) sub$11, $2, $3 and$12, $4, $5 or$13, $6, $7 add$14, $8, $9...

13 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 13 Observar: Progresso dos dados de cada instrução à medida que ela prossegue pelo pipeline – Ex.: número do registrador de destino Sinais inativos em um dado estágio – marcados com 0 ou X Não é necessário hardware adicional (além dos registradores do pipeline) para transferir os sinais de controle de um estágio para o próximo – Podemos, no estágio 2, usar a mesma lógica de controle principal usada no Capítulo 5 (monociclo) para decodificar a instrução

14 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 14 Ciclo 1

15 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 15 Ciclo 2

16 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 16 Ciclo 3

17 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 17 Ciclo 4

18 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 18 Ciclo 5

19 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 19 Ciclo 6

20 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 20 Ciclo 7

21 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 21 Ciclo 8

22 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 22 Ciclo 9

23 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 23 Conflitos por Dados e Adiantamento de Resultados Ocorre quando as instruções em uma seqüência de código são dependentes entre si quanto aos dados que produzem/utilizam sub$2,$1,$3 and$12,$2,$5 or$13,$6,$2 add$14,$2,$2 sw$15,100($2)

24 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 24 Visualização dos conflitos

25 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 25 Resolução dos conflitos com uso de adiantamento

26 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 26 Caminho de Dados sem adiantamento (parcial)

27 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 27 Caminho de Dados com adiantamento (parcial)

28 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 28 Caminho de Dados com adiantamento (completo)

29 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 29 Conflitos de dados que geram paradas no Pipeline Caso típico das dependências de dados envolvendo a memória. Ex.: lw$2, 20($1) and$4, $2, $5 Solução: Parar o pipeline. Como? – Evitando que uma nova instrução seja buscada Congela PC – na prática, repetindo os estágios de busca e decodificação – Desativando os sinais de controle nos estágios de execução, acesso à memória e escrita de resultados – evita qualquer alteração de estado

30 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 30 Exemplo de dependência envolvendo a memória

31 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 31 Efeito da parada do Pipeline

32 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 32 Caminho de dados com a Unidade de Detecção de Conflitos

33 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 33 Conflitos de Controle No caso de desvios condicionais – Qual a próxima instrução a ser executada? PC + 4 ou endereço alvo do desvio Previsão de desvio – Se acertada, evita estágios ociosos – Se incorreta, requer o esvaziamento do pipeline zerando os sinais de controle nos estágios de busca, decodificação e execução Melhorar o desempenho do desvio condicional – Resolvendo o desvio no estágio de execução Hardware para previsão de desvio – histórico

34 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 34 Caminho de dados com desvios otimizados

35 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 35 Exercícios Conflitos por dados: 6.15, 6.19 Conflito por controle: 6.26

36 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 36 O que falta? Tratamento de exceções – Alguns tipos adicionais de exceções – Exceções geram conflitos semelhantes àqueles gerados por desvios – Determinar qual das instruções no pipeline gerou a exceção – No mais, o princípio usado no tratamento é semelhante ao já estudado

37 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 37 O que falta? (2) Pipeline Superescalar – Replicar os componentes no estágio de execução Ex.: duas ou mais UALs Pipeline com escalonamento dinâmico – Lógica para a busca de instruções considera a resolução de conflitos – Despacha cada instrução para uma unidade de execução diferente

38 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 38 MIPS Superescalar Duas instruções despachadas a cada ciclo de relógio – Uma instrução aritimética ou de desvio condicional – Uma instrução de acesso à memória (LW ou SW) Busca e decodificação de 64 bits a partir da memória de instruções Pode exigir uma reordenação das instruções na memória – De forma a ter, sempre que possível, o par certo de instruções (veja acima) Hardware adicional – Em particular: portas extra no banco de registradores e na memória de instruções

39 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 39 Execução em um pipeline superescalar

40 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 40 MIPS Superescalar

41 Prof. Fábio M. Costa - Instituto de Informática - UFGOrganização de Computadores 41 Exemplo de execução superescalar P&H, pág 302-303


Carregar ppt "Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de."

Apresentações semelhantes


Anúncios Google