cache性能分析实验报告文档格式.docx

上传人:b****3 文档编号:15972052 上传时间:2022-11-17 格式:DOCX 页数:32 大小:323.14KB
下载 相关 举报
cache性能分析实验报告文档格式.docx_第1页
第1页 / 共32页
cache性能分析实验报告文档格式.docx_第2页
第2页 / 共32页
cache性能分析实验报告文档格式.docx_第3页
第3页 / 共32页
cache性能分析实验报告文档格式.docx_第4页
第4页 / 共32页
cache性能分析实验报告文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

cache性能分析实验报告文档格式.docx

《cache性能分析实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《cache性能分析实验报告文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

cache性能分析实验报告文档格式.docx

5.理解LRU与随机法的基本思想,及它们对Cache性能的影响;

实验平台

Vmware虚拟机,redhat9.0linux操作系统,SimpleScalar模拟器

实验步骤

运行SimpleScalar模拟器;

在基本配置情况下运行程序(请指明所选的测试程序),统计Cache总失效次数、三种不同种类的失效次数;

3.

4.

改变Cache容量(*2,*4,*8,*64),运行程序(指明所选的测试程序),统计各种失效的次数,并分析Cache容量对Cache性能的影响;

改变Cache的相联度(1路,2路,4路,8路,64路),运行程序(指明所选的测试程序),统计各种失效的次数,并分析相联度对Cache性能的影响;

5.改变Cache块大小(*2,*4,*8,*64),运行程序(指明所选的测试程

序),统计各种失效的次数,并分析Cache块大小对Cache性能的影响;

6.分别采用LRU与随机法,在不同的Cache容量、不同的相联度下,运行程序

(指明所选的测试程序)统计Cache总失效次数,计算失效率。

分析不同的替换算法对Cache性能的影响。

预备知识

1.SimpleScalar模拟器的相关知识。

详见相关的文档。

2.复习和掌握教材中相应的内容

可以从三个方面改进Cache的性能:

降低失效率、减少失效开销、

减少Cache命中时间。

(2)按照产生失效的原因不同,可以把Cache失效分为三类:

1强制性失效(Compulsorymiss)

当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache,这就是强制性失效。

这种失效也称为冷启动失效或首次访问失效。

2容量失效(Capacitymiss)

如果程序执行时所需的块不能全部调入Cache中,则当某些块被替

换后,若又重新被访问,就会发生失效。

这种失效称为容量失效。

3冲突失效(Conflictmiss)

在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。

这就是发生了冲突失效。

这种失效也称为碰撞失效(collision)或干扰失效(interferenee)。

(3)

降低Cache失效率的方法:

增加Cache块大小、提高相联度、

VictimCache、伪相联Cache硬件预取技术、由编译器控制的预取和

编译器优化。

(4)替换算法

1随机法:

为了均匀使用一组中的各块,这种方法随机地选择被替换的块。

2最近最少使用法LRU(LeastRecentlyUsed):

选择近期最少被访

问的块作为被替换的块。

但由于实现比较困难,现在实际上实现的LRU

都只是选择最久没有被访问过的块作为被替换的块。

实验内容

关于simplescalar的简要说明

SimpleScalar包括多个仿真器:

sim-fast,sim-safe,sim-cache,sim-cheetah,sim-profile,sim-bpred,sim-eio和sim-outorder。

本次实验使用的是sim-cache,下面说明一下sim-cache。

sim-cache:

在这个仿真中加入了cache,用户可以对cache及TLB进行设置,支持两级

的cache和一级的TLB,第一级cache和TLB均分为数据和指令两部分。

(摘自XX百科)

下面简要说明一下有关cache的信息:

一般来说,Cache的结构参数主要包括以下几个方面:

容量、块大小、相联度、替换算法等。

在SimpleScalar模拟器中,采用了两级Cache结构,同时数

据和指令Cache分开。

SimpleScalar的Cache参数配置命令为:

<

name>

:

<

nsets>

bsize>

assoc>

repl>

vname>

:

Cache的名称,其中:

一级数据Cache;

二级数据Cache;

一级指令Cache;

二级指令Cache;

dl1

dl2

il1

il2

dtlb:

数据TLB

itlb:

指令TLB

组的数目;

块大小;

相联度;

替换策略。

此时,Cache容量为:

