文章
7
粉丝
0
获赞
0
访问
309
(1) 根据每次循环时的x,y访问情况,由于x,y均为数组,切实从前往后依次访问,则有空间局部性,但是每个元素仅访问一次,则时间局部性没有
(2) float使用IEEE754标准的单精度浮点数,每个元素占用4B。将x的首地址后8位转换为二进制得到 0100 0000。再对Cache进行分析,每个存储块大小是16B,则内存地址的偏移量占用4bit,即最后四位;共32B的Cache,则共两行。后对地址进行分析,一个存储块是16B,则一行Cache能存储4个元素,x,y 的大小均为8个float数,且x的首地址的偏移量是0,则装入cache时是从第一块开始,一共占用两行,且每次访问一个元素,y在x后,也是大小是8的数组,则与x同情况。但是由于x,y均占用完整的两行,x,y会被映射到同一行,则命中率为0。
(3)由于一共两行,且二路组相联且块大小为8B,共两组。则根据(2);最开始时x,y均可被装进Cache;则仅仅会在访问x[0],y[0].x[2],y[2]等时会缺失,命中率为 50%。
(4)分析得到总命中:4 次为x[1], x[3], y[1], y[3]。总访问16 次 得到命中率 = 4 / 16 = 25%
评分及理由
(1)得分及理由(满分2分)
得分:2分
理由:学生正确分析了数组访问的空间局部性和时间局部性,与标准答案一致。
(2)得分及理由(满分3分)
得分:3分
理由:学生详细分析了Cache映射方式、块大小和数组存储情况,正确得出命中率为0%的结论,与标准答案一致。
(3)得分及理由(满分3分)
得分:3分
理由:学生正确分析了2-路组相联映射方式下的Cache行为,得出命中率为50%的结论,与标准答案一致。
(4)得分及理由(满分3分)
得分:0分
理由:学生的分析错误,命中率计算不正确。标准答案中命中率为75%,而学生计算为25%,逻辑错误。
题目总分:2+3+3+0=8分
登录后发布评论
暂无评论,来抢沙发