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

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

PUCC 1 Agenda Memória CACHE. PUCC 2 Memória Cache Motivo –Melhorar a relação entre o tempo de acesso a dados e instruções e a velocidade dos processadores.

Apresentações semelhantes


Apresentação em tema: "PUCC 1 Agenda Memória CACHE. PUCC 2 Memória Cache Motivo –Melhorar a relação entre o tempo de acesso a dados e instruções e a velocidade dos processadores."— Transcrição da apresentação:

1 PUCC 1 Agenda Memória CACHE

2 PUCC 2 Memória Cache Motivo –Melhorar a relação entre o tempo de acesso a dados e instruções e a velocidade dos processadores. Problema –Custo elevado Utilização –Praticamente todos os computadores

3 PUCC 3 Localidade Constatação: programas são escritos e executados pela CPU em pequenos grupos de instruções Então não é necessário ter uma memória rápida e cara muito grande Podemos estabelecer um compromisso entre custo e desempenho

4 PUCC 4 Localidade Temporal: quando a CPU acessa uma palavra de memória existe uma boa probabilidade que em breve acesse a mesma palavra. Espacial: quando a CPU acessa uma palavra de memória existe uma boa probabilidade que o programa acesse uma palavra subsequente.

5 PUCC 5 Programa

6 PUCC 6 Organização CPU Memória Principal Transferência de Palavras Transferência de Blocos CACHE

7 PUCC 7 Funcionamento A CPU sempre acessa a memória Cache (dados ou instruções) Acerto: a CPU encontra a informação na memória Cache Falta: a informação não está na Cache, a execução é suspensa e a informação é transferida da MP para a memória Cache.

8 PUCC 8 Tempo de Acesso % acerto (p) T1T1 T2T2 T 1 +T T A = p. T 1 + (1-p). (T 2 +T 1 )

9 PUCC 9 Memória Cache Tamanho Mapeamento Substituição de dados na Cache Política de escrita pela Cache

10 PUCC 10 Tamanho Quanto maior melhor Problema custo elevado Relação acertos / faltas Relação Tempo Acesso Cache pelo Tempo de Acesso da MP Natureza dos Programas

11 PUCC 11 Mapeamento Bloco 0 Bloco 1 Bloco B-1 B= N / K = 2 E / K Tamanho do Bloco (K palavras) Tag Q << B

12 PUCC 12 Mapeamento Direto MP= 4G palavras E= 32 bits Cache= 64 KB Q= 1K –1 Quadro possui 64 Bytes ou palavras B= 4G / 64 Bytes = Então: –cada quadro do cache deverá acomodar 64K Blocos. 64 M Blocos

13 PUCC 13 Exemplo Endereço da palavra Número do quadro Número do bloco no Quadro - TAG

14 PUCC 14 Mapeamento Direto Para definir quais blocos da MP serão alocados a um quadro específico: q= N mod Q. q= número do quadro da Cache N= endereço da MP Q= número de quadros da Cache q= 0: blocos 0, 1024,2048,... q=1023: blocos 1023,2047,.., 64M-1

15 PUCC 15 Mapeamento Associativo Os blocos não têm um quadro associado. Se o bloco desejado não está em nenhum quadro da Cache, ele deverá ser transferido para a Cache, substituindo um bloco armazenado nela.

16 PUCC 16 Mapeamento Associativo Cada vez que a CPU realizar um acesso, o controlador de cache deve examinar e comparar os 26 bits do endereço do bloco

17 PUCC 17 Associativo por Conjuntos Tenta resolver o problema do conflito de blocos em um mesmo quadro (mapeamento direto) e o problema da busca exaustiva e comparação das tags de toda a cache (mapeamento associativo)

18 PUCC 18 Associativo por Conjuntos Organiza os quadros da Cache em grupos - conjuntos. Dentro dos conjuntos, os quadros são associativos. A cache é dividida em C conjuntos de D quadros, assim, Q = C x D.

19 PUCC 19 Substituição de dados Mapeamento Direto: não há o que se fazer - é pré-definida. Mapeamento Associativo ou Associativo por Conjuntos –O que não é usado há mais tempo –Fila ( first in first out) –O que tem menos referência –Escolha aleatória

20 PUCC 20 Escrita na Cache Em sistemas com memória Cache, toda vez que a CPU realiza uma operação de escrita, esta ocorre na cache. Portanto, é necessário que em alguns momentos, a MP seja atualizada. Antes que um bloco seja substituído na cache, é necessário saber se ele foi alterado ou não.

21 PUCC 21 Escrita na Cache Este problema é complicado –a MP pode ser acessada pela cache e por dispositivos de E/S (DMA), neste caso a palavra da MP pode ter sido alterada e da cache não. –Computadores que possuam várias CPU´s cada uma com sua cache.

22 PUCC 22 Escrita na Cache Write Through –cada escrita na cache acarreta escrita igual na MP. –Caso existam outras CPU´s com cache o procedimento se repete Pode causar uma grande quantidade de escritas desnecessárias na MP, reduzindo o desempenho do sistema

23 PUCC 23 Escrita na Cache Write Back –atualiza a MP quando o bloco foi substituído e houver ocorrido alguma alteração. Existe um bit de flag para identificar se houve alteração de conteúdo. A MP fica potencialmente desatualizada para utilização de outros dispositivos.

24 PUCC 24 Escrita na Cache Write Once –apropriada para arquiteturas multi-CPUs. Por ela, o controlador da cache atualiza a MP sempre que o bloco correspondente na cache foi atualizada pela primeira vez. Essa escrita serve de alerta para os demais componentes. Esse alerta impede o uso da palavra


Carregar ppt "PUCC 1 Agenda Memória CACHE. PUCC 2 Memória Cache Motivo –Melhorar a relação entre o tempo de acesso a dados e instruções e a velocidade dos processadores."

Apresentações semelhantes


Anúncios Google