vnsets>

*vbsize>

*vassoc>

替换策略主要有以下几种:

LRU最近最少使用;

r

例如:

-cache:

dl1dl1:

2048:

64:

4:

r,表示对一级数据cache进行配置,2048表示有2048组,64表示cache块大小为64byte,4表示相联度为4,r表示替换策略为RANDOM在此配置下,一级数据cache的容量为2048*64*4=512KBo

FIFO,先进先出;

RANDOM随机策略。

-cache:

dl1dl1:

2048:

64:

4:

由于SimplescalarSpec2000测试程序在其官方网站不能下载,故使用simplescalar模拟器自带的测试程序以及自己设计的一个程序进行测试。

自带的测试程序是在/root/simplescalar/simplesim-3.0/tests-pisa/bin.little目录下的test-math,test-fmath,test-llong以及test-printf。

我们所有的实验内容都是对一级数据cache来进行分析的。

在simplescalar中,我们使用的模拟器是sim-cache。

在基本的配置情况下运行自己设计的程序,代码如下:

#includevstdio.h>

Main()

printf(“helloworld!

'

n”);

return0;

}

1.编辑好程序后,将其保存在/root/simplescalar文件夹下,文件命名为

的访问目录为/root/simplescalar/bin/sslittle-na-sstrix-gee译,编译后生成了能够在模拟器中可以运行的可执行文件

hello.c,用安装好的simplescalar中的编译器sslittle-na-sstrix-gcc(它

)对其进行编

a.out。

命令行运行

界面如下图所示:

hooi^PG(il21005J0KZCbin.liiIlc]fied/looi/

[rool?

P<

2012]00530KZCroot]cdktirpIeseahr

rrooi?

201210OJ)2O^^Ginple5f4ilorl#JhiiiZs^iIi11Ic-n^-ssirix-geeheIlo.c

2.我们使用simplescalar中的模拟器sim-cache对a.out模拟执行,执行后的界面如下图所示:

说明:

下面的截取的界面是一个完整的界面,限于完整的界面太大,在后面的实验内容的三、四、五、六部分只截取了我们需要的部分界面。

[rooiL:

*PG2<

H21005J0ICCimpleseabrliirplesiirr3.0/simcafhea.ou(

Hiiireache:

Simpkicilai/I^JSATooJi(?

Iwrsion3-0o(AugiiU,2003.

Cupyiri^hl<

V)1994一20(13byTuddMAuhLin,Pli.[>

.dildSii^ikSvnlai,LLC,

AlIncTliinvr■»

ionofSiirpIcScdlariiIicenaedforacademic

Hffli-coinTDreiiIu*c.卩oiIi«

nofikiiimjrkmjybeuu«

dbyanyconiwrcluI

cn1IIIIy.nrforanyr^irnwrriiaIpnrpjujf,wiiihniiiihfprimruri|i<

*ii「申rmiuionofSinpk^eulur,LbC(info曲inpIckcu\ar.conV.

KHRcormandIint:

impksiin-3.O/hiiircachea.ouL

KiiR&

iinilANonslart^d四5吕lJan52013,opiionsfoIlow

Aiiircache:

7hi$imikLorinpIprrpiilhaftiiic(ionaIcactioiinuhlor«

jchc(iInIH1IIrf门Mfnriiiii:

门r-Ifriirh*indTl.K4'

niifiynrarion

^UiithiiuyiiichdfupluLwlevf]kofinsiruelionanddaincache<

withinyIpvcIiunificd>

andciivlevcIofin^1ruclionunddilaTLBs.t4)liming

informitionisgfiieraled.

CacheleveIshierarchyatconfigurationarguments.

dll

ull11cQchc:

dl2u12;

1024;

2;

I

siirc**startingheIIowrId!

loadconfigurationfromafiledunp(;

unfiguratlunluafiIcpriniheIpmssageverboseopera1ionenabledebugiW5sagestar1inDIitedebuggerrandomnurrbergeneratorseed(0forliircrseed)initializeaadlermnaleiimrdiaielyrestoreElOtraceexeculionfrom<

fnanB>

redirectsimlaloroutputtofile(non-inleracliveonly)redirectsimlaledprogramoutputtofile

iniIfltorwhedulingpriority

rTBxinumnunherofinst'

stoexecute

ff11d

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

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

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