Previsão de desvio dinâmico
Após concluída uma instrução do programa, para que o processador não perca um único ciclo de clock aguardando que o cache ou a memória RAM enviem a próxima instrução a ser processada, foi incluído no Pentium um buffer de pré extração. Este pequeno circuito armazena as próximas instruções a serem processadas, formando uma espécie de fila. Na verdade, o buffer de pré extração funciona como uma espécie de cache L0, ficando entre o processador e o cache L1.
A maior utilidade deste buffer é prever o resultado de operações de tomada de decisão. Se chega ao processador uma instrução como “Se X > Y então Z = K, senão Z = Q” o buffer irá carregar tanto a instrução seguinte para X < Y quanto para X > Y, fazendo com que seja qual for o resultado da operação anterior, a próxima instrução já esteja carregada no buffer.
O buffer de pré extração também ajuda a memória cache a carregar antecipadamente os dados que o processador possa precisar. No caso do exemplo anterior, seriam carregados na memória cache tanto o valor de K quanto de Q.
|