Cache foi o nome escolhido para designar o nível da hierarquia de memória entre o processador e a memória principal. Assim, a memória cache é um dispositivo de memória colocado entre a CPU e a memória principal, com o intuito de aumentar o desempenho do sistema.
Cache foi o nome escolhido para designar o nível da hierarquia de memória entre o processador e a memória principal. Assim, a memória cache é um dispositivo de memória colocado entre a CPU e a memória principal, com o intuito de aumentar o desempenho do sistema. Possui tecnologia de fabricação semelhante a CPU (VLSI) garantindo redução da espera por parte desta.
O chamado princípio da localidade está por trás tanto da maneira como você escreve o trabalho quanto o modo como os programas operam. Este princípio estabelece que os programas acessam uma parte relativamente pequena do seu espaço de endereçamento em um instante qualquer, assim como você acessa uma parcela extremamente pequena dos recursos de uma biblioteca, em um dado instante. Existem dois diferentes tipos de localidade:
1. Localidade Temporal: se um item é referenciado, ele tende a ser referenciado novamente dentro de um curto espaço de tempo. Se você tiver trazido um livro para sua mesa para examiná-lo é provável que em breve você vá precisar dele novamente.
2. Localidade Espacial: se um item é referenciado, ıtens cujos endereços sejam próximos a eles tendem a ser logo referenciados. Quando você lê/pesquisa sobre determinado tópico na seqüência você já está lendo o tópico consecutivo, adjacentes ao primeiro. Assim como os acessos aos livros da biblioteca que estão sobre a mesa exibem localidade, tal propriedade aparece nos programas de computador, pura e simplesmente em função de sua própria estrutura. Por exemplo, a imensa maioria dos programas contém loops (for, while, repeat, do, etc), de maneira que as instruções e os dados tendem a ser acessados de maneira repetitiva, exibindo um alto grau de localidade temporal. Considerando que as instruções são quase sempre acessadas sequencialmente, os programas também exibem um alto grau de localidade espacial.
Pode-se tratar o sistema como tendo dois níveis de memória o superior (neste caso cache) e o inferior(neste caso MP) e a unidade mínima de informação que pode ou não estar presente nesta hierarquia de dois níveis e o bloco (na analogia com a biblioteca um bloco corresponde a um livro). Se a informação solicitada pelo processador estiver presente no nível superior (cache), ocorre um acerto. Se a informação não puder ser encontrada no nível superior, a tentativa de encontrá-la gera uma falta. Quando ocorre uma falta o nível mais baixo da hierarquia (MP) é acessado para que seja possível recuperar o bloco com a informação ao solicitada pelo processador (equivalente a levantarmos da mesa e irmos até a estante buscar um livro que contenha a informação que desejamos e que não existia nos que já estavam na mesa). A taxa de acertos, ou razão de acertos, corresponde a fração dos acessos a memória encontrados no nível superior, e com freqüência é usada como medida de performance da hierarquia de memória. A taxa de altas (1 - taxa de acertos) e a fração de acessos a memória não encontrados no nível superior (na cache).
Para efetuar ser possível a transferência de um bloco da MP para um quadro da memória cache temos três procedimentos de mapeamento. São as chamadas políticas de mapeamento, que estão citadas abaixo não entrarei em detalhes sobre essas políticas porque não é o foco do artigo.
- Mapeamento Direto;
- Mapeamento Associativo;
- Mapeamento Associativo por Conjunto;
Quando essas informações estão alocadas a memória cache deve-se possuir alguma política de substituição de dados na cache para que essas informações não ficam eternamente alocadas sem serem usadas e consequentemente diminuindo a performance do sistema, essas políticas são as seguintes.
- LRU (O que não é usado a mais tempo)
- Fila
- LFU (O que tem menos referência)
- Escola Aleatória
Com a utilização da memória cache aumentou consideravelmente o ganho de desempenho dos computadores esse tempo que o processador economiza na busca dos dados é depositado em outras tarefas que o sistema operacional necessite, assim que ganha com tudo isso é o usuário final que muitas vezes para ele não interessa se está utilizando ou não cache qual política de mapeamento está sendo utilizada, o usuário que apenas que tudo seja executado na melhor maneira possível, ou seja rápido.
Fonte: Oficina da Net
0 comentários: sobre O que é e para que serve a memória cache?
Postar um comentário