Asdfgasdfgdfg

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1201 palavras )
  • Download(s) : 0
  • Publicado : 30 de março de 2012
Ler documento completo
Amostra do texto
Universidade Federal do Rio Grande do Sul Instituto de Informática

Memória cache
segunda parte
1. Mapeamento completamente associativo 2. Mapeamento direto 3. Mapeamento conjunto - associativo

Organização de Computadores Aula 17 Memória cache
segunda parte

INF01113 - Organização de Computadores

INF01113 - Organização de Computadores

1. Mapeamento completamente associativoendereço gerado pelo processador miss: memória é acessada

Mapeamento completamente associativo
endereço gerado pelo processador word cache byte

cache

endereço comparação simultânea com todos os endereços hit

dado comparação simultânea com todos os endereços memória principal

endereço hit

word 0

w1

w2

w3

processador

cache organizada em linhas com 4 palavras de 4 bytesseleciona word e byte processador
INF01113 - Organização de Computadores

INF01113 - Organização de Computadores

1

Mapeamento completamente associativo
• vantagem: máxima flexibilidade no posicionamento de qualquer palavra (ou linha) da memória principal em qualquer palavra (ou linha) da cache desvantagens
– custo em hardware da comparação simultânea de todos os endereços armazenadosna cache – algoritmo de substituição (em hardware) para selecionar uma linha da cache como conseqüência de um miss tag

2. Mapeamento direto
endereço gerado pelo processador índice tag + índice cache índice tag dado





utilizado apenas em memórias associativas de pequeno tamanho
– tabelas =? diferentes memória principal iguais
INF01113 - Organização de Computadores

processadorINF01113 - Organização de Computadores

Mapeamento direto
• endereço é dividido em 2 partes
– parte menos significativa: índice, usado como endereço na cache onde será armazenada a palavra – parte mais significativa: tag, armazenado na cache junto com o conteúdo da posição de memória

Mapeamento direto
• mapeamento: endereço é o módulo do número de blocos na cache
Cache 000 001 010 011 100101 110 111 00001 00101 01001 01101 10001 10101



quando acesso é feito, índice é usado para encontrar palavra na cache
– se tag armazenado na palavra da cache é igual ao tag do endereço procurado, então houve hit



endereços com mesmo índice são mapeados sempre para a mesma palavra da cache

11001

11101

Memory

INF01113 - Organização de Computadores

INF01113 -Organização de Computadores

2

Mapeamento direto – exemplo
20 bits tag 12 bits índice tag + índice = 32 bits cache = índice
20 bits 32 bits

Mapeamento direto – uso de linhas
31 Cache Tag Exemplo: 0x50 9 Cache Index Ex: 0x01 armazenado como parte do “estado” da cache Valid Bit Cache Tag 0x50 4 0 Byte Select Ex: 0x00

212

=4K

: :

tag

dado

Cache Data Byte 31 Byte 63

Byte 1Byte 0

0

Byte 33 Byte 32 1 2 3

=? diferentes iguais processador memória principal 232 = 4 G

:

:
Byte 1023

: :
Byte 992 31

INF01113 - Organização de Computadores

INF01113 - Organização de Computadores

Tamanho da linha x miss ratio
40% 35% 30%

Tamanho da linha
• em geral, uma linha maior aproveita melhor a localidade espacial MAS
– linha maior significa maior misspenalty • demora mais tempo para preencher a linha – se tamanho da linha é grande demais em relação ao tamanho da cache, miss ratio vai aumentar • muito poucas linhas

Miss rate

25% 20% 15% 10% 5% 0% 4 16 Block size (bytes) 64 1 KB 8 KB 16 KB 64 KB 256 KB
INF01113 - Organização de Computadores

• em geral, tempo médio de acesso =
Hit Time x (1 - Miss Ratio) + Miss Penalty x Miss Ratio
MissPenalty
256

Tempo médio Miss de acesso Ratio explora localidade espacial poucas linhas: compromete localidade temporal

Miss Penalty & Miss Ratio aumentam

Tamanho da linha

Tamanho da linha

Tamanho da linha
INF01113 - Organização de Computadores

3

Quantos bits tem a cache no total?
• • • supondo cache com mapeamento direto, com 64 KB de dados, linha com uma palavra,...
tracking img