计算机系统结构验Word格式文档下载.docx
- 文档编号:18051218
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:12
- 大小:507.17KB
计算机系统结构验Word格式文档下载.docx
《计算机系统结构验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机系统结构验Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
实验日期
学号
4-10
实验成绩
实验三、指令调度和延迟分支
实验目的:
加深对指令调度技术的理解;
加深对延迟分支技术的理解;
熟练掌握用指令调度技术解决流水线中的数据冲突的方法;
进一步理解指令调度技术对CPU性能的改进;
进一步理解延迟分支技术对CPU性能的改进。
1、
2、
3、
4、
5、
实验步骤:
1、启动MlPSsim。
2、根据2.5节相关内容关于流水线的描述,进一步理解流水线窗口中各段的功能;
3、选择“配置”--“流水方式”选项;
4、用指令调度解决流水线中的数据冲突
(1)
(2)
(3)
(4)
启动MIPSsim;
用MlPSsim的“文件”一“载入程序”选项加载schedule..
关闭定向功能,“配置”一“定向”;
执行载入程序,通过查看统计数据与始终周期图,找出并记录程
序执行过程中各种冲突的次数没发生冲突的指令组合以及程序执行的总周期数;
停顿f周期数):
肚卡幅顿I16
a中:
浮点競貝:
『册停顿:
结构例去0
控制信帳:
自陷信帳:
1
停顿周期总数:
占罔期总数的百分比!
43.4S4S5ft
IT
占所有Ri脚?
顿的百分比:
3F鹑占所顿的百分比:
□養占周期总麺的百分比:
0*占周期S数的百分比:
0*占周期总数的百分比:
0*占周期总魏的百分比;
3030303)&
占周期总對[的百分比;
51.51515^6
$r1,$r0,A
$r2,0($r1)与上条写后读冲突;
$r4,$r0,$r2
$r4,0($r1)与上条指令写后读冲突;
$r6,4($r1)
$r8,$r6,$r1与上条指令写后读冲突;
$r12,$r10,$r1
$r16,$r12,$r1与上条指令写后读冲突;
$r18,$r16,$r1与上条指令组件冲突
$r18,16($r1)与上条指令写后读冲突;
;
$r20,8($r1)
$r22,$r20,$r14与上条指令写后读冲突;
米用指令调度技术对程序进行指令调度,消除冲突。
将调度后的
$r1,$rO,A$r22,$r20,$r14$r2,0($r1)$r24,$r26,$r14$r4,$r0,$r2$r6,4($r1)$r4,0($r1)$r8,$r6,$r1$r12,$r10,$r1$r18,$r16,$r1$r16,$r12,$r1$r18,16($r1)$r20,8($r1)$r0,$r0
(7)执行该程序。
观察程序在流水线中的执行情况,记录程序执行的总时钟周期数。
总时钟周期数为:
占所育顿的百分比:
25%占所有m傳顿的百分比:
W占周朗总数的百分tt:
at占罔期总敎的百分比:
曲占周期总教的百分比:
Q际占周期S数的百分比:
4.丁6価囲占周期总数的百分比:
£
3.30^2%
(8)根据记录结果,比较调度前与调度后的性能,论述指令调度对与提高CPU性能的作用;
指令调度后时钟总周期数从33降低到21,通过使用指令调度技术显著地提高了CPU的使用率,大大减少了指令冲突的次数,对提高CPU性能有很大的作用。
5、用延迟分支减少分支指令对性能的影响。
(5)
(6)假设延迟槽为一个,对branch.s进行指令调度,然后保存到
$r0,$r0
载入delayed-branch.s
打开延迟分支功能;
执行该程序,观察其时钟周期图;
(10)记录执行该程序所用的总时钟周期数;
执行总周期数:
26
ID端执行了20条指令
(11)对比上诉两种情况的时钟周期图;
(12)根据记录结果,比较没采用延迟分支和采用了延迟分支的性能之间的不同,论述延迟分支对于条CPU性能的作用。
答:
对比两种情况的时钟周期总数可知,在使用延迟槽后,指令在运行到跳转指令附近时,在期望概率上很大部分可能不会出现延迟等待,故能够稍微提高CPU性能,但是在跳转指令较多的程序中,此方法更为实用。
6、补充实验
(1)通过配置菜单,把加法、乘法、除法部件的个数设置为2个,把延
迟都设置为3个时钟周期;
用MIPS语言编写一段简单的程序,至少包含数据相关和结构相关,包含循环次数为4的倍数的循环,运行程序。
记录程序执行过程中各种相关发生的次数、发生相关的指令组合,以及程序执行的总时钟周期数。
按照要求写程序,但可对样例代码branch改编生成,结果如示:
.text
main:
ADD.D
SUB
ADDI
$r1,0($r2)$r1,$r1,1$r1,0($⑵$r3,$r3,4$r5,$r4,$r3$r5,loop$r7.$r0.$r6
ADDloop:
LWADDISWADDISUBBGTZADD
TEQ$r0,$r0
周期以及停顿信息:
近月:
行周期总敎:
71
Q段执行了龙条指令
占所苒RM恒顿的百分比:
2眾占所有RM偉輸的百分比:
0%占周期总数的百井比:
占周期总数的巨分比:
占周期总数的百分比:
占周期S数的百分比:
占同期S数的百分比:
(2)用循环展开、提示:
将循环展开3次,
序做相应的修改。
然后对新的循环体进行寄存器换名和指令调度;
运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数。
代码如示:
ADD
ADDIloop:
LWADDISWLWADDISWLWADDISWLWADDISWLWADDISW
$r3,$r3,16$r5,$r4,$r3$r5,loop$r7,$r0,$r6$rO,$rO
J2@:
爺T周期总数;
54m段执行了黄条指令
占所肓稠偉顿的百分比:
41.6&
667%占所有肚讯侮顿的百分比:
0*
占周期总埶的百分比:
0%占罔期总埶的S分比:
占周期S埶的百分比:
当定向技术打开和关闭时结果是否有差异?
当定向技术打开时,如果指令调度技术较为理想则不会有太多的提高,当然如果对指令调度不太成功则会存在较大差异。
Stall是否越少越好?
Stall较少对其性能提高有一定的影响,但是当stall降低到一定程度后则不会有很大的提高。
通过这次实验,对指令系统中各种优化方法有了一定的了解,并且在补充实验中使用集中优化策略的综合,让我对其有了较为系统的认识,对以后编写代码有一定的指导作用。
补充实验中对循环扩展的理解不太充分,只是对大概的流程有了一定的认识,而且对性能的提高不是很好,只减少了20个时钟周期左右,但是
CPU使用率明显上升,使得资源得到了更好的利用。
总之,通过这次实验,对实验教程上的策略有了较为深入的了解,总体上实验难度适中。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构