Mapeamento em Memória Cache Arquitetura de Computadores Bruno Edson Mapeamento Direto Memória Principal 16Mbytes Memória Cache 16K palavras End. Principal: log216M = 24bits 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!!