北邮计算机系统结构实验报告-实验一到五-WINDLX模拟器全解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京邮电大学

实验报告

课程名称计算机系统结构

计算机学院 2016111303班

王陈(2016110711)

目录

实验一 WINDLX模拟器安装及使用 (3)

·实验准备........................................................................... 错误!未定义书签。

·实验环境........................................................................... 错误!未定义书签。

·实验步骤........................................................................... 错误!未定义书签。

·实验内容及要求............................................................... 错误!未定义书签。

·实验过程........................................................................... 错误!未定义书签。

.实验总结 (8)

实验二指令流水线相关性分析 (9)

.实验目的 (9)

.实验环境 (9)

.实验步骤 (9)

·实验过程........................................................................... 错误!未定义书签。

.实验总结 (16)

实验三DLX处理器程序设计 (17)

.实验目的 (17)

·实验环境........................................................................... 错误!未定义书签。

·实验步骤........................................................................... 错误!未定义书签。

.实验过程 (17)

A.向量加法代码及性能分析 (17)

B.双精度浮点加法求和代码及结果分析 (22)

.实验总结 (26)

实验四代码优化 (27)

.实验目的 (27)

·实验环境........................................................................... 错误!未定义书签。

.实验原理 (27)

·实验步骤........................................................................... 错误!未定义书签。

.实验过程 (27)

.实验总结+实习体会 (32)

实验五循环展开 (32)

.实验目的 (32)

·实验环境........................................................................... 错误!未定义书签。

.实验原理 (32)

·实验步骤........................................................................... 错误!未定义书签。

.实验过程 (32)

矩阵乘程序代码清单及注释说明 (32)

相关性分析结果 (38)

增加浮点运算部件对性能的影响 (38)

增加forward部件对性能的影响 (38)

转移指令在转移成功和转移不成功时候的流水线开销 (38)

.实验总结+实习体会+课程建议 (38)

实验一 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来进一步执行指令,可以看到流水线时空图的扩展情况。

任意双击指令的一行,可以详细看到不同流水段的情况。如下图所示。

相关文档
最新文档