已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机系统结构实验报告 名 称 Cache 性能分析 学 院 信息工程 姓 名 陈 明 学 号 S 专 业 计算机系统结构 年 级 研 一 实验目的 1 加深对 Cache 的基本概念 基本组织结构以及基本工作原理的理解 2 了解 Cache 的容量 相联度 块大小对 Cache 性能的影响 3 掌握降低 Cache 失效率的各种方法 以及这些方法对 Cache 性能提高的好处 4 理解 Cache 失效的产生原因以及 Cache 的三种失效 5 理解 LRU 与随机法的基本思想 及它们对 Cache 性能的影响 实验平台 Vmware 虚拟机 redhat 9 0 linux 操作系统 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 运行程序 指明所选的测试程序 统计各种失效的次数 并分析 Cache 块大小对 Cache 性能的影响 6 分别采用 LRU 与随机法 在不同的 Cache 容量 不同的相联度下 运行程序 指明所选的测试程序 统计 Cache 总失效次数 计算失效率 分析不同的 替换算法对 Cache 性能的影响 预备知识 1 SimpleScalar 模拟器的相关知识 详见相关的文档 2 复习和掌握教材中相应的内容 1 可以从三个方面改进 Cache 的性能 降低失效率 减少失效开销 减少 Cache 命中时间 2 按照产生失效的原因不同 可以把 Cache 失效分为三类 强制性失效 Compulsory miss 当第一次访问一个块时 该块不在 Cache 中 需从下一级存储器中 调入 Cache 这就是强制性失效 这种失效也称为冷启动失效或首次访 问失效 容量失效 Capacity miss 如果程序执行时所需的块不能全部调入 Cache 中 则当某些块被替 换后 若又重新被访问 就会发生失效 这种失效称为容量失效 冲突失效 Conflict miss 在组相联或直接映象 Cache 中 若太多的块映象到同一组 块 中 则会出现该组中某个块被别的块替换 即使别的组或块有空闲位置 然后又被重新访问的情况 这就是发生了冲突失效 这种失效也称为碰 撞失效 collision 或干扰失效 interference 3 降低 Cache 失效率的方法 增加 Cache 块大小 提高相联度 Victim Cache 伪相联 Cache 硬件预取技术 由编译器控制的预取和 编译器优化 4 替换算法 随机法 为了均匀使用一组中的各块 这种方法随机地选择被替换 的块 最近最少使用法 LRU Least Recently Used 选择近期最少被访 问的块作为被替换的块 但由于实现比较困难 现在实际上实现的 LRU 都只是选择最久没有被访问过的块作为被替换的块 实验内容 一 关于 simplescalar 的简要说明 SimpleScalar 包括多个仿真器 sim fast sim safe sim cache sim cheetah sim profile sim bpred sim eio 和 sim outorder 本本次次实实验验使使用用的的是是 s si im m c ca ac ch he e 下面说明一下 sim cache s si im m c ca ac ch he e 在这个仿真中加入了 cache 用户可以对 cache 及 TLB 进行设置 支持两级 的 cache 和一级的 TLB 第一级 cache 和 TLB 均分为数据和指令两部分 摘自百度百科 下面简要说明一下有关 cache 的信息 一般来说 Cache的结构参数主要包括以下几个方面 容量 块大小 相联 度 替换算法等 在在SimpleScalarSimpleScalar模拟器中 采用了两级模拟器中 采用了两级CacheCache结构 同时数据结构 同时数据 和指令和指令CacheCache分开 分开 SimpleScalarSimpleScalar的的CacheCache参数配置命令为 参数配置命令为 Cache的名称 其中 dl1 一级数据Cache dl2 二级数据Cache il1 一级指令Cache il2 二级指令Cache dtlb 数据TLB itlb 指令TLB 组的数目 块大小 相联度 替换策略 此时 CacheCache容量为 容量为 替换策略主要有以下几种 l LRU 最近最少使用 f FIFO 先进先出 r RANDOM 随机策略 例如 cache dl1 dl1 2048 64 4 r 表示对一级数据cache进行配置 2048表示有2048组 64表示cache块大小为64byte 4表示相联度为4 r表示替 换策略为RANDOM 在此配置下 一级数据cache的容量为2048 64 4 512KB 由于由于 SimplescalarSimplescalar Spec2000Spec2000 测试程序在其官方网站不能下载 故使用测试程序在其官方网站不能下载 故使用 simplescalarsimplescalar 模拟器自带的测试程序以及自己设计的一个程序进行测试 模拟器自带的测试程序以及自己设计的一个程序进行测试 自带的测试程序是在自带的测试程序是在 root simplescalar simplesim 3 0 tests root simplescalar simplesim 3 0 tests pisa bin littlepisa bin little 目录下的目录下的 test mathtest math test fmathtest fmath test llongtest llong 以及以及 test test printfprintf 我们所有的实验内容都是对一级数据我们所有的实验内容都是对一级数据 cachecache 来进行分析的 在来进行分析的 在 simplescalarsimplescalar 中 我们使用的模拟器是中 我们使用的模拟器是 sim cachesim cache 二 simplescalar 模拟器基本配置情况下的运行模拟 在基本的配置情况下运行自己设计的程序 代码如下 include Main 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 我们使用 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 number 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 repl 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 replacements 总共为 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 时 容量为 64KB 1024 32 2 1 时 3 运行结果分析 从面的运行结果中 我们提取所需要的一级数据 cache 的信息 如下表所示 dd1 容量总的失效次数总的失效率 容量失效和冲 突失效总次数 强制性失效次 数 2KB13950 0243133164 4KB8400 0146712128 8KB6690 0116413256 64KB5420 00940542 从上表 我们可以分析出 随着 cache 容量的不断增加 程序的失效率不 断降低 容量失效和冲突失效的次数随着 cache 容量的增加不断地减少 而强 制性失效次数则不断地增加 四 Cache 相联度对 Cache 性能的影响 1 操作说明 1 改变 simplescalar 模拟器中的一级数据 cache 的相联度大小 与此 同时固定 cache 的容量 16KB 块大小 32byte 以及替换策略为 LRU 等 参数 2 测试的程序是 simplescalar 自带的测试程序 test fmath 2 运行的界面 只截取了部分所需的界面 如下图所示 相联度为 1 路时 相联度为 2 路时 相联度为 4 路时 相联度为 8 路时 相联度为 64 路时 3 运行结果分析 从上面的运行结果中 我们提取所需要的一级数据 cache 的信息 如下表所 示 dl1 相联度总的失效次 数 总的失效率 容量失效和 冲突失效总 次数 强制性失效 的次数 14920 029683409 24920 029676416 44760 028628448 84720 028410462 644700 02820470 从上表 我们可以分析得出 随着相联度的增加 程序的失效率逐渐降低 但降低的幅度比较小 容量失效和冲突失效的次数随着相联度的增加不断地减 少 而强制性的失效次数则不断地增加 五 Cache 块大小对 Cache 性能的影响 1 操作说明 1 改变 simplescalar 模拟器中的一级数据 cache 的块大小 与此同时 固定 Cache 的容量为 32KB 相联度为 2 以及替换策略为 LRU 等参数 2 测试的程序是 simplescalar 自带的测试程序 test printf 2 运行的界面 只截取了部分所需的界面 如下图所示 块大小为 8byte 时 块大小为 16byte 时 当块大小为 32byte 时 当块大小为 64byte 时 3 对上面的运行结果 我们提取所需要的一级数据 cache 的信息 如下表所示 块大小总的失效次 数 总的失效率 容量失效和 冲突失效总 次数 强制性失效 的次数 8byte20500 003922048 16byte10610 002021059 32byte5600 00113557 64byte2950 00062293 从上表 我们可以分析得出 随着块大小的增加 程序的失效率逐渐地降 低 容量失效和冲突失效的次数随着块大小的增加 基本维持在一个稳定的值 而强制性的失效次数则不断地降低 且幅度比较大 六 Cache 的替换策略对 Cache 性能的影响 1 操作说明 1 改变 simplescalar 模拟器中的一级数据 cache 的替换策略 与此同 时固定 Cache 的块大小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食品饮料行业可持续发展研究报告及未来发展趋势预测
- 2025年数字化教育行业数字化学习资源与在线课堂教学模式研究报告及未来发展趋势预测
- 智能器械伦理规范-洞察与解读
- 绿色建筑材料创新-第2篇-洞察与解读
- 农业银行面谈真题及答案
- 2025年七一知识竞赛试题带答案
- 2025年仓库管理员年终总结范文大全5篇
- 2015年上海公务员考试《申论》真题(A卷、B卷)及参考答案
- 2005、2006年上海公务员考试《申论》真题及参考答案
- 2025年下半年下半年上海松江区事业单位招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 成瘾机制干预策略-洞察及研究
- 文化旅游行业培训班心得体会
- 《经皮冠状动脉介入治疗指南(2025)》解读 3
- 土建工程施工安全注意事项
- 【生物 四川卷】2025年四川省高考招生统一考试真题生物试卷(真题+答案)
- 安全风险骑手培训
- 保安岗位人员替换方案(3篇)
- 环境生物化学与毒理化学课件
- CSSD特殊感染器械的处理流程-课件
- 输变电培训课件
- 职业暴露后的应急处理和报告流程
评论
0/150
提交评论