Aula 9
MEMÓRIA CACHE
OBJETIVOS
Ao final desta semana, você deve…
●
●
●
●
●
Compreender o conceito de princípio de localidade temporal e espacial;
Compreender a organização da memória cache em relação a memória principal;
Compreender o conceito de eficiência de cache;
Compreender o conceito de mapeamento de memória cache;
Compreender os algorítimos de substituição de cache; INTRODUÇÃO
A Memória Principal transfere bits para o processador em velocidades sempre inferiores ao que o processador pode receber ou processar;
A evolução da Memória Principal não acompanhar a do Processador;
Processador: dobra a cada 18 à 24 meses;
Memória aumenta cerca de 10% ao ano;
Qual solução adotar?
Década de 1960:
Pesquisadores da IBM: Analise dos processos em execução; Principio de localidade (principle of locality);
CONCEITO DE LOCALIDADE
Após o programa ser compilado, ele é um conjunto ordenado de instruções, que são armazenados sequencialmente na memória
(um endereço após o outro);
O processador (através do registrador CI – Counter Instruction) sabe qual a próxima instrução ser buscada na memória. A sequência pode ser quebrada (através de um loop ou if-then-else, por exemplo);
Ao analisar o comportamento de programas em execução, os pesquisadores notaram que, em média, todos os programas possuem alguns trechos que são executados mais de uma vez em um curto espaço de tempo;
Este comportamento se chama principio de localidades;
Pode ser dividido em duas modalidades:
Localidade espacial;
Localidade temporal;
LOCALIDADE ESPACIAL E
TEMPORAL
Espacial: As instruções de um programa são executados, na maior parte do tempo, sequencialmente;
Eventualmente, a sequência pode ser quebrada por um IFTHEN-ELSE ou DO-WHILE;
Ex: Acesso a um vetor;
Temporal: Os algoritmos tendem a ter algumas instruções que são executadas mais (repetidas) vezes em um curto espaço de tempo;
Ex: FOR, WHILE, DO-WHILE;
COMO TIRAR PROVEITOS DO