ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:530.89KB ,
资源ID:7569257      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7569257.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(cache性能分析实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

cache性能分析实验报告.docx

1、cache性能分析实验报告cache性能分析实验报告计算机系统结构实验报告名 称: Cache性能分析学 院: 信息工程姓 名: 陈 明学 号: S121055专 业: 计算机系统结构年 级: 研 一实验目的1.加深对Cache的基本概念、基本组织结构以及基本工作原理的理解;2.了解Cache的容量、相联度、块大小对Cache性能的影响;3.掌握降低Cache失效率的各种方法,以及这些方法对Cache性能提高的好处;4.理解Cache失效的产生原因以及Cache的三种失效;5.理解LRU与随机法的基本思想,及它们对Cache性能的影响;实验平台Vmware 虚拟机,redhat 9.0 lin

2、ux 操作系统,SimpleScalar模拟器实验步骤1.运行SimpleScalar模拟器;2.在基本配置情况下运行程序(请指明所选的测试程序),统计Cache总失效次数、三种不同种类的失效次数;3.改变Cache容量(*2,*4,*8,*64),运行程序(指明所选的测试程序),统计各种失效的次数,并分析Cache容量对Cache性能的影响;4.改变Cache的相联度(1路,2路,4路,8路,64路),运行程序(指明所选的测试程序),统计各种失效的次数,并分析相联度对Cache性能的影响;5.改变Cache块大小(*2,*4,*8,*64),运行程序(指明所选的测试程序),统计各种失效的次数

3、,并分析Cache块大小对Cache性能的影响;6.分别采用LRU与随机法,在不同的Cache容量、不同的相联度下,运行程序(指明所选的测试程序)统计Cache总失效次数,计算失效率。分析不同的替换算法对Cache性能的影响。预备知识1. SimpleScalar模拟器的相关知识。详见相关的文档。2. 复习和掌握教材中相应的内容(1)可以从三个方面改进Cache的性能:降低失效率、减少失效开销、减少Cache命中时间。(2)按照产生失效的原因不同,可以把Cache失效分为三类: 强制性失效(Compulsory miss)当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cac

4、he,这就是强制性失效。这种失效也称为冷启动失效或首次访问失效。 容量失效(Capacity miss)如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就会发生失效。这种失效称为容量失效。 冲突失效(Conflict miss)在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。这就是发生了冲突失效。这种失效也称为碰撞失效(collision)或干扰失效(interference)。(3)降低Cache失效率的方法:增加Cache块大小、提高相联度、Victim

5、 Cache、伪相联Cache、硬件预取技术、由编译器控制的预取和编译器优化。(4)替换算法 随机法:为了均匀使用一组中的各块,这种方法随机地选择被替换的块。 最近最少使用法LRU(Least Recently Used):选择近期最少被访问的块作为被替换的块。但由于实现比较困难,现在实际上实现的LRU都只是选择最久没有被访问过的块作为被替换的块。f : FIFO,先进先出; r : RANDOM,随机策略。例如:-cache:dl1 dl1:2048:64:4:r,表示对一级数据cache进行配置,2048表示有2048组,64表示cache块大小为64byte,4表示相联度为4,r表示替换

6、策略为RANDOM。在此配置下,一级数据cache的容量为2048*64*4=512KB。由于Simplescalar Spec2000测试程序在其官方网站不能下载,故使用simplescalar模拟器自带的测试程序以及自己设计的一个程序进行测试。自带的测试程序是在 /root/simplescalar/simplesim-3.0/tests-pisa/bin.little目录下的test-math,test-fmath,test-llong以及test-printf。我们所有的实验内容都是对一级数据cache来进行分析的。在simplescalar中,我们使用的模拟器是sim-cache。二

7、 simplescalar模拟器基本配置情况下的运行模拟在基本的配置情况下运行自己设计的程序,代码如下:#includeMain()printf(“hello world!n”);return 0;1.编辑好程序后,将其保存在/root/simplescalar文件夹下,文件命名为hello.c,用安装好的simplescalar中的编译器sslittle-na-sstrix-gcc(它的访问目录为/root/simplescalar/bin/sslittle-na-sstrix-gcc)对其进行编译,编译后生成了能够在模拟器中可以运行的可执行文件a.out。命令行运行界面如下图所示:2.我们

8、使用simplescalar中的模拟器sim-cache对a.out模拟执行,执行后的界面如下图所示:说明:下面的截取的界面是一个完整的界面,限于完整的界面太大,在后面的实验内容的三、四、五、六部分只截取了我们需要的部分界面。3.对运行结果进行分析从上面的运行结果中我们提取出一级数据cache(dl1)的信息进行分析:dl1.accesses 4420 # total number of accesses 一级数据cache上的总访问次数dl1.hits 3963 # total number of hits 一级数据cache上的命中次数dl1.misses 457 # total numb

9、er of misses 一级数据cache上的失效次数dl1.replacements 201 # total number of replacements一级数据cache上发生替换的次数dl1.writebacks 190 # total number of writebacks一级数据cache上发生写回的次数dl1.invalidations 0 # total number of invalidations一级数据cache上无效访问的次数dl1.miss_rate 0.1034 # miss rate (i.e., misses/ref) 一级数据cache上的失效率dl1.re

10、pl_rate 0.0455 # replacement rate (i.e., repls/ref) 一级数据cache上发生替换的概率dl1.wb_rate 0.0430 # writeback rate (i.e., wrbks/ref) 一级数据cache上发生写回的概率dl1.inv_rate 0.0000 # invalidation rate (i.e., invs/ref) 一级数据cache上发生无效访问的概率从分析中,我们可以得出,一级数据cache总共的失效次数(dl1.misses)为457次,我们知道容量失效和冲突失效都发生了替换,所以它们的失效次数(dl1.repl

11、acements)总共为201次,强制性失效次数为457-201=256次。一级数据cache的总失效率为0.1034。三 Cache容量对Cache性能的影响1.操作说明:(1)改变simplescalar模拟器中的一级数据cache(dl1)的容量配置,我们通过改变组数来改变它的容量。与此同时固定块大小为32byte、相联度为2以及替换策略为LRU等参数。(2)测试的程序是simplescalar自带的测试程序test-math。2.运行的界面(截取了部分所需的界面)如下图所示:容量为2KB(32*32*2*1)时,容量为4KB(64*32*2*1)时,容量为8KB(128*32*2*1)

