大连理工大学计算机系统结构试验-试验三_第1页
大连理工大学计算机系统结构试验-试验三_第2页
大连理工大学计算机系统结构试验-试验三_第3页
大连理工大学计算机系统结构试验-试验三_第4页
大连理工大学计算机系统结构试验-试验三_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连理工大学实验报告 计算机系统结构实验 实验三指令调度和延迟分支 学院(系):电子信息与电气工程学部 专业:计算机科学与技术 学生姓名: 班级: 学号: 大连理工大学 DalianUniversityofTechnology 实验三指令调度和延迟分支 一、实验目的和要求 (1) 加深对指令调度技术的理解。 (2) 加深对延迟分支技术的理解。 (3) 熟练掌握用指令调度技术解决流水线中的数据冲突的方法。 (4) 进一步理解指令调度技术对 CPU 性能的改进。 (5) 进一步理解延迟分支技术对 CPU 性能的改进。 二、实验步骤与操作方法 1、启动 MIPSsim。 2、根据前面的相关知识中关于

2、流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。 3、选择“配置”-“流水方式”选项,使模拟器工作于流水方式下。 4、用指令调度技术解决流水线中的数据冲突。 (1)启动 MIPSsim。 (2)加载 schedule.s。 (3)关闭定向功能。 (4)执行所载入的程序。通过查看统计数据和时钟周期图,找出并记录程序执行过程中各种冲突发生的次数、发生冲突的指令组合以及程序执行的总时钟周期数。 (5)采用指令调度技术对程序进行指令调度,消除冲突。将调度后的程序存到 after-schedule.s 中。 (6)载入 after-schedule.s。 (7)执行该程序

3、。观察程序在流水线中的执行情况,记录程序执行的总时钟周期数。 (8)根据记录结果,比较调度前和调度后的性能。论述指令调度对于提高 CPU 性能的作用。 5、用延迟分支减少分支指令对性能的影响。 (1)启动 MIPSsim。 (2)载入 branch.s。 (3)关闭延迟分支功能。 (4)执行该程序。观察并记录发生分支延迟的时刻。 (5)记录执行该程序所用的总时钟周期数。 (6)假设延迟槽有 1 个,对 branch.s 进行指令调度,然后保存到“delayed-branch.s”中。 (7)载入 delayed-branch.s。 (8)打开延迟分支功能。 (9)执行该程序。观察其时钟周期图。

