【计算机组成与原理】基于SPIM-CACHE的Cache实验

实验目的

(1)熟悉SPIM-CACHE模拟器环境
(2)深入认识CACHE的工作原理及其作用。


实验内容

(1)阅读实验指导书资料
(2)下载SPIM-CACHE软件,理解英文论文的基本内容之后,给出几种典型的cache配置,运行英文论文提供的代码,记录运行时CACHE命中率等重要数据;
(3)运行Fig.4代码,配置2个左右不同的CACHE环境,了解mapping functions 即映射规则
(4)运行Fig.7代码,配置2个左右不同的CACHE环境,了解temporal and spatial locality 即时空局部性,进一步理解cache的工作原理;
(5)运行Fig.8代码,配置4个左右不同的CACHE环境,运行学习replacement algorithms 即替代算法,理解其工作原理。


实验记录及实验分析

Fig.4

1. Cache:256B; 槽:8B;映射方式:全相联映射;指令命中率:0.886792;数据命中率:0.5
在这里插入图片描述
在这里插入图片描述

2. Cache:256B; 槽:16B;映射方式:二路组相联映射;指令命中率:0.943396;数据命中率:0.75
在这里插入图片描述
在这里插入图片描述

3. Cache:256B; 槽:4B;映射方式:直接映射;指令命中率:0.792453;数据命中率:0.00
在这里插入图片描述
在这里插入图片描述

实验分析:槽的大小对cache命中率起关键性作用,当槽的越大时,命中率也就越高!

Fig.7(均是在BLOCK SIZE为8B,若有替换算法则替换算法为LRU条件下运行)

N=1:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

N=5:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

N=10:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

N=100:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

实验分析:由实验结果可得当循环次数N增大的时候数据和指令的命中率也同时增大,值得注意的是映射方式不影响命中率,但是影响Way最大值的大小!

Fig8(均是在BLOCK SIZE为8B,若有替换算法则替换算法为LRU条件下运行)

间距为1:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

间距为2:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

间距为4:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

间距为8:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

间距为16:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

间距为32:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

间距为64:

直接映射:
在这里插入图片描述
二路组相联映射:
在这里插入图片描述
四路组相联映射:
在这里插入图片描述
全相联映射:
在这里插入图片描述

实验分析:由实验结果可得当间距为1时命中率正常,且不随着映射方式改变而改变,值得注意的是当间距为2时无论改变何种映射方式命中率都为零,当间距为4的倍数的时候(如4/16/32/64)全相联映射下命中率显示正常,当间距为32的倍数的时候四路组相联映射下命中率正常,间距为64时二路组相联映射下命中率显示正常

实验结论

内部条件如(BLOCK SIZE、CACHE SIZE、映射方式、写方法、替换算法)和外部条件如(程序数据大小、循环次数、间距大小)都会影响命中率的大小。有时候虽然命中率比较高,但是增加了程序的时间开销和空间开销!在实际的实验中我们应该不能盲目的唯命中率高,而是应该考虑性价比以及性能。


结束语

如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hiddenSharp429

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值