学弟们:学长爱你们,但是学长只能帮你们到这了,自己走好~ ——毕鹏飞学长
课程名称: 计算机系统结构
实验名称: WINDLX模拟实验一、二
班 级:
姓 名: 毕鹏飞学长
班内序号:
日 期: 2012年3月18日
目录
TOC \o "1-2" \h \z \u 实验一 WINDLX模拟器安装及使用 3
简要介绍WINDLX模拟器结构和功能 3
Register 窗口 4
Code 窗口 4
Pipeline 窗口 5
Clock Cycle Diagram 窗口 5
Statistics 窗口 6
Breakpoint 窗口 6
实验二 指令流水线相关性分析 8
1.实验目的 8
2.实验原理 8
3.实验过程及结果分析 8
3.1.观察程序中的数据/控制/结构相关及指令组合 8
3.2.考察增加浮点运算部件对性能的影响(N=7) 10
3.3. 考察增加forward部件对性能的影响(N=7,floating为2,4) 11
3.4.观察转移指令在转移成功和转移不成功时候的流水线开销 12
4.实验总结 12
实验三 DLX处理器程序设计 13
一、实验目的 13
二、实验设备环境 13
三、实验内容和要求 13
四、代码清单及注释 13
五、程序相关性分析结果 14
六、实验心得 17
实验四 代码优化实验 18
实验目的: 18
实验原理: 18
实验核心思想 18
优化程序代码清单及注释说明: 18
四、实验分析: 19
五、实验总结: 22
实验五 循环展开(选作) 23
实验目的: 23
实验原理: 23
实验核心思想 23
优化程序代码清单及注释说明: 23
四、实验分析: 24
五、实验总结: 27
实验一 WINDLX模拟器安装及使用
简要介绍WINDLX模拟器结构和功能
第一次打开WINDLX模拟器,我们可以看到如下六个小窗口。
Register 窗口
Register窗口显示寄存器中的内容。为此,双击 主窗口中的Register 图标。Register 窗口会显示各个寄存器中的内容。看一下R1到 R5的值。按F5使模拟继续运行到下一个断点处,有些值将发生改变。
Code 窗口
该窗口代表存储器内容的三栏信息,从左到右依次为:地址 (符号或数字)、命令的十六进制机器代码和汇编命令。
现在,点击 主窗口中的 Execution开始模拟。在出现的下拉式菜单中,点击Single Cycle或按 F7键。这时,窗口中带有地址“$TEXT ”的第一行变成黄色。按下 F7 键,模拟就向前执行一步,第一行的颜色变成橘黄色,下一行变成黄色.。这些不同颜色指明命令处于流水线的哪一段。
Pipeline 窗口
Pipeline窗口显示DLX处理器的内部结构。窗口中用图表形式显示了DLX的五段流水线。你应尽可能地扩大此窗口,以便处于不同流水段的指令都能够在图表中显示。
Clock Cycle Diagram 窗口
该窗口使所有子窗口图标化,然后打开Clock Cycle Diagram 窗口。它显示流水线的时空图。
该时空图中显示了每一个时隙内的运行情况。对准Clock cycle diagram窗口中相应命令所在行,然后双击它,弹出一个新窗口。窗口中会详细显示每一个流水段处理器内部的执行动作。
Statistics 窗口
该窗口是对运行程序中数据的分析。Statistics 窗口提供各个方面的信息:模拟中硬件配置情况、暂停及原因、条件分支、 Load/Store指令、浮点指令和traps。窗口中给出事件发生的次数和百分比。在静态窗口中我们可以比较一下不同配置对模拟的影响。
Breakpoint 窗口
通过Code 窗口可以观察代码 (如果未打开,双击图标 Code),可以通过Breakpoint 来观察代码运行的情况。单击Set Breakpoint ,将弹出一个新的"Set Breakpoint" 窗口。通过此窗口,可以选择命令运行到流水线的哪一阶段时,程序停止执行。缺省为ID段。点击OK 关闭窗口。
在Code 窗口中,相应行上出现 了"BID" ,它表示当本指令在译码段时,程序中止执行。