资源描述:
《windlx实验报告(浮点运算,forward 转移指令)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、WinDLX模拟器模拟实验WinDLX模拟器模拟实验1实验目的熟悉加深对流水线及RISC处理器的理解。2实验环境WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC处理器的特点很有帮助。3实验步骤一.使用WinDLX模拟器,对Fact.s做如下分析:(1)考察增加浮点运算部件对性能的影响。(2)考察增加forward部件对性能的影响。(3)观察转移指令在转移成功和转移不
2、成功时候的流水线开销。4实验内容和要求1.针对上面的实验内容,记录实验过程,给出分析结果。2.给出实验总结:根据实验,总结采用流水线技术会遇到的问题和为解决这些问题所采用的各种技术的作用。同时简单谈谈自己对流水线技术的认识。5实验程序代码5.1Fact.s程序代码:.dataPrompt:.asciiz"Anintegervalue>1:"PrintfFormat:.asciiz"Factorial=%g".align2PrintfPar:.wordPrintfFormatPrintfValue:.space8.text.gl
3、obalmainmain:9WinDLX模拟器模拟实验;***ReadvaluefromstdinintoR1addir1,r0,PromptjalInputUnsigned;***initvaluesmovi2fpf10,r1;R1->D0D0..Countregistercvti2df0,f10addir2,r0,1;1->D2D2..resultmovi2fpf11,r2cvti2df2,f11movdf4,f2;1->D4D4..Constant1;***BreakloopifD0=1Loop:ledf0,f4;D0<=1?b
4、fptFinish;***Multiplicationandnextloopmultdf2,f2,f0subdf0,f0,f4jLoopFinish:;***writeresulttostdoutsdPrintfValue,f2addir14,r0,PrintfPartrap5;***endtrap05.2Input.s程序代码:.data;***DataforRead-TrapReadBuffer:.space80ReadPar:.word0,ReadBuffer,809WinDLX模拟器模拟实验;***DataforPrintf-
5、TrapPrintfPar:.space4SaveR2:.space4SaveR3:.space4SaveR4:.space4SaveR5:.space4.text.globalInputUnsignedInputUnsigned:;***saveregistercontentsswSaveR2,r2swSaveR3,r3swSaveR4,r4swSaveR5,r5;***PromptswPrintfPar,r1addir14,r0,PrintfPartrap5;***callTrap-3toreadlineaddir14,r0,Re
6、adPartrap3;***determinevalueaddir2,r0,ReadBufferaddir1,r0,0addir4,r0,10;DecimalsystemLoop:;***readsdigitstoendoflinelbur3,0(r2)seqir5,r3,10;LF->Exitbnezr5,Finishsubir3,r3,48;??9WinDLX模拟器模拟实验multur1,r1,r4;Shiftdecimaladdr1,r1,r3addir2,r2,1;incrementpointerjLoopFinish:;**
7、*restoreoldregistercontentslwr2,SaveR2lwr3,SaveR3lwr4,SaveR4lwr5,SaveR5jrr31;Return6参照实验要求进行实验并记录实验分析结果6.1考察增加浮点运算部件对性能的影响。(输入都为10)。6.1.1实验中默认运算部件的设置如下图:6.1.2运行结果:9WinDLX模拟器模拟实验6.1.2将浮点运算部件分别增加一个后(为2),运行的结果如下:9WinDLX模拟器模拟实验6.1.3统计结果对比分析,有如下结论:增加前后中得出的结果一致,无论怎样增加浮点运算部件,统
8、计结果都一样。由此可见,浮点运算部件的增减对效率无影响。原因在于此程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。但是在使用了静态指令调度法优化代码后,指令序列得到了重排,改善了流水线的性能。6.2考察增加