A Hierarquia de Memória
Por: EwertonBertulani • 11/2/2020 • Exam • 644 Palavras (3 Páginas) • 164 Visualizações
Estudar Arquitetura de memória
Memória Cache
É manter uma cópia dos dados e instruções mais utilizados recentemente
(Princípio da Localidade) para que os mesmos não precisem ser buscados na memória principal.
Como elas são muito mais rápidas do que a memória principal, isso traz um alto ganho
de desempenho.
Todo dado a ser lido ou escrito em memória pelo processador antes passa para a Cache.
Se o dado estiver na Cache, a operação é feita nela e não se precisa ir até a Memória Principal.
Caso contrário, um bloco inteiro de dados (geralmente com 4 palavras de memória) é trazido
da Memória Principal e salvo na Cache. Só então a CPU realiza a tarefa com o dado.
Localidade Temporal
Itens acessados recentemente poderão ser acessados novamente em breve. O sistema de memória
tende a manter os dados e instruções recentemente acessados no topo da Hierarquia de Memória.
•Exemplo: Instruções em um loop, variáveis de indução
Localidade Espacial
Itens próximos aos acessados recentemente provavelmente serão acessados em breve. O Sistema tende
a manter os dados e instruções próximos aos que estão sendo executados no topo da Hierarquia de Memória.
• Exemplo: Acesso a instrução sequencial, dados de matriz.
Aproveitando a localidade
Copiar itens acessados recentemente (e próximos) do disco para
memória DRAM
•Memória principal
•Copiar itens acessados recentemente (e próximos) da DRAM para
memória SRAM
•Memória cache conectada à CPU
Hierarquia de Memória
Hit: acesso satisfeito pelo nível superior
O desempenho do computador ao acessar um dado de memória é probabilístico. Para cada dado a ser acessado há uma probabilidade dele estar na memória Cache.
Se isso ocorrer dizemos que houve um Cache Hit e o sistema ganha muito tempo com isso.
Caso contrário, ocorre uma Cache Miss e o desempenho é bastante prejudicado.
Registradores
Memória Cache
Memória
Disco
Servidor
Memória Cache
Nível de Hierarquia de memória mais próxima da CPU
Blocos maiores devem reduzir a taxa de erros
•Devido à localidade espacial
Implementação do controle de cache
Tratamento diferentes para leitura e escrita
Miss: Implica em parada do pipeline, similar a um conflito (hazard), mas o tratamento é mais simples:
apenas congela os reg. temporários em espera pela leitura de memória;
Similar para cache de instruções e dados:
•No acerto do cache, a CPU continua normalmente
Na falha da cache:
• Pare o pipeline da CPU
• Buscar bloco do próximo nível de hierarquia
• Cache de instrução ausente
• Reinicie a busca de instruções
• Falha na cache de dados
• Acesso completo aos dados
Gravação de Dados
No
...