- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WORD格式整理版
范文范例参考
Cache模拟器
一、实验目标:
程序运行时,都会对内存进行相关操作,所访问的内存地址可以被记录下来,形成memory trace文件。在本实验中,你将使用benchmark程序产生的memory trace文件来测试Cache命中率,文件可以在/classes/fa07/cse240a/proj1-traces.tar.gz上获得。
每次存储器访问都包含了三个信息:
访问类型,’l’表示Load操作,’s’表示Store操作;
地址。采用32位无符号的十六进制表示;
存储器访问指令之间的间隔指令数。例如第5条指令和第10条指令为存储器访问指令,且中间没有其他存储器访问指令,则间隔指令数为4。
通过写一段程序,模拟Cache模拟器的执行过程。
二、实验要求:
写一段程序模拟Cache模拟器的执行过程,并对5个trace文件进行测试,完成以下目标:
请统计Load类型指令和Store类型指令在这5个trace文件中的指令比例。
设Cache总容量为32KB,对以下所有参数进行组合(共有72种组合),测量相应5个文件的Cache命中率。通过对命中率的分析,可以发现什么规律。
行大小:32字节、64字节、128字节
相连度:8路相联、4路相联、2路相联、1路相联
替换策略:FIFO,随机替换,LRU
写策略:写直达、写回
3. 给出5个文件的最佳Cache命中率的参数组合。针对不同的trace文件,最佳配置是否相同。
4. 测量各种组合下Cache和主存之间的数据传输量。
5. 给出5个文件的最小数据传输量的参数组合。这个组合和第3问中得到的组合是否一致。针对不同的trace文件,最佳配置是否相同。
6. Cache缺失有三种原因:1)强制缺失;2)容量缺失;3)冲突缺失。分析这三种缺失并说明你的分析方法。
7. 请给出5个trace文件在最优Cache命中率的情况下,这三种缺失所占的比例,并和教材图C.8给出的比例进行比较。
三、程序设计与实现:
本程序我打算采用java进行编写,因为java能够很好地体现面向对象编程的优点。首先需要定义相关的数据类型。
将指令定义为一个单独的指令类,好方便操作和记录统计,其中属性包括该指令的类型,比如是Load指令还是Store指令,还包括指令的地址。
class Instruction {
String type;
String addrs;
}
将Cache定义为一个类,Cache中的字段包括Tag标识字段,用于查找到相应组后进行比较看是否命中。Dirty字段用于写回策略中判断是否数据已经被修改了,如果修改了则在置换的时候需要写回,在统计Cache与主存的数据传输量时需要用到。最后一个字段是count,该字段用于记录该Cache块最近被访问的频度,用于组相连时LRU替换策略时判断哪个块最长时间没被访问到。
class Cache {
int tag;
int dirty;
int count;
}
最后定义一个Cache模拟器类。用一个二维数组来模拟Cache,因为二维数组可以很好地表示组相连Cache,而直接相连和全相联Cache都是组相连的特殊情况,当第一维为1时,表示全相连Cache,当第二维为1时,表示直接相连Cache。
public class CacheSimulator {
public long size;// Cache大小
public int line_size;// 块大小
public int set_associativity;// 相联度
public static long set_count;// 组数
public int[] set_indexs;// 用于FIFO中记录需替换的块号
public Cache[][] caches;
public static ArrayListInstruction instrs = new ArrayListInstruction();
public static HashSetString compulsory = new HashSetString();// 记录强制缺失
public static long conflict;// 记录冲突缺失
public boolean write_method = false;//false表示写回,true表示写直达
public int replace_method = 0;// 0为Random,1为FIFO,2为LRU
public static HitRationType[] hitRatio
您可能关注的文档
- [人教版]部编语文二年级[上册]生字看拼音写词语.doc
- [人教版]九年级数学[上册]第二十四章圆单元测试题和答案.doc
- [人教版]九年级信息技术教学案[全套].doc
- [人教版]小学六年级[上册]语文期中试题.doc
- 《比的基本性质》教学设计定稿.doc
- 《电力安全工作规程(发电厂和变电站电气部分)》.doc
- 《电子商务概论》案例分析报告.doc
- 《护理教育及科研(讲座)》必做作业答案.doc
- 《护理教育学》试题.doc
- 《会计电算化》作业答案.(1).doc
- 2023-2024学年湖南省衡阳市衡阳县三校联考高二下学期4月月考生物试题(解析版).docx
- 2022-2023学年辽宁省大连市第八中学高二下学期期中考试历史试题(解析版).docx
- 2023-2024学年山东省潍坊市安丘市高二下学期4月月考生物试题(解析版).docx
- 2022-2023学年贵州省毕节市好教育联盟高一4月期中考试生物试题(解析版).docx
- 2023-2024学年云南省临沧市高二年级三新教研联合体第二次联考生物试卷(解析版).docx
- 2022-2023学年湖北省恩施州高中教育联盟高一下学期期末生物试题(解析版).docx
- 2023-2024学年福建省福州市高二下学期期末模拟考试生物试题(解析版).docx
- 2023-2024学年河北省九校联考高一下学期期中考试历史试题(解析版).docx
- 2024届上海市奉贤区高考二模地理试题(解析版).docx
- 2024年1月新疆普通高等学校招生考试适应性测试文综地理试题(解析版).docx
1亿VIP精品文档
相关文档
最近下载
- 江苏海洋大学毕业答辩通用PPT模板.pptx
- DB36/T 1039-2018 水利建设工程质量监督规程(完整).pdf
- 内燃机车钳工测试题【附答案】.doc
- 高中数学新教材《8.6.3平面与平面垂直》优质课课件.ppt
- 作业活动风险分级管控清单(纺织企业).pdf VIP
- 中国共产党纪律处分条例解读党课课件.pptx VIP
- 露天煤矿行政管理制度.docx VIP
- 小学体育与健康人教课标版三~四年级(2013)_浙江省体育与健康教案模板3.0(后滚翻) 公开课.doc
- 贵州教育出版社六年级下册综合实践活动教案.pdf
- 危害分析与关键控制点(HACCP)体系 认证要求(V1.0)管理手册.docx
文档评论(0)