欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    北邮计算机体系结构实验报告.docx

    • 资源ID:23609574       资源大小:666.46KB        全文页数:26页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    北邮计算机体系结构实验报告.docx

    1、北邮计算机体系结构实验报告计算机系统结构实验报告班 级: 2011211 学 号: 姓 名: 17 1. 实验一 WINDLX模拟器安装及使用 2. 实验二 指令流水线相关性分析3. 实验三 DLX处理器程序设计4. 实验四 代码优化5. 实验五 循环展开(选作)实验一 WINDLX模拟器安装及使用简要介绍WINDLX模拟器结构和功能此图为初始界面Register窗口显示寄存器中的容ClockCycleDiagram子窗口现在双击ClockCycleDiagram子窗口,它显示DLX流水线的时空图。 Statistics子窗口 Pipeline子窗口窗口中用图表形式显示了DLX的五段流水线。可

    2、以看出,DLX执行指令的流水线是一个5段流水线,包括取指段(IF)、译码段(ID)、执行段(EX)、访存段(MEM)和写回段(WB)。显然,不同指令在执行段的操作是不同的,而且不同操作在该段的延迟也是不同的。 Breakpoint子窗口按F7键以单步方式运行程序,可以清楚的看到每条指令在流水线各个段的具体操作情况,除此之外,DLX模拟器还提供了其他几种运行程序的方式。单击主窗口中Execute子菜单,可以看到DLX模拟器共提供了4种运行程序的方式,其中SingleCycle(或按F7键)就是单步执行方式;MultipleCycles(或按F8键)是多步执行方式,选择该方式,会在屏幕上出现一个窗

    3、口,询问周期个数,它表示流水线从当前位置继续向前执行的周期个数,输入你需要的值,然后按OK键. Code子窗口里面显示的容是两个程序(fact.s和input.s)加载到存中的情况。最右边显示的是程序fact.s的第一条指令,对照图2.7中fact.s的第一条语句,可以看出,变量Prompt被代替以0x1000,这说明变量Prompt在程序被加载到存中的实际地址就是0x1000,也即程序的数据区被加载到存地址0x1000开始的地方,这里“0x”表示十六进制。中间显示的是第一条语句的机器码 表示占了存的4个字节位置。实验二 指令流水线相关性分析一实验目的。通过使用WINDLX模拟器,对程序中的三

    4、种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。二实验原理。指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。202.107.127.126/ncourse/txjg/architecture/chapter3/lecture4/htm/lecture4_1.asp - #三实验过程及分析结果。(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。数据相关及指令组合:1) 截图及分析原因是管道清除在DLX trap-instruction时发现避免所有问题的可能性。这是记录在信息窗

    5、口,Trap-Pipeline-Clearing失速!“如果阶段。lbu r3,0x0(r2)要在WB周期写回r3中的数据,而下一条指令 seqi r5,r3,0xa 要在intEX周期中读取r3中的数据。发生了WR相关。存储了一个数据。2) 指令组合lbu r3,0x0(r2)seqi r5,r3,0xa控制相关及指令组合:1) 截图及分析可以看到仿真在第四周期,第一条命令是在MEM阶段, 第二条命令处于intEX段,第四条命令处于IF段,而第三条命令处于aborted。原因:第二个命令,jal是无条件分支。这个事实是只有在第三周期,当jal被解码。之后在这个周期命令movi2fp(jal)

    6、已经被获取,但下一个执行命令将在另一个地址。因此movi2fp的执行必须中止,留下一个的管道。2) 指令组合addi r1, r0 , 0x1000jal InputUnsignedmovi2fp f10,r1sw SaveR2r0,r2结构相关及指令组合:1) 截图及分析addi r2, r2, 0x1 该指令与它前面的一天指令 add r1,r1, r3发生了结构相关。由于上一条指令由于数据相关需要停4个周期,在ID段后停滞,不能进入intEX段,故 addi r2,r2,0x1 就不能进入ID段,译码部分已经被占用。故发生了结构相关。2) 指令组合add r1,r1, r3addi r2

    7、, r2, 0x1(2)考察增加浮点运算部件对性能的影响。进行20次循环,截图如下 分析:代码执行相同步,通过对比发现浮点运算部件的多少对于程序执行效率并没有什么影响,浮点运算部件的多少对统计结果都不造成影响。因为程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。(3)考察增加forward部件对性能的影响。进行20次循环,截图如下:不使用forward: 使用forward: 分析:使用forward部件后的109个时钟周期比不使用少了21个时钟周期。使用forward部件使得RAW减少了36个,占总的时钟周期比例也减少了。可以看出使用forward部件后,时钟周期减少,数据相关

    8、减少,流水线的性能得到提高。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。截图如下:分析:转移指令一共23条。其中成功转移的2条,占8.70%,不成功转移的21条,占91.30%。若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低。若转移成功,则要废弃预先读入的指令,重新从转移成功处读入指令,每执行一条条件转移指令,执行效率降低,性能就会损失。四给出实验总结:根据实验,总结采用流水线技术会遇到的问题和为解决这些问题所采用的各种技术的作用。同时简单谈谈自己对流水线技术的认识。因为这次实验是第一次开始真正使用DLX软件,所以对操作还是很不熟悉,开始没有对文档认真阅读,导

    9、致不知如何导入代码,通过观察程序中出现的数据相关、控制相关、结构相关,以及他们的指令组合,并考察增加浮点运算部件、forward部件对性能的影响,观察转移指令在转移成功和不成功时的流水线开销。我更加深入的认识了流水线的概念。而通过使用DLX软件能更直观的体现出流水线的工作过程,这也让我对流水线在的理论和实验有了更深的了解,对今后体系结构的学习有很大的帮助。流水线技术可以让一个工作变得轻松和简单,让原本复杂的工程有了并行性,这也使得效率大大提高,对机器的使用有了更大的帮助。实验三 DLX处理器程序设计一 实验目的学习使用DLX汇编语言编程,进一步分析相关现象二 代码清单及注释说明三 程序相关性分

    10、析结果运行结果:(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。1 数据相关及指令组合:1)截图及分析存在RW相关。2) 指令组合adddf4,f0,f2sdr(r3),f4控制相关及指令组合:1) 截图存在控制相关2) 指令组合jloop结构相关及指令组合:不存在数据相关(2)考察增加浮点运算部件对性能的影响。进行比较,截图如下 分析:代码执行相同步,通过对比发现浮点运算部件的多少对于程序执行效率并没有什么影响,浮点运算部件的多少对统计结果都不造成影响。因为程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。(3)考察增加forward部件对性能的影响

    11、。进行比较,截图如下:不使用forward: 使用forward: 分析:使用forward部件后的299个时钟周期比不使用少了98个时钟周期。使用forward部件使得RAW减少了98个,占总的时钟周期比例也减少了。可以看出使用forward部件后,时钟周期减少,数据相关减少,流水线的性能得到提高。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。截图如下:分析:转移指令一共17条。其中成功转移的1条,占5.88%,不成功转移的16条,占94.12%。若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低。若转移成功,则要废弃预先读入的指令,重新从转移成功处读入指令,每执

    12、行一条条件转移指令,执行效率降低,性能就会损失。实验四 代码优化一实验目的学习简单编译优化方法,观察采用编译优化方法所带来的性能的提高。二实验原理采用静态调度方法重排指令序列,减少相关,优化程序三优化程序代码清单及注释说明四参照实验要求记录你实验分析结果优化前: 优化后:分析:根据原先实验3中关于相关性的分析找出代码,对其中具有相关性的指令,通过把无关紧要的代码提前或者拖后至相关性语句之间,以此来减少甚至消除数据相关性所造成的stall带来的效率低下。和优化之前相比,总花费时钟周期为268,优化前为299,花费的时钟周期大大减少,总执行指令数为不变,RAW相关占23.88%,比优化前37.79

    13、%的RAW相关明显有所改善。控制相关和结构相关均没有改变。因此可以看出本次所做代码优化对数据相关的改善最大。(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。经过修改不存在相关性。(2)考察增加浮点运算部件对性能的影响。进行比较,截图如下 分析:代码执行相同步,通过对比发现浮点运算部件的多少对于程序执行效率并没有什么影响,浮点运算部件的多少对统计结果都不造成影响。因为程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。(3)考察增加forward部件对性能的影响。进行比较,截图如下:不使用forward: 使用forward: 分析:使用forward部件

    14、后的268个时钟周期比不使用少了66个时钟周期。使用forward部件使得RAW减少了82个,占总的时钟周期比例也减少了。可以看出使用forward部件后,时钟周期减少,数据相关减少,流水线的性能得到提高。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。截图如下:分析:转移指令一共17条。其中成功转移的1条,占5.88%,不成功转移的16条,占94.12%。若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低。若转移成功,则要废弃预先读入的指令,重新从转移成功处读入指令,每执行一条条件转移指令,执行效率降低,性能就会损失。五你解决的困难和解决方法对代码优化的不理解,开始

    15、不知道应该怎么来解决问题,通过书本的理解和对软件的多次实验,才知道如何来解决问题。消除相关性来使代码优化,改变代码的位置,来解决其相关的问题。六你的实习体会通过这次计算机系统结构的实验,对流水线有了比较深刻的理解,也学会了运用DLX软件,在这几个实验中,自己对软件的使用越来越熟悉,也对DLX编写了初步的掌握,能完成一些基本的代码功能。实验一,让我对DLX软件有了初步的认识;实验二,让我能操作DLX软件来完成一些实验的要求,通过实验指导书的指导,一步一步的完成了所要求的步骤,对DLX软件有了更深的掌握;实验三,开始编写DLX代码,开始有很多的问题,因为开始接触一个新的语言,对语法和语句的掌握比较薄弱,所以出现了很多BUG,但是通过对老师给的文档的认真学习,最后也能完成代码的要求,开始分析这新的代码,对比前一实验,对流水线有了更深的理解;实验四,我已经可以熟悉运用dlx软件,实验过程中,我感觉一个最重要的步骤就是分析相关性。如果没有分析好相关性,是不知道从什么地方下手优化代码的。代码优化所提高的效率时十分明显的,所以以后要注重对代码优化的一些问题的研究,这样会对整个程序效率的提高有很大的保证。


    注意事项

    本文(北邮计算机体系结构实验报告.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开