Buscar

Memória Cache (1)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Memória Cache:
Princípios e aplicações 
Introdução:
Conceitos Básicos de Memoria.
 A memória cache surgiu quando percebeu-se que as memórias não eram mais capazes de acompanhar o processador em velocidade;
 Dessa forma, a memória cache consiste numa pequena quantidade de memória SRAM( (Static Random Access Memory, ou memória estática de acesso aleatório em Português) , incluída no chip do processador.
 O uso de memória cache visa obter uma maior velocidade de acesso à memória, ao mesmo tempo, disponibilizar no sistema uma memória de grande capacidade;
O uso de memória cache visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma memória de grande capacidade, a um custo equivalente ao das memórias de semicondutor mais baratas.
 Devido a sua localização(Dentro do processador) a memória cache serve como intermediaria entre a CPU e a memória RAM. 
O conceito de memória cache:
Estrutura de um sistema de memória com uma memória principal e uma memória cache:
A ideia central é que um bloco de dados trazido para a memória cache terá grandes chances de receber futuras referências;
Operação de leitura em memória cache:
Principio de Localidade
Localidade temporal: Ao acessar uma palavra na memória principal é muito provável que o processador volte a acessar essa mesma palavra novamente durante a execução dos programas (loops).
Localidade Espacial: Ao acessar uma palavra na memória principal é provável que em seguida o processador tente acessar uma palavra de memória subjacente à acessada previamente.
Níveis de Memória Cache
A memória cache, é comumente subdividida em níveis e Com o aumento crescente da velocidade da CPU e visando minimizar um grande impacto no custo da Memória Cache os fabricantes vêm estabelecendo diferentes níveis de memória cache são eles:
L1 (Memórias Cache internas ao processador);
L2 (internas ou externas ao processador);
L3 (externas ao processador);
Funções de Mapeamento
 Técnicas para estabelecer uma associação entre as células da MP e os blocos da Memória Cache.
Mapeamento Direto;
Mapeamento Associativo;
Mapeamento Associativo por Conjuntos.
Funções de Mapeamento-Mapeamento direto
A Memória Principal é subdividida em agrupamentos de células que podem ser armazenados diretamente nas “células” da memória Cache.
Estabelece um mapeamento direto entre os blocos da MP e as “células” da memória Cache de tal forma que um bloco X estará sempre associado a uma mesma “célula” na memória cache.
Funções de Mapeamento-Mapeamento
direto
Funções de Mapeamento-Mapeamento
direto
Vantagens:
Implementação simples;
Funcionamento simples;
Desvantagens:
Inflexível em relação ao estabelecimento da associação entre MP e MC; 
O que pode acarretar em um aumento na taxa de faltas em acessos a MC e degradar o desempenho do sistema.
Funções de Mapeamento-Mapeamento Associativo
Diferente do mapeamento direto o Mapeamento associativo não determina um local fixo na MC para os blocos da MP;
Os endereços de acesso a MP são interpretados da mesma forma que no mapeamento direto. Porém o número de Bits demandados para a determinação do rótulo é maior;
Funções de Mapeamento-Mapeamento Associativo
Vantagens
Flexibilidade na associação entre MP e MC;
Desvantagens
Complexidade de implementação;
Maior demanda de processamento;
Algoritmos de substituição de dados
A capacidade de armazenamento da MP é muito maior do que a capacidade de armazenamento da MC;
Os algoritmos de substituição de dados na MC têm a tarefa de definir qual dos blocos já armazenados na Memória Cache deve ser retirado para o armazenamento de um novo bloco.
Algoritmos de substituição de dados não são aplicáveis quando a função de mapeamento é o mapeamento direto visto que, utilizando essa técnica a localização do bloco na MP é que determinará a posição da informação na MC.
Algoritmos de substituição de dados
Algoritmos:
LRU (least Recently Used): Determina como candidatos à substituição os que não foram acessados recentemente.
FIFO (First-In-First-Out): Seleciona como candidato para substituição o bloco que foi armazenado primeiro na MC;
LFU (least Frequently Used ): o sistema de controle selecionará o bloco que tem tido menos acessos por parte do processador;
Escolha Aleatória: O sistema de controle da memória Cache escolhe aleatoriamente o bloco que será removido.
Políticas de escrita
Mecanismos para garantir a integridade das informações processadas no sistema, apesar das transferências entre a MP e a MC;
Escrita em Ambas (write through): toda modificação de dados na Cache acarreta uma modificação na MP.
Escrita somente no retorno (write back): A informação modificada na Cache só será repassada para a MP quando estiver a ponto de ser substituída.
Tamanho da Memória Cache
A definição da faixa de tamanho (capacidade de armazenamento) de uma cache depende:
Capacidade de armazenamento da MP;
Razão acertos/falhas aceitável;
Tempo de acesso da MP e da MC;
Custo da MP e MC;
Natureza dos programas em execução.
Estudos apontam que capacidades aceitáveis para MC como:
Entre 32K e 256Kbytes para Caches L1;
Entre 64K e 4Mbytes para Caches L2;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando