cache模拟器实验报告

cache模拟器实验报告

ID:14450838

大小:274.50 KB

页数:15页

时间:2018-07-28

cache模拟器实验报告_第1页
cache模拟器实验报告_第2页
cache模拟器实验报告_第3页
cache模拟器实验报告_第4页
cache模拟器实验报告_第5页
资源描述:

《cache模拟器实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Cache模拟器一、实验目标:程序运行时,都会对内存进行相关操作,所访问的内存地址可以被记录下来,形成memorytrace文件。在本实验中,你将使用benchmark程序产生的memorytrace文件来测试Cache命中率,文件可以在http://cseweb.ucsd.edu/classes/fa07/cse240a/proj1-traces.tar.gz上获得。每次存储器访问都包含了三个信息:1.访问类型,’l’表示Load操作,’s’表示Store操作;2.地址。采用32位无符号的十六进制表示;3.存储器访问指令之间的间隔指令数。例如第5条指令和第

2、10条指令为存储器访问指令,且中间没有其他存储器访问指令,则间隔指令数为4。通过写一段程序,模拟Cache模拟器的执行过程。二、实验要求:写一段程序模拟Cache模拟器的执行过程,并对5个trace文件进行测试,完成以下目标:1.请统计Load类型指令和Store类型指令在这5个trace文件中的指令比例。2.设Cache总容量为32KB,对以下所有参数进行组合(共有72种组合),测量相应5个文件的Cache命中率。通过对命中率的分析,可以发现什么规律。行大小:32字节、64字节、128字节相连度:8路相联、4路相联、2路相联、1路相联替换策略:FIFO,随

3、机替换,LRU写策略:写直达、写回3.给出5个文件的最佳Cache命中率的参数组合。针对不同的trace文件,最佳配置是否相同。4.测量各种组合下Cache和主存之间的数据传输量。5.给出5个文件的最小数据传输量的参数组合。这个组合和第3问中得到的组合是否一致。针对不同的trace文件,最佳配置是否相同。6.Cache缺失有三种原因:1)强制缺失;2)容量缺失;3)冲突缺失。分析这三种缺失并说明你的分析方法。7.请给出5个trace文件在最优Cache命中率的情况下,这三种缺失所占的比例,并和教材图C.8给出的比例进行比较。三、程序设计与实现:本程序我打算采

4、用java进行编写,因为java能够很好地体现面向对象编程的优点。首先需要定义相关的数据类型。将指令定义为一个单独的指令类,好方便操作和记录统计,其中属性包括该指令的类型,比如是Load指令还是Store指令,还包括指令的地址。classInstruction{Stringtype;Stringaddrs;}将Cache定义为一个类,Cache中的字段包括Tag标识字段,用于查找到相应组后进行比较看是否命中。Dirty字段用于写回策略中判断是否数据已经被修改了,如果修改了则在置换的时候需要写回,在统计Cache与主存的数据传输量时需要用到。最后一个字段是co

5、unt,该字段用于记录该Cache块最近被访问的频度,用于组相连时LRU替换策略时判断哪个块最长时间没被访问到。classCache{inttag;intdirty;intcount;}最后定义一个Cache模拟器类。用一个二维数组来模拟Cache,因为二维数组可以很好地表示组相连Cache,而直接相连和全相联Cache都是组相连的特殊情况,当第一维为1时,表示全相连Cache,当第二维为1时,表示直接相连Cache。publicclassCacheSimulator{publiclongsize;//Cache大小publicintline_size;//

6、块大小publicintset_associativity;//相联度publicstaticlongset_count;//组数publicint[]set_indexs;//用于FIFO中记录需替换的块号publicCache[][]caches;publicstaticArrayListinstrs=newArrayList();publicstaticHashSetcompulsory=newHashSet();//记录强制缺失publicstaticlongconf

7、lict;//记录冲突缺失publicbooleanwrite_method=false;//false表示写回,true表示写直达publicintreplace_method=0;//0为Random,1为FIFO,2为LRUpublicstaticHitRationType[]hitRations=newHitRationType[72];publicstaticintcommunication_times;Randomrand=newRandom(set_associativity);//用于随机替换策略staticintoffset=0;stati

8、cintread_misses=0,read_hit

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。