WinDLX实验报告

WinDLX实验报告

ID:38583750

大小:354.00 KB

页数:11页

时间:2019-06-15

WinDLX实验报告_第1页
WinDLX实验报告_第2页
WinDLX实验报告_第3页
WinDLX实验报告_第4页
WinDLX实验报告_第5页
资源描述:

《WinDLX实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WinDLX实验报告1.实验目的:1)熟悉计算机流水线基本概念2)了解DLX基本流水线的各段的功能了解各种不同指令在流水线中的实际流动情况3)对流水线做性能分析4)了解影响流水线效率的因素——数据相关、结构相关、控制相关,了解相关的种类5)了解决数据相关的方法2.实验内容:1)在仿真器上分别运行单条指令:Load指令、Store指令、分支指令、寄存器ALU指令、立即数ALU指令,记录它们在流水线中的执行情况2)仿真器运行一段无相关的程序,记录执行情况,计算流水线的加速比、吞吐率与效率。3)在仿真器运行一段程序,统计该程序在流水线中出现的各种相关个数,及其引起的流

2、水线暂停周期数4)在流水线中设置定向路径来消除数据相关,运行程序并统计在流水线中出现的相关个数,及其引起的流水线暂停周期数5)通过对程序进行编译优化并结合其他相关解决方法——分支预测与延迟槽,运行程序并统计在流水线中出现的相关个数,及其引起的流水线暂停周期数。3.实验步骤: 1.)熟悉WinDLX的使用用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。实验结果:在载入fact.s和input.s之后,不设置任何断

3、点运行。a.不采用重新定向技术,我们得到的结果b.采用定向技术,我们得到的结果:从上面的数据我们可以看出定向的作用:在定向技术存在的情况下Statistics窗口中的各种统计数字:总的周期数(215)和暂停数(17RAW,25Control,12Trap;54Total)在定向技术不存在时候,控制暂停和Trap暂停仍然是同样的值,而RAW暂停从17变成了53,总的模拟周期数增加到236。所以定向技术带来的加速比:236/215=1.098  DLXforwarded比DLXnotforwarded快9.8%。2)不相关的程序下面是一段不相关的程序,一共6条指令A

4、DDIR5,R5,1SUBIR4,R4,1ANDR3,R3,R3XORR7,R7,R7ADDIR8,R8,1ADDIR9,R9,1在WinDLX中执行的结果如下:如上图所示:6条指令一共执行了10个周期,而每个指令都需要5个周期来完成。故可得加速比:5*6/10=3实际吞吐率:流水线由5段组成,完成6条指令,m=5,n=6T=5△t+(6-1)△t=10△tTp=n/T=3/(5△t),即为实际吞吐率。效率:E=1/(1+(m-1)/n)=TP*△t=3/53)存在相关的程序a.数据相关先给出一个存在数据相关的程序:LHIR2,(A>>16)&0xFFFFADD

5、UIR2,R2,A&0xFFFFLHIR3,(B>>16)&0xFFFFADDUIR3,R3,B&0xFFFFloop:LWR1,0(R2)ADDR1,R1,R3SW0(R2),R1LWR5,0(R1)ADDIR5,R5,#10ADDIR2,R2,#4SUBR4,R3,R2BNEZR4,loopTRAP#0A:.word0,4,8,12,16,20,24,28,32,36B:.word9,8,7,6,5,4,3,2,1,0没有采用定向技术时运行该程序:得到程序执行了202个周期,10个数据相关引起的时钟周期RAWstall为104个。暂停时钟周期数占总执行周期数

6、的百分比=51.48%采用定向技术时运行该程序:得到程序执行了128个周期,共有6个数据相关引起的时钟周期RAWstall为30个。暂停时钟周期数占总执行周期数的百分比=23.44%可见通过定向技术,减少了数据相关,缩短了程序的执行周期,整个性能为原来的1.57倍。b.结构相关下面这段程序存在结构相关ADDIR5,R5,1SUBIR4,R4,1ANDR3,R3,R3XORR7,R7,R7ADDIR8,R8,1ADDIR9,R9,1MULTR1,R5,R4MULTR2,R3,R7执行之后得到的clockcycleprogrameStatistics:可见1个结构相

7、关引起了4个stall,占总共20个CYCLE的20%为了避免结构相关,可以考虑采用资源重复的方法,比如,在流水线机器中设置相互独立的指令存储器和数据存储器,也可以将CACHE分割成指令CACHE和数据CACHE。c.指令调度:首先,通过Configuration菜单中的“Floatingpointstages”选项,把除法单元数设置为3,把加法﹑乘法﹑除法的延迟设置为3个时钟周期。给出调度前的程序sch_bef:.data.globalONEONE:.word1.text.globalmainmain:lff1,ONE;turndivfintoamovecvt

8、i2ff7,f1;bys

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

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

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