4、 (10)记录执行该程序所用的总时钟周期数。 (11)对比上述两种情况下的时钟周期图。 (12)根据记录结果,比较没采用延迟分支和采用了延迟分支的性能之间的不同。论述延迟分支 对于提高 CPU 性能的作用。 三、实验结果与分析 1、指令调度 (1)schedule.s 程序 执行所载入的 schedule.s 程序。统计数据和时钟周期图如下。程序总周期数为 33,总停顿 17 次, 其中 RAW(先写后读)停电 16 次,自 B1 停顿 1 次。 汇总:汇总: 执行周期总数:执行周期总数:33 ID段执行了段执行了15条指令条指令 硬件配置: 内存容量内存容量:4096B 执行时间执行时间(

5、(周期数周期数) ):6 执行时间执行时间( (周期数周期数) )7 执行时间执行时间( (周妙教定向机制:不采用周妙教定向机制:不采用| | 停顿停顿( (周期数周期数) ): 加法器个效:加法器个效:1乘法器个数:乘法器个数:1除法器个数:除法器个数:1 鼬鼬W停顿停顿:16其中其中: 占周期总数的百多比占周期总数的百多比:4&(18485% Igd停顿停顿; ;6 浮点停顿:浮点停顿:0 占所有占所有RA他顿的百分比:他顿的百分比:37S/ 占所有占所有RAW停顿的百分比:停顿的百分比:0% 询停顿询停顿:0结结构停顿构停顿:0控控制停顿制停顿:0目目弼停顿弼停顿;1 占周期忠教

6、的百分比占周期忠教的百分比:0、 占周期总数的百分比:占周期总数的百分比:0% 占周期总数的百分比:占周期总数的百分比:0X 占周期总数的百占周期总数的百分比:分比:3030303% 图 1schedule.s 统计数据 共停顿 2 次,其中 RAW 停电 1 次,自陷停顿 1 次。 0123412345&TSTS9 910 IF ID EK HEV n IfIf STALLSTALL s EX im FB IFIF STALLSTALL 9 STUl EXEX IYFU Kfl IF STM1 n STILL IFIF STikLL 图 2schedule.s 时钟周期图 对于指令调

7、度进行优化。优化有三种方式:从前调度、采用了从前调度和从目标处调度两种方式。对比发现,图是源程序和改好的 after_schedule.s 程序。 从目标处调度和从失败处调度。在此,我们 从前调度的优化效果比从目标处调度好。下 after_schedule.s-记事本 匚schedule,.s记事本 文 件文 件 编 辑 口 格 式编 辑 口 格 式Q)Q)查查 看看W.textmain:ADDIU$r1j$rO,AW.textmain:ADDIU$r1j$rO,A LW$r2,0($r1)LW$r2,0($r1) ADD$rADD$rl l$rfl$rflt t$r2$r2 SW$r4,0(

8、$r1)SW$r4,0($r1) LW$r6,h($E)|LW$r6,h($E)| HDD$r8,$r6,$r1HDD$r8,$r6,$r1 MUI$tMUI$t ADD$r1fiADD$r1fit t$r12,$r1$r12,$r1 ADD$r18ADD$r18T T$r16,$r1$r16,$r1 肿$r18$r18f f LW$r20,8(5r1)LW$r20,8(5r1) MUIMUI0 02222 和和2 2。,。,$ $产产1414 MUL$r24MUL$r24T T$r26$r26t t$r1U$r1U TEQ$M.$rTEQ$M.$r dataAdataA:.word46,g.

9、word46,g 图 3scheduld.s (2) after_schedule.s 程序执行 after_schedule.s 文件。编辑文件。编辑 格式。理看格式。理看 ,text,text ruin:ruin: ADDHi$r1.$ro.A riULriUL$r2U,$r26$r2U,$r26 $r1U$r1U MUL$r12,$rioMUL$r12,$riof f$r1$r1 LW$r2.0($r1)LW$r2.0($r1) LW$r6,4($rl)LW$r6,4($rl) ADDjrie.SrlSADDjrie.SrlSt t$r1$r1 ADD$rliADD$rliF F$rO$

10、rOp p$r2$r2 白DO$r8,$r6DO$r8,$r6p p$r1$r1 ADDADD LW$r20,8($r1)LW$r20,8($r1) SWjr,O($r1)SWjr,O($r1) SWir18,16($r1)SWir18,16($r1) MUL$r22MUL$r22r r$f20,$rl4$f20,$rl4 TEQ$rOTEQ$rOr r$TQ$TQ - -datadata A A:.word.word4,6,84,6,8 图 4after_schedule.s 程序。统计数据和时钟周期图如下。执行周期总数是 18 个时钟周期, MDIHErl.trO,56 U U 耻1口库门

11、 j j MVMV(rO(rOF F$r2$r2SiSrtOtSrtOttrnLIfr6trnLIfr6(Srl)(Srl)ADADDfrB.SrA.DfrB.SrA.SrlSrlULULI IrLlrlOjHrLlrlOjHKUKUfrl瓦frl&MlatrnfriajriatrnfriajriSU*18.打山1 cs: 执行周 3 教:18 段执行了15条辐令 蛙传葩置: 内存容量:如霓B 加法器T戮:1 聚在噩个数!1 除去器中熟:1定向讥制:不采用执行时间(同朋数,:6执行时间(周圈效)7执行的间(用对数】1U 占所有以暗蓟由百分1:匕:01占所育IUM亨+帕3百分比:01占用

12、期总数的百分比:St占用窥总数的百分比.0%占用第总数的百分比:3首用期总数的百分比:5555班6占周期S数的百分比:1111111% 图 5after_schedule.s 统计数据图 7 7StSt件国,执司e en n存HftWQK3HftWQK31818U U0 0, Iffi*4*1.1MidK/Ccl*QIffi*4*1.1MidK/Ccl*Qflfl29294 4SC76SC76 iMwivsti.sno.wiMwivsti.sno.wIPIP丁 ULSrfULSrfc cSr6,Srll4Sr6,Srll4IV IXIX liblib | |* EX|EX|ItEHItEH n

13、 HIJL$rHIJL$rJS.JS.frfrLO.LO.$r1$r1 JLBJLBtiti- -2,0Crl)2,0Crl) IT l l1 1b b 11 MEME irir57UX.57UX. TPTP E3E3 MR3IMR3I FF U U4 4Ctrl)Ctrl) IFIF w w n n 修 ADDADDtrill.,trill.,fifi1Z,*rl1Z,*rl IFIF IBIB K K 即加*&弋 J J, IDID MDira.SriB.SriMDira.SriB.Sri nnnn曦.Tin.Tini iFLFL或 rrrr 图 6after_schedule.s

14、 时钟周期图 (3)调度前后比较与分析 实验数据表明调度前总周期 33 条,停顿 17 次;调度后总周期为 18,停顿 2 次。性能提升将 近一倍。可以看出在一定条件下,指令调度对于 CPU 性能的提升有很大的作用。 当然这提升同运行的程序及指令调度的方法有很大的关系。对于不同的程序可以提升的最大性 能是不一样的。而不同的指令调度方法对于 CPU 性能的提升也有很大的影响。 所以使用有效的正确的算法来进行指令调度是很有必要的,这样既能节约安排指令调度的时间,又能使CPU 的性能尽可能的得到提升。 2.延迟分支 (1) branch.s 程序:执行程序,发生分支延迟的时刻如图7中红线处。程序总时

15、钟周期 数为38,其中控制停顿为2。数据统计如图8所示。停顿E周期身】: 砧丫停轲:1 其中1: iLo.d再第!:0 浮史懵蜘:0 YMT停粮:0 结峋停顿:0 父窜隔林-0自陷停柄二1 停顿周耻e数: 占周期目豹芦百分匕:555555% 图7branch.s时钟周期图 I*UPScii-LiltilJ 二文件 9 执行内存好世配置。词匚如帮助 QPQP 汇总: 向日砌 E.E.翻:3636 LCLC 校执仃了在濡! 占好者贴哨辘101公编:ax占辆M军领的白方忠:m占周明忘跋的巨分比:加,工国明亡物的百斗比:rw在周西后勤的百珏比:弓押间守工占周期后数为宫野比;工E3L,仃而用书后敝重百分

16、比:如 图8branch.s数据统计图 (2) delayed_branch.s程序 对branch.s进行延迟分支调度,调度后程序如下所示。其中程序将SW$r1,0($r2)设置为延迟槽指令。 .text mair; ADD1 Sr5Sr5jrjrSraSrajrjr1021024 4 ATD $i3,$rD$i3,$rDr rrOrO AUDI SfSrSfSr 明日 JLU口F; L $rl$rlr r0$E2)0$E2) ATDI MDI 至 3,3,叔 3*3* 三一三 STS,Sr4,5r3STS,Sr4,5r3 BGT2 H HS S/ /looploop B酶r2) ADD S

