Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Pipeline — IDECAN 2025

Arquitetura de ComputadoresPipeline
Código
qg523031
Banca
IDECAN
Órgão
IF-PA
Ano
2025
Nível
Superior
Cargo
Professor - Informática
Durante o desenvolvimento de uma aplicação científica intensiva em cálculos matriciais, um professor de Arquitetura de Computadores analisou o impacto do uso de diferentes formas de paralelismo sobre o desempenho do processador. Ao orientar seus alunos sobre as abordagens possíveis, destacou que instruções sucessivas de um mesmo thread, quando independentes entre si, podem ser executadas em paralelo sem alterar o resultado do programa. Esse tipo específico de paralelismo é denominado:
  1. Amultiplexação temporal, com alternância de instruções em um único pipeline compartilhado entre múltiplas threads.
  2. Bparalelismo de nível de tarefa, onde múltiplos processos executam simultaneamente funções diferentes.
  3. Cparalelismo de nível de instrução, no qual múltiplas instruções independentes de um mesmo fluxo são executadas simultaneamente.
  4. Dparalelismo de dados, caracterizado pela replicação de fluxos de instruções para diferentes conjuntos de dados.
  5. Eexecução especulativa, baseada na execução antecipada de instruções com base em previsões de ramificações.
Revelar gabarito e comentário

GabaritoC — paralelismo de nível de instrução, no qual múltiplas instruções independentes de um mesmo fluxo são executadas simultaneamente.

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”.

Paralelismo de nível de instrução (ILP)

Gabarito: letra C. A descrição do enunciado — instruções sucessivas de um mesmo thread, independentes entre si, executadas em paralelo — é a definição clássica de paralelismo de nível de instrução (Instruction-Level Parallelism, ILP). Esse conceito é explorado em processadores superescalares e pipelines, onde múltiplas instruções são emitidas e executadas simultaneamente, desde que não haja dependência entre elas.

O contexto fornecido (Wikipédia) reforça que o ILP é uma técnica central para melhorar o desempenho, e que processadores superescalares replicam unidades funcionais para executar várias instruções ao mesmo tempo.

1Nível de instrução (ILP)
Mesmo thread
Instruções independentes
Execução simultânea
2Nível de tarefa
Múltiplos processos/threads
Funções diferentes
3Dados (SIMD)
Replicação de fluxo
Conjuntos diferentes de dados
4Multiplexação temporal
Alternância de threads
Pipeline compartilhado
5Execução especulativa
Previsão de desvios
Execução antecipada
Tipos de paralelismo
LEVELsoulevel.com.br
Tipos de paralelismo: Nível de instrução (ILP) (Mesmo thread, Instruções independentes, Execução simultânea); Nível de tarefa (Múltiplos processos/threads, Funções diferentes); Dados (SIMD) (Replicação de fluxo, Conjuntos diferentes de dados); Multiplexação temporal (Alternância de threads, Pipeline compartilhado); Execução especulativa (Previsão de desvios, Execução antecipada)

Alternativa A — ❌ Incorreta

Multiplexação temporal (ou multithreading temporal) alterna instruções de diferentes threads em um pipeline compartilhado. Não se aplica a instruções de um mesmo thread, e não é o tipo de paralelismo descrito.

Alternativa B — ❌ Incorreta

Paralelismo de nível de tarefa (task-level parallelism) envolve múltiplos processos ou threads executando funções diferentes (ex.: fork-join). Não se refere a instruções individuais de um único fluxo.

Alternativa C — ✅ Correta ⟵ GABARITO

Paralelismo de nível de instrução (ILP) é exatamente a capacidade de executar simultaneamente instruções independentes de um mesmo thread. É o que permite ganhos de desempenho em processadores superescalares e VLIW.

Alternativa D — ❌ Incorreta

Paralelismo de dados (data-level parallelism) opera com replicação de fluxos de instruções sobre conjuntos de dados diferentes (ex.: SIMD). Aqui, as instruções são aplicadas a múltiplos dados, mas não há a ideia de instruções independentes de um mesmo thread.

Alternativa E — ❌ Incorreta

Execução especulativa executa instruções antes de saber se serão necessárias (com base em previsão de desvios). Embora seja usada em conjunto com ILP, o enunciado não menciona previsão nem ramificações — fala apenas de instruções independentes executadas em paralelo.

PEGA ESSA DICA!

Para diferenciar os tipos de paralelismo, lembre-se:

  • ILP: instruções de um mesmo fluxo (thread) executadas em paralelo.

  • Multithreading: alternância/paralelismo entre threads.

  • Paralelismo de tarefas: funções ou processos diferentes.

  • Paralelismo de dados: uma instrução opera em múltiplos dados.

  • Execução especulativa: executar antes da confirmação, geralmente associada a desvios.

Gabarito: letra C

Link permanente: /questoes/qg523031