文章
149
粉丝
195
获赞
0
访问
19.3k
主存地址 32 位
缓存总容量 64KB=216B64KB=216B
块大小 64B=26B64B=26B
4 路组相联
LRU,写分配 + 写回(本题只有读操作,写策略不影响)
计算:
块内偏移位数 b=6b=6
总块数 21626=210=102426216=210=1024 块
每组 4 块 → 组数 S=10244=256S=41024=256 组
组索引位数 s=log2256=8s=log2256=8
标记位数 32−8−6=1832−8−6=18 位
2. 地址到块地址与组号
块大小 64B → 块地址 = 字节地址 ÷ 64(或右移 6 位)
组号 = 块地址 % 256(取低 8 位)
访问序列(十六进制):
0x0000, 0x10000, 0x0000, 0x10000, 0x0000, 0x10000
0x0000:
块地址 = 0x0000 >> 6 = 0
组号 = 0 % 256 = 0
0x10000:
0x10000 = 65536106553610
块地址 = 65536 ÷ 64 = 1024
组号 = 1024 % 256 = 0
所以块 0 和块 1024 映射到同一组(组 0)。
3. 4 路组相联 LRU 访问过程
组 0 有 4 个位置,初始为空。
访问 0x0000(块 0):缺失 → 装入组 0,内容 [0]
访问 0x10000(块 1024):缺失 → 装入组 0,内容 [0, 1024](0 旧,1024 新)
访问 0x0000(块 0):命中 → 更新 LRU,内容 [1024, 0]
访问 0x10000(块 1024):命中 → 更新 LRU,内容 [0, 1024]
访问 0x0000(块 0):命中 → [1024, ...
登录后发布评论
暂无评论,来抢沙发