《2022年2022年计算机体系结构实验报告实验三 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机体系结构实验报告实验三 .pdf(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、计算机体系结构实验报告实验三1.实验目的:通过实验,熟练掌握 WINDLX的操作方法,特别注意在单步执行WinDLX程序中,流水线中指令的节拍数。2实验内容:(1)用 WinDLX模拟器执行求素数程序prim.s。这个程序计算若干个整数的素数。(2)单步执行两轮程序,求出素数2 和 3。(3)在执行程序过程中,注意体验单步执行除法和乘法指令的节拍数,并和主菜单configuration/floatingpointslages 中的各指令执行拍数进行比较。3实验程序求素数程序prim.s。;*WINDLXExp.2:Generateprimenumber table*;-;Program beg
2、insatsymbol main;generatesa tablewiththefirstCountprimenumbers fromTable;-.data;*sizeoftable.globalCountCount:.word10;10 的地址值.globalTableTable:.spaceCount*4;给 Table 保留 Count*4 个字节.text.globalmainmain:;*Initialization名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -addir1,r0,0;IndexinTable;0+0 地址值送 R1addir2,r0,2;
3、Currentvalue;0+2 地址值送R2;*Determine,ifR2 can be dividedby a valueintableNextValue:addir3,r0,0;HelpindexinTable;0+0 地址值送R3Loop:seq r4,r1,r3;EndofTable?;IFr1=r3?Yes r4=1;elser4=0;bnez r4,IsPrim;R2 isa primenumberr4!=0,excuteIsPrimlw r5,Table(R3)divur6,r2,r5multur7,r6,r5subu r8,r2,r7beqz r8,IsNoPrim;ifr
4、8=0,excuteIsNoPrimaddir3,r3,4;r3+4-r3jLoopIsPrim:;*WritevalueintoTableand incrementindexsw Table(r1),r2addir1,r1,4;*Countreached?lw r9,Countsrlir10,r1,2sge r11,r10,r9bnez r11,FinishIsNoPrim:;*Check nextvalueaddir2,r2,1;incrementR2jNextValueFinish:;*endtrap0名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -4、实验流程图
5、5、实验步骤和结果单步执行过程中寄存器的变化情况(1)获取素数2:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -由于 R1=R3=0,所以R2=2为素数,将2 送入 Table(0)中。(2)获取素数 3。执行步骤以及对应的寄存器的变化情况:1 R2=2is PRim,R4=1;2R1+4-R1;310-R9,R1/4-R10,R2+1-R2;4R1!=R3,R4=0;5Table(R3)-R5;6R2/R5-R6;7R6*R5-R7;8R2-R7-R8;9R3+4-R3;10R2=3 isPRim,R4=1;11R2=3-Table(4),R1+4-R1;(3)乘法
6、指令的节拍数 为:5(-9-5);除法指令的节拍数为:19(-28-10);主菜单configuration/floatingpointslages 中的各指令执行拍数:乘法为5;除法为 19。正好与上述的执行过程一致。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 7 页 -(4)数据相关和结构相关:数据相关:Addir1,r0,0 x0Addir2,r0,0 x2Addir3,r0,0 x0Seqr4,r1,r3Bnezr4,lsprimLwr5,table(r3)Divur6,r2,r5Multur7,r6,r5Subur8,r2,r7Beqzr8,lsnoprimAddi
7、r3,r3,0 x4名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 7 页 -JloopSwtable(r1),r2Addir1,r1,0 x4Lwr9,$data(r0)Srlir10,r1,2Sger11,r10,r9Bnezr11,finishAddir2,r2,0 x1J nextvalueTrap0 x0nop结构相关:Instructions/cyclesSwtable(r1),r2Addir1,r1,0 x4Lwr9,$data(r0)Srlir10,r1,2Sger11,r10,r9Bnezr11,finishAddir2,r2,0 x1Trap0 x0nop6、
8、实验总结通过本次实验的学习,我充分理解了寄存器的变化情况一步一步反映着程序的进行情况。我基本熟练掌握windlx的操作和使用,对程序在流水线中的执行情况基本了解,观察到了 cpu 中寄存器和存储器的内容变化,清晰掌握数据相关和结构相关的意义。同时执行过程中的乘除法节拍也是通过Configuration,我们自己进行设定的。通过这些数据,我们可以看到数据相关以及结构相关的一些情况。本次实验使我对程序执行过程中,各个硬件的工名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 7 页 -作状态有了更加深刻的了解和认识。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 7 页 -