Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Memória — FGV 2024

Arquitetura de ComputadoresMemória
Código
fg079622
Banca
FGV
Órgão
DATAPREV
Ano
2024
Nível
Superior
Cargo
ATI - Arquitetura, Engenharia e Sustentação Tecnológica
Memórias cache são componentes importantes em arquiteturas de computadores, projetadas para aumentar a velocidade de acesso aos dados frequentemente utilizados pela CPU.Sobre os princípios e elementos de projeto de memórias cache, é correto afirmar que
  1. Aa cache considera que a memória principal é organizada em blocos de tamanho variável em função do tipo de dado acessado.
  2. Ba unidade de gerenciamento de memória (MMU – Memory Management Unit) traduz endereços da memória principal para a memória cache, e vice-versa.
  3. Cna política de escrita write through, operações de escrita refletem-se apenas nas linhas da cache.
  4. Do mapeamento direto em caches dispensa a aplicação de algoritmos de substituição de blocos.
  5. Eum bloco da memória principal pode ser carregado em qualquer linha da cache no mapeamento associativo por conjuntos.
Revelar gabarito e comentário

GabaritoD — o mapeamento direto em caches dispensa a aplicação de algoritmos de substituição de blocos.

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

Memória Cache: Mapeamento e Políticas

Gabarito: letra D. O mapeamento direto em caches dispensa algoritmos de substituição porque cada bloco da memória principal é mapeado para uma única linha da cache (posição fixa). As demais alternativas contêm erros conceituais sobre blocos, MMU, políticas de escrita e mapeamento associativo.

A questão da FGV testa o conhecimento dos princípios de projeto de memórias cache, especialmente as diferenças entre os tipos de mapeamento (direto, associativo por conjuntos, totalmente associativo) e as políticas de escrita (write-through vs. write-back).

Característica

Mapeamento Direto

Mapeamento Totalmente Associativo

Mapeamento Associativo por Conjuntos

Posição do bloco na cache

Cada bloco da MP vai para uma única linha fixa (posição determinada pelo endereço).

Qualquer bloco pode ocupar qualquer linha da cache.

Cada bloco vai para um conjunto específico; dentro do conjunto, pode ocupar qualquer linha.

Algoritmo de substituição

Dispensado (posição é fixa, não há escolha).

Obrigatório (ex.: LRU, FIFO, aleatório).

Obrigatório (aplicado dentro do conjunto).

Mecanismo de busca

Compara apenas o campo Tag com a linha apontada pelo campo Índice.

Compara o Tag com todas as linhas da cache simultaneamente.

Compara o Tag com todas as linhas do conjunto apontado pelo Índice.

Custo / Complexidade

Baixo (circuito simples, rápido).

Alto (circuito complexo, muitos comparadores).

Médio (compromisso entre os dois anteriores).

Alternativa A — ❌ Incorreta

A cache considera que a memória principal é organizada em blocos de tamanho variável em função do tipo de dado acessado.

Errado. Na organização de caches, a memória principal é dividida em blocos de tamanho fixo (geralmente chamados de linhas ou blocos de cache). O tamanho do bloco é um parâmetro de projeto constante, independente do tipo de dado. O que varia é o número de blocos, não o tamanho de cada bloco.

Alternativa B — ❌ Incorreta

A unidade de gerenciamento de memória (MMU – Memory Management Unit) traduz endereços da memória principal para a memória cache, e vice-versa.

Errado. A MMU (Memory Management Unit) é responsável por traduzir endereços virtuais em endereços físicos, ou seja, do espaço de endereçamento do processo para a memória principal. A cache opera com endereços físicos (ou virtuais, dependendo da arquitetura) e não há tradução entre memória principal e cache realizada pela MMU. A cache é um hardware transparente que armazena cópias de blocos da memória principal para acelerar o acesso.

Alternativa C — ❌ Incorreta

Na política de escrita write through, operações de escrita refletem-se apenas nas linhas da cache.

Errado. Na política write-through (escrita direta), toda operação de escrita na cache é imediatamente refletida também na memória principal. Ou seja, a escrita ocorre simultaneamente na cache e na memória. A descrição dada corresponde à política write-back (escrita de volta), onde as escritas são feitas apenas na cache e posteriormente copiadas para a memória quando a linha for substituída.

Alternativa D — ✅ Correta ⟵ GABARITO

O mapeamento direto em caches dispensa a aplicação de algoritmos de substituição de blocos.

Correto. No mapeamento direto, cada bloco da memória principal é mapeado para exatamente uma linha da cache, determinada por uma função de mapeamento (geralmente usando parte do endereço). Como a posição é fixa, quando um bloco precisa ser carregado, ele simplesmente ocupa sua linha correspondente, substituindo o que estava lá. Não há escolha entre várias linhas candidatas, portanto algoritmos de substituição (LRU, FIFO, aleatório, etc.) são desnecessários. Essa é uma característica fundamental que diferencia o mapeamento direto dos mapeamentos associativos.

Alternativa E — ❌ Incorreta

Um bloco da memória principal pode ser carregado em qualquer linha da cache no mapeamento associativo por conjuntos.

Errado. No mapeamento associativo por conjuntos (set-associative), o bloco da memória principal é mapeado para um conjunto específico (determinado pelo endereço). Dentro desse conjunto, ele pode ocupar qualquer uma das linhas do conjunto. Portanto, não é "qualquer linha da cache", mas sim "qualquer linha do conjunto mapeado". A afirmação seria verdadeira para o mapeamento totalmente associativo, onde o bloco pode ser colocado em qualquer linha da cache.


NÃO CAIA NESSA!

A banca explora duas trocas clássicas: (1) na alternativa C, inverte a política de escrita — write-through escreve na cache E na memória, não só na cache; (2) na alternativa E, confunde "associativo por conjuntos" com "totalmente associativo" — no primeiro o bloco vai para um conjunto, não para qualquer linha. Fique atento a esses detalhes na hora da prova.

PEGA ESSA DICA!

Para fixar: no mapeamento direto → posição fixa, sem algoritmo de substituição; no associativo por conjuntos → conjunto fixo, mas linha livre dentro do conjunto (precisa de substituição); no totalmente associativo → qualquer linha (também precisa de substituição). Pratique desenhando a tabela de mapeamento.

Gabarito: letra D.

Link permanente: /questoes/fg079622