北邮计算机系统结构WINDLX模拟器实验 报告Word文档格式.docx
- 文档编号:15757481
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:24
- 大小:563.22KB
北邮计算机系统结构WINDLX模拟器实验 报告Word文档格式.docx
《北邮计算机系统结构WINDLX模拟器实验 报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《北邮计算机系统结构WINDLX模拟器实验 报告Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
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.数据相关
如图所示
lbur3,0×
0(r2)
要在WB周期写回r3中的数据;
而下一条指令
seqir5,r3,0×
a
要在intEX周期中读取r3中的数据。
上述过程发生了WR冲突,即写读相关。
为了避免此类冲突,
seqr5,r4,0×
a的intEX指令延迟了一个周期进行。
则发生数据相关的指令为
1.2控制相关
可知第0*00000130条指令jfact.Loop为循环指令,指令在EX时刻才能判别指令是否发生转移,此时发生了控制相关。
如下所示,此时指令跳转成功,故顺序取出的指令必须中断,并且转向取出转移到的指令。
jfact.Loop在EX时发现跳转成功,则在EX阶段马上结束指令顺序取出的指令sdPrintfValue(r0),f0,转而执行ledf0/4指令的取指阶段ID。
由于此控制相关使得流水线断流一个时钟周期。
1.3结构相关
上图表明了addir2,r2,0×
1的详细信息。
该指令与它前一条指令addr1,r1,r3发生了结构相关。
并且由于此处的冲突,需要暂停2个周期。
在ID段暂停后,则开始进图intEX段。
所以这条指令(addir2,r2,0×
1)你不能进入ID流水段,译码部分占用,发生了结构相关。
该部分的指令为:
取N=12
设置浮点运算部件的配置。
由于实验手册上面要求Delay=4,所以我们将Delay这一栏改成4,而Count可以任意,为了对比,我们第一次浮点运算部件取全部为2,第二次浮点运算部件取全部为4。
分别运行50个cycles后,数据对比如下:
比较各个数据,发现没有变化。
无论怎么增加浮点运算部件,统计结果都一样。
原因在于此程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。
所以,浮点运算部件的增减对效率无影响。
为了对比有无forward部件的性能。
需要在勾选enableforwarding,以及不勾选enableconfiguration来看性能数据的对比。
不使用forward部件:
使用forward部件:
从上面的数据我们可以看出增加forward部件后,总的周期数由200减少至158,RAW由原来占总时钟周期的32.5%减少至16.46%,RAW个数由原来的65减少至26。
增加forward部件使得控制相关比例增加了。
所以,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到一定的改善。
可知条件分支指令总共有15条,其中有2条转移成功(13.33%),有13条转移不成功。
转移不成功的指令就顺序执行,故不会影响程序的运行,不会导致流水线断流;
而转移成功的指令会导致流水线的断流,要废弃预先读入的指令,重新从转移成功处读入指令,执行效率会下降。
经分析可知,两次断流都会导致一个周期的流水线断流。
七.实验总结
1.在流水线中,硬件资源满足不了指令重叠执行的要求,会产生资源冲突或竞争,称为流水线结构相关,而解决流水线相关的途径之一是设置双存储器(哈弗结构):
实际上,本身实现DLX指令的硬件设备已经考虑到了这一点,本身已有两个存储器,一个为数据存储器,一个为指令存储器。
故本身就解决了部分结构相关问题。
并且fact.s中的指令并不会导致其他资源冲突,故无法体现资源相关。
试验中多加入浮点数部件,运行效率等没有变化。
通过观察指令的运行情况,因为不会发生结构相关(硬件资源冲突),在流水线中的部件线性使用,故加入部件也不会对结果有直接的影响。
2.本次实验,主要通过对于三种相关的观察,分析出现相关时的指令,分析浮点运算部件和forward部件对性能的影响,观察转移指令在转移成功和不成功时的流水线开销,这些实验一步一步,通过WinDLX形象生动的表示,使我在实践中更加深入的认识了流水线。
3.通过本次实验,我熟悉了指令执行的每个阶段的任务,对时空图的理解也更深了一步,对流水线中的三种相关性问题有了认识,同时通过此实验学习到了解决这些相关问题的方法,从而对课上所学的知识有了更系统的认识。
实验三DLX处理器程序设计
综合型实验
学习使用DLX汇编语言编程,进一步分析相关现象
DLX汇编语言环境
掌握向量运算算法和编程方法。
(1)熟悉DLX汇编语言。
(2)
编写两双精度浮点一维向量的加法运算程序。
(3)
对此程序完成上面实验二中1)、2)、3)、4)方面的分析。
六.实验过程
(1)代码清单和注释说明
.data
VectorLength:
.word16
Vector1:
.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
Vector2:
;
声明向量长度以及声明向量1、2
Printf1:
.asciiz"
Vector="
Printf2:
%f"
.align2
PrintPrompt:
.wordPrintf1
PrintPar:
.wordPrintf2
Result:
.space4;
存放打印数据的空间申请
.text
main:
addir14,r0,PrintPrompt
trap5
lwr20,VectorLength
addir2,r0,0
Loop:
ldf10,Vector1(r2)
ldf12,Vector2(r2);
循环体中读入向量
cvti2df0,f10
cvti2df2,f12
adddf4,f2,f0;
加法运算
Finish:
****Finish,writeresultintostdout
sdResult,f4
addir14,r0,PrintPar
trap5;
系统中断,输出结果
addir2,r2,4
subir20,r20,1
bnezr20,Loop
End
trap0
运行结果
(2)观察程序中出现的数据/控制/结构相关。
无结构相关,有控制相关15次和数据相关64次。
数据相关:
以当对当前指令的操作数寄存器进行操作(EX)的时候,前几条指令的运算结果还未写回(WB)结果寄存器,由此产生数据相关。
结构相关:
由于只做了一次加法,所以没有产生结构相关
第一条命令在WB段,第二条命令在intEX段,第四条命令在IF段。
而第三条命令指示为"
aborted"
。
此处发生了控制相关。
(3)考察增加浮点运算部件对性能的影响。
数据对比如下:
(4)考察增加forward部件对性能的影响。
从上面的数据我们可以看出增加forward部件后,总的周期数由413减少至315,RAW由原来占总时钟周期的39.22%减少至20.32%,RAW个数由原来的162减少至64。
(5)观察转移指令在转移成功和转移不成功时候的流水线开销。
可知条件分支指令总共有16条,其中有15条转移成功(93.75%),有1条转移不成功。
而转移成功的指令会导致流水线的断流,要废弃预
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北邮计算机系统结构WINDLX模拟器实验 报告 计算机系统 结构 WINDLX 模拟器 实验