好文档 - 专业文书写作范文服务资料分享网站

北邮计算机系统结构-WINDLX模拟器实验 报告

天下 分享 时间: 加入收藏 我要投稿 点赞

. .

实验报告

学 院: 计算机学院 课程名称: 计算机系统结构 实验名称: WINDLX模拟器实验 班 级: 姓 名: 学 号:

. . .

. .

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

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

一. 实验类别

验证实验

二. 实验目的

通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。

三. 实验环境

Windows XP操作系统 WinDLX模拟器

四. 实验原理

指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。

(1) 数据相关

定义:原有先后顺序的两条指令(I1,I2)在对共享变量(位置)进行读、写时,指令流水线中实际完成的读、写顺序与原有顺序不一

. . .

. .

致,导致流水线输出错误。

三类数据相关:

写读(WR)相关 读写(RW)相关 写写(WW)相关

解决方法技术:

1. 使某些流水线指令延迟、停顿一或多个周期。

2. 双端口存储器:如果指令和数据放在同一个存储器。 3. 设置两个存储器:一个数据存储,一个为指令存储器。 4. 软件优化编译:通过指令重新排序,消除数据相关。 5. 定向技术:又称旁路技术或专用通路技术,是使后续指令提前得到前指令的运算结果(适合ALU类指令)

(2)结构相关

定义:如果某指令在流水线重叠执行过程中,硬件资源满足不了

指令重叠执行的要求,会产生资源冲突或竞争,称为流水线结构相关

解决方法技术:

1. 延迟技术:使某些指令延迟、停顿一或多个时钟周期 2. 双端口存储器:允许同时读两个数据或指令 3. 设置双存储器(哈弗结构):一个数据存储,一个指令存储。 4软件优化编译:通过指令重新排序消除结构相关。

(3)控制相关

定义:控制相关是指因程序执行转移类指令而引起的冲突相关。

包括无条件转移、条件转移、子程序调用、中断等,它们属于分支指令,执行中可能改变程序方向,造成流水线断流。

解决方法技术:

1、 静态分支技术

静态转移预测技术(猜测法) ; 延迟转移;

提前形成条件码,生成转移目标地址; 改进循环程序 ;

2、 动态分支预测技术

转移历史表BHT; 转移目标缓冲栈(BTB); 转移目标指令缓冲栈BTIB;

五. 实验步骤

(1) 观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。

(2) 考察增加浮点运算部件对性能的影响。 (3) 考察增加forward部件对性能的影响。

(4) 观察转移指令在转移成功和转移不成功时候的流水线开销。 注意:除(2)以外,浮点加、乘、除部件都只有一个;

. . .

. .

本问题中所有浮点运算部件的延时都请设定为4个周期。

六. 实验过程

在开始模拟之前,将fact.s和input.s加载至WinDLX中。

加载完后点击Code后可以看到如下图所示。证明加载成功,即可进行以下实验。

(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。

1.1. 数据相关 如图所示

. . .

. .

lbu r3,0×0(r2)

要在WB周期写回r3中的数据;而下一条指令 seqi r5,r3,0×a

要在intEX周期中读取r3中的数据。

上述过程发生了WR冲突,即写读相关。为了避免此类冲突, seq r5,r4,0×a的intEX指令延迟了一个周期进行。 则发生数据相关的指令为

1.2控制相关

可知第0*00000130条指令jfact.Loop为循环指令,指令在EX时刻才能判别指令是否发生转移,此时发生了控制相关。如下所示,此时指令跳转成功,故顺序取出的指令必须中断,并且转向取出转移到的指令。

jfact.Loop在EX时发现跳转成功,则在EX阶段马上结束指令顺序取出的指令sd PrintfValue(r0),f0,转而执行led f0/4指令的取指阶段ID。由于此控制相关使得流水线断流一个时钟周期。

1.3 结构相关

. . .

北邮计算机系统结构-WINDLX模拟器实验 报告

..实验报告学院:计算机学院课程名称:计算机系统结构实验名称:
推荐度:
点击下载文档文档为doc格式
2otv75j9os8iiwn479cv9uewu2s0a001e5k
领取福利

微信扫码领取福利

微信扫码分享