下载此文档

计算机体系结构cache模拟器实验报表.doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
该【计算机体系结构cache模拟器实验报表 】是由【雨林书屋】上传分享,文档一共【17】页,该文档可以免费在线阅读,需要了解更多关于【计算机体系结构cache模拟器实验报表 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造——Cache模拟器实验实验报告雪莹学号12281166班级计科1202班老师董岚2021年06月07日计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表一、阅读剖析附件模拟器代码31、重点参数32、重点算法4二、课后****题61****题容62、题目剖析73、计算及结果74、模拟器上实验结果查验9三、整体剖析121、三种映照方式对Cache效率的的影响122、block块大小与Cache容量对Cache效率的影响123、Cache容量与相连度对Cache效率的影响134、三种无效种类影响要素14四、实验思虑和感觉161、对于模拟器的思虑162、对于整个实验的思虑17计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表一、阅读剖析附件模拟器代码1、重点参数〔1〕用户可见参数:〔用户经过命令行输入参数〕参数名含义值备注choice映像方式选项1/2/31为直接映照,2为组相连映照,3为全相连映照cachesize大小16/64/128/256以字节为单位CacheblocksizeBlock大小1/2/4以字为单位assoc相连度1/2/4/8/16路组相连〔〕assocn-=hitcount/accesscountmisscount未命中次数待输出没在Cache找到次数misscount=1-hitcountmissrate未命中率待输出MissRate=misscount/accesscountc1c,c2c,c3c无效次数待输出分别为三种无效种类的次数〔2〕程序部主要参数:〔代码部重要参数〕参数名含义计算备注blockinbyte块的字节大小=blocksize*4每一个块占多少字节NOofblock块个数=cachesize/blockinbyteCache中多少个块NOofset组个数=NOofblock/assoc块分红了多少个组bytearray[]要接见的数据=[]数组要接见的数据blocksize是字为单位的,就是wordaddress[]=bytearray[j]/4说一个block占多少个字,所的字地点以数据也要求字地点计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表blockaddress[]数据的块地点=wordaddress[]/blocksize数据在第几块index索引位(组地=blockaddress[j]%NOofset假定Noofset=2^m,那么块地点低址)m位为索引位〔组地点〕。表记位〔组寻块地点高(32-m)位为表记位,tag=blockaddress[j]/NOofset用于确立组哪块数据,址〕newarray[index][z+1]中寄存判断该cache块数据能否有效*valid有效位有效为,无效为0*是由于没有真实定义,不过1寄存newarray[index][z]中lru[index][z]近来未被使用每次加1,被重写置0替代时,替代掉lru[index][]值次数最大的那个块2、重点算法注:这里不粘贴代码,不过进行简单的代码算法说明1〕块地点表示:注:图是我依据自己的想法自己画的,可能有些地方其实不正确,望老师指正。图中以一个例子来解说cache模拟器中block和数据地点的关系,以及和组地点和标记位的关系。计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表2〕Index与tag:由上边算:index=blockaddress%NOofsetindex=16%8=2tag=blockaddress/Noofsettag=16/8=2以上例,字地点16例,写成二制00010010B,此中数8,又因2^3=8,因此字地点取后3位:index=010B=2,取前29位:tag=0?0010B=2。因此,算法与理是一致的。3〕Valid:有效位。当通上述方式址找到了数据寄存的数据,接下来判断有效位:有效位1,明数据是有效的,能够从block提取数据;有效位0,明里的数据是无效的,因此不可以从block提取数据,出miss,此判断miss型,同需要存或下一存,将数据放到cache里。〔4〕无效型及判断方法:判断无效型,函数misstype〔intba,intnb,intl〕。计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表Compulsorymiss〔强迫性无效,冷启动〕:当第一次接见某一个块的时候,数据是必定不在块中的,此时出现强迫性无效,或许说是冷启动无效。Capacitymiss〔容量无效〕:所需的数据不可以所有调入cache中,块被替代后又被从头接见,意思就是当所有的块都被占满了,这样又有数据希望被调入缓存时,就出现了容量无效。Conflictmiss〔矛盾无效〕:在组相联或直接映像中,数据想要替代进某一组中,组的块都被占满了,可是其余组的块有空余,数据只好替代这一组,只管其余组有空余也不可以替代。这样就出现了矛盾无效。〔5〕LRU算法实现替代:LRU替代算法是采纳近来最久未使用的块,此中Lru[][]数组寄存近来多少次未被使用,由于是采纳循环接见,当循环接见到这一组时,把这组所有的块的Lru[][]值都加1,假如成功接见到这一块,数据能从此中拿出来,就把这一块的Lru[][]值置0,退出循环。6〕直接映照、组相联映照、全相联映照:直接映照:是特别的组相联映照,就是相联度为1的组相联映照。因此采纳和组相联同样的程序和算法,当辨别该组第一块无效时,直接进行替代,由于有且只有一块。组相联映照:当辨别该组某块无效时,假如块都被占满,要依据Lru[][]值的大小,判断哪一块被替代掉。全相联映照:从上到下cache块存数据,那么从上到下循环即可,碰到无效时,要依据Lru[][]值的大小,判断哪一块被替代掉。二、课后****题1****题容CacheSimulator模拟器上模拟以下程序的运转过程:inti,j,cstride,array[256]for(i=0;i<10000;i++)for(j=0;j<256;j=j+stride)计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表c=array[j]+5;假定Cache总大小是256个字节,且块大小为16字节〔4个字〕。同时假定存中间只有这一个程序在运转,并且整形数字的长度为一个字长〔字长为32位〕,在直接相连映照下,stribe分别等于132、131时程序的运转结果,并剖析原由。而当采纳两路组相连时又会有什么结果并剖析原因。2、题目剖析当stribe=132/131时,程序相当于循环接见存偏移地点为0和地点132/131的容,循环10000次,也就是接见了2000次储存。联合cache体制,cache大小为256个字节,块大小为16个字节,所以块的个数为256/16=16个。假定为2路组相连,那么有16/2=8组。当第一次接见块时,必定会发生强迫性无效,计一次miss。3、计算及结果1〕直接映像时:stride=132array[0]的块地点为0,映照到cache的块号为0:0mod16=0array[132]的块地点为132/4=33,映照到cache的块号为1:33mod16=1由于第一次接见cache,0和1必定会发生强迫性无效,以后由于调入cache,不会发生无效。那么无效次数为2,那么无效率为:2/20000=%命中次数为19998次,命中率为:19998/20000=%=1〔近似〕无效种类为强迫性无效,次数为2。stride=131array[0]的块地点为0,映照到cache的块号为0:0modulo16=0array[131]的块地点为131/4=32,映照到cache的块号为0:计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表32modulo16=0由于第一次接见cache,0必定会发生强迫性无效,以后cache里块号为的块不停地被替代写入替代写入,此时发生矛盾无效。那么无效次数为20000,那么无效率为:20000/20000=1=100%命中率为0。无效种类为强迫性无效次数1,矛盾无效次数为19999。2〕2路组相联:stride=132array[0]的块地点为0,映像到cache的组号为0:0modulo8=0array[132]的块地点为132/4=33,映像到cache组号为1:33modulo8=1由于第一次接见cache,0和1必定会发生强迫性无效,以后由于调入cache,不会发生无效。那么无效次数为2,那么无效率为:2/20000=%命中次数为19998次,命中率为:19998/20000=%=1〔近似〕无效种类为强迫性无效,次数为2。stride=131array[0]的块地点为0,映像到cache组号为:0modulo8=0array[131]的块地点为131/4=32,映像到cache组号为:32modulo8=0由于第一次接见cache,0和1必定会发生强迫性无效,以后由于是2路组相联,array[0]与array[131]都在0组,不会发生无效,那么无效次数为2,无效率为:2/20000=%命中次数为19998次,命中率为:19998/20000=%=1〔近似〕计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表无效种类为强迫性无效,次数为2。4、模拟器上实验结果查验注:由于例题的循环次数为10000,为了便于实验,我将循环次数设置为100,结果参照100的计算,原理是一致的。由于实质131/132都是字地点,,*4/131*4循环100次,设置cache大小为256,block大小为4,能够分别看到直接映照和2路组相连映照的结果为:直接映照stride=132stride=131misscount2200missratehitcount1980hitrate0accesscount200200c1c(强迫性无效)22c2c〔容量性无效〕00c3c〔矛盾性无效〕01982路组相连映照stride=132stride=131misscount22missratehitcount198198hitrateaccesscount200200c1c(强迫性无效)22c2c〔容量性无效〕00c3c〔矛盾性无效〕00能够看到实验结果与计算是一致的〔由于循环次数100,因此实验结果小数点要后移两位〕。同时对****题1的思虑〔见后〕也证明是正确的。〔1〕直接映照:stride=132截图计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表〔2〕直接映照:stride=131截图计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表〔3〕2路组相连:stride=132截图计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表计算机系统构造cache模拟器实验报表

计算机体系结构cache模拟器实验报表 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人雨林书屋
  • 文件大小853 KB
  • 时间2024-04-16