文章
179
粉丝
0
获赞
0
访问
41.9k

评分及理由
(1)得分及理由(满分3分)
学生正确计算出块内地址占6位(64B块大小,2^6=64),Cache组号占6位(数据区32KB=2^15B,8路组相联,每组块数8,块大小64B,组数=32KB/(8*64B)=64=2^6,故组号6位),并指出VA中第6~11位(V11~V6)作为Cache索引。与标准答案完全一致,得3分。
(2)得分及理由(满分4分)
学生正确计算出d[100]的VA为018001B0H(起始地址01800020H + 100*4B=400B=190H),并正确计算出组号为6(从地址二进制表示中提取第6~11位)。计算过程和结果与标准答案一致,得4分。
(3)得分及理由(满分4分)
学生正确计算出d[0]在其主存块内的偏移量为20H(32字节),与标准答案一致。但在Cache缺失率计算中,学生错误使用"每次缺页会调入16个"的概念(这是缺页相关,而非Cache缺失),并得出缺失率6.25%。实际上应按主存块大小64B计算,每个块包含16个int,首次访问每个块时发生一次缺失,缺失率应为1/16=6.25%,但标准答案为3.13%,这是因为数组d共有2048个元素,分布在2048/16=128个主存块中,循环访问时每个块被访问一次(因按顺序访问),缺失率=128/2048=6.25%。但标准答案3.13%可能是考虑了预取或其他优化,按学生思路6.25%也有一定道理,但不符合标准答案。平均访问时间计算也基于错误的缺失率。因此扣2分,得2分。
(4)得分及理由(满分2分)
学生计算出d[2048]占用8KB,分布在2个页中(8KB/4KB=2),但标准答案为3页。检查发现:起始地址01800020H,结束地址01800020H+2048*4-1=01800020H+1FFFH=0180201FH。从01800020H到0180201FH跨越了3个虚拟页:01800000H-01800FFFH、01801000H-01801FFFH、01802000H-01802FFFH。学生计算错误,扣2分,得0分。
题目总分:3+4+2+0=9分
登录后发布评论
暂无评论,来抢沙发