计算机组成原理作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理
实验报告
学院(系):软件
专业:软工JAVA
班级:一班
学号:1415925062
姓名:陈弈山
年月日
实验1 Cache模拟器的实现
一.实验目的
(1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。
(2)掌握Cache容量、相联度、块大小对Cache性能的影响。
(3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。
(4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。
二、实验内容和步骤
1、启动CacheSim。
2、对CacheSim的压缩包进行解压,打开CacheSim.exe,出现下面的运行黑框。
4、读取cache-traces.zip中的trace文件。
5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。在gcc.trace中的数据比较块容量与命中率的关系
三、实验方法
通过控制变量法,保持其他变量不变,只改变想要测试的变量的大小,来分析其对结果的影响。
1.通过实验看cache容量对C PU命中率的影响
Cache = 8K
cache容量= 16KB
cache容量= 64KB
2.通过实验看块容量对C PU命中率的影响
块容量= 8 B
块容量= 16 B
块容量= 32 B
块容量= 64 B
3.替换策略对命中率影响数据分析
4.映射方式对命中率的影响:
数据举例其一:
5.分析数据:
1、Cache的命中率与其容量的关系:
Cache 的容量与块长是影响cache效率的重要因素;
Cache 容量越大,其CPU命中率就越高,当然容量过大,增加成本,而且cache容量达到一定值时,命中率已不因容量的增加而又明显的提高
2、Cache块大小对命中率的影响:
Cache 当块由小到大,在已被访问字的附近,近期也可能访问,增大块长,可将更多有用字存入缓存,提高命中率;但是继续增大块长,命中率可能下降,因为所装入缓存的有用数据反而少于被替换掉的有用数据,由于块长增大,块数减少,装入新的块要覆盖旧块,很可能出现少数块刚装入就被覆盖,故命中率会下降
3、替换算法和相联度大小对不命中率有何影响?
替换算法中:LRU算法的平均命中率比FIFO的高
LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块,它需要随时记录cache 各个字块使用情况。FIFO不需要记录各个字块的使用情况,比较容易实现开销小,但是没有根据访存的局部性原理,最早调入的信息可能以后还要用到,或经常用到例如循环程序;Cache 容量一定时,随着相联度的不断增加,不命中率渐渐减小,但是当相连度增加到一定程度时,不命中率保持不变
四.实验心得:
实验所需要的知识点是高速缓冲存储器第四章的基础内容,对实验所需要的重点名词,进行了理解;命中率,访问效率,平均访问时间例题进行了理解,从而分析了Cache容量,相关度,块大小,替换算法对命中率的影响。