【发布时间】:2019-01-18 19:28:27
【问题描述】:
我想知道我是否正确解决了这个关于直接映射缓存的问题。我需要计算块在缓存中的位置并找到它的标签。
假设 CACHE 有 1024 个 BLOCK,每个 BLOCK 有 64 个字节,那么地址 5C892D0(hex) 将存储在 CACHE 的哪个位置?
二进制码地址5C892D0为:
101 1100 1000 1001 0010 1101 0000.
由于每个块中有 512 位,我知道最右边的 9 位 (2^9 = 512) 是 MAIN MEMORY 中的位置,前 10 位 (2^10=1024) 是 CACHE 中的位置.其余位形成 TAG。
所以这个地址的CACHE中的block位置是0001001001或者CACHE中的第73个BLOCK,TAG是10111001。
【问题讨论】: