操作系统
2019-46
对于题45,若计算机M的主存地址为32位,采用分页存储管理方式,页大小为4KB,则第1行的 push 指令和第30行的 ret 指令是否在同一页中(说明理由)?若指令Cache有64行,采用4路组相联映射方式,主存块大小为64B,则32位主存地址中,哪几位表示块内地址?哪几位表示Cache组号?哪几位表示标记(tag)信息?读取第16行的call指令时,只可能在指令Cache的哪一组中命中(说明理由)?
答案
第 1 行 push 的地址为 00401000H,第 30 行 ret 的地址为 0040104AH,两者的高 20 位页号相同,因此在同一页中。
指令 Cache 有 64 行、4 路组相联,共 16 组;主存块大小为 64 B。因此 32 位地址中:
- 第 0~5 位:块内地址;
- 第 6~9 位:Cache 组号;
- 第 10~31 位:标记。
第 16 行 call 地址为 00401025H,其组号字段为 0000,只可能在第 0 组命中。