Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouNatália Granado Alterado mais de 10 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.