Baixe o app para aproveitar ainda mais
Prévia do material em texto
Memória Cache Devido a grande diferença de velocidade existente entre o processador e a memória principal, foi desenvolvido um elemento intermediário que tem o propósito de minimizar o impacto desse problema no sistema de computação: A memória Cache. Introdução Introdução 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 préviamente. Introdução A Memória Cache (MC) se baseia fundamentalmente nos princípios de localidade temporal e espacial. Funcionando como um elemento intermediário entre a CPU e a MP e armazenando as informações que muito provavelmente serão requisitadas pela CPU. Utilização da MC Uma vez introduzida no sistema de computação o funcionamento do sistema é alterado de forma que antes de realizar um acesso direto a MP a informação é primeiramente buscada na Memória Cache. Se a informação requisitada estiver presente na Memória Cache ocorre um acerto(hit) e a informação é transferida para a CPU em “alta” velocidade. Caso contrario ocorre uma falta (miss) e o sistema busca a informação na MP, e a transfere para a memória Cache (juntamente com outras informações determinadas pelo principio da localidade). Utilização da MC CPU Memória Cache Memória Principal Considerações sobre a Utilização da MC Para haver aumento de desempenho do sistema é necessário que hajam muito mais acertos (hits) do que faltas (misses). de maneira que as eventuais perdas de desempenho com faltas seja sobrepujada pela taxa de acertos. A taxa de acertos mais comum em sistemas atuais varia entre 80% e 99%, o que garante um ganho de desempenho considerável com a utilização de memórias Cache. Tipos de Memória Cache Pelo ganho de desempenho que proporciona ao sistema de computação as memórias cache vêm se tornando um elemento imprescindível nos sistemas atuais e sendo utilizadas além da relação CPU-MP. Também vêm sendo empregadas para aumentar o desempenho do sistema na relação MP-MS (Memória Secundária) ex: Memórias “Cache” para discos rígidos. Níveis de Memória Cache 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. L1 (Memórias Cache internas ao processador); L2 (internas ou externas ao processador); L3 (externas ao processador , e existente em poucos processadores); 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 é sub-dividida 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. Rótulo Linha Palavra Funções de Mapeamento-Mapeamento direto 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 10 11 Memória Principal Funções de Mapeamento-Mapeamento direto 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 tag informação 01 00 01 10 11 aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii jjjj kkkk llll mmmm nnnn oooo pppp eeee índice Memória Principal 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; Rótulo Palavra Funções de Mapeamento-Mapeamento Associativo 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 10 11 Memória Principal Funções de Mapeamento-Mapeamento Associativo Vantagens Flexibilidade na associação entre MP e MC; Desvantagens Complexidade de implementação; Maior demanda de processamento; Funções de Mapeamento-Mapeamento Associativo por Conjuntos Criada com o objetivo de eliminar os problemas das técnicas de mapeamento direto e mapeamento associativo; Blocos da MP são associados a um conjunto de linhas na MC. Rótulo Conjunto Palavra Funções de Mapeamento-Mapeamento Associativo por Conjuntos 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 candidado 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 aceitavel; 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; Memória Cache
Compartilhar