


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机系统结构实验报告一. 流水线中的相关实验目的:1. 熟练掌握WinDLX莫拟器的操作和使用,熟悉 DLX旨令集结构及其特点;2. 加深对计算机流水线基本概念的理解;3. 进一步了解DLX基本流水线各段的功能以及基本操作;4. 加深对数据相关、结构相关的理解,了解这两类相关对CPI性能的影响;5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。 实验平台:Win DLX模 拟器实验内容和步骤:1. 用WinDLX模拟器执行下列三个程序:求阶乘程序fact.s求最大公倍数程序gcm.s求素数程序prim.s分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的
2、执行情况,观察CPI中寄存器和存储器的内容。熟练掌握Win DLX勺操作和使用。2. 用WinDLX!行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;论述资源相关对 CPI性能的影响,讨论解决资源相关的方法。3. 在不采用定向技术的情况下(去掉 Configuration 菜单中Enable Forwarding 选项前的勾 选符),用WinDLX!行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的 总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。
3、在采用定向技术的情况下(勾选Enable Forwarding ),用WinDLX再次运行程序data_d.&重复上述3中的工作,并计算采用定向技术后性能提高的倍数。1. 求阶乘程序用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。实验结果:在载入fact.s和input.s之后,不设置任何断点运行。a不采用重新定向技术,我们得到的结果Tot.ziL :出E Cj«le(s) executed.ID executed bji
4、145 Instructionh.Z Instructionfs currently iri Ppeine.Stalls:RAV etdlsc 53 (22.46 of dll Cycles)WAW stalls: a(100 of all CyclesStruciural 琥alls: n(o riox of all Cjnles)Control 茨日Is; Z5 (10.59 of all CjclesjT 卿 lUfc; 12(50瞬廿#1 Cycle?)To怙I: 90 SUIJ p8Ll 機 of all Cyclesb.采用定向技术,我们得到的结果:Totil:215Cyck(sl
5、 executedID execited R145 In5truction(3)-2 lrKtnjctionsj currenlip in Pipeline.Stalls:RAVstails. 1 ? (7.91 of all Cycles, thereofLD 3tah;3n7.GofRAWtldls)Brrtth/Jump stalls: 3 17.G5 of RAW 黒创可Fbafrx) point state: 11 (G- 70X of RAW 泅由WAW stalls: 0 (O.OOS of all CyclesShuclural si a lb; 0 (mJOcF all Cy
6、clesControl stalls: 25 (11,63带 of all Cycles)Trap stab: 12(5 58 of dl CyclesTotal; 54Stdl (25.12 of alcln)从上面的数据我们可以看出定向的作用:在定向技术存在的情况下Statistics窗口中的各种统计数字:总的周期数(215)和暂停数(17 RAW, 25 Control, 12 Trap; 54 Total)在定向技术不存在时候,控制暂停和Trap暂停仍然是同样的值,而RAW 暂停从17变成了 53,总的模拟周期数增加到236。所以定向技术带来的加速比:236 / 215 = 1.098
7、DLX forwarded 比 DLX not forwarded 快 9.8%。2数据相关先给出一个存在数据相关的程序:LHI R2, (A>>16) & OxFFFFADDUI R2, R2, A & OxFFFFLHI R3, (B>>16)&0xFFFFADDUI R3, R3, B&OxFFFFloop:LW R1,0 (R2)ADD R1, R1, R3SW 0(R2), R1LW R5, 0 (R1)ADDI R5, R5, #10ADDI R2, R2, #4SUB R4, R3, R2BNEZ R4, loopTRAP
8、#0A: .word 0, 4, 8, 12, 16, 20, 24, 28, 32, 36B: .word 9, 8, 7, 6, 5, 4, 3, 2, 1,0没有采用定向技术时运行该程序:得到rotaJ:202 Ccle(3)匚曲创4d,ID BMSCuted by 85 Instmclionjsl2 I nstr uctio n(5)cu rrenllj in Pipeline.StaIls :RAW stalls: 104- (51.of all Cycles) WAW stalls: 0 (0.00 °F all Cycle?) Structural stab: 0 (O
9、.OD of al 口匚le剧Control stalls: 3 4.46工 of al l Cpctes)T rap 狀剖第 3 (1.43 of dl Cyd?|Total: 116 Stalls |57.4K of all Cycles程序执行了 202个周期,10个数据相关引起的时钟周期RAW stall为104个。暂停时钟周期数占总执行周期数的百分比=51.48%采用定向技术时运行该程序:得到Total:12BCcle(s) executed.ID esecuted by B5 Irstfuctionfs).lnstruchQn(3)current in Pipeline.Stall
10、s;RAW ztals: 30 (23.44£ of allthereof:LO stalls: 20 (6S.67oF H閉V 曲闊BranehZJ ump stalls: 1 0 132.32 of RAW stalls Floating point stalls: 0 J.00 of RAW Etalls)WAV/ stalls: |0 0(1 of all Cycle?)Structural stalls:匚(0.00 of all Cycles)Control stalls: 9 (7。炎 of all Cycles)Trap stalk;;匸34玄 of all Cycl
11、e?)ToUl: 42Stalls) (32.61cf all Cycles)程序执行了 128个周期,共有6个数据相关引起的时钟周期RAW stall为30个。暂停时钟周期数占总执行周期数的百分比=23.44%1.57 倍。可见通过定向技术,减少了数据相关,缩短了程序的执行周期,整个性能为原来的3结构相关 下面这段程序存在结构相关ADDI R5, R5, 1SUBI R4, R4, 1AND R3, R3, R3XOR R7, R7, R7ADDI R8, R8, 1ADDI R9, R9, 1MULT R1,R5,R4MULT R2,R3,R7执行之后得到的 clock cycle pro
12、grame柑.口 J Je rFjTj?adcirS.Odddiiy/U.Udmut rl5.iZvukrirl.r?卜 | ID"I m 晟Statistics:2ZJ.;20utfUGidID executed by 1lns(MGori(s|b5 lr)ftruct>an(¥j gum前费 in Pipeline,Stalle:RAW 試卫黑 0 |0.00 of al CycleJy theieoLLD stalls: 0 (OLOOSJ cf RAW stalkErarichAJimrip 吻mils: HDD殳 of RAW* 址mil到Floatrig
13、point stalls (0.00 of RAW Stals)WAV/ stalls: 0 (0,00 of all CydesIStruclmd alk 4 20.00% of all Cycles)Cbnfrd 刖辰 0 0 00 of all CyclesTrap sJalls: 0(0.00玄 of all CyclesTotal: 4 Stalljsj (23.00 of all CcleJ可见1个结构相关引起了4个stall,占总共20个CYCLE的20%为了避免结构相关,可以考虑采用资源重复的方法,比如,在流水线机器中设置相互独立的指令存储器和数据存储器,也可以将CACHE分割
14、成指令CACHE和数据CACHE。二. 循环展开及指令调度实验目的:1. 加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;2. 熟悉用指令调度技术来解决流水线中的数据相关的方法;3. 了解循环展开、指令调度等技术对CPI性能的改进。实验平台:WinDLX模拟器实验内容和步骤:1 用指令调度技术解决流水线中的结构相关与数据相关(1 )用DLX汇编语言编写代码文件*.s,程序中应包括数据相关与结构相关(假设:加法、 乘法、除法部件各有2个,延迟时间都是3个时钟周期)(2) 通过Configuration菜单中的Floating point stages ”选项,把加法、乘法
15、、除法部件的 个数设置为2个,把延迟都设置为3个时钟周期;(3) 用如"DLX运行程序。记录程序执行过程中各种相关发生的次数、发生相关的指令组 合,以及程序执行的总时钟周期数;(4) 采用指令调度技术对程序进行指令调度,消除相关;(5运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总时钟周期数;(6)根据记录结果,比较调度前和调度后的性能。论述指令调度对于提高 CPU性能的意义。2. 用循环展开、寄存器换名以及指令调度提高性能(1 )用DLX汇编语言编写代码文件*.s,程序中包含一个循环次数为 4的整数倍的简单循环;(2运行该程序。记录执行过程中各种相关发生的次数以及程
16、序执行的总时钟 周期数;(3)将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。然后对新的循环体进行寄存器换名和指令调度;(4运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执行的 总时钟周期数;(5)根据记录结果,比较循环展开、指令调度前后的性能。3)存在相关的程序1指令调度:首先,通过 Configuration菜单中的 白oating point stages"选项,把除法单元数设置为 3,把 加法、乘法、除法的延迟设置为3个时钟周期。给出调度前的程序 sch_bef:.data.global ONEONE: .word 1.text.gl
17、obal mai nmain:lf f1,ONE ;turn divf into a movecvti2f f7,f1 ;by stori ng in f7 1 innop ;float in g-po int formatdivf f1,f8,f7 ;move Y=(f8) into f1divf f2,f9,f7 ;move Z=(f9) into f2addf f3,f1,f2divf f10,f3,f7 ;move f3 into X=(f10)divf f4,f11,f7 ;move B=(f11) into f4divf f5,f12,f7 ;move C=(f12) into f
18、5multf f6,f4,f5divf f13,f6,f7 ;move f6 into A=(f13)Fi nish:trap 0运行之后可以得到结果:Total:27executed.ID wsciJed by 12 ln$buctiori(l2 lnr£truclion(s) cureritlp in Pipeline.tells:RAW stalls: 9 33.33 M aJI Cycles, thereof:LD stalls: 1 (ll.inor RAW stalk Branch/Jump stalls: 0 (0.00 aF RAW stallsFloating po
19、int st dis: S (100.00 of RAW stalls) WAW stab: 0 (0.00 of all Cycles)S tructural 曲紙 0 (D.OOZ of all Cycles) Control stalls: 0 (0 00 of all Cjjde$|Trap stale; 7 (25.32% of el Cycles)Total: 16 Stales (E9 of dl Cycles)调度之后的程序sch_aft:.data.global ONE ONE: .word 1 .text .global mai n main: lf f1,ONE ;tur
20、n divf into a move cvti2f f7,f1 ;by stori ng in f7 1 in nop ;float in g-po int format divf f1,f8,f7 ;move Y=(f8) into f1 divf f2,f9,f7 ;move Z=(f9) into f2 divf f4,f11,f7 ;move B=(f11) into f4 divf f5,f12,f7 ;move C=(f12) into f5 addf f3,f1,f2 multf f6,f4,f5 divf f10,f3,f7 ;move f3 into X=(f10) divf
21、 f13,f6,f7 ;move f6 into A=(f13) Fi nish: trap 0运行之后得到:Ictal:2 Cydefs) eeGuhd.ID esiecUted by 121 ristruGtionfs,2 lrtEhuGlion(sj Gorent in Pipeline.Stalls;RA.W:stTk: 2 (14.2S龙 ot all Cycles), thereof: LD stalls: 1 (33.33 of RAW stalls BrcrcIVJurnp wtals; 0 (0.00 nt RAW stals Floating point stalls; 2
22、 (56.67 of RAW 京dh)U/AW stalls: 0 ( 00 of all Cycles Structural stalls: 0 (0,00笔 of all Cycles Control stalls: 0 0.005J of al Cycles)T rap g矗:6 (28i57S of ( C屈詢 Total; 9 Gtals)(42of all Qyctes可以看出经过调度之后运行周期从27减少到21,而且减少了相关。2循环展开:循环展开前的程序:LHIR2, (A>>16) &0xFFFFADDUIR2, R2, A&0xFFFFLHIR3
23、, (B>>16) &0xFFFFADDUIR3, R3, B&0xFFFFADDUR4, R0, R3NOPloop:SUBIR4, R4, #8SUBR5, R4, R2BNEZR5, loopTRAP#0A:.double 1,2, 3, 4B:.double 1,2, 3, 4运行结果: | n Total:和 口曲計 餡时收d-ID executed by 19 Instrucliors)2 Iristfuctionfs cuirantl in PipelineHardware centlguTation:Wemcr size: 327G0 Bptes h
24、ddEXkges: 1 requirerl 匚clles: Z fnulE冷$倚鸟誹;1 j rquird Cycles; 5 fd vF过工匕qi- ' . rpqi jirdyT-” 一 匚 Forwarding enabled.Stalls;RAW 泅尿 4 (13.33 of all Cycles, thereofLD ctah: 0(0 OIK tif HAW rtahBronchXJump stalls: 4(100 00% of RAW stalls) Floating paint stJIs; 0 (0.00 of RAW stalsVAW stalk 0 (O.m o
25、f all Cyclles)Structural stalls: 0(p.00% of all Cycles Corlrol 注罠 3 (10.00 of el Trap stalls- 3 卩 0.003J of al Cycles) Total-10 St出剧33.33Z af all Qides)循环展开后的程序:LHIR2, (A>>16 )& OxFFFFADDUIR2,R2, A&OxFFFFLHIR3,(B>>16) &0xFFFFADDUIR3,R3, B&0xFFFFADDUR4,RO, R3SUBIR4,R4, #8SUBIR4,R4, #8SUBIR4,R4, #8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链智能合约代码安全检测与合规性审查协议
- 《契诃夫《艺术品》课件》
- 直播间家电产品选品与供应链服务合作协议
- 绿色环保物流配送车队委托专业经营管理协议
- 专属定制型退休养老私人理财规划书
- 老龄房产抵押权代理协议
- 县域知识产权管理
- 《核心构件解析教程》课件
- 全科医学师资培训体系构建
- 《皮肤病临床症状》课件
- 康复技术考试试题及答案
- 炊事人员考试题及答案
- 《埃菲尔铁塔》课件
- 形象设计概论试题及答案
- (三模)南通市2025届高三第三次调研测试英语试卷(含答案解析)
- 红细胞生成素靶向治疗策略-全面剖析
- 浙江浙达环境科技有限公司年收集、贮存及转运危险废物5000吨的搬迁项目环评报告
- 2025年留置辅警笔试真题及答案
- 不同来源硫酸软骨素的化学结构、抗氧化与降脂活性对比
- 小学政治 (道德与法治)人教部编版二年级下册14 学习有方法教学设计
- 广东省2024-2025学年佛山市普通高中教学质量检测英语试卷及答案(二)高三试卷(佛山二模)
评论
0/150
提交评论