- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京邮电大学
实验报告
课程名称 计算机系统结构
计算机学院 2016111303班
王陈(2016110711)
目录
实验一 WINDLX模拟器安装及使用 3
·实验准备 错误!未定义书签。
·实验环境 错误!未定义书签。
·实验步骤 错误!未定义书签。
·实验内容及要求 错误!未定义书签。
·实验过程 错误!未定义书签。
·实验总结 8
实验二 指令流水线相关性分析 9
·实验目的 9
·实验环境 9
·实验步骤 9
·实验过程 错误!未定义书签。
·实验总结 16
实验三 DLX处理器程序设计 17
·实验目的 17
·实验环境 错误!未定义书签。
·实验步骤 错误!未定义书签。
·实验过程 17
A. 向量加法代码及性能分析 17
B.双精度浮点加法求和代码及结果分析 22
·实验总结 27
实验四 代码优化 28
·实验目的 28
·实验环境 错误!未定义书签。
·实验原理 28
·实验步骤 错误!未定义书签。
·实验过程 28
·实验总结+实习体会 33
实验五 循环展开 34
·实验目的 34
·实验环境 错误!未定义书签。
·实验原理 34
·实验步骤 错误!未定义书签。
·实验过程 34
矩阵乘程序代码清单及注释说明 34
相关性分析结果 39
增加浮点运算部件对性能的影响 39
增加forward部件对性能的影响 39
转移指令在转移成功和转移不成功时候的流水线开销 39
·实验总结+实习体会+课程建议 39
实验一 WINDLX模拟器安装及使用
WinDLX模拟器的结构和功能说明
1.点击运行之后,会看到一个如下图所示的窗口。
它包括Register, Code, Pipeline, Clock Cycle Diagram, Statistics, Breakpoints。接下来详细介模拟器的结构及各个部件的功能。
2.Register窗口介绍
Rigister窗口中显示的是各个寄存器的名称及内容。如下图:
可以看到寄存器中以十六进制标识,从上图可以看出各个寄存器中的内容。
2.Code窗口介绍
在没有进行任何执行的时候,初次打开code窗口,即为下图所示
窗口现实的信息是各个存储器内同。第一列标识存储器的地址;第二列是机器代码,用16进制表示;第三列是汇编指令。
当我们点击上方的,可以选择单步或多步执行(也可以使用快捷键F7或F8)。若选择单步执行,每按一次F7,指令执行一次,可以看到,一次执行的为IF-ID-intEX-MEM-WB,没执行一次还有颜色的变化。颜色是用来标识指令处于哪个流水段的,如下图。
当然,我们也可以使用多步执行,按快捷键F8,选择5步流水,即可。
3.Pipeline窗口介绍
通过阅读WinDLX模拟器说明书可以知道,Pipeline窗口显示的是DLX处理器的内部结构。窗口用下图标识DLX五段流水。当然,如同Code窗口介绍讲述的那样,不同的颜色显示了指令处于哪段流水线。使用快捷键F7单步执行,可以明显的看出,不同时候流水段执行的不同指令。如下图。
图片反映的正式与Code中所处的时刻相同的指令流水。可以清晰看到不同流水段执行的是哪条指令。
4.Clock Cycle Diagram窗口
实验准备中我们已经知道,该窗口显示的是流水线的时空图。时空图反映的是不同时隙内的运行情况。如下图。
在我看来,时空图是最好理解的。因为它反映的就是流水段的并行程度。在这个DLX模拟器中,并不存在一些数据或者控制上的冲突问题。所以可以依靠上图很清晰的看到指令所处的不同流水段,及指令执行情况。该时空图同样也是和前面的Code等相对应。也可以通过快捷键F7来进一步执行指令,可以看到流水线时空图的扩展情况。
任意双击指令的一行,可以详细看到不同流水段的情况。如下图所示。
5.Statistics窗口介绍
该窗口是对运行程序中的数据进行分析。主要包括模拟器中硬件配置情况,在该窗口中,我们可以比较不同配置对于该模拟器的不同影响。如下图所示。
整体指令执行情况
硬件配置情况
暂停次数和百分比及原因分析
分支次数和百分比
Load/Store指令执行情况
浮点指令执行次数和百分比
trap发生的次数和百分比
6.Breakpoints窗口介绍
该窗口使用来观察代码运行情况。先打开Breakpoints窗口,点击窗口上方的来设置breakpoint,也就是设置指令运行到流水线的哪个阶段程勋停止执行。
如上图,如果选择EX阶段,在Code窗口中相应的行会出现BEX,即指令执行到译码结束执行开始的时候,程序将中止。
·实验总结
通过本次试验,由于是第一
文档评论(0)