题3

题目

【2019 统考真题】对于题 45,若计算机 M 的主存地址为 32 位,釆用分页存储管理方式,页大小为 4KB,
则第 1 行的 push 指令和第 30 行的 ret 指令是否在同一页中(说明理由)?
若指令 Cache 有 64 行,采用 4 路组相联映射方式,主存块大小为 64B,则 32 位主存地址中,哪几位表示块内地址?
哪几位表示 Cache 组号?
哪几位表示标记(tag)信息?
读取第 16 行的 call 指令时,只可能在指令 Cache 的哪一组中命中(说明理由)?

分析


题11

题46

因为页大小为 ,所以虚拟地址的高 20 位为虚拟页号。第 1 行的 push 指令和第 30 行的 ret 指令的虚拟地址的高 20 位都是 ,因此两条指令在同一页中。

指令 Cache 有 64 块,采用 4 路组相联映射方式,因此指令 Cache 共有 组,Cache 组号共 4 位。主存块大小为 ,因此块内地址为低 6 位。综上所述,在 32 位主存地址中,低 6 位为块内地址, 中间 4 位为组号, 高 22 位为标记。

因为页大小为 ,所以虚拟地址和物理地址的最低 12 位完全相同,因此 call 指令虚拟地址 中的 为物理地址的低 12 位,对应的 位为组号,因此对应的 Cache 组号为 0 。