Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMikaela Lobos Alterado mais de 3 anos atrás
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 2 100 0 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
Apresentações semelhantes
© 2018 SlidePlayer.com.br Inc.
All rights reserved.