




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、哈工程体系结构实验实 验 报 告学生姓名: 学 号:时间: 6月27日8:0017: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)控制相关:当程序执行到某个分支语句时,顺序执行的下一条语句将被跳过而去执行分支语句中满足条件的那条指令,从而产生控制相关。三、实验目的:(不改)1、经过该模拟实验,进一步掌握和巩固流
3、水线的基本知识;2、初步掌握在特定体系结构下的汇编代码的编写和优化;3、培养运用所学知识解决实际问题的能力4、对流水线性能分析5、了解影响流水线效率的因素6、了解各类相关及解决方法四、实验内容:(根据具体情况修改,文件名字可修改,其它不用改)使用WinDLX模拟器,对lcm.s做如下分析:(1) 分析lcm.s和imput.s输入顺序不同时产生的影响。(2) 分析lcm.s中汇编语言含义,同时分析程序执行流程。(3) 观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。(4) 考察增加浮点运算部件对性能的影响。(5) 考察增加forward部件对性能的影响。(6) 观察转移
4、指令在转移成功和转移不成功时候的流水线开销。注意:除(2)以外,浮点加、乘、除部件都只有一个;本问题中所有浮点延迟部件设置为:加法:2个延迟周期;乘法:5个延迟周期;除法19个延迟周期。五、实验器材(设备、元器件):IBM PC兼容机Windows 3.0以上的操作系统六、实验步骤及操作:1、双击WinDLX图标运行WinDLX。装入测试程序之前,先初始化WinDLX模拟器:点击File 菜单中的 Reset all 菜单项,弹出一个“Reset DLX”对话框。然后点击窗口中的“确认”按钮即可。2、选择File / Load Code or Data,按如下步骤操作,可将fact.s和inp
5、ut.s这两个程序装入主存:点击lcm.s点击select按钮点击input.s点击select按钮点击load按钮3、按F7键程序顺序执行观察6个子窗口的情况。七、实验数据及结果分析:(修改,自己写一个程序完成某个功能,如何体现的三个相关,对计算机性能有什么影响)1、先装入lcm.s再转入input.s时,因为程序顺序执行,地址顺序符合程序执行顺序,程序能够正确执行;顺序相反时,因为input.s的地址高,而程序顺序执行到input.s时将没有正确的输入窗口,程序执行到输出结果时,也不会出现结果如上图所示,三种相关均出现,数据相关89项,结构相关18项,控制相关14项2、程序中出现数据相关l
6、bur3,0x0(r2)seqi r5,r3,0xabnez r5,Finish程序中出现控制相关sgtr3,r1,r2bnezr3,r1Greater程序中出现结构相关:div r6,r4,r1div r7,r5,r13、源程序分析.data ;*prompts for inputPrompt1: .asciiz First Number: ;输入第一个数Prompt2: .asciiz Second Number: ;输入第二个数;Data for Printf-TrapPrintfFormat: .asciiz LCM=%dnn ;输出最小公倍数 .align 2 ;表示下面采用字对齐P
7、rintPar: .word PrintfFormatPrintValue: .space 4 .text ;第一代码段,默认情况下代码段$CODE会加载到内存0x100地址处 .global main ;定义一个全局符号main,即该代码段的首地址main: ;*read two positive integer numbers into R1 and R2 addi r1,r0,Prompt1 ;第一个数加r0给r1 jal InputUnsigned ;调用InputUnsigned函数输入R1 add r2,r1,r0 ;将第一个数存到r2 addi r1,r0,Prompt2 ;第二
8、个数存到r1 jal InputUnsigned add r4,r1,r0 ;将r1的值存入r4 add r5,r2,r0 ;将r2的值存入r5Loop:;*比较R1和R2seq r3,r1,r2 ;R1=R2?bnez r3,lcm ;转到lcm sgt r3,r1,r2 ;R1R2?bnez r3,r1Greater ;转到r1Greatr2Greater: ;*subtract r1 from r2sub r2,r2,r1 ;r2-r1-r2j Loop ;循环r1Greater:;*subtract r2 from r1sub r1,r1,r2 ;r1-r2-r1j Loop ;循环l
9、cm:div r6,r4,r1 ;r4/r1-r6div r7,r5,r1 ;r5/r1-r7mult r8,r6,r1 ;r8=r6*r1mult r9,r7,r8 ;r9=r7*r8result:sw PrintValue,r9 ;output the resultaddi r14,r0,PrintPartrap 5;*end trap 0 4、查看实验结果,程序执行完成后出现消息”Trap #0 occurred”输入第一个数为4,第二个数5,输出最小公倍数为206、使用定向技术,观察数据如下图 增加forward部件后,以下数据发生变化:(1)、周期数减少到204(原为219)(2)、数据相关减少到50(原为89) 可见增加forward部件后,总周期数减少,数据相关减少,由于该部件的使用,将运算结果值提前传送到有关缓冲寄存器,使后续指令得以不停顿地进入流水线,并及时得到需要的操作数,因此性能有所提高。 加速比:219/204=1.0735八、实验结论:程序的装入要严格按照顺序,顺序将影响程序的正确执行;程序执行顺序,部件的个数都会对程序的执行产生影响;为减少数据相关,应调整程序的执行顺序;为减少控制相关,程序的跳转必须要在合适的位置;为减少结构相关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生恋爱教育
- 关东煮创业计划书模板
- 2025年液位雷达项目发展计划
- 2025年水环境服务合作协议书
- 山西省运城市重点中学2025届高三最后一模化学试题含解析
- 多器官功能衰竭患者的护理
- 云南省保山市云县一中2025届高考仿真卷化学试题含解析
- 2025年金属包装容器及其附件合作协议书
- 2025年油气管道工程项目建议书
- 2025年家用美容、保健电器具项目建议书
- 青岛版六年级数学上册 (完美的图形)教学课件(第1课时)
- 2023超星尔雅《创新创业》答案
- 110kV变电站短路电流计算书
- 后腹腔镜下输尿管切开取石术课件
- 与装修人员签安全协议书
- 2023年湖北省武汉市中考英语真题(含答案)
- 全面地476种食物升糖指数一览表
- 自然交易理论基础与进阶(自然交易理论丛书)
- (完整版)一年级100以内两位数加一位数的进位加法练习题
- 天冬中药材种植可行性研究报告
- 肝肾综合征演示文稿
评论
0/150
提交评论