ScholarGate
Assistente

Previsão de Desvio

A previsão de desvio permite que um processador pipelineado adivinhe o resultado e o alvo de um desvio antes que ele seja resolvido, para que possa continuar buscando e executando instruções ao longo do caminho provável em vez de paralisar.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

A previsão de desvio é uma técnica microarquitetural que prevê se um desvio condicional será tomado e para onde irá, permitindo que o processador busque e execute instruções especulativamente ao longo do caminho previsto e descarte esse trabalho se a previsão se mostrar errada.

Scope

Este tópico abrange técnicas para prever o fluxo de controle: previsão estática, preditores dinâmicos baseados no histórico de desvios (contadores de um e dois bits, preditores correlacionados e de torneio), buffers de alvo de desvio e o custo de previsões incorretas. Ele trata de como a previsão permite pipelines profundos e especulação. Exclui o mecanismo mais amplo de execução especulativa e recuperação (execução fora de ordem) e o próprio risco de controle básico (pipeline e riscos).

Core questions

  • Por que os desvios paralisam pipelines profundos e como a previsão ajuda?
  • Como os preditores dinâmicos usam o histórico de desvios para melhorar a precisão?
  • O que é um buffer de alvo de desvio e o que ele oferece?
  • Qual é a penalidade de uma previsão incorreta e como ela é recuperada?

Key concepts

  • previsão estática vs dinâmica
  • contadores saturados de um e dois bits
  • histórico e correlação de desvios
  • preditores de torneio
  • buffer de alvo de desvio
  • penalidade de previsão incorreta
  • busca especulativa

Key theories

Previsão dinâmica baseada em histórico
Os resultados dos desvios são altamente correlacionados com seu próprio comportamento passado e o de outros desvios; preditores que registram o histórico em contadores saturados e combinam histórico local e global (preditores correlacionados e de torneio) alcançam alta precisão.

Mechanisms

Um preditor consulta o histórico para adivinhar a direção de um desvio e um buffer de alvo de desvio para adivinhar seu alvo, permitindo que o front-end continue buscando especulativamente. Contadores saturados de dois bits rastreiam resultados recentes por desvio; preditores correlacionados adicionam histórico global; preditores de torneio escolhem dinamicamente entre esquemas locais e globais. Em caso de previsão incorreta, as instruções especulativas são descartadas e a busca é reiniciada no endereço correto, incorrendo em uma penalidade proporcional à profundidade do pipeline.

Clinical relevance

A previsão precisa de desvios é essencial para pipelines modernos profundos e amplos: com previsões incorretas custando muitos ciclos, são necessários preditores que excedam 95% de precisão para sustentar alto desempenho. As estruturas de previsão de desvios também se tornaram relevantes para a segurança, pois seu comportamento especulativo sustenta ataques de execução transiente, como o Spectre.

History

Preditores estáticos simples e dinâmicos de um bit deram lugar a contadores saturados de dois bits, depois a preditores correlacionados e adaptativos de dois níveis no início dos anos 1990, e a preditores de torneio e de estilo neural em núcleos de alto desempenho. À medida que os pipelines se aprofundavam, a sofisticação dos preditores crescia correspondentemente para manter as penalidades de previsão incorreta toleráveis.

Key figures

  • James E. Smith
  • Yale Patt
  • Tse-Yu Yeh
  • John L. Hennessy

Related topics

Seminal works

  • hennessy2019
  • patterson2020

Frequently asked questions

O que acontece quando um desvio é previsto incorretamente?
O processador buscou e executou parcialmente instruções especulativamente no caminho errado. Ao detectar a previsão incorreta, ele descarta (anula) esse trabalho especulativo e reinicia a busca a partir do alvo correto, pagando uma penalidade aproximadamente proporcional à profundidade do pipeline.
Qual a precisão dos preditores de desvio modernos?
Preditores dinâmicos modernos geralmente excedem 95% de precisão em cargas de trabalho comuns, combinando histórico de desvios local e global. Essa alta precisão é o que torna os pipelines profundos e amplos valiosos, já que cada previsão incorreta desperdiça muitos ciclos de trabalho especulativo.

Methods for this concept

Related concepts