欢迎来到天天文库
浏览记录
ID:57438584
大小:249.80 KB
页数:8页
时间:2020-08-16
《哈工程体系结构实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、哈工程体系结构实验实验报告学生姓名:学号:时间:6月27日8:00-17:30地点:21号楼427实验室实验课程名称:计算机体系结构(随意自己,可是能体现三个相关计算机性能等)一、实验名称:流水线中的相关—求最小公倍数二、实验原理:1、WinDLXWinDLX模拟器是一个图形化、交互式的DLX流水线模拟器,能够演示DLX流水线是如何工作的。该模拟器能够装载DLX汇编语言程序(后缀为“.s”的文件),然后单步、设断点或是连续执行该程序。CPU的寄存器、流水线、I/O和存储器都能够用图形表示出来,以形象生动的方式描述DLX流水线的工作过程。模拟器还提供了对流水线操作
2、的统计功能,便于对流水线进行性能分析。2、流水线执行过程:指令执行的5个阶段(1)取指令周期(2)指令译码/读寄存器周期(3)执行/有效地址计算周期(4)存储器访问/分支完成周期(5)写回周期3、流水线中的相关:(1)结构相关:当某一条机器指令需要访问物理器件时,如加法器,此时加法器正被另一条机器指令使用,从而产生结构相关;(2)数据相关:当某一条指令需要访问某个寄存器时,此时这个寄存器正被另一条指令所使用,从而产生数据相关;(3)控制相关:当程序执行到某个分支语句时,顺序执行的下一条语句将被跳过而去执行分支语句中满足条件的那条指令,从而产生控制相关。三、实验目
3、的:(不改)1、经过该模拟实验,进一步掌握和巩固流水线的基本知识;2、初步掌握在特定体系结构下的汇编代码的编写和优化;3、培养运用所学知识解决实际问题的能力4、对流水线性能分析5、了解影响流水线效率的因素6、了解各类相关及解决方法四、实验内容:(根据具体情况修改,文件名字可修改,其它不用改)使用WinDLX模拟器,对lcm.s做如下分析:(1)分析lcm.s和imput.s输入顺序不同时产生的影响。(2)分析lcm.s中汇编语言含义,同时分析程序执行流程。(3)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。(4)考察增加浮点运算部件对性
4、能的影响。(5)考察增加forward部件对性能的影响。(6)观察转移指令在转移成功和转移不成功时候的流水线开销。注意:除(2)以外,浮点加、乘、除部件都只有一个;本问题中所有浮点延迟部件设置为:加法:2个延迟周期;乘法:5个延迟周期;除法19个延迟周期。五、实验器材(设备、元器件):IBMPC兼容机Windows3.0以上的操作系统六、实验步骤及操作:1、双击WinDLX图标运行WinDLX。装入测试程序之前,先初始化WinDLX模拟器:点击File菜单中的Resetall菜单项,弹出一个“ResetDLX”对话框。然后点击窗口中的“确认”按钮即可。2、选择F
5、ile/LoadCodeorData,按如下步骤操作,可将fact.s和input.s这两个程序装入主存:点击lcm.s点击select按钮点击input.s点击select按钮点击load按钮3、按F7键程序顺序执行观察6个子窗口的情况。七、实验数据及结果分析:(修改,自己写一个程序完成某个功能,如何体现的三个相关,对计算机性能有什么影响)1、先装入lcm.s再转入input.s时,因为程序顺序执行,地址顺序符合程序执行顺序,程序能够正确执行;顺序相反时,因为input.s的地址高,而程序顺序执行到input.s时将没有正确的输入窗口,程序执行到输出结果时,也
6、不会出现结果如上图所示,三种相关均出现,数据相关89项,结构相关18项,控制相关14项2、程序中出现数据相关lbur3,0x0(r2)seqir5,r3,0xabnezr5,Finish程序中出现控制相关sgtr3,r1,r2bnezr3,r1Greater程序中出现结构相关:divr6,r4,r1divr7,r5,r13、源程序分析.data;***promptsforinputPrompt1:.asciiz"FirstNumber:";输入第一个数Prompt2:.asciiz"SecondNumber:";输入第二个数;DataforPrintf-Trap
7、PrintfFormat:.asciiz"LCM=%d";输出最小公倍数.align2;表示下面采用字对齐PrintPar:.wordPrintfFormatPrintValue:.space4.text;第一代码段,默认情况下代码段$CODE会加载到内存0x100地址处.globalmain;定义一个全局符号main,即该代码段的首地址main:;***readtwopositiveintegernumbersintoR1andR2addir1,r0,Prompt1;第一个数加r0给r1jalInputUnsigned;调用InputUnsigned函
8、数输入R1addr2,r
此文档下载收益归作者所有