Questão de Arquitetura de Computadores — Processamento Paralelo — IBADE 2025
Arquitetura de Computadores›Processamento Paralelo
Código
qg510119
Banca
IBADE
Órgão
Prefeitura de Castelo - ES
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas
Em arquitetura de computadores, a hierarquia de memória impacta latência, largura de banda e coerência entre núcleos. Assinale a alternativa que alinha política de escrita em cache, protocolo de coerência e predição de acesso para reduzir tráfego no barramento mantendo consistência observável pelos threads.
AAdotar write-through com write-allocate em cache exclusivo e prefetch agressivo sem controle, garantindo atualização frequente e latências estáveis em cenários com muita escrita compartilhada.
BUtilizar write-back com write-around em cache inclusivo e protocolo MSI, priorizando invalidações amplas e prefetch estático, mantendo cópias duplicadas em todos os níveis como estratégia principal.
CEmpregar write-back com write-allocate em cache parcialmente inclusivo e protocolo MESI ou MOESI, combinando invalidação seletiva e prefetch adaptativo guiado por padrões reais de acesso.
DDefinir write-through com write-allocate em cache exclusivo e protocolo directory-based, aplicando prefetch aleatório, distribuindo pedidos de leitura de forma equitativa entre controladores.
EConfigurar write-behind com substituição FIFO em cache inclusivo e protocolo snooping simples, intensificando prefetch por bloco completo em cada falta observada.
Revelar gabarito e comentário▾
GabaritoC — Empregar write-back com write-allocate em cache parcialmente inclusivo e protocolo MESI ou MOESI, combinando invalidação seletiva e prefetch adaptativo guiado por padrões reais de acesso.
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”.
Hierarquia de memória e coerência de cache
Gabarito: alternativa C. A combinação ideal para reduzir tráfego no barramento mantendo consistência observável entre threads é: política de escrita write-back (evita escritas desnecessárias na memória principal) com write-allocate (traz o bloco para cache em um write miss, reduzindo faltas futuras), cache parcialmente inclusivo (equilíbrio entre compartilhamento e duplicação), protocolo de coerência MESI ou MOESI (com estados exclusivo/owned para invalidar seletivamente) e prefetch adaptativo baseado em padrões reais de acesso (evita tráfego excessivo de prefetches agressivos).
A banca testa o conhecimento prático de como cada escolha impacta o tráfego no barramento. Vamos analisar cada alternativa:
Alternativa A — ❌ Incorreta
Adota write-through (toda escrita vai para a memória, gerando alto tráfego no barramento) e prefetch agressivo sem controle (aumenta ainda mais o tráfego). Em cache exclusivo, write-allocate pode ser útil, mas não compensa o excesso de escritas. A alternativa é inadequada para reduzir tráfego.
Alternativa B — ❌ Incorreta
Usa write-around (em write miss, o bloco não é trazido para cache, causando futuros misses) e MSI (menos eficiente que MESI, pois invalidações amplas geram mais mensagens). Cache inclusivo com cópias duplicadas em todos os níveis aumenta a sobrecarga de coerência. Prefetch estático não se adapta a padrões, desperdiçando largura de banda.
Alternativa C — ✅ Correta ⟵ GABARITO
Conforme explicado, write-back reduz escritas no barramento; write-allocate melhora a localidade temporal; cache parcialmente inclusivo equilibra a necessidade de compartilhamento e a redução de duplicatas; MESI/MOESI permitem invalidar apenas quando necessário (estados E e O evitam broadcasts desnecessários); prefetch adaptativo guiado por padrões reais minimiza faltas sem tráfego extra. Tudo converge para menor tráfego com consistência.
Alternativa D — ❌ Incorreta
Write-through novamente (alto tráfego). Prefetch aleatório é ineficaz e pode poluir o cache. Protocolo directory-based é escalável, mas em um contexto de barramento compartilhado, o overhead de diretório pode não ser vantajoso. Cache exclusivo com write-allocate não resolve o problema das escritas.
Alternativa E — ❌ Incorreta
Write-behind é semelhante a write-back, mas substituição FIFO é uma péssima política (descarta blocos mesmo que ainda sejam úteis). Invalidações amplas no snooping simples geram muito tráfego. Prefetch por bloco completo em cada falta é agressivo e desperdiça largura de banda, além de exigir controle fino.
NÃO CAIA NESSA!
A banca explora a confusão entre write-through e write-back. Muitos candidatos associam write-through a "dados sempre atualizados", mas esquecem que ele aumenta drasticamente o tráfego de escrita no barramento. O write-back, aliado a write-allocate e um protocolo eficiente, é a escolha correta para reduzir tráfego.
PEGA ESSA DICA!
Decore a tríade vencedora para sistemas com muitos núcleos: write-back + write-allocate + MESI/MOESI + prefetch adaptativo. Qualquer alternativa que fuja disso (write-through, write-around, MSI, prefetch aleatório/agressivo) tende a piorar o tráfego ou a consistência.