A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Coerência de Cache Márcia A. Santos – RA 47748 Novembro/2005.

Apresentações semelhantes


Apresentação em tema: "Coerência de Cache Márcia A. Santos – RA 47748 Novembro/2005."— Transcrição da apresentação:

1 Coerência de Cache Márcia A. Santos – RA 47748 Novembro/2005

2 Agenda Objetivo Visão geral do problema Como manter a coerência Exemplos

3 Objetivo Apresentar o problema da coerência de cache e os diferentes esquemas utilizados para resolvê-lo.

4 Visão Geral do Problema sistema com um processador  design mais simples  os dados mantidos na cache são acessados por um único processador  somente uma cópia desse dado existirá na cache. sistema com vários processadores  usam várias caches, uma para cada processador  múltiplas cópias dos mesmos dados em caches diferentes

5 armazenado 5 em X na memória Mem. Compartilhada X : 5 P1 Cache X: P2 Cache X: Mem. Compartilhada X : 5 P1 Cache X: 5 P2 Cache X: 5 leitura X. Valor é copiado para as caches Mem. Compartilhada X : ? P1 Cache X: 6 P2 Cache X: 7 P1 faz X+1 e P2 faz X+2 Visão Geral do Problema Qual Valor Estará em X?

6 Como Manter a Coerência Através de esquemas baseados em software ou em hardware.  Software: compilador (estática) ou o sistema operacional (dinâmica) fica responsável por garantir a coerência.  Hardware: as inconsistências são identificadas pelo hardware durante a execução (dinâmica).

7 Como Manter a Coerência Software x Hardware Software  Mais barato  Menos complexo  Não exige hardware adicional Hardware  Mais caro  Mais complexo  Exige hardware adicional  Atende melhor a sistemas com mais multiprocessadores  Utilizado, principalmente, em multiprocessadores comerciais.

8 Exemplos Sofware – One Time Identifier  Cada página compartilhada possui um identificador único associado à página, chamado one-time identifier.  Um campo de identificador é adicionado para cada linha da cache e para cada entrada da TLB (registrador de identificadores).  A cada atualização da TLB um novo valor de identificador é colocado no campo de identificador  Compara o valor do identificador one-time da entrada de identificadores da TLB com o valor do identificador da entrada da cache no registro.  Valores iguais, tem-se um hit. Caso contrário, tem-se um miss.  Registros são invalidados quando processador sai da região crítica que protege os dados compartilhados e são copiados novamente quando outro processador acessa os dados compartilhados

9 Exemplos Hardware – Snoopy Write-invalidate - Synapse  Write-invalidate permite apenas um escritor e vários leitores  invalidação de todas as cópias do dado antes que a escrita se inicie  Synapse faz uso de três estados: Invalid, Valid e Dirty  Qualquer cache que possua uma cópia em estado Dirty é a “dona” do bloco. Caso contrário, memória principal  Read Hit: não há problemas de coerência  Read Miss: o bloco é copiado para a cache e a CPU muda o estado da linha na cache para Valid.  Write Hit: o barramento notifica todos os processadores que a linha é Invalid. A linha na cache é marcada como Dirty e todos os outros processadores marcam suas linhas correspondentes como Invalid.  Write Miss: idêntico ao caso anterior

10 Para os mais curiosos… …outros protocolos:


Carregar ppt "Coerência de Cache Márcia A. Santos – RA 47748 Novembro/2005."

Apresentações semelhantes


Anúncios Google