ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:524.08KB ,
资源ID:10511034      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10511034.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机系统结构实验报告西安交通大学.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机系统结构实验报告西安交通大学.docx

1、计算机系统结构实验报告西安交通大学计算机系统结构课内实验实验报告班级:计算机 15 班 姓名 :高君宇 学号: 2110505112 日期: 2014.5.7动态分支预测实验一、实验目的及要求1.了解掌握动态分支与推断执行技术对流水线性能的改进效果2.了解动态分支预测的基本技术;3.了解推断执行的基本过程;4.比较各种分支预测技术的性能。二、实验环境Linux 、SimpleScalar Tool Set 、SPEC 测试程序三、实验内容利用 SimpleScalar 仿真器中的分支预测仿真程序 sim-pred 运行所提供的三 个 benchmark 程序,分别采用五种不同的分支预测方法,

2、即 bimod 方式,two-level adaptive 方式, always taken 方式, always not taken 方式, comb方式,并对 前两种分别使用下表中两种参数配置; 分析仿真器输出的关于分支预测的统计参 数集,填写表格,并对各仿真器的能力给出相应说明。 命令格式为: ./sim-bpred -option executable_benchmark argument对于三种动态方法,分别说明如下:bimod 是最普通的,即采用一个 2bit 宽的分支方向预测表, 按分支地址查找, 2bit 分支预测器的判断和更新与课本上的一致。 这种方式只有一个参数, 就是分

3、支预测表的长度。2-level 要复杂一些,它采用两级表格式,第一级是分支历史表,存放各组分 支历史寄存器的值,第二级是全局 /局部分支模式表,(全局或局部应是由表长 相对于分支历史寄存器的长决定),它存放各分支历史模式的 2bit 预测器。在 判断时用当前分支指令对应的历史寄存器值去索引二级表得到相应预测器值。 更 新时,把当前分支的方向左移入历史寄存器,并对使用过的 2bit 预测器作更新。 它有四个参数,前三个是一级表长度,二级表长度,历史寄存器宽度,最后一个 是异或标志。如果为 1,则将历史寄存器的值与当前分支指令地址异或,用其结 果再去索引二级模式表。comb 方式则组合了以上两种方

4、法,它再加入了一个 meta 表,这个表类似 bimod 的预测表,只是它预测的是采取 bimod 还是 2-level ,也采用 2-bit 预测器, 被采取的预测方法被定为第一方向, 未被采取的定为第二方向。 更新时, 如果第 一方向与第二方向不同则更新 meta 表,否则只更新两种方法各自的表即可。它 共有三组参数,前两组即 bimod 和 two-level 的参数,第三组是关于 meta 表长 度的说明。至于 BTB 的更新与 cache 的更新方式相同。四、实验步骤1.在 linux 的环境下,进入到 simpleScalar 文件的根目录;2.调整好命令的格式并运行(下面给出运行

5、命令的的一部分内容): ./sim-bpred -bpred taken tests/bin.little/test-math./sim-bpred -bpred nottaken tests/bin.little/test-math./sim-bpred -bpred bimod -bpred:bimod 512 tests/bin.little/test-math./sim-bpred -bpred bimod -bpred:bimod 1024 tests/bin.little/test-math./sim-bpred -bpred 2lev -bpred:2lev 1 1024 8 0

6、1 tests/bin.little/test-math./sim-bpred -bpred 2lev -bpred:2lev 1 64 6 1 tests/bin.little/test-math./sim-bpred -bpred comb -bpred:comb 1024 -bpred:2lev 1 1024 8 0 -bpred:bimod 1024 tests/bin.little/test-math五、实验结果 将结果总结如下表:1.测试程序为 test.math预测方 计 结果 测 方 法alway s not takenalway s takenbimod(516)bimod(

7、1024)2-level (1,1024,8 ,0)2-level (1,64,6,1)comb(1024) (1,1024,8,0)(1024)sim_total_insn213688213688213688213688213668213723213723sim_total_refs56897568975689756897568975690056900sim_num_branches38591385913859138591385913859938599sim elapsed time1111111sim inst rate21362136213688.0213688.021368821372

