Cache模拟器的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理
实验报告
学院(系):南阳理工软件学院
专业:移动设备应用开发
班级:移动二班
学号:1515925542
姓名:张彪
2017年11 月7 日
实验1 Cache模拟器的实现
一.实验目的
(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。
(2)掌握Cache容量、相联度、块大小对Cache性能的影响。
(3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。
(4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。
二、实验内容和步骤
1、启动CacheSim。
找到老师给的文件双击打开就启动完成(截图如下)
进入页面:
2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。
Cache : 高速缓冲存储器。
高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU 的速度。Cache的功能是用来存放那些近期需要运行的指令与数据。目的是提高CPU对存储器的访问速度。
工作机制:
主要由三大部分组成:
Cache存储体:存放由主存调入的指令与数据块。
地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。
3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。
4、读取cache-traces.zip中的trace文件。
5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。Cache的数据如上表数据先使用:
第一行的数据运行截图:
观察表中的数据
通过上图可知:
第二行的数据运行截图:
观察表中的数据
通过上图可知:
第三行的数据运行截图:
观察表中的数据
通过上图可知:
第四行的数据运行截图:
观察表中的数据通过上图可知:
思考:1、Cache的命中率与其容量大小有何关系?
进行以下测试采用控制变量法让其容量大小分别为8KB、16KB、32KB 、64KB 128KB保持快容量为8B,其他因素固定不变进行测试:
容量大小为8KB时:
容量大小为16KB时
(为了方便一下数据直接截图命中率)
容量大小为32KB时
容量大小为64KB时
容量大小为128KB时
制作图表如下:
将所有测试的数据绘制成折线图,更清晰的展现,如下
得到结论:
一般而言,cache用量越大,其cpu命中率越高,当然容量也没必要太大,当cache容量达到一定值时,命中率不因容量增大而有明显提高。
2、Cache块大小对不命中率有何影响?
进行以下测试采用控制变量法让其块量大小分别为8B、16B、32B 、64B 128B 保持cache容量为32KB,其他因素固定不变进行测试(先测试对命中率影响):块容量为8B时
块容量为16B时
块容量为32B时
块容量为64B时
块容量为128B时
块容量为256B时
块容量为1024B时
块容量为2048B时
块容量为4096B时
制作图表如下:
将所有测试的数据绘制成折线图,更清晰的展现,如下
得到结论:
一般而言,cache块越大,其cpu命中率越高,当然块也没必要太大,当cache块达到一定值时,命中率随着块增大反而降低。
3、替换算法和相联度大小对不命中率有何影响?
替换策略时
4路组相连时FIFO时:
LUR时
Random时
收集数据制表
2路组相连时FIFO
LRU
RANDOM
收集数据制表
8路组相连时
FOFO
LRU
RANDOM
收集数据制表
以上图表数据融合绘制成柱状图:
(图表数据保留了两位小数)
0.00%
10.00%20.00%30.00%40.00%50.00%60.00%70.00%80.00%FIFO
LRU
RANDOM
4路组相连2路组相连8路组相连
三个表中数据合计:
从上图中可以看出LRU(命中率)>FIFO(命中率)
相连度大小的影响:
根据上表制表
随着路组增大命中率增大但是幅度偏小lru出现下降
三.实验结果分析:
根据实验内容及上述数据结果可知:
I.Cache 容量不同时它的命中率也会随之改变;
当Cache 块容量- 一定时,Cache 容量越大,其CPU 的平均命中率越
高
2.Cache 块大小不同时对命中率也会有影响。
Cache 块容量越大,其不命中率越低
3.替换算法和相联度对命中率也有影响.
由实验数据可知,当保持相联度大小致时,替换策略为近期最少使用算法的命
中率高于先进先出算法的命中率。当保持替换策略一致时,随着路组增大命中率增大但是幅度偏小lru出现下降。
四.实验心得
通过本次实验:对命中率,访问效率,平均访问时间例题进行了理解,从而分析了Cache容量,相关度,块大小,替换算法对命中率的影响。同时也对命中率相关计算有了了解:
设Nc为访问访问Cache的总命中次数Nm为访问主存的次数则命中率h为:
h= Nc/Nc+Nm
设Tc为命中访问cache时间Tm为未命中访问时间平均访问时间Ta
平均访问时间:Ta=hTc+(1-h)Tm
得到平均命中率:命中时访问cache时间/平均访问时间
e = Tc/Ta