Redação de memória cache
Para executar uma instrução é sempre necessário que o processador acesse a memória principal pelo menos uma vez, buscando essa instrução e transferindo-a para um dos registradores do processador. Ou seja, quando se deseja abrir um arquivo, o processador envia uma “solicitação” para a memória principal. A memória principal procura o dado que se quer acessar no HD. Quando o arquivo é encontrado, é copiado para a memória principal e enviado para o processador. O processador exibe o arquivo no monitor, mandando as informações para a placa de vídeo. Quando o processador envia a informação para a memória principal, e também quando a memória principal manda esta informação novamente para o processador, há uma demora, devida a velocidade limitada da memória principal, isso se deve a uma diferença significativa na velocidade com que a memória principal envia os dados para o processador, e a velocidade com que o processador recebe e opera esses dados.
Com o objetivo de solucionar esse problema, surgiu a memória cache, que tem como função acelerar a velocidade de transferência das informações entre processador e memória principal, embora seja bem menor em capacidade. Por ser fabricada com tecnologia semelhante a do processador, possui um alto custo.
Para reduzir o efeito causado por esta diferença de velocidade, estudos sobre o comportamento dos programas foram realizados e destes estudos foram estabelecidos dois princípios: Localidade Temporal e Localidade Espacial. A Localidade Temporal caracteriza aqueles programas que apresentam uma grande quantidade de loops (repetição de trechos de códigos) e estabelece que uma vez acessada uma determinada posição de memória, existe uma grande probabilidade desta posição ser novamente acessada em um curto intervalo de tempo. Isto é, devido ao fato da grande maioria dos programas serem formados por loops e que muitos deles têm um alto grau de repetição, a CPU ficará executando um pequeno grupo de instruções durante