Você está na página 1de 4

MEMRIA CACHE

1. CONCEITOS Para que possamos entender o porqu que se criou a memoria cache e qual a sua importncia no sistema, precisamos primeiro conhecer dois conceitos que tem relao direta ao seu funcionamento e sua utilidade, so esses conceitos: Diferena de velocidade UCP/MP e Conceito de localidade. 1.1 DIFERENA DE VELOCIDADE UCP/MP Esse conceito, embora seja simples de se entender, no to simples de ser resolvido, pois, um dos grandes problemas que um projetista tem relacionado a diferena de velocidade entre a UCP e a Memoria Principal.

Parte do problema de limitao de velocidade do processador, que qualquer projetista de sistemas de computao enfrenta, refere-se diferena de velocidade entre o clico de tempo da UCP e o ciclo de tempo da memria principal. Ou seja, a MP transfere bits para a UCP em velocidades sempre inferiores s que a UCP pode receber e operar os dados [...] (MONTEIRO, 2001, p. 143).

O grande problema de se resolver esse problema utilizando MP mais rpidas o custo que isso iria gerar afinal, j se tem o conhecimento de como fazer isso, mas se torna algo invivel por ser algo de alto custo, o que encareceria consideravelmente o valor final da maquina. 1.2 CONCEITO DE LOCALIDADE De acordo com Monteiro (2001, p.143) podemos definir o conceito de localidade como um fenmeno relacionado com o modo pelo qual os programas em media so escritos e executados pela UCP. Programas so executados em pequenos grupos de instrues, fato que no acontece apenas com a memoria cache, sendo assim, quando executada uma tarefa em um programa, por exemplo, quando o programa acessa uma palavra na memoria, as chances de que uma palavra subsequente seja acessada bem grande, sendo assim, o programa j executa aquela tarefa, e com ela vem mais algumas tarefas, ou seja um bloco de tarefas, dessa maneira no preciso acessar novamente a memoria caso a palavra que se deseja acessar esteja naquele bloco, tendo assim mais velocidade de acesso.

O principio de localidade se divide em dois tipos: localidade temporal e localidade espacial. - localidade temporal: quando um programa acessa algum dado na memoria, as chances de que aquele dado seja novamente acessado bem grande. Se um programa acessa uma palavra da memoria, h uma boa probabilidade de que ele em breve acesse a mesma palavra novamente (MONTEIRO, 2001, p. 143). - localidade espacial: quando um programa acessa algum dado na memoria, as chances de um dado, prximo aquele, sejam acessadas futuramente bem grande. E se ele (programa) acessa uma palavra na memoria, h uma boa probabilidade de que o programa acesse proximamente uma palavra subsequente ou de endereo adjacente quela palavra que ele acabou de acessar (MONTEIRO, 2001, p. 143). Veja a figura retirada do livro INTRODUO E ORGANIZAO DE COMPUTADORES, de Mario A. Monteiro (2001, p. 144):

Veja que nesse programa que esta sendo executado no apenas uma parte dele na memoria principal, mas sim um bloco com varias partes, dessa forma, se for necessrio acessar a mesma parte, no necessrio acessar novamente a memoria secundaria (principio de localidade temporal), da mesma forma aconteceria se a prxima tarefa a ser executada estiver nesse bloco, tambm no seria necessrio acessar novamente a memoria (principio de localidade espacial), dessa forma a execuo desse programa se torna mais hbil. 2. UTILIZAO DA MEMORIA CACHE

J conhecendo o conceito do principio de localidade, vamos entender como a memoria cache entra nessa historia. Sabemos que a memoria cache esta localizada entre a Memoria principal e a CPU, e que ela tem a funo de ajudar na transferncia de dados entre a MP e a CPU, devida a diferena de velocidade de transferncia de dados, j citado anteriormente, mas a memoria cache no s isso, ela tambm precisa ter alta velocidade de transferncia e uma memoria interna capaz de armazenar algumas partes de um programa, para q seja utilizado dessa forma o principio da localidade, como disse MONTEIRO (2001, p. 144) Este elemento de memoria, denominado memoria cache, deve possuir elevada velocidade de transferncia e um tamanho capaz de armazenar partes de um programa, suficientemente grandes para obter o mximo rendimento dos princpios de localidade []. De maneira bem simples, a memoria cache funciona assim: - se a CPU precisa de algo que esteja na MP, primeiro feito a busca para localizar o dado, se o dado estiver na memoria cache ela transferida para a CPU e executada. Caso ela esteja na MP, a memoria cache acessa a MP e pega esse dado, o dado estando na memoria cache, a CPU j pode pegar esse dado para ser executado, pois a memoria cache j envia em alta velocidade para CPU. - outro ponto importante, e ai j inicia a parte de principio de localidade da memoria cache, pois quando a memoria cache pega um dado, ela no leva s ele, mas sim o grupo em que ele esta localizado, dessa forma, e j sabendo como funciona o principio de localidade, os dados ficam salvos na memoria cache, de forma que se a CPU precisar executar novamente aquele dado, no ser preciso a memoria cache buscar de novo na MP, o mesma acontece a instruo que a CPU for executar estiver no grupo daquele dado j executado. A figura abaixo retirada do livro de MONTEIRO (2001, p.145) ilustra como o funcionamento da memoria cache:

Você também pode gostar