没有合适的资源?快使用搜索试试~ 我知道了~
linux系统下使用simplescaler进行cache性能仿真实验的指导书
资源推荐
资源详情
资源评论
一 实验概述
(一)实验目的
1.掌握Cache的基本概念、基本组织结构
2.掌握影响Cache性能的三个指标
3.了解相联度对Cache的影响
4.了解块大小对Cache的影响
5.了解替换算法对Cache的影响
6.了解Cache失效的分类及组成情况
7.了解对cache性能改善的方法
(二)实验步骤
1.运行模拟器SimpleScalar
2. 在基本配置情况下运行矩阵乘计算程序统计Cache失效次数,并统计三种
不同类型的失效
3. 改变Cache容量,统计各种失效的次数,并进行分析
4. 改变Cache的相联度,统计各种失效的次数,并进行分析
5. 改变Cache块大小,统计各种失效的次数,并进行分析
6. 改变Cache的替换策略,统计各种失效次数,并分析
7. 加入victim cache对cache性能的影响
(三)实验平台
redhat linux 操作系统,SimpleScalar模拟器 。
(四)参考资料
计算机体系结构教材、SimpleScalar模拟器使用指南等
1
二 背景知识
(一) Cache基本知识
(1) 可以从三个方面改进Cache的性能:降低失效率、减少失效开销、减少
cache失效时间;
(2) 按照产生失效的原因不同,可以把Cache失效分为三类:
1) 强制性失效(Compulsory miss)
当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache,
这就是强制性失效。这种失效也称为冷启动失效或首次访问失效。
2) 容量失效(Capacity miss)
如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又
重新被访问,就会发生失效。这种失效称为容量失效。
3) 冲突失效(Conflict miss)
在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现
该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的
情况。这就是发生了冲突失效。这种失效也称为碰撞失效(collision)或干扰失效
(interference)。
( 3 ) 降 低 C a c h e失 效 率 的 方 法 : 增 加 C a c h e块 大 小 、 提 高 相 关 度 、 v i c t i m
cache、伪相联cache、硬件预取技术、由编译器控制的预取和编译器优化。
(4) 替换算法
1)先进先出法(FIFO)。
2) 随机法:为了均匀使用一组中的各块,这种方法随机地选择被替换的块。
3)最近最少使用法LRU(Least Recently Used): 选择近期最少被访问的块作
为被替换的块。但由于实现比较困难,现在实际上实现的LRU都只是选择最久没有
被访问过的块作为被替换的块。
(二) SimpleScalar简介及使用
SimpleScalar 是上世纪由威斯康辛大学发布的一款开源模拟器,具备良好的可
移植性和可扩展性。SimpleScalar 在学术界具有十分重要的影响力,根据其官方网
站统计,2000-2002 年体系结构顶级会议中有一半以上的研究者采用该模拟器来评
估他们的研究成果。
2
作为一款时钟精确的模拟器,SimpleScalar 采用执行驱动方式模拟,包含功能
模拟和性能模拟。SimpleScalar 的指令集架构采用C 语言宏声明,目前3.0 版本主要
支持PISA 指令集和Alpha 指令集。根据模拟的目的不同,SimpleScalar 包含多个模
拟器实体,从最简单的Sim-fast 到最为复杂的Sim-outorder,可分别用于功能模拟、
Cache 配置策略、流水线、前瞻预测等体系结构问题的全面研究。同时,随着
SimpleScalar 一起发布的还有一系列工具链(交叉编译器,汇编器,流水线跟踪器
等),他们与SimpleScalar 的交互过程如图4.1所示。Fortran 代码需要先由F2C工具转
换为标准C 代码,交叉编译器则将标准C 代码编译为模拟器后端指令集下的二进制
代码,交由模拟器执行模拟,通过这些交互最终实现一个完整的模拟平台。
SimpleScalar包含多个模拟器,复杂度由最简单的Sim-safe到最复杂的Sim-
outordor,下面简要介绍这些模拟器。
(1)Sim-fast
Sim-fast是执行速度最快,最不关心模拟过程细节信息的子模拟器程序。它采用
顺序执行指令的方式,没有指令并行;不支持cache的使用,也不进行指令正确性检
查,由程序员保证每条指令的正确性;不支持模拟器本身内嵌的Dlite!调试器(类
似于gdb调试器)。为了模拟器的速度优化,在缺省情况下,sim-fast模拟器不进行
时间统计,不对指令的有关信息(如指令总数及访存指令数目)进行统计。当然,
可以修改模拟器源程序,通过改变其设置,使模拟器更加符合设计人员的需求。
(2)Sim-safe
在工具集中,是最简单的最友好的模拟器,检查所有的指令错误,不讲究速度
3
剩余10页未读,继续阅读
资源评论
sinat_20240071
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功