Prévia do material em texto
Considere a seguinte sequência de saídas para um desvio único. T significa que o desvio foi tomado e N significa que o desvio não foi tomado. Assuma que esse é o único desvio do programa. T T T N T N T T T N T N T T T N T N a) Assuma que tentamos prever a sequência utilizando uma tabela de história dos desvios com 1 bit. Quais desvios da sequência serão previstos de maneira errada? Utilize a seguinte tabela para ajudar Estado do previsor Decisão da instrução Previsto errado? antes da previsão de desvio T T ok T T ok T T ok T N Erro N T Erro T N Erro N T Erro T T ok T T ok T N Erro N T Erro T N Erro N T Erro T T ok T T ok T N Erro N T Erro T N Erro b) Agora assuma um previsor de desvio com dois bits. Quais desvios da sequência serão previstos de maneira errada? Assuma o estado inicial como T(11). Utilize o diagrama de estado estudado em sala de aula. Estado do previsor Decisão da instrução Previsto de 2 bits errado? antes da previsão de desvio 11 T Certo 11 T Certo 11 T Certo 11 N Errado 10 T Certo 11 N Errado 10 T Certo 11 T Certo 11 T Certo 11 N Errado 10 T Certo 11 N Errado 10 T Certo 11 T Certo 11 T Certo 11 N Errado 10 T Certo 11 N Errado c) O que é predição de desvio? Predição de desvios são técnicas utilizadas para evitar o esvaziamento do Pipeline, deixando o fluxo de processamento das instruções contínuo e sem quebras. Estas técnicas podem ser implementadas por Hardware ou Software e são fundamentais para um uso eficiente do Pipeline. d) Qual a diferença entre as técnicas de predição estáticas e as dinâmicas? Na predição estática a unidade de controle assume que o desvio sempre ocorrerá, resultando numa taxa de 50% de acerto. Na predição dinâmica a unidade de controle utiliza informações coletadas em tempo de execução para decidir-se sobre o desvio.