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

上传人:博****1 文档编号:512903778 上传时间:2023-11-15 格式:DOC 页数:9 大小:183KB
返回 下载 相关 举报
计算机系统结构实验报告-指令调度与延迟分支_第1页
第1页 / 共9页
计算机系统结构实验报告-指令调度与延迟分支_第2页
第2页 / 共9页
计算机系统结构实验报告-指令调度与延迟分支_第3页
第3页 / 共9页
计算机系统结构实验报告-指令调度与延迟分支_第4页
第4页 / 共9页
计算机系统结构实验报告-指令调度与延迟分支_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《计算机系统结构实验报告-指令调度与延迟分支》由会员分享,可在线阅读,更多相关《计算机系统结构实验报告-指令调度与延迟分支(9页珍藏版)》请在金锄头文库上搜索。

1、 (计算机学院)课内实验报告实验名称: 指令调度和延迟分支 专业名称: 计算机科学与技术班 级: 学生姓名: 学号(8位): 指导教师: 实验日期: 实验名称指令调度与延迟分支实验目的、要求及器材实验目的:1、 加深对指令调度技术的理解;2、 加深对延迟分支技术的理解;3、 熟练掌握用指令调度技术解决流水线中的数据冲突的方法;4、 进一步理解指令调度技术对CPU性能的改进;5、 进一步理解延迟分支技术对CPU性能的改进。实验平台:1 采用指令级和流水线操作级模拟器MIPSsim;2 Windows PC机一台实验内容、步骤及结果实验步骤:1、 启动MIPSsim。2、 根据2.5节相关内容关于

2、流水线的描述,进一步理解流水线窗口中各段的功能;3、 选择“配置”-“流水方式”选项;4、 用指令调度解决流水线中的数据冲突(1) 启动MIPSsim;(2) 用MIPSsim的“文件”“载入程序”选项加载schedule.s;(3) 关闭定向功能,“配置”“定向”;(4) 执行载入程序,通过查看统计数据与始终周期图,找出并记录程序执行过程中各种冲突的次数没发生冲突的指令组合以及程序执行的总周期数; 冲突次数:16 程序执行的总周期数:33 程序冲突的组合: ADDIU $r1,$r0,56 LW $r2,0($r1) 写后读冲突; LW $r2,0($r1)ADD $r4,$r0,$r2写后

3、读冲突;SW $r4,0($r1)LW $r6,4($r1) 写后读冲突;LW $r6,4($r1)ADD $r8,$r6,$r1写后读冲突;MUL $r12,$r10,$r1ADD $r16,$r12,$r1写后读冲突;ADD $r16,$r12,$r1ADD $r18,$r16,$r1 写后读冲突LW $r20,8($r1)MUL $r22,$r20,$r14 写后读冲突;(5) 采用指令调度技术对程序进行指令调度,消除冲突。将调度后的程序写入afer-schedule.s中。内容如示:Main:ADDIU $r1,$r0,AMUL $r24,$r26,$r14LW $r2,0($r1)L

4、W $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)(6) 载入after-schedule.s;(7) 执行该程序。观察程序在流水线中的执行情况,记录程序执行的总始终周期数。总始终周期数为:19(8) 根据记录结果,比较调度前与调度后的性能,论述指令调度对与提高CPU性能的作用;指令调度后时钟总周期数从33降低到19,通过使用指令调度技术显著

5、地提高了CPU的使用率,减少了指令冲突的次数,对提高CPU性能有明显的作用。5、 用延迟分支减少分支指令对性能的影响。(1) 启动MIPSsim;(2) 载入branch.s;(3) 关闭延迟分支功能,“配置”“延迟槽”(4) 执行程序,观察并记录发生分支延迟的时刻; 第15时钟周期发生,17时钟周期 第30个时钟周期发生,32时钟周期(5) 记录执行改程序所需要的总时钟周期数;(6) 假设延迟槽为一个,对branch.s进行指令调度,然后保存到delayed-branch.s中;代码如如示:main:ADDI $r2,$r0,1024ADD $r3,$r0,$r0ADDI $r4,$r0,8

6、LW $r1,0($r2)loop: 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) 载入delayed-branch.s;(8) 打开延迟分支功能;(9) 执行该程序,观察其时钟周期图;(10) 记录执行该程序所用的总时钟周期数; (11) 对比上诉两种情况的时钟周期图;(12) 根据记录结果,比较没采用延迟分支和采用了延迟分支的性能之间的不同,论述延迟分支对于条CPU性能的作用。对比两种情况的时钟周期总数可知,在使用

7、延迟槽后,指令在运行到跳转指令附近时,在期望概率上很大部分可能不会出现延迟等待,故能够稍微提高CPU性能,但是在跳转指令较多的程序中,此方法更为实用。补充实验:1.程序如下 .text main: ADD.D $f2,$f0,$f1 SUB $r0,$r0,$r0 ADDI $r2,$r0,1024 ADDI $r4,$r0,16 ADD $r3,$r0,$r0 loop: LW $r1,0($r2) ADDI $r1,$r1,1 SW $r1,0($r2) ADDI $r3,$r3,4 SUB $r5,$r4,$r3 BGTZ $r5,loop ADD $r7,$r0,$r6 TEQ $r0

8、,$r0程序执行结果:2.用循环展开、寄存器换名以及指令调度提高性能 .text main: ADD.D $f2,$f0,$f1 SUB $r0,$r0,$r0 ADDI $r2,$r0,1024 ADD $r3,$r0,$r0 ADDI $r4,$r0,16 loop: LW $r1,0($r2) ADDI $r1,$r1,1 SW $r1,0($r2) LW $r8,32($r2) ADDI $r8,$r8,1 SW $r8,32($r2) LW $r9,64($r2) ADDI $r9,$r9,1 SW $r9,64($r2) LW $r10,96($r2) ADDI $r10,$r10

9、,1 SW $r10,96($r2) LW $r11,128($r2) ADDI $r11,$r11,1 SW $r11,128($r2) ADDI $r3,$r3,16 SUB $r5,$r4,$r3 BGTZ $r5,loop ADD $r7,$r0,$r6 TEQ $r0,$r0程序执行结果: 当定向技术打开和关闭时结果是否有差异? 当定向技术打开时,如果指令调度技术较为理想则不会有太多 的提高,当然如果对指令调度不太成功则会存在较大差异。 Stall是否越少越好? Stall较少对其性能提高有一定的影响,但是当stall降低到一 定程度后则不会有很大的提高。总结 通过这次实验,对指令系统中各种优化方法有了一定的了解,并且在补充实验中使用集中优化策略的综合对其有了认识。附录

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号