Cache

11
Mapeamento em Memória Cache Arquitetura de Computadores Bruno Edson

description

arquitetura de computadores

Transcript of Cache

Page 1: Cache

Mapeamento em Memória Cache

Arquitetura de Computadores

Bruno Edson

Page 2: Cache

Mapeamento Direto

Memória Principal 16Mbytes End. Principal: log216M = 24bits

Memória Cache 16K palavras End. Cache: log216K = 14bits

Bits de Palavra de 4 bytes: 2 bits Rótulo =

End. Princ. – (End. Cache + Bits Pal.)24 – (14 + 2) = 8bits

Page 3: Cache

Mapeamento Direto

Como a palavra é de 4bytes, retiramos o rótulo e dividimos por 4 e obtemos o endereço mapeado: 0000 / 4 = 0000 0004 / 4 = 0001 339C / 4 = 0CE7 FFFC / 4 = 3FFF FFF8 / 4 = 3FFE

Obs.: Valores em hexadecimal

Page 4: Cache
Page 5: Cache

Mapeamento Associativo

Memória Principal 16Mbytes End. Principal: log216M = 24bits

Bits de Palavra de 4 bytes: 2 bits Rótulo =

End. Princ. – Bits Pal. = 24 – 2 = 22bits

Page 6: Cache

Mapeamento Associativo

Como a palavra é de 4bytes, dividimos o endereço por 4 e obtemos o rótulo específico: 000000 / 4 = 000000 16339C / 4 = 058CE7 FFFFF4 / 4 = 3FFFFD FFFFF8 / 4 = 3FFFFE FFFFFC / 4 = 3FFFFF

Obs.: Valores em hexadecimal

Page 7: Cache
Page 8: Cache

Mapeamento Associativo por Conjunto

Memória Principal 16Mbytes End. Principal: log216M = 24bits

Memória Cache 16K palavras e Número de Conj. 2: 1 bit End. Cache: log216K – nº bits conj. 14 – 1 = 13bits

Bits de Palavra de 4 bytes: 2 bits Rótulo =

End. Princ. – (End. Cache + Bits Pal.)24 – (13 + 2) = 9bits

Page 9: Cache

Mapeamento Associativo por Conjunto

Como a palavra é de 4bytes, retiramos o rótulo e dividimos por 4 e obtemos o endereço mapeado: 0000 / 4 = 0000 0004 / 4 = 0001 339C / 4 = 0CE7 7FFC / 4 = 1FFF 7FF8 / 4 = 1FFE

Obs.: Valores em hexadecimal

Page 10: Cache
Page 11: Cache

Mapeamento em Memória Cache

www.cin.ufpe.br/~bemaf/arquivos/arq

Obrigado!!