计算机系统结构第一,二次实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班别:2012211302
学号:2012211144
姓名:袁凯琦
1.实验一WINDLX模拟器安装及使用
1.1实验类别:综合实验
1.2实验目的:
建立实验环境,了解WINDLX模拟器的结构及使用
1.3实验设备环境:
WinDLX要求的硬件平台是IBM PC兼容机,WinDLX是一个Windows
应用程序,运行于Windows 3.0以上的操作系统。
1.4实验原理:
WinDLX软件包中带有说明文件,供安装程序时候使用。
1.5要点与难点:
软件包中还有WinDLX教程和联机帮助,可以通过它们进
一步了解模拟器的使用方法和DLX处理器的原理。大家在进行模拟实验以前应该
仔细阅读这些文档。
1.6实验内容和要求:
阅读模拟器Help文档和相关资料,利用Fact.s及Input.s代码熟悉模拟器的配置、各项工具使用、寄存器设置及指令系统。
1.7实验步骤:
(1)WINDLX模拟器安装
WinDLX是一个基于Windows的模拟器, 能够演示DLX流水线是如何工作的。WinDLX 包含windlx.exe和windlx.hlp文件。同时,还需要一些扩展名为.s的汇编代码文件。按以下步骤在Windows下安装WinDLX: WinDLX创建目录,例如E:\WINDLX
解压WinDLX软件包或拷贝所有的WinDLX文件(至少包含 windlx.exe, windlx.hlp)到这个WinDLX 目录。
(2)熟悉模拟器的配置
启动和配置WinDLX: 双击WinDLX图标,将出现一个带有六个图标的主窗口,双击这些图标会弹出子窗口.
(3)利用Fact.s及Input.s代码熟悉各工具的使用
1)导入求阶乘程序fact.s
File--> Load code or Data,然后出现以下界面,双击fact.s,input.s(由于fact.s调用了input.s),点击Load键即可导入
2)运行fact.s
按F7,单步运行程序,通过观察各个窗口的信息,理解fact.s的运行情况
Register窗口:
显示的是各个寄存器的名称及内容
PC:程序计数器;IMAR:指令内存地址寄存器;IR:指令寄存器;A,B:ALU操作数寄存器;BTA:分支地址寄存器;ALU:ALU输出寄存器,ALUI(伪)寄存器;FPSR:用来保存有关浮点数操作结果的信息;DMAR:数据内存地址寄存器;SDR:存数据寄存器,SDRI (伪)寄存器;LDR:去素聚寄存器,LDRI(伪)寄存器;R0~R31:32位通用寄存器,R0永远为0;F0~F31:浮点寄存器。
Code窗口:
第一列标识存储器的地址;第二列是机器代码,用16进制表示;第三列是汇编指令。当我们点击上方的Excute,可以选择单步或多步执行(也可以使用快捷键F7或F8)。若选择单步执行,每按一次F7,指令执行一次,可以看到,一次执行的为IF->ID->intEX->MEM->WB,没执行一次还有颜色的变化。颜色是用来标识指令处于哪个流水段的。
Pipeline窗口:
显示DLX处理器的内部结构。窗口中用图表形式显示了DLX的五段流水线。
Clock Cycle Diagram窗口:
该窗口使所有子窗口图标化,然后打开Clock Cycle Diagram窗口。它显示流水线的时空图。
该时空图中显示了每一个时隙内的运行情况。对准Clock cycle diagram窗口中相应命令所在行,然后双击它,弹出一个新窗口。窗口中会详细显示每一个流水段处理器内部的执行动作。
例如双击multd f2,f2,f0,则会出现以下窗口
Breakpoints窗口:
为进一步模拟,点击Code 窗口,用箭头键或鼠标向下滚动到地址为0x00000170的那一行(指令是addi r4,r0,0xa),点击此行,然后按Ins键,或点击Code / Set Breakpoint / OK,在这一行上设置一个断点。
当运行到断点时将会出现提示:
当按F5时选择自动执行,当碰到陷阱trap时,会出现如下提示
最终执行结果为:
Statistics窗口:
该窗口是对运行程序中的数据进行分析。主要包括模拟器中硬件配置情况、暂停及原因、条件分支、Load/Store指令、浮点指令和traps。窗口中给出事件发生的次数和百分比。程序执行完毕后各方面的信息如下:
2.实验二指令流水线相关性分析
2.1实验类别:验证实验
2.2实验目的:
通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。
2.3实验设备环境:
WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC处理器的特点很有帮助。
2.4实验原理:
指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。
2.5要点与难点:
三种相关及其解决办法
2.6实验内容和要求:
使用WinDLX模拟器,对求阶乘程序Fact.s做分析
2.7实验步骤:
(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。
1)控制相关
指令组合
jal InputuUnsigned
movi2fp f10,r1
sw SaveR2(r0),r2
由上图可以看出,在第4时钟周期:第一条指令处于MEM段;第二条命令处于intEX段;第三条指令出于aborted状态;第四条命令处于IF段。原因分析:jal InputUnsigned是无条件分支指令,但当第三个周期开始的时候,也就是jal这条指令被译码后才知道。此时,