pt.phhsnews.com


pt.phhsnews.com / Quando o cache de uma CPU é esvaziado de volta à memória principal?

Quando o cache de uma CPU é esvaziado de volta à memória principal?


Se você está começando a aprender como CPUs multi-core, cache, coerência de cache e memória funcionam, pode parecer um pouco pouco confuso no começo. Com isso em mente, a postagem de perguntas e respostas do SuperUser de hoje responde à pergunta de um curioso leitor.

A sessão de Perguntas e Respostas vem para nós, cortesia da SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade. > A Questão

Leitor SuperUser O CarmeloS quer saber quando o cache de uma CPU é liberado de volta para a memória principal:

Se eu tiver uma CPU com dois núcleos e cada núcleo tiver seu próprio cache L1, é possível que Core1 e Core2 ambos armazenam em cache a mesma parte da memória ao mesmo tempo? Se for possível, qual será o valor da memória principal se tanto o Core1 quanto o Core2 tiverem editado seus valores no cache?

Quando o cache de uma CPU é liberado de volta para a memória principal?

Os contribuidores do Answer

do SuperUser Schwartz, sleske e Kimberly W têm a resposta para nós. Primeiro, David Schwartz:

Se eu tiver uma CPU com dois núcleos e cada núcleo tiver seu próprio cache L1, será possível que Core1 e Core2 armazenem a mesma parte da memória ao mesmo tempo?

Sim, o desempenho seria terrível se não fosse esse o caso. Considere dois segmentos executando o mesmo código. Você quer esse código em ambos os caches L1.

Se for possível, qual será o valor da memória principal se tanto o Core1 quanto o Core2 tiverem editado seus valores no cache?

O valor antigo estará na memória principal, que Não importa, pois nenhum dos núcleos irá lê-lo. Antes de ejetar um valor modificado do cache, ele deve ser gravado na memória. Normalmente, alguma variante do protocolo MESI é usada. Na implementação tradicional do MESI, se um valor for modificado em um cache, ele não poderá estar presente em nenhum outro cache no mesmo nível.

Seguido pela resposta de sleske:

Sim, com dois caches de cache a mesma região de memória pode acontecer e é realmente um problema que ocorre muito na prática. Existem várias soluções, por exemplo:

Os dois caches podem se comunicar para garantir que não discordem

  • Você pode ter algum tipo de supervisor que monitora todos os caches e os atualiza de acordo
  • Cada processador monitora as áreas de memória que foi armazenado em cache, e quando ele detecta uma gravação, ele lança seu cache (agora inválido)
  • O problema é chamado de coerência de cache e o artigo da Wikipedia sobre o tópico tem uma boa visão geral do problema e possíveis soluções. > E nossa resposta final de Kimberly W:

Para responder a pergunta no título do seu post, depende do protocolo de cache. Se for write-back, o cache só será liberado de volta para a memória principal quando o controlador de cache não tiver escolha a não ser colocar um novo bloco de cache no espaço já ocupado. O bloco que ocupava anteriormente o espaço é removido e seu valor é gravado de volta na memória principal.

O outro protocolo é write-through. Nesse caso, sempre que o bloco de cache for gravado no nível

n

, o bloco correspondente no nível n + 1 será atualizado. É semelhante em conceito ao preenchimento de um formulário com papel carbono por baixo; tudo o que você escreve no topo é copiado na folha abaixo. Isso é mais lento porque obviamente envolve mais operações de escrita, mas os valores entre os caches são mais consistentes. No esquema write-back, somente o cache de nível mais alto teria o valor mais atualizado para um determinado bloco de memória. Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui Crédito de imagem: Lemsipmatt (Flickr)



Como identificar um esquema de crowdfunding em potencial ou um flop

Como identificar um esquema de crowdfunding em potencial ou um flop

Os projetos no Kickstarter, Indiegogo e outras plataformas de crowdfunding estão em grande parte em up-and-up, mas há aqueles que estão tentando fazer uma dinheiro rápido. Veja como você pode identificá-los Se algo parece bom demais para ser verdade, provavelmente é Este é um bom conselho para a vida em geral, mas se aplica ao crowdfunding on-line em particular.

(how-top)

Como desativar o microfone na Netgear Arlo Pro Câmera

Como desativar o microfone na Netgear Arlo Pro Câmera

A câmera Arlo Pro não só grava vídeo quando detecta movimento, mas também pode capturar áudio. No entanto, se esse não for um recurso do qual você realmente aproveitará, veja como desativar o microfone para economizar apenas um pouquinho da duração da bateria. Abra o aplicativo Arlo e toque na guia “Configurações” no canto inferior direito.

(how-top)