Pesquisa · Mapa mental

Branch prediction

Branch prediction são conjuntos de técnicas implementadas em hardware ou software, que têm o objetivo de reduzir os conflitos de controle em processadores de arquitetura Pipeline, através da previsão correta de que os desvios condicionais vão desviar ou não, reduzindo atrasos no fluxo de instruções posteriores aos desvios, conhecidos como bolhas no pipeline. Quando ocorre qualquer desvio, as instruções anteriores a de desvios devem ser anuladas. Tal processo recebe o nome de Flush, onde registradores entre os estágios e sinais de controle são responsáveis por enviar instruções NOPs ou adiantamento de outras.

Fonte: Wikipédia (pt)Atualizado em 12/07/2026
01

Técnicas de software

Em geral, neste tipo de técnica o hardware, após constatar que houve um desvio condicional, pausa a instrução de desvio e delega ao software, durante a compilação, reorganizar quais das instruções serão antecipadas à instrução de desvio. Assume-se que todas as técnicas de software são estáticas, uma vez que a estrutura não é alterada no próprio código, e sim virtualmente pelo compilador. Algumas das principais técnicas são:

02

Técnicas de hardware

O que diferenciam das técnicas de software, é que estas atuam em tempo de execução do programa enquanto as outras, em tempo de compilação. Podem ser de dois tipos, previsão estática, onde a previsão é feita na projeção da arquitetura, através de testes (benchmarks), ou previsão dinâmica, em que a previsão é feita com base em informações recentes das últimas instruções realizadas, para usá-las posteriormente. Em caso de ser a primeira instrução de desvio do pipeline, a previsão é de acordo com uma das técnicas estáticas vistas anteriormente.

Vídeos recomendados

Fontes consultadas

Continue pesquisando