807 Shares 2249 views

O que é os dados em cache e cache?

Computador, infelizmente, não executa imediatamente os comandos, que são recebidos do povo. Para acelerar este processo utiliza uma variedade de truques, eo lugar de honra entre eles pertence a cache. O que é isso? Quais são os dados armazenados em cache? Como é que este processo realmente ocorre? O que está em cache dados em um smartphone "Samsung", por exemplo, e eles diferem um pouco daqueles no computador? Vamos começar a obter respostas para estas perguntas.

O que é cache?

Assim chamado buffer intermediário, que fornece acesso rápido a informações, a probabilidade de que a consulta acima de tudo. Todos os dados contidos nele. Uma vantagem importante é que extrair as informações necessárias a partir do cache pode ser significativamente mais rápido do que com a loja original. Mas há uma desvantagem significativa – tamanho. dados em cache é usado em navegadores, disco rígido, CPU, servidor web, vitórias, e serviços de DNS. A base da estrutura são os conjuntos de registos. Cada um deles está associado a um determinado elemento ou unidade de dados que se projetam copiar o que está na memória principal. As entradas têm um identificador (TAG), por meio da qual é determinado pela coincidência. Vamos olhar um pouco diferente ponto de vista pouco: de dados que está em cache no seu telefone "Samsung" ou de outro fabricante? eles são diferentes daqueles que estão no computador? De um ponto de vista fundamental – não só a diferença de tamanho.

O processo de utilização

Quando um cliente (que está listado acima) solicita dados, a primeira coisa que faz com que um computador – analisa o cache. Se se desejar a entrada, então é utilizada. Nestes casos, não é um sucesso. Periodicamente, os dados copiados a partir do cache para a memória principal. Mas se o registro necessário não foi encontrado, há um conteúdo de pesquisa em armazenamento de base. Tudo levar a informação é transferida para o cache, de modo que, em seguida, podem ser acessados mais rapidamente. Percentagem de pedidos quando coroados de êxito, o chamado nível ou relação de bater.

Atualizando dados

Ao utilizar, por exemplo, um navegador web é verificado cache local para encontrar uma cópia da página. Dadas as limitações deste tipo de memória, uma miss é decidido a descartar as informações para fazer espaço. Para decidir exatamente o que vai ser substituído, usar diferentes algoritmos de deslocamento. By the way, se falamos sobre o fato de que esses dados em cache para o "Android", que para a maior parte, eles são usados para trabalhar com imagens e dados de aplicativos.

política de escrever

Durante a modificação do conteúdo do cache e atualizar os dados na memória principal. O atraso de tempo que passa entre as informações do aplicativo de acordo com as políticas de gravação. Existem dois tipos principais:

  1. gravação instantânea. Cada alteração é registrada de forma síncrona para a memória principal.
  2. Atrasado ou write-back. atualizar dados realizada periodicamente ou quando solicitado pelo cliente. Para acompanhar se isso foi alterado para usar um sinal com dois estados: "sujo" ou modificado. No caso de uma falta pode ser feita dois recursos destinados a memória principal: a primeira é utilizada para gravar os dados que foram alterados a partir do cache, eo segundo – para ler o item desejado.

Pode ser tal que a informação se torna irrelevante para o tampão intermédio. Isso ocorre quando os dados na memória principal sem fazer quaisquer ajustes para o cache. Por razões de consistência, todos os processos de edição utilizando os protocolos de coerência.

desafios contemporâneos

Com um aumento na frequência de processadores e maior desempenho de memória, uma nova áreas problemáticas – as limitações da interface de transferência de dados. O que pode observar uma pessoa experiente? A memória cache é muito útil se a freqüência é menor que a RAM no processador. Muitos deles têm o seu próprio buffer intermediário para reduzir o tempo de acesso à memória, que é mais lento do que registros. A CPU que suportam endereçamento virtual, muitas vezes colocam pequeno, mas muito rápido tampão tradução de endereços. Mas em outros casos, o cache não é muito útil, e às vezes só cria problemas (mas é geralmente nos computadores, que foram submetidos a uma versão não-profissional). Falando do que está armazenado em cache de dados em seu smartphone, ONG observou que, devido ao pequeno tamanho do dispositivo é necessário criar nova implementação de cache em miniatura. Agora alguns telefones pode gabar-se parâmetros como há dez anos, computador avançado – Mas que diferença no seu tamanho!

Sincronizar dados entre diferentes tampões

O cache é útil quando um, e como manter a eficácia desta tecnologia, se um monte deles? Este problema é resolvido tampão de coerência. Há três opções para a troca de dados:

  1. Inclusive. O cache pode se comportar como você gosta.
  2. Exclusivo. Projetado para cada caso específico.
  3. Não exclusiva. um padrão amplamente aceito.

níveis de cache

O seu número é geralmente igual a três ou quatro. Quanto maior o nível de memória, por isso é mais volumoso e mais lento:

  1. cache L1. O cache de nível mais rápido – em primeiro lugar. Na verdade, é parte do processador, uma vez que está localizada em um só chip, e relaciona-se com os blocos funcionais. Geralmente divididos em dois tipos: cache de instruções e dados. A maioria dos processadores modernos não funcionam sem este nível. Esse cache opera na frequência do processador, então a referência a ele pode executar cada ciclo de clock.
  2. cache L2. Geralmente localizado juntamente com o anterior. A áreas de memória separadas. Para saber o seu valor, você precisa de todo o volume, dado debaixo do cache de dados, dividido pelo número de núcleos, que está no processador.
  3. cache L3. Lento, mas o maior cache de dependente. Tipicamente, mais do que 24 MB. Ele é utilizado para sincronizar os dados recebidos a partir de depósitos de segundo nível diferente.
  4. cache de L4. Use só se justifica para os servidores de multiprocessamento de alto desempenho e mainframes. Implementá-lo como um chip separado. Se você faz uma pergunta que é o cache de dados em um smartphone "Samsung" e olhando para ele, este nível – Posso dizer que durante 5 anos precisamente apressar.

associatividade de cache

Esta é uma característica fundamental. Associatividade dos dados em cache é necessário para exibir a segmentação lógica. Ela, por sua vez, é necessário devido ao fato de que a varredura seqüencial de todas as linhas existentes leva dezenas de ciclos e traz para nem todos os benefícios. Portanto, usar células de memória RAM rígida aderência ao cache de dados, a fim de reduzir o tempo de busca. Se compararmos os buffers intermediários são do mesmo volume, mas associatividade diferente, aquele com quem ela tinha uma grande vontade de trabalhar menos rapidamente, mas com uma grande eficiência específica.

conclusão

Como você pode ver, os dados em cache, sob certas condições, permite que o computador para agir mais rapidamente. Mas, infelizmente, ainda há um monte de aspectos sobre os quais você pode trabalhar por um longo tempo.