No contexto da arquitetura interna de microprocessadores e ...

Próximas questões
Com base no mesmo assunto
Q3835622 Arquitetura de Computadores
No contexto da arquitetura interna de microprocessadores e da execução de instruções, o pipeline é uma técnica que permite a sobreposição de estágios. Acerca do funcionamento técnico e das falhas de fluxo (hazards) associadas, registre V, para as afirmativas verdadeiras, e F, para as falsas: 

(__)O hazard de dados ocorre quando uma instrução depende do resultado de uma instrução anterior que ainda não completou sua execução através de todos os estágios do pipeline, podendo ser mitigado por técnicas de adiantamento (forwarding).
(__)O hazard de controle é provocado por instruções de desvio condicional, em que o endereço da próxima instrução a ser buscada é desconhecido até que a condição seja avaliada, resultando frequentemente em bolhas (stalls) ou uso de previsão de desvio.
(__)A execução fora de ordem (Out-of-Order Execution) é uma técnica de hardware que visa aumentar a profundidade do pipeline para reduzir o consumo de energia, independentemente do ganho de ciclos por instrução (Cycles Per Instruction − CPI).
(__)O hazard estrutural surge quando o hardware disponível não é suficiente para suportar todas as combinações possíveis de instruções em execução simultânea, como o acesso simultâneo à memória única para busca de instrução e dado.
(__)A unidade lógica e aritmética (Arithmetic Logic Unit − ALU) é o componente responsável exclusivo pela decodificação de instruções complexas em arquiteturas de conjunto de instruções reduzido (Reduced Instruction Set Computer − RISC).

Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E

Fundamento decisivo: O critério decisivo era confrontar cada afirmativa com as definições canônicas de hazard de dados, de controle e estrutural, distinguindo também a função da execução fora de ordem da função da ALU.

Tema central: Hazards de pipeline
Análise das alternativas
A
Errada
Incorreta porque trata a 3ª afirmativa como verdadeira e a 4ª como falsa. Isso contraria o critério técnico: a descrição da execução fora de ordem está errada quanto à finalidade, enquanto a definição de hazard estrutural está correta ao apontar insuficiência de recurso de hardware compartilhado.
B
Errada
Incorreta porque inverte quatro itens decisivos. A 1ª e a 2ª são verdadeiras, pois descrevem corretamente hazard de dados com forwarding e hazard de controle com stalls/predição; já a 3ª e a 5ª são falsas, porque atribuem finalidade indevida à execução fora de ordem e função indevida à ALU.
C
Errada
Incorreta porque erra a 2ª, a 3ª, a 4ª e a 5ª. O hazard de controle foi corretamente descrito no enunciado, a execução fora de ordem foi descrita com finalidade errada, o hazard estrutural foi corretamente definido como conflito por recurso físico, e a ALU não é responsável exclusiva pela decodificação.
D
Errada
Incorreta porque marca como falsas a 1ª e a 2ª afirmativas, que estão corretas. Dependência de dados mitigável por forwarding corresponde a hazard de dados, e incerteza do próximo PC em desvio condicional com uso de stalls ou predição corresponde a hazard de controle.
E
Certa
A alternativa E é a correta porque corresponde à sequência V, V, F, V, F. A 1ª afirmativa está correta: hazard de dados ocorre por dependência de resultado ainda não disponível, e forwarding é técnica de mitigação. A 2ª também está correta: hazard de controle decorre da incerteza sobre o próximo endereço em desvios condicionais, sendo comum o uso de stalls ou predição de desvio. A 3ª está errada porque execução fora de ordem não tem como finalidade aumentar a profundidade do pipeline nem reduzir energia independentemente do CPI. A 4ª está correta porque hazard estrutural surge de disputa por recurso físico insuficiente, como memória única para busca de instrução e acesso a dado. A 5ª está errada porque a ALU executa operações aritméticas e lógicas; a decodificação pertence à unidade de controle/estágio de decode, não exclusivamente à ALU.
Pegadinha da questão
A confusão explorada foi dupla: tomar execução fora de ordem como técnica para aumentar profundidade do pipeline e atribuir à ALU a função exclusiva de decodificação, além de trocar hazard estrutural por dependência lógica entre instruções.
Dica para questões semelhantes
  • Se a falha decorre de dependência entre instruções pelo resultado ainda não disponível, pense em hazard de dados; se o enunciado mencionar forwarding, isso reforça essa classificação.
  • Se o problema é desvio condicional e incerteza sobre a próxima instrução, trate como hazard de controle; stalls e predição de desvio são os marcadores técnicos dessa situação.
  • Se a disputa é por recurso físico compartilhado insuficiente, a classificação é hazard estrutural, não hazard de dados.
  • Separe função de técnica e função de componente: execução fora de ordem serve para explorar paralelismo e reduzir stalls; ALU opera sobre dados, enquanto decodificação pertence ao controle/decode.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo