Hierarquia de memória
Conteúdo obrigatório
Section titled “Conteúdo obrigatório”Perguntas de validação
Section titled “Perguntas de validação”Se esforce para responder a essas perguntas com suas próprias palavras. Busque por essas informações no material de referência ou de qualquer outra fonte.
-
O que é localidade temporal e localidade espacial? Dê um exemplo concreto de cada uma em um programa simples (ex: um loop percorrendo um array).
-
Diferencie os seguintes termos no contexto de sistemas de memória:
- word (palavra)
- unidade endereçável
- unidade de transferência
-
Considere os dois programas abaixo, que realizam a mesma operação:
// Programa Afor (i = 1; i < n; i++) {Z[i] = X[i] - Y[i];Z[i] = Z[i] * Z[i];}// Programa Bfor (i = 1; i < n; i++)Z[i] = X[i] - Y[i];for (i = 1; i < n; i++)Z[i] = Z[i] * Z[i];a. Qual é a função realizada pelos dois programas?
b. Qual versão tem melhor desempenho em termos de uso de cache, e por quê?
-
Considere o trecho de código abaixo:
for (m = 15; m > 0; m--)while (n < 27)a[m] = a[m] + n;a. Dê um exemplo de localidade espacial no código.
b. Dê um exemplo de localidade temporal no código.
-
Descreva passo a passo o que acontece quando o processador solicita um dado que não está em cache (cache miss). Quais memórias são consultadas e em que ordem?
-
Analise as seguintes estruturas de dados com relação ao uso da memória cache. Para cada estrutura, descreva-a brevemente e discorra sobre o seu uso em termos de localidade temporal e espacial.
a Array
b Array dinâmico
c Fila
d Pilha
e Lista encadeada