12、时,容量为64KB(1024*32*2*1)时,3.运行结果分析从面的运行结果中,我们提取所需要的一级数据cache的信息,如下表所示:dd1容量总的失效次数总的失效率容量失效和冲突失效总次数强制性失效次数2KB13950.02431331644KB8400.01467121288KB6690.011641325664KB5420.00940542从上表,我们可以分析出,随着cache容量的不断增加,程序的失效率不断降低。容量失效和冲突失效的次数随着cache容量的增加不断地减少,而强制性失效次数则不断地增加。四 Cache相联度对Cache性能的影响1.操作说明(1)改变simplescal

13、ar模拟器中的一级数据cache的相联度大小。与此同时固定cache的容量16KB、块大小32byte以及替换策略为LRU等参数。(2)测试的程序是simplescalar自带的测试程序test-fmath。2.运行的界面(只截取了部分所需的界面)如下图所示:相联度为1路时,相联度为2路时,相联度为4路时,相联度为8路时,相联度为64路时,3 运行结果分析从上面的运行结果中,我们提取所需要的一级数据cache的信息,如下表所示:dl1相联度总的失效次数总的失效率容量失效和冲突失效总次数强制性失效的次数14920.02968340924920.02967641644760.02862844884

14、720.028410462644700.02820470从上表,我们可以分析得出,随着相联度的增加,程序的失效率逐渐降低,但降低的幅度比较小。容量失效和冲突失效的次数随着相联度的增加不断地减少,而强制性的失效次数则不断地增加。五 Cache块大小对Cache性能的影响1.操作说明(1)改变simplescalar模拟器中的一级数据cache的块大小。与此同时固定Cache的容量为32KB、相联度为2以及替换策略为LRU等参数。(2)测试的程序是simplescalar自带的测试程序test-printf。2.运行的界面(只截取了部分所需的界面)如下图所示:块大小为8byte时,块大小为16by

15、te时,当块大小为32byte时,当块大小为64byte时,3.对上面的运行结果,我们提取所需要的一级数据cache的信息,如下表所示:块大小总的失效次数总的失效率容量失效和冲突失效总次数强制性失效的次数8byte20500.00392204816byte10610.00202105932byte5600.0011355764byte2950.00062293从上表,我们可以分析得出,随着块大小的增加,程序的失效率逐渐地降低。容量失效和冲突失效的次数随着块大小的增加,基本维持在一个稳定的值,而强制性的失效次数则不断地降低,且幅度比较大。六 Cache的替换策略对Cache性能的影响1.操作说明

16、(1)改变simplescalar模拟器中的一级数据cache的替换策略。与此同时固定Cache的块大小为32byte、相联度为2。在Cache容量为2KB、4KB、8KB和64KB的情况下,分别进行测试。(2)测试的程序是simplescalar自带的测试程序test-llong。2.运行的界面(只截取了部分所需的界面)如下图所示:容量为2KB时,使用了LRU替换策略使用了RANDOM策略容量为4KB时,使用了LRU替换策略使用了RANDOM策略容量为8KB时,使用了LRU策略使用了RANDOM策略容量为64KB时,使用了LRU替换策略使用了RANDOM策略3.对上面的运行结果,我们提取所需

17、要的一级数据cache信息,如下表所示:dl1容量替换策略总的失效次数总的失效率容量失效和冲突失效总次数强制性失效的次数2KBl4740.0453410642KBr4840.0462420644KBl4660.0445338284KBr4670.0446341268KBl4650.04442092568KBr4650.04442333264KBl4390.0419043964KBr4390.04191438从上表我们可以分析得出,最近最少使用策略(LRU)相对较好,但它与随机策略在一定的cache容量范围内相差不大。容量失效和冲突失效次数,使用LRU替换策略的情况下,比较少;而强制性失效次数,使用RANDOM替换策略的情况下,比较少。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1