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
实验二 指令流水线相关性分析
·实验目的
通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。
·实验环境
Windows XP操作系统 WinDLX模拟器
·实验步骤
1.观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。
2.考察增加浮点运算部件对性能的影响。 3.考察增加forward部件对性能的影响。
4.观察转移指令在转移成功和转移不成功时候的流水线开销。
1. 观察程序中出现的数据/控制/结构相关;指出程序中出现上述现象的指令组合。
1) 数据相关
如下图所示,在Clock Cycle Diagram窗口所想是的时空图中和Pipeline窗口中的流图中,第一次出现了R-Stall。
9
接下来可以点击上图中的橘色窗口,则屏幕显示
lbu r3,0×0(r2)
要在WB周期写回r3中的数据;而下一条指令 seqi r5,r3,0×a
要在intEX周期中读取r3中的数据。
上述过程发生了WR冲突,即写读相关。为了避免此类冲突, seq r5,r4,0×a的intEX指令延迟了一个周期进行。 由此,相关指令为:
2) 控制相关
10