120 likes | 287 Views
Mapeamento em Memória Cache. Arquitetura de Computadores Bruno Edson. Mapeamento Direto. Memória Principal 16Mbytes End. Principal: log 2 16M = 24bits Memória Cache 16K palavras End. Cache: log 2 16K = 14bits Bits de Palavra de 4 bytes: 2 bits Rótulo =
E N D
Mapeamento em Memória Cache Arquitetura de Computadores Bruno Edson
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
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
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
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
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
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
Mapeamento em Memória Cache www.cin.ufpe.br/~bemaf/arquivos/arq Obrigado!!