Baixe o app para aproveitar ainda mais
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;
Compartilhar