计算机系统结构第一,二次实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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这条指令被译码后才知道。此时,

相关文档
最新文档