Caches Multinivel Marco A. S. Segundo marcoant.segundo@gmai l.com Leonardo Farias [email protected] Resumo— A cache é usada para reduzir o tempo que um processador deve esperar para acessar um determinado bloco da memória. Mas devido à necessidade de se processar um grande número de dados ser cada vez maior, se tornou indispensável o uso de Caches Multinível. O foco principal deste artigo é descrever como funcionam essas memórias. 1. I. INTRODUÇÃO A cache armazena o conteúdo mais recentemente acessado pelo processador, e ela é preenchida por ele, pois quando determinado conteúdo é procurado na cache e este não é encontrado, um Miss é registrado e o controlador de cache vai em busca desse conteúdo na memória de nível inferior, e quando o encontra, ele o copia para a memória cache, para que nas próximas requisições só seja necessário acessar o conteúdo que está nela, obtendo um Hit. A memória cache consegue trabalhar na mesma velocidade do processador, devido a sua tecnologia SRAM (Memória estática de acesso aleatório). Nesta tecnologia cada bit é armazenado em um flip-flop, e com ele traz a vantagem de não precisar que seja atualizado a um determinado instante de tempo para manter o conteúdo dos dados, como é o caso das memórias DRAM (Memória dinâmica de acesso aleatório). Porém, a memória SRAM tem a desvantagem de ser bastante cara, pois para se fazer um flip-flop são necessários inúmeros transistores, além de consumirem mais energia e esquentarem mais. Por isso se torna inviável para os projetistas, criar uma memória cache SRAM com uma grande capacidade. Alan Batista [email protected] alan_batistaabdc@hotmai l.com Cache L1 Também conhecida como Cache principal/primária, pois executa o mesmo papel das memórias cachê únicas. Ela fica localizada no mesmo chip do processador e geralmente possui dois níveis, o de instruções e o de dados. Além de possuir uma baixa capacidade de armazenamento. Palavras-chave— Memória cache, descrição, multinível; A cache é um nível de hierarquia de memória entre o Processador e a memória principal, e tem a função de reduzir o tempo que o processador precisa para acessar o conteúdo que está na memória, pois o tempo de acesso a memória principal é maior que o tempo de execução do processador. Igor José M. Barbosa Esse nível de cache possui ligação direta com o processador. E quando é registrado um Miss no acesso a este nível, o controlador de Cache vai ao nível de memória diretamente conectado e inferior a este, em busca desse conteúdo. 2. Cache L2 Também conhecida como Cache secundária, foi construída como uma solução para o problema da pouca capacidade da Cache L1, este nível possui cerca de 10 vezes ou mais de capacidade que ela, porém é mais lenta. E por questões econômicas (financeiras), alguns processadores possuem essa memória fora dele, mas esse nível também é utilizado, alocado ao processador. Este nível é o responsável por fornecer ao processador conteúdo que não foi encontrado na Cache principal, pois ele armazena as informações menos recentemente acessadas pela CPU, já que as mais recentemente acessadas estão no nível L1. A quantidade de informações armazenadas é limitada pela capacidade de armazenamento da Cache. E quando esse limite é excedido, determinado conteúdo (este conteúdo varia de acordo com o algoritmo de substituição da Cache) é descartado desta memória. Esse nível é conectado diretamente a Cache primária e a memória principal, ou Cache L3 (quando existe). Um exemplo de Cache L2 está representada na figura 1: Devido ao primeiro nível da cache ter uma capacidade muito pequena, surgiu a necessidade de adicionar mais níveis a memória cache, para que continuasse a existir um ganho de desempenho em relação ao acesso a memória. E com isso surgiram as Caches Multinível. II. NÍVEIS DE CACHE Figura 1. Exemplo de Cache de Dois níveis [6]. 3. Cache L3 É uma cache externa ao processador, sendo um nível implementado nos multi-processadores mais potentes. E o nível L3 funciona entre a Cache L2 e a memória principal (ou L4, se houver), da mesma forma que a Cache Secundária funciona entre a Cache principal e esse nível. Esse nível é mais lento que a Cache L2 e mais rápido que o nível inferior. Um exemplo de Cache L3 está representada na figura 2: da cache seja viável, pois o material utilizado hoje em dia possui um alto custo financeiro, e um aumento da capacidade por si só, pode não trazer o benefício esperado. As memórias Cache multinível contribuem bastante para o desempenho de um computador, porém é sabido que esses níveis não podem aumentar muito, pois como a medida que o nível aumenta o tempo de acesso também aumenta, então em algum momento será desnecessária a inclusão de mais um nível na Cache. Mas os estudos para aumento de níveis na Cache ainda persistem, uma prova disso é que recentemente foi anunciado pela empresa Intel, a criação de um processador com nível L4 de Cache [4]. REFERÊNCIAS [1] [2] [3] [4] Figura 2. Exemplo de Cache de Três níveis [5]. III. CONCLUSÃO Atualmente ainda é inviável financeiramente, mas em um futuro próximo a memória cache pode se transformar na memória principal do PC, ajudando bastante na melhoria de desempenho das máquinas. Há pouco tempo, a memória Cache do processador era em média 256k, atualmente está em 12 MB, e estudos são feitos para que o aumento da capacidade [5] [6] "Como o Cache de Memória funciona" (http://www.clubedohardware.com.br/artigos/Como-o-Cache-deMemoria-Funciona/1410/1). Acessado em 04 de Dezembro de 2014. "Organização e Projeto de Computadores – A interface Hardware/Software. Patterson David and Hennessy John, 3ª Edição. Elsevier. “CPU Cache" (http://en.wikipedia.org/wiki/CPU_cache#Cache_hierarchy.) Acessado em 04 de Dezembro de 2014. “Intel finally shares Haswell’s secrets, reveals new work on ultra-lowpower chips“ (http://www.extremetech.com/extreme/176307-intelfinally-shares-haswells-secrets-reveals-new-work-on-ultra-low-powerchips.) Acessado em 04 de Dezembro de 2014. Top Eight Features of the Intel Core i7 Processors for Test, Measurement, and Control" (http://www.ni.com/white-paper/11266/en/). Acessado em 22 de Janeiro de 2015. "Entendenda o que e Memória Cache" (http://www.kalambau.com.br/entendenda-o-que-e-memoria-cache/). Acessado em 22 de Janeiro de 2015.