文章
14
粉丝
0
获赞
0
访问
1.3k
1.由于数组按行优先存储,所以空间局部性较好,每个元素只被访问一次,所以时间局部性较差。
2.由于每个主存块为 16 字节,则每个块可以存储 4 个 float 数组元素。直接映射方式,一共 32/16 = 2 行,行号 1 位为 32 位地址中的倒数第 5 位,起始地址 0000 0040H 位于一个块的起始位置。x 和 y 的前半部分映射到 Cache 第 0 行,后半部分映射到第 1 行,访问交替进行,每次都发生冲突替换,全未命中,命中率 = 0%。
3.改用2 - 路组相联映射方式,每组可缓存两个块,x 的 4 个块映射到组 0,y 的 4 个块映射到组 1,每两个块替换一次,命中一半,命中率 = 50%。
4.神人题目,你自己看看你这个条件程序能过编译不呢
评分及理由
(1)得分及理由(满分2分)
学生答案正确描述了空间局部性较好(按行优先存储)和时间局部性较差(每个元素只访问一次),与标准答案一致。得2分。
(2)得分及理由(满分3分)
学生正确分析了Cache行数、块大小、映射关系,并指出x和y的前半部分映射到Cache第0行、后半部分映射到第1行,访问交替导致冲突替换,命中率为0%。分析过程与标准答案一致。得3分。
(3)得分及理由(满分3分)
学生正确指出2路组相联下每组可缓存两个块,但错误地认为x的4个块映射到组0、y的4个块映射到组1。实际上,在2路组相联、块大小为8字节条件下,x和y的块会根据地址映射到相同的组(组0和组1交替),但学生未正确分析组映射关系,仅简单得出命中率50%。虽然结论正确,但分析过程存在错误,扣1分。得2分。
(4)得分及理由(满分3分)
学生未给出任何分析,仅以不当语言评论题目,属于未作答。得0分。
题目总分:2+3+2+0=7分
登录后发布评论
暂无评论,来抢沙发