Cache模拟器的实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档