崔雪莹——Cache实现分析
计算机体系结构——
Cache模拟器实验
实验报告
姓名 崔雪莹 学号 12281166 班级计科1202班 老师 董岚
2015年 06月07日
1
崔雪莹——Cache实现分析
一、 阅读分析附件模拟器代码 .............................................................................................. 3
1、关键参数 ............................................................................................................. 3 2、关键算法 ............................................................................................................. 4
二、课后习题 ........................................................................................................................... 6
1、习题内容 ............................................................................................................. 6 2、题目分析 ............................................................................................................. 6 3、计算及结果 ......................................................................................................... 7 4、模拟器上实验结果检验 ..................................................................................... 8
三、 整体分析 ....................................................................................................................... 11
1、三种映射方式对Cache效率的的影响 ........................................................... 11 2、block块大小与Cache容量对Cache效率的影响 .......................................... 12 3、Cache容量与相连度对Cache效率的影响 .................................................... 13 4、三种失效类型影响因素 ................................................................................... 14
四、 实验思考和感受 ........................................................................................................... 16
1、关于模拟器的思考 ........................................................................................... 16 2、关于整个实验的思考 ....................................................................................... 17
2
崔雪莹——Cache实现分析
一、 阅读分析附件模拟器代码
1、关键参数
(1) 用户可见参数:(用户通过命令行输入参数) 参数名 choice cachesize blocksize assoc 含义 映像方式选项 Cache大小 Block大小 相连度 值 1/2/3 备注 1为直接映射,2为组相连映射, 3为全相连映射 16/64/128/256 以字节为单位 1/2/4 1/2/4/8/16 待输出 待输出 待输出 待输出 待输出 待输出 以字为单位 assoc路组相连(n-way) 等于project.txt的值个数 成功在Cache找到次数 HitRate= hitcount/accesscount 没在Cache找到次数 misscount = 1-hitcount MissRate= misscount/accesscount 分别为三种失效类型的次数 accesscount 请求次数 hitcount hitrate misscount missrate 命中次数 命中率 未命中次数 未命中率 c1c ,c2c ,c3c 失效次数 (2)程序内部主要参数:(代码内部重要参数)
参数名 blockinbyte NOofblock NOofset bytearray[] 含义 计算 备注 每一个块占多少字节 Cache中多少个块 块分成了多少个组 project.txt文件数据赋给了bytearray[]数组 blocksize是字为单位的,就是=bytearray[j]/4 说一个block占多少个字,所以数据也要求字地址 数据在第几块 块的字节大小 =blocksize*4 块个数 组个数 要访问的数据的字节地址 要访问的数据的字地址 =cachesize/blockinbyte =NOofblock/assoc =projec.txt中的值 wordaddress[] blockaddress[] 数据的块地址 =wordaddress[]/blocksize 3