Cache模拟器的实现_第1页
Cache模拟器的实现_第2页
Cache模拟器的实现_第3页
Cache模拟器的实现_第4页
Cache模拟器的实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上计算机组成原理实验报告学院(系): 南阳理工软件学院 专 业: 移动设备应用开发班 级: 移动二班 学 号: 姓 名: 张彪 2017年 11 月 7 日实验1 Cache模拟器的实现一.实验目的(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。(2)掌握Cache容量、相联度、块大小对Cache性能的影响。(3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。(4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。二、实验内容和步骤1、启动CacheSim。找到老师给的文件双击打开就启动完成(截图如下)进入页

2、面:2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。Cache : 高速缓冲存储器。高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。 Cache的功能是用来存放那些近期需要运行的指令与数据。目的是提高CPU对存储器的访问速度。工作机制:主要由三大部分组成: Cache存储体:存放由主存调入的指令与数据块。地址转换部件:建立目录表以实现主存地址到缓存地址的转换。替换部件:在缓存已满时按一定策略进行数据块替换,并修改地 址转换部件。3、依次输入以下参数:Cache容量、块容量、映射方式、替换策

3、略和写策略。Cache容量块容量映射方式替换策略写策略256KB8 Byte直接映射-64KB32 Byte4路组相联LRU-64KB32 Byte4路组相联随机-8KB64 Byte全相联LRU-4、读取cache-traces.zip中的trace文件。5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。 Cache的数据如上表数据先使用: 第一行的数据运行截图: 观察表中的数据 通过上图可知:访问次数读出次数写入次数平均命中率读出命中率写入命中率59721.03791%93.2351%0.27452%第二行的数据运行截图:观察表中的数据 通过上图可知:访问次数读

4、出次数写入次数平均命中率读出命中率写入命中率597275.2378%96.1654%75.0645%第三行的数据运行截图:观察表中的数据 通过上图可知:访问次数读出次数写入次数平均命中率读出命中率写入命中率597275.2374%96.1487%75.0643%第四行的数据运行截图:观察表中的数据 通过上图可知:访问次数读出次数写入次数平均命中率读出命中率写入命中率597287.6024%96.5673%87.5282%思考:1、Cache的命中率与其容量大小有何关系? 进行以下测试 采用控制变量法 让其容量大小分别为 8KB、16KB、32KB 、64KB 128KB保持快容量为8B,其他因

5、素固定不变进行测试:容量大小为8KB时:容量大小为16KB时(为了方便一下数据直接截图命中率) 容量大小为32KB时容量大小为64KB时容量大小为128KB时制作图表如下:Cache容量KB快容量B映射方式替换策略写策略命中率8KB32B直接映射Write_through75.2232%16KB32B直接映射Write_through75.2279%32KB32B直接映射Write_through75.236%64KB32B直接映射Write_through75.2364%128KB32B直接映射Write_through75.2367%将所有测试的数据绘制成折线图,更清晰的展现,如

6、下 得到结论:一般而言,cache用量越大,其cpu命中率越高,当然容量也没必要太大,当cache容量达到一定值时,命中率不因容量增大而有明显提高。 2、Cache块大小对不命中率有何影响?进行以下测试 采用控制变量法 让其块量大小分别为 8B、16B、32B 、64B 128B保持cache容量为32KB,其他因素固定不变进行测试(先测试对命中率影响):块容量为8B时块容量为16B时块容量为32B时块容量为64B时块容量为128B时块容量为256B时块容量为1024B时块容量为2048B时块容量为4096B时制作图表如下:Cache容量KB快容量B映射方式替换策略写策略命中率32K

7、B8B直接映射Write_through1.03695%32KB16B直接映射Write_through50.5014%32KB32B直接映射Write_through75.236%32KB64B直接映射Write_through87.606%32KB128B直接映射Write_through93.7925%32KB256B直接映射Write_through96.8874%32KB1024B直接映射Write_through99.2022%32KB2048B直接映射Write_through99.8289%32KB4096B直接映射Write_through75.236%将所有测试的数据绘制成

8、折线图,更清晰的展现,如下 得到结论:一般而言,cache块越大,其cpu命中率越高,当然块也没必要太大,当cache块达到一定值时,命中率随着块增大反而降低。 3、替换算法和相联度大小对不命中率有何影响? 替换策略时4路组相连时FIFO时:LUR时Random时 收集数据制表Cache容量快容量映射方式替换策略写策略命中率64Kb32B4路组相连先进先出(FIFO)Write_throurh2.01518%64Kb32B4路组相连近期最少使用(LRU)Write_throurh75.2378%64Kb32B4路组相连随机发(RANDOM)Write_throurh75.2

9、374%2路组相连时FIFOLRURANDOM收集数据制表Cache容量快容量映射方式替换策略写策略命中率64Kb32B2路组相连先进先出(FIFO)Write_throurh1.24761%64Kb32B2路组相连近期最少使用(LRU)Write_throurh75.2377%64Kb32B2路组相连随机发(RANDOM)Write_throurh75.2374%8路组相连时FOFOLRURANDOM收集数据制表Cache容量快容量映射方式替换策略写策略命中率64Kb32B8路组相连先进先出(FIFO)Write_throurh2.19559%64Kb32B8路组相连近期最少使用(LRU)W

10、rite_throurh75.2377%64Kb32B8路组相连随机发(RANDOM)Write_throurh75.2375%以上图表数据融合绘制成柱状图:(图表数据保留了两位小数)三个表中数据合计:4路组相连2路组相连8路组相连FIFO2.01518%1.24761%2.19559%LRU75.2378%75.2377%75.2377%RANDOM75.2374%75.2374%75.2375%从上图中可以看出 LRU(命中率)>FIFO(命中率)相连度大小的影响:根据上表制表随着路组增大命中率增大 但是幅度偏小 lru出现下降三.实验结果分析:根据实验内容及上述数据结果可知:I.C

11、ache 容量不同时它的命中率也会随之改变;当Cache 块容量- 一定时,Cache 容量越大,其CPU 的平均命中率越高2.Cache 块大小不同时对命中率也会有影响。Cache 块容量越大,其不命中率越低3.替换算法和相联度对命中率也有影响.由实验数据可知,当保持相联度大小致时,替换策略为近期最少使用算法的命中率高于先进先出算法的命中率。当保持替换策略 一致时,随着路组增大命中率增大 但是幅度偏小 lru出现下降。四.实验心得通过本次实验:对命中率,访问效率,平均访问时间例题进行了理解,从而分析了Cache容量,相关度,块大小,替换算法对命中率的影响。同时也对命中率相关计算有了了解:设Nc为访问访问Cache

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论