对于题 45,若计算机 M 的主存地址为 32 位,釆
对于题 45,若计算机 M 的主存地址为 32 位,釆用分页存储管理方式,页大小 为 4KB,则第 1 行的 push 指令和第 30 行的 ret 指令是否在同一页中(说明理由)?若指令 Cache 有 64 行,采用 4 路组相联映射方式,主存块大小为 64B,则 32 位主存地址中,哪几位表示块 内地址?哪几位表示 Cache 组号?哪几位表示标记(tag)信息?读取第 16 行的 call 指令时, 只可能在指令 Cache 的哪一组中命中(说明理由)?
【答案解析】
因为页大小为 4KB,所以虚拟地址的高 20 位为虚拟页号。第 1 行的 push 指令和第 30 行的 ret 指令的虚拟地址的高 20 位都是 00401H,因此两条指令在同一页中。 指令 Cache 有 64 块,采用 4 路组相联映射方式,故指令 Cache 共有 64/4 = 16 组,Cache 组号共 4 位。主存块大小为 64B,故块内地址为低 6 位。综上所述,在 32 位主存地址中,低 6 位为块内地址,中间 4 位为组号,高 22 位为标记。 因为页大小为 4KB,所以虚拟地址和物理地址的最低 12 位完全相同,因而 call 指令虚拟地 址 0040 1025H 中的 025H = 0000 0010 0101B 为物理地址的低 12 位,对应的 7~10 位为 组号,故对应的 Cache 组号为 0。
答案
暂无答案