Buscar

CONFLITOS NO PIPELINE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CONFLITOS 
NO PIPELINE
Prof. José Augusto Real
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
INTRODUÇÃO
Como vimos anteriormente, existem no pipeline
situações em que a instrução seguinte não pode ser
executada no próximo ciclo de clock. Estes eventos são
conhecidos como conflitos.
Existem basicamente três tipos de conflitos em pipeline:
• Conflitos Estruturais
• Conflitos de Controle
• Conflitos por Dados
obs: A forma de solucionar estes conflitos vai depender da 
arquitetura de cada processador.
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Conflitos Estruturais
Ocorre quando mais de uma unidade do processador está 
sendo necessária para a execução de duas ou mais instruções 
em um mesmo ciclo de clock.
– Exemplo: Caso em duas ou mais instruções necessitam de
realizar um acesso em uma determinada unidade do
computador (por exemplo a memória). Como a memória
só pode ser acessada por uma única unidade do
processador em um determinado instante de tempo,
então esta ação irá provocar um conflito denominado de
estrutural.
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
• Exemplo: A instrução ADD R4,X necessita do estágio de
busca para apanhar o operando na memória. Caso alguma
instrução necessitar utilizar o mesmo estágio, então
ocorrerá um conflito estrutural
Exemplo de Conflito 
Estrutural
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Soluções
• Uma possível alternativa para reduzir o conflito 
estrutural é duplicar os recursos disponíveis.
– ALU e Unidade de busca podem ser duplicados 
para suportar mais de um instrução por unidade 
de tempo;
– Separação de dados e instruções em caches 
internas separadas;
• Caches de dados
• Caches de instruções
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
CONFLITO DE DADOS
• No conflito por dados, a execução de uma instrução depende 
do resultado de uma outra que ainda está no pipeline.
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
CONFLITO DE DADOS
• No exemplo, a instrução ADD R1, R2 teve que
esperar o resultado da multiplicação entre R3 e R2
para que valor de R2 atual seja utilizado.
– Somente após a escrita é que o resultado pode 
ser utilizado.
– A penalidade nesse caso será de dois ciclos.
• Esperando o fim da execução
• Esperando o fim da escrita do resultado
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Possível Solução
Uma solução para que o pipeline não espere que a instrução
seja finalizada para que continue o processo é possível adiantar
os resultados para as instruções posteriores. No caso do exemplo,
logo após a ALU tenha o resultado da soma, este valor poderá ser
utilizado pela instrução de subtração, não esperando finalizar a
instrução de soma. Esta obtenção antecipada dos resultados é
conhecida como adiantamento um bypass.
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Possível Solução
• Como vimos, uma possível solução para reduzir a penalidade por conflito de 
dados é através do adiantamento dos resultados (Bypass).
– Observe que após a execução da instrução 
MUL R2, R3 do exemplo anterior, já temos o valor de R2 para a execução 
da próxima instrução.
– O resultado da ALU é sempre retornado para a sua entrada, como 
mostrado na figura. 
– Caso o hardware detecte que uma instrução posterior necessita dos 
resultados de uma outra anterior que ainda não salvou o resultado, 
então o valor desejado pode ser apanhado diretamente da ALU sem a 
necessidade de esperar que o resultado seja armazenado na memória 
ou em um registrador. 
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Solução: Adiantamento 
(Bypass)
MUX MUX
ALU
RealimentaçãoRealimentação
Para um Registrador ou 
Memória
De um Registrador
ou Memória
De um Registrador
ou Memória
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Solução: Exemplo
• Observe no exemplo anterior, que a técnica de adiantamento vai reduzir 
a penalidade, devido o conflito, para um ciclo. 
• Depois do estágio EI, o valor de R2 já encontra-se disponível para 
utilização.
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Conflitos de Controle
Ocorre quando temos que tomar alguma decisão e
os procedimentos que serão tomados em seguida,
dependem desta decisão. Este tipo de conflito ocorre
quando são encontradas instruções de desvio condicional
e incondicional.
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!
Procedimentos para Solução 
do Conflito de Controle
No caso da ocorrência de um conflito de controle 
são utilizadas algumas técnicas, tais como:
• Parada
• Predição
• Predição Dinâmica
• Decisão Retardada
Educação para o desenvolvimento da Amazônia! Gente criando o futuro!

Outros materiais