- 第43题回答
计算机组成原理
发布于2025年6月14日 15:59
阅读数 102
1) 主存地址中的 Cache 组号、块内地址及 VA 索引位分析
- 组号位数: Cache 数据区大小为 32KB,8 路组相联,主存块大小 64B。 组数 = 32KB / (64B × 8) = 64 组,故组号占 \(\log_2(64) = 6\) 位。
- 块内地址位数: 主存块大小 64B,故块内地址占 \(\log_2(64) = 6\) 位。
- VA 中作为 Cache 索引的位: VA 的低 6 位为块内地址,中间 6 位(位 6~11)为组号,即组号位作为 Cache 索引。
2) d [100] 的 VA 及对应 Cache 组号计算
- d [100] 的 VA: 数组 d 起始地址为 01800020H(十六进制),每个元素占 4 字节(int 类型),故 d [100] 的地址偏移为 \(100 \times 4 = 400\) 字节(即 190H)。 VA = 01800020H + 190H = 018001B0H。
- Cache 组号: 主存地址中组号由 “(地址 // 块大小) % 组数” 确定。 d [100] 的地址为 018001B0H,块大小 64B(40H),组数 64。 地址转换为十进制:018001B0H = 16777216 + 524288 + 432 + 176 = 17301936。 块地址 = 17301936 // 64 = 270342,组号 = 270342 % 64 = 6。
3) d [0] 的偏移量、Cache 缺失率及平均访问时间
- d [0] 的主存块内偏移量: d [0] 地址为 01800020H,块内偏移量 = 地址 % 64 = 01800020H % 64 = 32H = 32 字节。
- Cache 缺失率: 数组 d 含 2048 个元素,每个主存块存 16 个元素(64B/4B=16),共 \(2048/16 = 128\) 个块。 访问时每个块首次访问缺失,后续同块元素命中。 缺失率 = 缺失次数 / 总访问次数 = 128 / 2048 = 6.25%。
...
登录后发布评论
暂无评论,来抢沙发