logo资料库

北邮计算机研究生高级系统结构试验1到5——DLX模拟器.doc

第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
资料共39页,剩余部分请下载后查看
实验一 WINDLX模拟器安装及使用
·实验总结
实验二 指令流水线相关性分析
·实验目的
·实验环境
·实验步骤
·实验总结
实验三 DLX处理器程序设计
·实验目的
·实验过程
A.向量加法代码及性能分析
B.双精度浮点加法求和代码及结果分析
·实验总结
实验四 代码优化
·实验目的
·实验原理
·实验过程
·实验总结+实习体会
实验五 循环展开
·实验目的
·实验原理
·实验过程
矩阵乘程序代码清单及注释说明
相关性分析结果
增加浮点运算部件对性能的影响
增加forward部件对性能的影响
转移指令在转移成功和转移不成功时候的流水线开销
·实验总结+实习体会+课程建议
北京邮电大学 实验报告 课程名称 计算机系统结构 计算机学院 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 2
实验一 WINDLX 模拟器安装及使用 WinDLX 模拟器的结构和功能说明 1.点击运行之后,会看到一个如下图所示的窗口。 它 包 括 Register, Code, Pipeline, Clock Cycle Diagram, Statistics, Breakpoints。接下来详细介模拟器的结构及各个部件的功能。 2.Register 窗口介绍 Rigister 窗口中显示的是各个寄存器的名称及内容。如下图: 可以看到寄存器中以十六进制标识,从上图可以看出各个寄存器中的内容。 2.Code 窗口介绍 在没有进行任何执行的时候,初次打开 code 窗口,即为下图所示 3
窗口现实的信息是各个存储器内同。第一列标识存储器的地址;第二列是机 器代码,用 16 进制表示;第三列是汇编指令。 当我们点击上方的 ,可以选择单步或多步执行(也可以使用快捷键 F7 或 F8)。若选择单步执行,每按一次 F7,指令执行一次,可以看到,一次执 行的为 IF->ID->intEX->MEM->WB,没执行一次还有颜色的变化。颜色是用来标 识指令处于哪个流水段的,如下图。 当然,我们也可以使用多步执行,按快捷键 F8,选择 5 步流水,即可。 3.Pipeline 窗口介绍 通过阅读 WinDLX 模拟器说明书可以知道,Pipeline 窗口显示的是 DLX 处理 器的内部结构。窗口用下图标识 DLX 五段流水。当然,如同 Code 窗口介绍讲述 的那样,不同的颜色显示了指令处于哪段流水线。使用快捷键 F7 单步执行,可 以明显的看出,不同时候流水段执行的不同指令。如下图。 4
图片反映的正式与 Code 中所处的时刻相同的指令流水。可以清晰看到不同 流水段执行的是哪条指令。 4.Clock Cycle Diagram 窗口 实验准备中我们已经知道,该窗口显示的是流水线的时空图。时空图反映的 是不同时隙内的运行情况。如下图。 在我看来,时空图是最好理解的。因为它反映的就是流水段的并行程度。在 这个 DLX 模拟器中,并不存在一些数据或者控制上的冲突问题。所以可以依靠上 图很清晰的看到指令所处的不同流水段,及指令执行情况。该时空图同样也是和 前面的 Code 等相对应。也可以通过快捷键 F7 来进一步执行指令,可以看到流水 线时空图的扩展情况。 任意双击指令的一行,可以详细看到不同流水段的情况。如下图所示。 5
5.Statistics 窗口介绍 该窗口是对运行程序中的数据进行分析。主要包括模拟器中硬件配置情况, 在该窗口中,我们可以比较不同配置对于该模拟器的不同影响。如下图所示。 1)整体指令执行情况 2) 硬件配置情况 3) 暂停次数和百分比及原因分析 6
4)分支次数和百分比 5)Load/Store 指令执行情况 6)浮点指令执行次数和百分比 7)trap 发生的次数和百分比 6.Breakpoints 窗口介绍 该窗口使用来观察代码运行情况。先打开 Breakpoints 窗口,点击窗口上方 的 来设置 breakpoint,也就是设置指令运行到流水线的哪个阶段程勋 停止执行。 如上图,如果选择 EX 阶段,在 Code 窗口中相应的行会出现 BEX,即指令执 7
行到译码结束执行开始的时候,程序将中止。 ·实验总结 通过本次试验,由于是第一次接触 DLX 模拟器,该试验能够帮助我对这个模 拟器大致的功能及使用做个大致的了解。对于日后的实验打下好的基础。 我觉得 WinDLX 模拟器小而精悍,它有不同颜色的标记, 不同寄存器及存储 器的反映。通过使用它,可以对 5 步流水的过程及不同阶段很清楚明白的看到。 也可以看到不同指令分析走到了哪一步,到了哪一步流水段。 8
分享到:
收藏