8、32137238888000000sim IPB5.5375.5375.53725.53725.53725.5375.53722bpred_bimod.looku385938593859138591385913859938599ps11bpred_bimod.update385938593859138591385913859938599s11bpred_bimod.addr_219325563423734237342422796135578hits81bpred_bimod.dir_hir219325563473234732342422851436018ts81bpred_bimod.miss

9、es1665129338593859379710085258130bpred bimod.jr hits3543354335283528352835293529bpred_bimod.jr_seen3543354335433543354335443544bpred_bimod.jr_non354335432828282828_rashits.PPbpred_bimod.jr_non354335434141414141_rasseen.PPbpred_bimod.bpred0.5680.6640.88720.88720.88730.72440.9217_add59r ratebpred_bimo

10、d.bpred0.5680.6640.90000.90000.90160.73870.9331_dir59ratebpred_bimod.bpred_jr_rate110.99580.99580.99580.99580.9958bpred_bimod.bpred _jr_n on ras rate.PP110.68290.68290.68290.68290.6829bpred_bimod.retstack_pushes1135043504350435053505bpred_bimod.retstac k_po ps0035023502350235033503bpred_bimod.used_r

11、as.PP0035023502350235033503bpred_bimod.ras_hit0035023500350035013501s.PPbpred_bimod.ras_rat000.99940.99940.99940.99940.9994e.PP2.测试程序为 test.fmath预测方 统计 结果 方 法alway s not takenalway s takenbimo d (516)bimo d (1024 )2-level (1,1024,8,0)2-level (1,64,6, 1)comb(1024) (1,1024,8,0)(1024)sim_total_insn5344

12、8534485344534453448534825348288sim_total_refs16342163421634163416342163451634522sim_num_branches10340103401034103410340103471034700sim elapsed time1111111sim_inst_rate53448534485344534453448534825348288sim_IPB5.1695.1695.1695.1695.16915.16885.16881111bpred_bimod.lookups103401034010341034103401034710

13、34700bpred_bimod.updates10340103401034103410340103471034700bpred bimod.addr hits5768683988259021886075749225bpred bimod.dir hirts5768683991289315917178889474bpred bimod.misses457235011212102511692459873bpred bimod.jr hits832832815815815816816bpred bimod.jr seen832832832832832833833bpred_bimod.jr_non

14、_r83283244444ashits.PPbpred_bimod.jr_non_r8328321919191919asseen.PPbpred_bimod.bpred_ad0.5570.6610.8530.8720.85690.73200.8916d8454r ratebpred_bimod.bpred_di0.5570.6610.8820.9000.88690.76230.9156r8489ratebpred_bimod.bpred_jr110.9790.9790.21050.97960.9796r66atebpred_bimod.bpred_jr_non ras rate.PP110.2

15、1050.21050.21050.21050.2105bpred_bimod.retstack_ pushes00815815815816816bpred_bimod.retstack_pops00813813813814814bpred_bimod.used_ras.PP00813813813814814bpred_bimod.ras_hits.PP00811811811812812bpred_bimod.ras_rate.PP000.99750.99750.99750.99750.99753.测试程序为 test.printf预测方 统计 结果 测 方always not 法takenal

16、ways takenbimod(516)bimod(1024)2-level (1,1024,8,0)2-level (1,64,6, 1)comb(1024) (1,1024,8,0)(1024)sim_total_insn1813818138181381813818138771813911813914777777774sim_total_refs516945169451694516945169415169475169471111sim_num_branches401604016040160401604016094016234016239999sim elapsed time1111111s

17、im_inst_rate1813818138181381813818138771813911813914777777774sim IPB4.51654.51654.51654.51654.51654.51654.5165bpred_bimod.lookup40160401604016040160401609401623401623s9999bpred_bimod.updates401604016040160401604016094016234016239999bpred_bimod.addr_hi23336261363725937745373619317099384169ts1318bpred

18、_bimod.dir_hirt23336261363749037976375930319444386404s1311bpred_bimod.misses1682414024267082184825679821791521986bpred bimod.jr hits31998319983015230152301523015330153bpred bimod.jr seen31998319983199831998319983199931999bpred_bimod.jr_non_ rashits.PP3199831998363363363363363bpred_bimod.jr_non_ rass

