版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告学 院:计算机学院课程名称:计算机系统结构实验名称: WINDLX模拟器实验班 级:姓 名:学 号:实验一 WINDLX 模拟器安装及使用实验二 指令流水线相关性分析一 实 验类别验证实验二 实 验目的通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专 用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。三 实 验环境Win dows XP操作系统Win DLX模 拟器四 实 验原理指令流水线中主要有结构相关、 数据相关、控制相关。相关影响流水线性能。(1)数据相关定义:原有先后顺序的两条指令(I1, I2)在对共享变量(位置)
2、进 行读、写时,指令流水线中实际完成的读、 写顺序与原有顺序不一致,导致流水线输出错误三类数据相关:写读(WR相关读写(RW)相关 写写(WW)相关解决方法技术:1. 使某些流水线指令延迟、停顿一或多个周期。2. 双端口存储器:如果指令和数据放在同一个存储器。3. 设置两个存储器:一个数据存储,一个为指令存储器。4. 软件优化编译:通过指令重新排序,消除数据相关。5. 定向技术:又称旁路技术或专用通路技术,是使后续指令提 前得到前指令的运算结果(适合ALU类指令)(2) 结构相关定义:如果某指令在流水线重叠执行过程中,硬件资源满足不了 指令重叠执行的要求,会产生资源冲突或竞争,称为流水线结构相
3、关解决方法技术:1. 延迟技术:使某些指令延迟、停顿一或多个时钟周期2. 双端口存储器:允许同时读两个数据或指令3. 设置双存储器(哈弗结构):一个数据存储,一个指令存储 4软件优化编译:通过指令重新排序消除结构相关。(3) 控制相关定义:控制相关是指因程序执行转移类指令而引起的冲突相关。 包括无条件转移、条件转移、子程序调用、中断等,它们属于分支指令,执行中 可能改变程序方向,造成流水线断流。解决方法技术:1、静态分支技术静态转移预测技术(猜测法);延迟转移; 提前形成条件码,生成转移目标地址; 改进循环程序;2、动态分支预测技术转移历史表BHT;转移目标缓冲栈(BTB ; 转移目标指令缓冲
4、栈BTIB五. 实验步骤(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。(2)(3)(4)、,、-、八 注意:考察增加浮点运算部件对性能的影响。考察增加forward部件对性能的影响。观察转移指令在转移成功和转移不成功时候的流水线开销。 除(2)以外,浮点加、乘、除部件都只有一个;本问题中所有浮点运算部件的延时都请设定为 4个周期六. 实验过程在开始模拟之前,将fact.s 和input.s 加载至 WinDLX中。加载完后点击Code后可以看到如下图所示。证明加载成功,即可进行以 下实验。(1 )观察程序中出现的数据 /控制/结构相关。指出程序中 出现上述现象的
5、指令组合。1.1.数据相关如图所示*1 V 1 KIf爭皿冋皿囱吗爵怕M DU 2HU*Q写却03k為佗fu cfwIb.u英眄城皿林小再伽皿109(i m inpJ.FfrilFtfrOlilUU-tliJAgdilM HJ JNIIUfli-so:mn.ddHl4,iU JklH-4n-s<hxffxoro臥OKCirL>*flddi 丄rCi.CMB 囲n颐nmLiddi iOrO.>iazE,抑13MEH bJi LM1 I L179Oh£KE JXte ID匡 GLhUMLt U.ll斑U-l4dL JJ11 lbb- e; r krid-iLMlDLCi
6、aijOJQDCT 夏ohomcwiiimufi/Mtrif: udttii F L'CtavS- illsdg仙叭M匚.1土| IF 心屮 | Wi |.Ma r| r-AlI K.iiQi ll 占"JjM(眄EfSf】 OrtaBiiEjft.rpiit *曲;4Inf nrMat ion about seql r Qxaiseqi rbJ.UxaIFIDriptk丄cop+Cbri Cede- axGOGmOaCyde®: -2(1I ciiririHalcd 国sou話和 IpEVde$: 1(2)In FipelriEIn PoF-hre-StBrp I
7、DIMAJR<PC lshpJ: Loop0x()& M卜阿Fist gefee -ZFsf Rjczr-MMHiiPNA=i('-Ox60jOOOd|PC<PC+4 f=inpiX.LKi>48Il Stal(£ because of AAW-Mazard vylliLuiaOi2)NoStals required.IntEXMEMWBlbu r3,0 x 0(要在WB周期写回r3中的数据;而下一条指令seqi r5,r3,0 x a要在intEX周期中读取r3中的数据。上述过程发生了 WR中突,即写读相关。为了避免此类冲突, seq r5,r4,
8、0 x a的intEX指令延迟了一个周期进行。则发生数据相关的指令为0>«0ODC168庖0“add r2iD.fc1C34ri血n口 £crt/TTin omaadd rljflJhcQOiJOXOOl 70&<20(4000eadd rlj-DOwainput 丄 oopMo-igooooOrfOODCIrO(MMCOOJc MLt/0>flOOQC17c(M140OOOM IDt)ns &npul.FinjhrfjooonsoDk28E30O3G IFsub r3j3HOx3D0>C0ODCI9400024061 =multi
9、rl j1 j4T1.2控制相关可知第0*00000130条指令jfact.Loop为循环指令,指令在EX时刻才能判别指 令是否发生转移,此时发生了控制相关。如下所示,此时指令跳转成功,故顺序 取出的指令必须中断,并且转向取出转移到的指令。jfact.Loop在EX时发现跳转成功,则在EX阶段马上结束指令顺序取出的指令 sd PrintfValue(r0),f0,转而执行led f0/4指令的取指阶段ID。由于此控制相关使得 流水线断流一个时钟周期。1.3结构相关Cyclo): 213)In PipdheirIMAR<.PC (-rput.L«pdKlB| lfi<-Me
10、mk1AR>0ixE)*2(»O1 FC<-FC+4 |=wp(J.LoDpi-Oxlc2 Sil tecdu 密slruLtLaal Hazard上图表明了 addi r2,r2,0 x 1的详细信息。该指令与它前一条指令addr1,r1,r3 发生了结构相关。并且由于此处的冲突,需要暂停 2个周期。在ID段 暂停后,则开始进图intEX段。所以这条指令(addi r2,r2,0 x 1)你不能进入 ID流水段,译码部分占用,发生了结构相关。该部分的指令为:UXULUUU fC OxOOUCOIGOUXZ3E30U3UDne?o;npn.msnsubi r3j303DI
11、M1ULMJLIT84UxUJ24UH15 hnultXlrrullu rl jlj4bdraoes0x00230320 IDadd rt jl j3nxnnmmFh0x2wnmi faddi i2j2 Hx1n-rinorn-qii inn * I vrni(2) 考察增加浮点运算部件对性能的影响。取 N=12设置浮点运算部件的配置。由于实验手册上面要求Delay=4,所以我们将Delay这一栏改成4,而Count可以任意,为了对比,我们第一次浮点运算部件 取全部为2,第二次浮点运算部件取全部为 4。分别运行50个cycles后,数据对比如下:AJdian Uitk;Ciint)*1 期E4
12、MuIbpIcalliDri Unrs:24Drysion Un£i&:2"4Aririilinn UnitsCouhLDrlqi*-44Uril去44D iF/ii§ion Un'4Nijmber of Units in eadn Elast: 1 - M <- 9,Deai (Clock Cycled 1 <= N <= 50VZARNIMG' Ifycu eha» ih* 也Lit< tht pieeettDrvil bs- re-set autwiaticdlp!13CicelNuirtei gf
13、UHM in gch CbK- 1 < - M <=日;Delay 匚Hk Cycbs: I £=N <= SOwAnhlNG: $ 卿 cmanrgc ibc /创亡工 thepoce越or別 il te resei sutoma'icalhlI3KCancelTotalbLl C*clesJ eNeojIed ID eOLi'Klby JO rsiuclcrVJ.£ k«TuetiaT(j eu忖nHy in Fiplin*Tot al:!±l Lyd 邑对 KecLdledHO wecutdl b> 30 n
14、ffruercn s)4 IntuuionfskuirsnMy in Flpelni.Hardware 匚onf iguTation 超把 32T68 BpiR fnlilFX-Sldits »quhd Cndlx 4 f idD-SiGQK; 2. vequioedCvd 4 flivE-ElageT: 2, requirsdl Cicfes 4 u >iV3icirg encLleCHar drai e conf i gura t ion :Mrwr/ ii»: S7S9Bytet adc£>-$taget: 4. nvqjifKl Cdte: 1
15、 fimiiEX-SfagF 4_ if甲iiinM 匚戶i MivfX-Srage?- 4. reqrJred Cyclee- 4 FuwdriJinij stidbled.StallsRAW12 (24.30 gf dlthereofILD dk: 2 (1 & £71 of RAW 站IkEfaiwh/Jump dalle 2(16.td HAW 弑创时Fkjtrgpcrit ctallkr: 8 tt.67 oi RAW MW 計訓x 0 |U0(al5 tiudiural 处訓空 0 D OO cf 目I CycfeJ 匚GMid its任 3 (b.LU 对 al
16、l 口已战J Trnptiali:: 6 |12 00 M al Cjle?) TorM ?1 SMH?) (42 nOXrflQjt)CutiiJd 11 uiid 1 BicdiLch ).T uhl 2(C.G7 of dllndruclioniltf werf: taken; Cl|OCO? Wdl&ond Biand-tt) ird taken: 2 fl 00. ")3% ©f ol gnd_ Branch词Load匕 cat Instuti oas:T otal 1 (23.33% d illl n«tiuDl»net thviwl
17、:Loach; 2 (2t.57 ctf Load- /S tars -IrstuctcnslPtD屁 b l-'l J3-:' ct LsadbSfccre- risorucl口rs|Stolls :FAW 知I血 12(24W cf al CjicleaL thersH LJQ 域业:2|lKb/of RAW盘afcj fcsrarchdLHip /at HAW stall訂FlFAiing pninr 如II科 F 怖 FZ'i of RAVZ stflls)WW 沏 1$ D (O.QOol dl adesl Eliiclii亡I sidk- 0 (D.ODfe
18、 cf al C/cIca) Ccrtrol 如Ik: .1 |C OCft: of dl Cycb&) TrapZ GI12.m<3fdild«| T cUl; 21 Stal(t) (42.00% d al Cyclw)tendi t icnal Hraiaehes)TcMP ?(667 of all IntMBknl thsreof: lakw 0(0 OOol allccrid Bi/ch鬭TO1 taken: 2 1 DO. 30S 廿引 c?nd Bigih穴Load-S t or目一 liss I rue I ie n&I oUI: 7123 33
19、 ot 川 I ntoructjorwl 出出.-i- i- ' | : - " n! L ri1=.-.,-rnr lrrfr i-hr!-?Stores" 5 久恋 N L oarf-Zf toie-l rKtiuciions)Float ng Feintin st met inns TtirM 2 fi rf 11ihpnr-AddBcns- 0 (0cf Floating 口oirtinrtJMulrtplcatltms: 2(110 3血 of Roethg COrt siaoe Inst.) DipLuFM. 0 |0.00/:. uf -bei'
20、;ing ptiril sldjc iwl|FLqsIing point ataye iii&tx.TcUl; 2lfG 67 of all Instrjcfcral thereof:jddtions J (O.OIK of Flomtir耳 point 合lags in st I hufticatont: 2 1UU. UUX or l-bahrg pantinLDivitiors i ii Uli: Flwhrgpart 时旳色 nst|Traps.;Traps; 2 6.E7Jt d al In比udi口口前TtclpsT i api 2 |G. E 7究 ol oil IrEl
21、nicto-is比较各个数据,发现没有变化。无论怎么增加浮点运算部件,统计结果都一 样。原因在于此程序中浮点计算指令没有重叠, 所以并行度没有增加,性能没有所以,浮点运算部件的增减对效率无影响(3) 考察增加forward部件对性能的影响。为了对比有无forward部件的性能。需要在勾选 enable forwarding,以及 不勾选en able con figuration来看性能数据的对比。不使用forward部件:使用forward部件:Tcitad =20 Cych(s GHecjrcd;IDby 10'S IrKbuetien讣ru侔nHy ir> PipMr 尸K
22、m dwsj. e ooil£ igtixa t £ oti -Mflimory 对蛆 32768 Bj4osF>ddEX-Stig$t: t i«qjiiidCdfr? 4fnulr:<SracFs 4 qiirerlCjizfe'" 4 filivE>-5 dues: -jisqued fcl氐 4 rsifirding dialed.Stalls:FAW stcili- F5 (32 刊盖 al Cctesj 诫AW e怙憾 0(0.00 jI dl CwJesI :nj'iurd stal': J (0.
23、03 of al Cjclci)Conirol 17 (Bal Cpdea)Trap ttalb-12 |E fl IL % of al Cycles:)Total: 94 Stal($)(47 DO% 01 al CudesiCondi t i u iia 1 Branches ):Total: 15(1-1.2? tf al lre*uctDrts). th日耳卜 :ak&n: 2 |13 H丄总 ot all oxd El rarcheij nor taken: 13 (86.6731 ol 消lecnd BiandhesJLcad- t or e -Inst rue tTcta
24、t 12 12.2B dt al IreA-ucthns), IKbi&dIi Loaf 空 (5jd.y?jA 3)Lcad-Aitdr&l riaructfirKjSrores S(4fi IS% ol Load-Stciil naiudorelFJoa tin 吕 point st age ins t met ions-Tctat M (22.8£ cf al InsJtructhis),加Bie乂 AddriMf Hor Floangponl ttage r&LjvuliiDlratioris: 13 (54 7'- oi FltMthg po
25、rt 划&护 nsi 】 Divisors 0(0.00 DfFloitrQpurt 站护 irwijTraps:Traps <li3.8B; ol all httiudthonsStat ist ImTobsl:168 Schl対 Ot&DlJccL D executed b1CE lroiru:iionfjl 2 Instiutlignilsl urintK1 hlPiwint.K<a口已u迪工匕 con f i gu ra t i onMRmrrji size- ;V7fiF BjesFarirEX-11: rijpf 4, r-=qjred 匚jide? 4
26、 rmJEX-Stages:虬阳Cpcles: 4 riMtX-S'aces 九咱应::4 Fcirardhng cradceStalls:RAW sidk; 26 HG-4CU ol all Ccle?I ihcicot LD si制倉 3(11.5 Di iRiWddl&| Rirrt-tZliiADSVilte 3 11 r4 Flowing port 盘alh: 20 (76.92 trf RAW 到 w£iW naif 0 3 0C1 of al Qpd»j Slrueturil grille: U OJJJ of 对 CyclitJ Qonbal
27、 atak 1 ?|(jO.?Eft of all CycletJ l rap 12 (?=E£K gi a I CjtpIb5| 1 otat EE>(0401H of al CclejCondi tioiLpl DreuGhes).Tor.t iri(14 2碌 of 吕11 mi ll jti fem 尿肥E taken 2(13.33 o( al cond. Blanches hfltiatM' 1 2 (86 暫乂 of 占II Mhfl1 Biisne-het)load«Z5t 氓一 I ns t rue t ions:liotm: 1J! 12!
28、 of ail InctiudtDis L theiiBDl: Looid 7 d Lsadl ,/Sloie ln5TudioPi) Slc<03: G 4G 巧翳 cf Laadl /SIdic Iiiwui:如帕Floatinci rpoinL 芒tage inst-mi匚Hi口ns . Totat 24 (22 8E盘 Of allln3t(ixi*btl thmotAddNon$: 11 |4ci 83X d Aoalrgipahl nag* imr) Hi iriinli"加声 13 祁 17: 口l Flrinj print 咄”疔 irst DivtsiorH:
29、匚0 0D-: of Fatrg pcint 就白沪 irKtTapeIirapfc; J Q31 路 of 制I Imlr jcliPi)从上面的数据我们可以看出增加forward部件后,总的周期数由200减少至 158, RAW由原来占总时钟周期的 32.5%减少至16.46%, RAW个数由原来的65减 少至26。增加forward部件使得控制相关比例增加了。所以,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到一定的改善(4)观察转移指令在转移成功和转移不成功时候的流水线开销Condit ional Bxanchrn)T old; 15 卩 4.2B% cf
30、4ll Insbuclnns). Ihepsof. taken: 2 (13.33 qI all wnd BrarKhss) not latere 13 BE.6 d al coni Branches I可知条件分支指令总共有15条,其中有2条转移成功(13.33%),有13条 转移不成功。转移不成功的指令就顺序执行,故不会影响程序的运行,不会导致流水线断 流;而转移成功的指令会导致流水线的断流, 要废弃预先读入的指令,重新从转 移成功处读入指令,执行效率会下降。经分析可知,两次断流都会导致一个周期 的流水线断流。七. 实验总结1. 在流水线中,硬件资源满足不了指令重叠执行的要求,会产生资源冲
31、突或竞争,称为流水线结构相关,而解决流水线相关的途径之一是设置双存储器 (哈 弗结构):一个数据存储,一个指令存储。实际上,本身实现DLX指令的硬件设备已经考虑到了这一点,本身已有两个存储器,一个为数据存储器,一个为指令 存储器。故本身就解决了部分结构相关问题。并且 fact.s中的指令并不会导致其 他资源冲突,故无法体现资源相关。试验中多加入浮点数部件,运行效率等没有变化。通过观察指令的运行情况,因为不会发生结构相关(硬件资源冲突),在流水线中的部件线性使用,故加入部件也不会对结果有直接的影响。2. 本次实验,主要通过对于三种相关的观察,分析出现相关时的指令,分 析浮点运算部件和forwar
32、d部件对性能的影响,观察转移指令在转移成功和不成 功时的流水线开销,这些实验一步一步,通过 Win DLX形象生动的表示,使我在 实践中更加深入的认识了流水线。3. 通过本次实验,我熟悉了指令执行的每个阶段的任务,对时空图的理解 也更深了一步,对流水线中的三种相关性问题有了认识, 同时通过此实验学习到 了解决这些相关问题的方法,从而对课上所学的知识有了更系统的认识。实验三 DLX 处理器程序设计一 实 验类别综合型实验二 实 验目的学习使用DLX汇编语言编程,进一步分析相关现象三 实 验环境Win dows XP操作系统DLX汇编语言环境四 实 验原理掌握向量运算算法和编程方法。五 实 验步骤
33、(1)熟悉DLX汇编语言。( 2) 编写 两双精度浮点一维向量的加法运算程序。( 3) 对此程序完成上面实验二中 1)、2)、 3)、4)方面的分析六 实验过程1) 代码清单和注释说明.dataVectorLength: .word 16Vector1: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16Vector2: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 ; 声明向量长度 以及声明向量 1、 2Printf1: .asciiz "Vector ="Printf2: .asciiz
34、" %f".align 2PrintPrompt: .word Printf1PrintPar: .word Printf2Result: .space 4 ;存放打印数据的空间申请.textmain:addi r14,r0,PrintPrompttrap 5lw r20,VectorLengthaddi r2,r0,0Loop:ld f10,Vector1(r2)ld f12,Vector2(r2) ; 循环体中读入向量cvti2d f0,f10cvti2d f2,f12addd f4,f2,f0 ; 加法运算Finish:;* Finish,write result i
35、nto stdoutsd Result,f4addi r14,r0,PrintPartrap 5 ; 系统中断,输出结果addi r2,r2,4subi r20,r20,1bnez r20,Loop;Endtrap 0运行结果CanDI3QO9OOQQlVector 2.000000 4_000000 6 000)000 8.000000 10.000000 12.000000 14.000000 16.DC 0000 1A OOQODO 20 QOOOOO 22 DOO DOO 24 OODODO 睥 OOOODO 26 000 ODO 3 0 OODROO 32 Of(2 )观察程序中出现
36、的数据 /控制/结构相关。指出程序中 出现上述现象的指令组合。ID Excculrd by 1C' Hitruclicn(i).2 nstiuCtiorifcLjnen in Hcelne.Hardware oanf igurat ionfadcLK-Dtaoe;' '. 'etjured Oces: 4 ffruE-'itagfeS 1, teqursd Cycles:' f1, luquilud CvlIcj: 4Forwadng 电 naUeJ.Stallo:FtA'V stdlli. B4 (20 3 d J 与cle< t
37、hereci.LJD dalls: DU.(JCfeolRAWstal;l BrancMJunp ttilt " (26.0(ol R/Ua/ r|gj ing point 阳h 阳丽笑 of FW打 slafcs 弼W stalls: 0 (QODS of dl Cyctes) Skuctural stallac 0 D.OOof 1 Cycles) Cohtnol *talk 15l.7£ ofTlap stds 54(17 -4; or al Cyctat) Totd133SldW4222% of aNQidoCqhcz i t i ona 1 Di anclicH)
38、Totflt 16(Bl84%otal Insruodonsj, tienotMeer: 15193 75 of al mnd PfmchBs mt lakeni 1 (£ 25T cf > oond. B ronohM)L3ad-ZS:ore-1nstructi zms: Total: 43 (27.07 oF allrBtmctn&l thsurf:Loadi 19 (G7 ol Load /Store-lnatLctofti) 5ioiss: 6(32 5' o' Lx>dd7Store-lnsTi£ton$|FLoatz poin
39、t stage i ustr-Act aozis : Total 16 (B.84t at al Insuuctioftsb timeotAddiiont: 16 p OOLOGY ol Floalmg poH stag* nst. J MLJptcBlnis (f of FkNng prinl 甘町 irst) Dr/inanv; 0 (Q DO% d Roothg pont stag? nA.Traps-T lapu: 19 |9l9找 tif d IrKtrndicn*无结构相关,有控制相关15次和数据相关64次数据相关:以当对当前指令的操作数寄存器进行操作(EX的时候,前几条指令 的运
40、算结果还未写回(WB)结果寄存器,由此产生数据相关。结构相关:由于只做了一次加法,所以没有产生结构相关LE1Clock Cyclo CiKrucd 1lacl.Focul|r(| I4haiueiitH? f Ljttte - 儿""r 二Tidl 丨 nt J MEM WE阀 rlJO.UIQHr jp : h5IFTSull: |1? | 沱门 MEM |'冏| MEM IE IF IIPbnx r2C IIsc'Lasprap :nDFjabwicdldMCJIa:iv«cKr1|i2l :|df12Jla:lV«:kr2|i21
41、:if Id 吃不:-dEH 后 |Cvli3dlC/1Ct-4ijdl2J12第一条命令在 WB段,第二条命令在intEX段,第四条命令在IF段。而第三条命 令指示为"aborted"。此处发生了控制相关。(3)考察增加浮点运算部件对性能的影响。设置浮点运算部件的配置。由于实验手册上面要求Delay=4,所以我们将Delay这一栏改成4,而Count可以任意,为了对比,我们第一次浮点运算部件 取全部为2,第二次浮点运算部件取全部为 4。数据对比如下:Coint:'day:AddMionLlriiiiL24MiitipItaiiDrtUni'S:24Divi
42、sion Unis:4Number al Uirikt in eaeh Das: 1 <=M <= 8.C'cai (Clcck Cydlcs) 1 <- M <- SOWARNING1 Ifiiouchwg lhe -slues. Ike誘口w* bo rewt pugmatiMlIHCount:Desa.Adirttinm Lhite-44MultpllicaAion Unite:1OivihiQii LJib:*tNunrbci gf Unto n cech CI®k 1“ 6Delay Clcck Cycles 1 <= Ml c=3JW
43、AHNIHG: If ijou change lhe luc-jjtlic procoar皿 I x reset autcmatballii1QK. |CancislSt atiatStat is!i csTotalclE Cpcfal'sl executed.ID cjccUcd Ly ' 0a Ih-sliiiLtt (i ? F空札QidnfeCUTiy iri RpiflrMHarJware can E igura"i口玳- Mernr 池鬣 32 i?bS Essies bdclE;%£i刃苦 2, rquicc Cph >1 fmiJEX
44、tagHPi: Z rKprcdCyc怙瓷 4 fdivE-Siages:requred Ziesi 4ruftaidiiLj ei 注血止Stalls-FAW slalls b4 昇H 运 of Rl CpJes., tbefeot LD dak 0(HMJ;K川 ftAW 创型朗 DioxIVJune ;hil: 1£ |2E 00% of RAW 如h Flooing rart 48 庐 0(R of RAW 3tok|WAxr/ sHIl 0 (C.OOfe of al Cycles'Siiuajlmd Wlb D 3 Q:; df dlCjriJe?) r-rN-i
45、 m it厂 l 厂f ”|m1 rap <tal 囂 54 卩忑"HPf j| CjclnInh: Sldl sJ 4!. M al LjdecJ-on Tit imicd Bxnzhcs):Tcto; 1E IE. 84-; gf «| hsIjUGliflin?) Ihercul; n衣mi in(i3 貫:uf & ccrd iBrsnches Mt lak*n I (B x5.1 of 剖 ccrtl BiancHiKjLoeLd-StQEs- In® true t 斗口般Tata. 4£ (27 叶幣 af alllntucio
46、rK), iFerBol: Loads! 33 £7.35* oF Load /Slaiielnrirudicih£) Steles; 16 132.55 -of Load-?5tore-lnslu-lionsfloat Ltuc piTit stage inst ruct 1 ons kta* IE 也制戈卅川I b«lnielRnU IH创ShSt/dtfciem:飞UQ 加 ol -hiring pcml :tag# iwt) 啊屮pli&aticma; 0 |0.00t ol Fbaling pant ?tage m?t)Drvi: ions: 0
47、 |0. )0 卅 Fbating jxiiit itag initTraceTrapf 1 £ 9l94之 erf al naructem比较各个数据,发现没有变化。无论怎么增加浮点运算部件,统计结果都一 样。原因在于此程序中浮点计算指令没有重叠, 所以并行度没有增加,性能没有 提高所以,浮点运算部件的增减对效率无影响(4)考察增加forward部件对性能的影响。为了对比有无forward部件的性能。需要在勾选 enable forwarding,以及 不勾选en able con figuration来看性能数据的对比。不使用forward部件:使用forward部件:Total
48、-413 Cycled ewcuedID eHBcvted ty 1. E instruc'iortLsj curteniiy ir Pipeline.carjf i勺zre t iax:;Merow size 32768 Btes ,dd£> Stcigcs: 4, -equireT Cycles: - hmjt;< si:aae!$- 4. equred U已处:4 Idrv&i-'j' ajrci. lrcquicL: Cy&ls. 4 ForwardingGtalIs:HAW s*剖暨1肛拥.2淹 卅al L*cl&
49、£)WAW 诙IX 0 QOO盂 Dfdl 口Cl詡Sfcrucvd $talh 0 口00需 uf dl C/clacICortTDl sidfc- 15 H 63X E allCyclesJ"op 出oils:idE跷 of ! CtesjTotal- 231令或(叮孕勺费at al 3应Co»diticna1 Exarckes):T otai* 16 8 B4Z of all nsrucion? frieieof- l乩en: 15 (9375<= df all 匚end. Biaroh词 mi taken _ (& 25ol alloDnd.
50、 Siacbw)Laod-S t as c- Iks txiac t i口盟口 ;otai- jy门=d lrK-tnj2baniL therectLoaids. 33 (B7.35S: ol LMd-Z3ttie-lril:buckont Stains. 1 £ (32 弟玄 of LoJStcco h&twSonxJFleeting paint tsge iDstxu匚ti口ns;T otah lE|(3.Bi at ail mt-uciarK:!. IibidITotalr315 Cce(i| metrul*ID e-ecuied f I 1加上命iikl, 2 Dnt
51、tuerenfti wit审y n Pipukw.Kaxzva-re ezini lg'urSLtl 匚n: Mmiui t 托 32?6B Ely囱 bdcEXS怙g囂 5nequrKl 匚応怯$ 4 fnrulE>.;占工 1 rEC|jiied 亡jj亡 1&生 4MEX LilsDC<:1 icqjrod Cyclea.FcMandirg h>abkdS*aIls:RAW ddli$: M P0.3JK ol M ®d眈 1 片创MLD 3tdh OlO.Oncr RAW flakErsrch.umpIG (25 004 cf RAW al$
52、)F1oM g iijri' 如h.帕 ID霖 uf RW 删W 10-QQ <11 CyefotlEl uiuial ttalk C (fl 00". & allLonlrd dalhi lb |4.料黑 of til 前曲I T呷54(171« cf dl QjcMTotal 13 SHs I+2 22 at gll :归詢Ccndiliona1 Branche) Total 15T8.E43 dllMtnCttrspfWKf i:么也 1 咗 fH 7E J 脑 all cond B anes) ret l,d.eft 1 IIG.L.5S M
53、all tend. UfOT:hcijloai StorI nstn±c t i口口玉 oi对斗乞諾F(J厲 占制| nsirxJierts.L the怡苛i i ark L |FT fl聲,f Loeid顺晌伽或佔1谕帀1 Stores 啤起 礙 of Load5tir自 In灿clionslFisa ting psint atage iDstrueticatsIF W 7.: = n irj:tizr | -I=r-f住TdEw 15 |j W 00 df Fltry perlptI.MUholico%. I liu LJUY h 卜ilcdlng port 秋pa h$i.|
54、"iyi;i tv. 0 (101/; i'.( Fir filing Mjinl fli)gi=> in"Traps:Tiflj- 10(1 US of ill cJjixlims) Millions: 161 CO CO * ol Floating pur l 舫ge: inst| Muhb沁引5工 0(0.DOS of FoaSrgpshl ctagircL) Pivrims- Fl H Ifl? nJ Flmliro poini 討和 rsli |TxapsiT 伯肚 IS 0 94= oi all Inwuctlom从上面的数据我们可以看出增加for
55、ward部件后,总的周期数由413减少至 315, RAW由原来占总时钟周期的 39.22%减少至20.32%, RAW个数由原来的162 减少至64。增加forward部件使得控制相关比例增加了。所以,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的 性能得到一定的改善。(5) 观察转移指令在转移成功和转移不成功时候的流水线开销。GcnditioiLal Brandies):Totcl: 16 (3l844 of al InslrucliOnsL thereattaken: 1 b pj. /b'i tx all cord. trancFwsl-iat taken
56、1弗 d aNcand Branchesj可知条件分支指令总共有16条,其中有15条转移成功(93.75%),有1条 转移不成功。转移不成功的指令就顺序执行,故不会影响程序的运行,不会导致流水线断 流;而转移成功的指令会导致流水线的断流,要废弃预先读入的指令,重新从转移成功处读入指令,执行效率会下降。经分析可知,两次断流都会导致一个周期 的流水线断流。七.实验总结通过此次实验我对实验二所进行的数据相关、控制相关、结构相关的性 能分析做了更深入的了解,以及对于功能部件对流水线的影响,forwardi ng技术对流水线的影响,还有就是静态指令调度等。通过自行编写向量矢量算法,在代码中初始化两个向量,按照分量顺序 进行运算。当然,如果想要改变源向量,直接处理代码中的相关数据即可。总之,该实验主要着重对浮点运算以及对于流水线的相关影响及性能分 析,使我受益匪浅。实验四代码优化一. 实验类别综合实验二. 实验目的学习简单编译优化方法,观察采用编译优化方法所带来的性能的提高三 实验环境Win dows XP操作系统DLX汇编语言环境四 实验原理采用 静态调度方法重排指令序列,减少相关,优化程序五 实验步骤(1) 使用静态调度方法手工优化 实验 2 或实验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【优化方案】2022届高三物理大一轮复习-第5章-第2节-动能-动能定理-教学讲义-
- 【导与练】2021高考地理总复习课时作业:第2章-第3课时-常见天气系统
- 互联网时代下的课程设计与教学实践
- 2021高考英语语法填空、阅读类训练(11)及答案(含短文改错)
- 【创新设计】2021高考物理二轮复习(江苏专用)题型通关-专练4
- 【优化方案】2021高考英语(外研版)总复习阶段综合检测(六)
- 【中学教材全解】2013-2020学年高中数学同步测试(人教A版-必修3)第一章-第一章-算法初步
- 四年级数学(四则混合运算带括号)计算题专项练习与答案
- 【ks5u发布】山东省菏泽市2020-2021学年高二上学期期中考试生物试题扫描版含答案
- 【全程复习方略】2020-2021学年北师大版高中数学必修一课时作业(二十一)-3.4.2
- 《廉政讲堂格言》课件
- 2024年03月中国农业发展银行内蒙古分行校园招考拟招录人员笔试历年参考题库附带答案详解
- 2024年盾构操作工职业技能竞赛理论考试题库(含答案)
- 浙江省绍兴市越城区2023-2024学年四年级上学期数学期末考试试卷
- 云南省昆明市(2024年-2025年小学六年级语文)部编版期末考试(上学期)试卷及答案
- 信息技术咨询服务合同5篇
- T-CECS120-2021套接紧定式钢导管施工及验收规程
- 2024年浙江省单独考试招生文化课考试数学试卷真题(含答案详解)
- 《婴幼儿常见病识别与预防》课件-婴幼儿湿疹
- 人工智能导论智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- 单位工会五年工作总结报告
评论
0/150
提交评论