Start
memória cache
Introdução
Características técnicas
Aplicação
sumámrio
A memória cache é uma camada de armazenamento de dados de alta velocidade, que se localiza entre a unidade de processamento central e a memória RAM guarda subconjuntos de dados, geralmente temporário. Essa memória tem como principal função acelerar o acesso a dados e instruções que são frequentemente usadas pelo processador, reduzindo assim o tempo de acesso à memória RAM, ela faz isso armazenando temporariamente cópias de dados ou instruções que pode ser necessário à CPU futuramente.
A eficácia da memória cache é baseada no princípio da localidade, que se divide em localidade temporal e espacial
Introdução
Localidade Espacial:
Os dados próximos que foram acessados têm probabilidade de serem requisitados novamente, então a memória armazena informações relacionadas às ao que está sendo acessado.
Localidade Temporal:
Significa que dados e instruções acessados recentemente têm uma maior probabilidade de serem acessados novamente em um curto espaço de tempo, por isso a memória cache os armazena para um aceso mais rápido.
- Essa memória possui um sistema de camadas hierárquicas que são divididas em L1, L2 e L3. Cada nível desses possui as suas próprias características e ao decorrer que aumentam, elas ficam mais distante da CPU, fazendo assim com que elas fiquem mais lentas.
Cache L1 (Nível 1):
A cache L1 é a mais próxima da CPU, por isso é a mais rápida levando em consideração o acesso. Tem uma pequena capacidade, entretanto, possui uma alta eficiência de entrega de dados, por conta disso, ela é geralmente utilizada para instruções de alta prioridade. Cache L2 (Nível 2):
A cache L2 é a segunda camada mais distante da CPU, tem uma maior capacidade em comparação a L1, que a deixa mais eficaz para armazenar dados e instruções, ela é dividida em duas partes, a unificada, que armazena dados e informações e a cache separada, que armazena dados ou instruções.
Cache l3 (Nível 3):
É a cache que fica mais distante da CPU, tem a maior capacidade de hierarquia, é utilizada para armazenar dados compartilhados entre vários núcleos de CPU e ajuda a melhorar o desempenho da máquina.
representação
A análise de tempo da cache, também conhecida como análise de complexidade temporal de cache, é uma técnica usada para avaliar o desempenho de algoritmos e programas em relação ao uso eficiente da memória cache de um computador. O objetivo é entender como os padrões de aceso à memória impactam o desempenho devido hierarquia de cache.
A análise de tempo de cache envolver considerar fatores como localidade espacial e localidade temporal para determinar como os dados são buscados e armazenados na cache. Esses padrões ajudam na otimização de algoritmos e de estruturas de dados, fazendo com que os acessos à memória principal estejam mais otimizados.
- A memória cache possui diversas características técnicas que influenciam no seu desempenho e eficácia na arquitetura de computadores, aqui serão apresentadas as principais dessas características:
Tamanho da Cache: Geralmente medida em quilobytes (KB) ou megabytes (MB), é a capacidade de armazenamento da memória cache, que a L1 possui uma menor quantidade e a L2 e L3, tem uma maior capacidade.
Taxa de Acertos (Hit Rate): A taxa de acertos é a porcentagem de vezes em que os dados procurados estão presentes no cache quando são acessados. Um alto índice de acertos é fundamental para melhorar o desempenho, pois reduz a necessidade de acessar a memória principal mais lenta.
Características técnicas:
- Associação: É a forma com que os dados são mapeados na cache. Ela possui três associações:
Cache Diretamente Mapeada: Cada bloco de memória principal é mapeado para um local específico na cache. Por conta da sua simplicidade pode causar colisões, onde dois blocos de memória competem pelo mesmo local na cache.
Cache Associativa por Conjunto: Os blocos de memória são mapeados em conjuntos e cada conjunto pode conter um bloco. Isso reduz as colisões.
Cache Totalmente Associativa: Cada bloco de memória pode ser armazenado em qualquer local da cache. É altamente flexíve, mas mais complexo de implementar.
Política de Escrita: A política de escrita determina como as operações de escritas são tratadas na cache.
Write-Through: A operação de escrita na memória cache é imediatamente refletida na memória principal (memória RAM).
Write-Back: As operações são inicialmente escritas na cache e posteriormente são escritas na memória principal substituindo o bloco.
Políticas de Substituição: Quando a cache está cheia e uma nova linha de dados precisam ser armazenadas, é necessário substituir uma linha existente. Políticas de substituição, como a política Least Recently Used (LRU) ou First-In, First-Out (FIFO), determinam qual linha será substituída.
Latência: A latência de cache é o tempo que leva para acessar dados na cache, quanto menor a latência, mais rápido o acesso. Geralmente as caches L1 têm uma menor latência.
- A análise de tempo de cache desempenha um papel crítico em várias áreas de ciência da computação e engenharia de sistemas. Ela é usada para entender o desempenho de sistemas de cache e otimizar o uso de caches e otimizar o uso de caches em várias aplicações. Por exemplo:
Arquitetura de Processadores: Nos processadores, a análise de tempo cache projeta hierarquias de cache eficazes, determinando o tamanho e a estrutura de cada nível de cache, bem como as políticas de substituição e de escrita mais adequadas para o máximo desempenho.
Redes de Computadores: Em redes, analisa-se para otimizar o armazenamento em cache de informações acessadas frequentemente acessados, por exemplo em páginas web, para reduzir a carga de servidores e melhorar o tempo de resposta.
Desenvolvimento de Jogos: Desenvolvedores o utilizam para otimizar o carregamento de ativos dos jogos, como texturas e modelos 3D. Ajudando no desempenho e experiência do usuário.
Aplicação:
THANKS!