19、een.PP319983199821982198219821982198bpred_bimod.bpred_ add r rate0.58110.65080.92770.93990.93030.78650.9565bpred_bimod.bpred_ dirrate0.58110.65080.93350.94560.93610.79540.9621bpred_bimod.bpred_j110.94230.94230.94230.94230.9423r_r atebpred_bimod.bpred_j r_n on ras rate.PP110.16520.16520.16520.16520.1

20、652bpred_bimod.retstack_pushes002980229802298022980329803bpred_bimod.retstack_pops002980029800298002980129801bpred_bimod.used_ras.PP002980029800298002980129801bpred_bimod.ras_hits.PP002978929789297892979029790bpred_bimod.ras_rate.PP000.99960.99960.9960.99960.9996六、总结 所谓的动态分支处理方法,是指利用程序执行期间的信息,进行处理,所

21、以 这儿很明显带来的是硬件开销, 因为程序执行期间是不可能由软件协助的, 否则 性能影响也就太大了吧。相对的,静态分支处理,其实是利用编译器实现的。这次实验我最大的感受就是计算机就像董老师说的一样,是在玩平衡。体系 结构设计的核心是平衡, 以最快的速度获取指令, 需要较少的时钟周期, 但带来 的是预测准确率的下降; 如果希望提高准确率, 则是较慢的速度; 三种分支预测 方式实现难度各不相同, 在性能方面也各有优劣, 一级分支预测追求的是快, 二 级分支预测追求的是准确率,这都是在玩平衡。通过实验,我更加熟悉了动态分支预测的方法,学以致用才是硬道理,计算 机的这个“平衡“还得好好玩下去。七、附录

22、(源程序清单) 使用的是程序自带的源代码 test.math , test.fmath, test.printf 故在此不单独 列出。基本流水线和 Tomasulo 算法实验一、实验目的及要求1.掌握 DLXview 模拟器的使用方法;2.进一步理解指令动态调度的基本思想,了解指令动态调度的基本过程与 方法;3.理解记分牌算法和 Tomasulo算法的基本思想,了解它们的基本结构、 运 行过程;4.比较分析基本流水线与记分牌算法和 Tomasulo 算法的性能及优缺点。二、实验环境DLXview模拟器三、实验内容1、用 DLX汇编语言编写代码文件 *.s (程序中应包括指令的数据相关、 控制

23、相关以及结构相关) ,以及相关的初始化寄存器文件 *.i 和数据文件 *.d ;2、观察程序中出现的数据相关、控制相关、结构相关,并指出三种相关的 指令组合;3、将自己编写的程序 *.s 、 *.i 、*.d 装载到 DLXview模拟器上,4、分别用基本流水线和 Tomasulo 算法模拟,针对每一种模拟做如下分析:(1)统计程序的执行周期数和流水线中的暂停时钟周期数;(2)改变功能部件数目重新模拟,观察并记录性能的改变(3)改变功能部件延迟重新模拟,观察并记录性能的改变;5、记录运行 Tomasulo 算法时的指令状态表和保留站信息;四、实验步骤用 DLX 汇编语言编写代码文件 *.s (

24、程序中应包括指令的数据相关、控制相 关以及结构相关),以及相关的初始化寄存器文件 *.i 和数据文件 *.d ;将自己编写的程序 *.s 、*.i、 *.d 装载到 DLXview 模拟器上;用 DLXview 模拟器进行模拟。五、实验结果一)普通流水线:实验参数设置实验结果显示该段程序运行了 11 个时钟周期改变部件数目:根据实验结果依然运行了 11 个时钟周期所以对该 f305 程序增加除法器部件数目,不影响执行效率增加了一个加法器部件实验结果显示依然运行了 11 个时钟周期。所以该 f305 程序对于加法器部件数目要求也不高,增加后不影响执行效率增加了一个乘法器部件实验结果依然运行了 11 个时钟周期所以该 f305 程序对于乘法器部件数目要求不高,增

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1