计算机系统结构实验报告-指令调度与延迟分支

计算机系统结构实验报告-指令调度与延迟分支

ID:18382183

大小:195.00 KB

页数:7页

时间:2018-09-17

计算机系统结构实验报告-指令调度与延迟分支_第1页
计算机系统结构实验报告-指令调度与延迟分支_第2页
计算机系统结构实验报告-指令调度与延迟分支_第3页
计算机系统结构实验报告-指令调度与延迟分支_第4页
计算机系统结构实验报告-指令调度与延迟分支_第5页
资源描述:

《计算机系统结构实验报告-指令调度与延迟分支》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机系统结构实验报告院系:09级计算机系学号:230xxxxxxxxxxx姓名:xxxxxxx完成日期:2012.5.20班级0xxxxxx实验日期201xxx实验成绩姓名xxxxx学号2xxxxxxxx实验名称指令调度与延迟分支实验目的、要求及器材实验目的:1、加深对指令调度技术的理解;2、加深对延迟分支技术的理解;3、熟练掌握用指令调度技术解决流水线中的数据冲突的方法;4、进一步理解指令调度技术对CPU性能的改进;5、进一步理解延迟分支技术对CPU性能的改进。实验平台:1.采用指令级和流水线操作级模拟器MIPS

2、sim;2.WindowsxpPC机一台实验内容、步骤及结果实验步骤:1、启动MIPSsim。2、根据2.5节相关内容关于流水线的描述,进一步理解流水线窗口中各段的功能;3、选择“配置”--“流水方式”选项;4、用指令调度解决流水线中的数据冲突(1)启动MIPSsim;(2)用MIPSsim的“文件”—“载入程序”选项加载schedule.s;(3)关闭定向功能,“配置”—“定向”;(4)执行载入程序,通过查看统计数据与始终周期图,找出并记录程序执行过程中各种冲突的次数没发生冲突的指令组合以及程序执行的总周期数;程序

3、执行的总周期数:33程序冲突的组合:ADDIU$r1,$r0,ALW$r2,0($r1)与上条写后读冲突;ADD$r4,$r0,$r2SW$r4,0($r1)与上条指令写后读冲突;LW$r6,4($r1)ADD$r8,$r6,$r1同样,与上条指令写后读冲突;MUL$r12,$r10,$r1ADD$r16,$r12,$r1同样,与上条指令写后读冲突;ADD$r18,$r16,$r1与上条指令组件冲突SW$r18,16($r1)同样,与上条指令写后读冲突;;LW$r20,8($r1)MUL$r22,$r20,$r14同

4、样,与上条指令写后读冲突;(1)采用指令调度技术对程序进行指令调度,消除冲突。将调度后的程序写入afer-schedule.s中。内容如示:ADDIU$r1,$r0,AMUL$r24,$r26,$r14LW$r2,0($r1)LW$r20,8($r1)MUL$r12,$r10,$r1ADD$r4,$r0,$r2LW$r6,4($r1)ADD$r16,$r12,$r1MUL$r22,$r20,$r14SW$r4,0($r1)ADD$r18,$r16,$r1ADD$r8,$r6,$r1SW$r18,16($r1)(2)载

5、入after-schedule.s;(3)执行该程序。观察程序在流水线中的执行情况,记录程序执行的总始终周期数。总始终周期数为:18(4)根据记录结果,比较调度前与调度后的性能,论述指令调度对与提高CPU性能的作用;很明显,指令调度后时钟总周期数从33降低到18,通过使用指令调度技术显著地提高了CPU的使用率,大大减少了指令冲突的次数,对提高CPU性能有很大的作用。1、用延迟分支减少分支指令对性能的影响。(1)启动MIPSsim;(2)载入branch.s;(3)关闭延迟分支功能,“配置”—“延迟槽”(4)执行程序,

6、观察并记录发生分支延迟的时刻;(5)记录执行改程序所需要的总时钟周期数;(6)假设延迟槽为一个,对branch.s进行指令调度,然后保存到delayed-branch.s中;代码如如示:main:ADDI$r2,$r0,1024ADD$r3,$r0,$r0ADDI$r4,$r0,8loop:LW$r1,0($r2)ADDI$r3,$r3,4ADDI$r1,$r1,1SUB$r5,$r4,$r3SW$r1,0($r2)BGTZ$r5,loopLW$r1,0($r2)ADD$r7,$r0,$r6TEQ$r0,$r0(7)

7、载入delayed-branch.s;(8)打开延迟分支功能;(9)执行该程序,观察其时钟周期图;(10)记录执行该程序所用的总时钟周期数;执行总周期数:25ID端执行了19条指令(11)对比上诉两种情况的时钟周期图;(12)根据记录结果,比较没采用延迟分支和采用了延迟分支的性能之间的不同,论述延迟分支对于条CPU性能的作用。对比两种情况的时钟周期总数可知,在使用延迟槽后,指令在运行到跳转指令附近时,在期望概率上很大部分可能不会出现延迟等待,故能够稍微提高CPU性能,但是在跳转指令较多的程序中,此方法更为实用。6、补

8、充实验(1)按照要求写程序,但可对样例代码branch改编生成,结果如示:.textmain:ADD.D$f2,$f0,$f1SUB$r0,$r0,$r0ADDI$r2,$r0,1024ADDI$r4,$r0,16ADD$r3,$r0,$r0loop:LW$r1,0($r2)ADDI$r1,$r1,1SW$r1,0($r2)ADDI$r3,$r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。