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

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

Transcript of Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 –...

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

Organização de Computadoresrganização de Computadores

Melhorias de DesempenhoMelhorias de Desempenhocom com PipelinesPipelines

- Parte B -- Parte B -

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

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

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

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

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

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

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

Caminho de dados em Pipeline com os sinais de controle

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

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

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

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

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

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

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

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

Sinais de controle da UAL

111set less than101010set less than10Tipo R

001or100101OR10Tipo R

000and100100AND10Tipo R

110subtração100010subtract10Tipo R

010soma100000add10Tipo R

110subtraçãoXXXXXXbranch equal01Branch equal

010somaXXXXXXstore word00SW

010somaXXXXXXload word00LW

Entrada de controle da

UAL

Operação da UAL

Campo de Função

Operação da Instrução

UALOpopcode

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

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

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

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

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

Geração e transferência dos sinais de controle entre os estágios

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

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

Caminho de dados Pipeline com os sinais de controle conectados

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

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

Exercício

Ilustrar a execução da seguinte seqüência de instruções no pipeline do slide anteriorAdd $1, $2, $3Add $4, $1, $3Beq $2, $3, 100Sub $10, $11, $12

Add $10, $11, $12

Que problemas você encontrou e quais as soluções para melhorar o pipeline?

+100:

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

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

Exercícios do Livro (P&H, Cap. 6)

6.1 a 6.5

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

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

Execução de uma seqüência de instruções no Pipeline

...

<before 2>

<before 1>

lw $10, 20($1)

sub $11, $2, $3

and $12, $4, $5

or $13, $6, $7

add $14, $8, $9

<after 1>

<after 2>

...

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

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

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

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

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

Ciclo 1

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

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

Ciclo 2

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

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

Ciclo 3

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

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

Ciclo 4

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

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

Ciclo 5

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

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

Ciclo 6

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

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

Ciclo 7

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

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

Ciclo 8

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

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

Ciclo 9

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

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

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)

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

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

Visualização dos conflitos

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

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

Resolução dos conflitos com uso de adiantamento

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

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

Caminho de Dados sem adiantamento (parcial)

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

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

Caminho de Dados com adiantamento (parcial)

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

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

Caminho de Dados com adiantamento (completo)

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

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

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

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

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

Exemplo de dependência envolvendo a memória

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

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

Efeito da parada do Pipeline

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

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

Caminho de dados com a Unidade de Detecção de Conflitos

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

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

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

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

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

Caminho de dados com desvios otimizados

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

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

Exercícios

Conflitos por dados: 6.15, 6.19 Conflito por controle: 6.26

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

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

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

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

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

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

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

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

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

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

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

Execução em um pipeline superescalar

Tipo de Instrução Estágios do PipelineInstrução da UAL ou de desvio condicional BI DI EX MEM ERInstrução de load ou de store BI DI EX MEM ERInstrução da UAL ou de desvio condicional BI DI EX MEM ERInstrução de load ou de store BI DI EX MEM ERInstrução da UAL ou de desvio condicional BI DI EX MEM ERInstrução de load ou de store BI DI EX MEM ERInstrução da UAL ou de desvio condicional BI DI EX MEM ERInstrução de load ou de store BI DI EX MEM ER

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

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

MIPS Superescalar

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

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

Exemplo de execução superescalar

P&H, pág 302-303