Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Processadores — FGV 2024

Arquitetura de ComputadoresProcessadores
Código
fg077356
Banca
FGV
Órgão
CVM
Ano
2024
Nível
Superior
Cargo
Analista - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde
No contexto de processadores modernos que implementam técnicas como execução fora de ordem e especulativa, o ciclo de execução de instruções se torna mais complexo.Considerando essas técnicas avançadas, a opção que descreve um aspecto do processo de execução de instruções que é fundamental para otimizar o desempenho do processador, mantendo a precisão dos resultados, está corretamente descrito em:
  1. Ao processador executa instruções estritamente na ordem em que aparecem no programa, sem considerar a possibilidade de dependências de dados entre instruções subsequentes;
  2. Bantes de buscar instruções na memória, o processador sempre espera a conclusão da execução de todas as instruções anteriores, garantindo a execução sequencial para minimizar erros de previsão de salto;
  3. Co processador utiliza uma unidade de previsão de salto para executar instruções especulativamente, antes da confirmação de que essas instruções precisam ser executadas, revertendo alterações se a especulação estiver incorreta;
  4. Das instruções são decodificadas em uma ordem fixa e armazenadas em um buffer até que todos os operandos estejam disponíveis, momento no qual o processador interrompe todas as outras operações para executar essa instrução;
  5. Epara cada instrução, o processador primeiro atualiza o contador de programa e, em seguida, executa uma análise completa do código do programa para identificar possíveis otimizações de execução antes de proceder à busca de instruções.
Revelar gabarito e comentário

GabaritoC — o processador utiliza uma unidade de previsão de salto para executar instruções especulativamente, antes da confirmação de que essas instruções precisam ser executadas, revertendo alterações se a especulação estiver incorreta;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Técnicas avançadas de processadores: execução fora de ordem e especulativa

Gabarito: letra C. Execução especulativa com previsão de salto permite ao processador adiantar instruções antes da confirmação do fluxo, revertendo alterações caso a especulação esteja errada – é a técnica que concilia desempenho e precisão dos resultados.

A banca testa o conhecimento sobre as técnicas modernas de processadores que quebram a ordem estrita do programa para ganhar desempenho, sem comprometer a correção. Vamos analisar cada alternativa:

  1. 1Previsão de salto
  2. 2Execução especulativa
  3. 3Confirmação da previsão
  4. 4Consolida ou reverte
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que o processador executa instruções estritamente na ordem do programa, desconsiderando dependências de dados. Isso descreve a execução in-order, que não é a técnica moderna de otimização – processadores atuais usam execução out-of-order para aproveitar ciclos ociosos.

Alternativa B — ❌ Incorreta

Diz que o processador sempre espera a conclusão de todas as instruções anteriores antes de buscar novas, garantindo execução sequencial. Essa abordagem elimina qualquer paralelismo e contraria o princípio de pipeline e execução especulativa; também não minimiza erros de previsão de salto – a previsão é usada justamente para evitar esperas.

Alternativa C — ✅ Correta ⟵ GABARITO

Descreve exatamente o mecanismo de execução especulativa combinada com previsão de salto: o processador arrisca executar instruções de um caminho previsto, armazenando resultados temporários; se a previsão se confirma, os resultados são consolidados; caso contrário, o processador reverte as alterações (flush do pipeline). Isso aumenta o desempenho mantendo a precisão (correção arquitetural).

Alternativa D — ❌ Incorreta

Afirma que as instruções são decodificadas em ordem fixa e armazenadas até que todos os operandos estejam disponíveis, interrompendo outras operações. Na realidade, a execução fora de ordem reordena dinamicamente as instruções conforme a disponibilidade de operandos, sem interromper todo o fluxo – usa estruturas como ROB (Reorder Buffer) e reservation stations.

Alternativa E — ❌ Incorreta

Diz que primeiro o processador atualiza o contador de programa e depois analisa todo o código para otimizações antes de buscar instruções. Isso é inviável e não reflete a microarquitetura real: o PC geralmente é atualizado durante o ciclo de busca (fetch), e a análise de dependências ocorre em paralelo com o pipeline, não como uma etapa prévia e completa.

Gabarito: letra C.

Link permanente: /questoes/fg077356