返回主页
学习人数: 10
stroke-dashoffset="*2.6389" stroke-linecap="round" transform="rotate(-90 50 50)"/>
正确率: 100%
未通过

(13分)已知某计算机系统参数及代码如下,回答下列问题:
系统参数
虚拟地址空间:32 位
页式存储管理:页大小 4KB($2^{12}$),物理内存容量 1GB($2^{30}$)
Cache 参数:容量 64KB,块大小 64B($2^{6}$),4 路组相联,LRU 替换策略
页表映射规则:虚拟页号(VPN)→ 物理页号(PPN)= VPN - 0x1000(VPN 范围 0x1000~0x13FF 时,PPN 范围 0x000~0x3FF,无页失效)
数据类型:int 占 4 字节,二维数组int a[1024][1024]起始虚拟地址为 0x10000000
代码片段

代码 1(行优先访问):
for (int i = 0; i < 1024; i++) {
    for (int j = 0; j < 1024; j++) {
        a[i][j] = 0; // 每次访问1个int元素
    }
}

代码 2(列优先访问):
for (int j = 0; j < 1024; j++) {
    for (int i = 0; i < 1024; i++) {
        a[i][j] = 0; // 每次访问1个int元素
    }
}

问题

(1)分别写出虚拟地址、物理地址、Cache 地址的结构(标明各字段名称及位数)。(3分)

(2)计算代码 1 中访问a[0][0]和a[1023][1023]的虚拟页号(VPN)、物理页号(PPN)及物理地址。(6分)

(3)忽略页失效,仅考虑 Cache 失效,计算代码 1 执行过程中 Cache 的命中率(需写出计算过程)。(2分)

(4)若将代码 1 改为代码 2(列优先访问),分析 Cache 命中率的变化趋势,并说明原因(需结合地址访问模式与 Cache 映射特性)。(2分)

回答区域
提示
提示内容

登录后提交答案


暂无评论,来抢沙发