首页 习题正文

46.(7分)对于题45,若计算机M的主存地址为32位,来用

46.(7分)对于题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。

正在整理中,欢迎在文下评论区提供答案解析,谢谢!
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://scpro.cn/v/0abc83914fe74c93.html