17、r7,$ro,$x6Sr7,$ro,$x6 TEQ SiOSiOf fSxOSxO 图9delayed_branch.s程序 打开延迟分支功能,执行程序。时钟周期总数为32,控制停顿为0慎畔配置: 内存客置:KB3 加滤器才疑:1蝴器酎:1 麻去加憾:1南同仇却:不察.用 执行时间r剧磔O;&我I晚间(周据.门也行时间用侬1L 传析r稚口和1: 他I存皆:B 其中: 1*149451*14945: :# #部电停叼:0 0 T T 卅行拔:0 0 福|,:1 日陆日1亭旗理阳敌: 图10时钟周期图 tfi;tfi; 投行砒总装:英 口段执行了巾条指学 图11统计数据图 (3)调度前后比

18、较与分析 实验数据表明调度前总周期 38 条,控制停顿 2 次;调度后总周期为 32,停顿 0 次。控制停顿已消除。可以看出在一定条件下,采用延迟分支可以提升 CPU 的性能。 对于不同的程序可以提升的最大性能是不一样的。不同的调度方法对于 CPU 性能的提升也有 irri+umti SMtFiSMtFiIVMCK-B MEME点*才BiZBiZ总工1 1. .窿Hi.44rflHi.44rflLTBrl,LTBrl,MrZIMrZIMK3.faMK3.faLrLLrLI I热息蛔ItIt E1.IthRMHE1.IthRMH Ettih:.iiq!Ettih:.iiq!PTEd.PTEd.日餐副MlMlT.Ji3Ut*T.Ji3Ut* EFU.EFU. ZLLZLLIJDJraJra3 3 硬件配置: 内存客舞;40964096I I M M 拓聘中制:I熊法整个部:L除帝孙十数上定西布能: 下守用 停领用I蟠): JUTJUT 停投:12 其中: 得直停触:0 0 *足褥情:0 0 靖匐停粗:a a 控制停钞:o o目芾国$: 停地砸后窜:1313 用行明同田蚱常】:6执行的何(周期歌)7执的问(同踊数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论