计算机系统结构实验报告要点.doc

计算机系统结构实验报告要点.doc

ID:50958287

大小:798.62 KB

页数:19页

时间:2020-03-16

计算机系统结构实验报告要点.doc_第1页
计算机系统结构实验报告要点.doc_第2页
计算机系统结构实验报告要点.doc_第3页
计算机系统结构实验报告要点.doc_第4页
计算机系统结构实验报告要点.doc_第5页
资源描述:

《计算机系统结构实验报告要点.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一流水线相关一.实验目的1.熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;2.加深对计算机流水线基本概念的理解;3.进一步了解DLX基本流水线各段的功能以及基本操作;4.加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;5.了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。二.实验内容1.用WinDLX模拟器执行下列三个程序(任选一个):l求阶乘程序fact.sl求最大公倍数程序gcm.sl求素数程序prim.s分别以步进、连续、设置断点的方

2、式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。注意:fact.s中调用了input.s中的输入子程序。load程序时,要两个程序一起装入(都select后再点击load)。gcm.s也是如此。2.用WinDLX运行程序structure_d.s,通过模拟:l找出存在结构相关的指令对以及导致结构相关的部件;l记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;l论述结构相关对CPU性能的影响,讨论解决结构相关的方法。3

3、.在不采用定向技术的情况下(去掉Configuration菜单中EnableForwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。4.在采用定向技术的情况下(勾选EnableForwarding),用WinDLX再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。三.实验过程和截图1.模拟执行fact.s和input.s流水线的状态如下:在执行求阶

4、乘程序fact.s之后,输入值5,查看寄存器的值为120,结果正确。2.执行程序structure_d.s之后的实验数据如下图:由实验数据显示:(1)该程序没有结构相关;(2)该程序总共暂停的时钟周期数为:108个时钟周期,暂停的时钟周期数占总的时钟周期数的百分比为3.不采用定向技术,运行data_d.s程序,实验数据如下图:由实验数据显示:(1)由数据相关引起的暂停的时钟周期数为:104(2)程序执行的总的时钟周期数为:202(3)暂停的时钟周期数占总的时钟周期数的百分比:4.采用定向技术执行程序dat

5、a_d.s,实验数据如下图:由实验数据显示:(1)程序由于数据相关引起的暂停的时候周期数为:30;(2)程序执行的总的时钟周期数为:128;(3)暂停的时钟周期数占总的时钟周期数的百分比为:30/128=23.44%(4)CPU性能提高的倍数:202/128=1.58。四.实验体会本次实验是计算机系统结构该课程的第一次实验,刚刚开始的时候由于不会使用WINDLX软件,所以导致得到了一些错误的实验数据,但是后来在老师和同学的帮助下渐渐的熟悉了该软件对于实验的作用,也学会了如何运用该软件来观察程序在流水线的状

6、态下的执行,我们可以看到实验的真实数据,流水线的时空图等等,这让我们对流水线的的认识更加深刻。实验二循环展开及指令调度一.实验目的1.加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;2.熟悉用指令调度技术来解决流水线中的数据相关的方法;3.了解循环展开、指令调度等技术对CPU性能的改进。二.实验内容1.用指令调度技术解决流水线中的结构相关与数据相关(1)用DLX汇编语言编写代码文件*.s,程序中应包括数据相关与结构相关(假设:加法﹑乘法﹑除法部件各有2个,延迟时间都是3个时钟周期)

7、(2)通过Configuration菜单中的“Floatingpointstages”选项,把加法﹑乘法﹑除法部件的个数设置为2个,把延迟都设置为3个时钟周期;(3)用WinDLX运行程序。记录程序执行过程中各种相关发生的次数、发生相关的指令组合,以及程序执行的总时钟周期数;(4)采用指令调度技术对程序进行指令调度,消除相关;(5)用WinDLX运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总时钟周期数;(6)根据记录结果,比较调度前和调度后的性能。论述指令调度对于提高CPU性能的意义。2

8、.用循环展开、寄存器换名以及指令调度提高性能(1)用DLX汇编语言编写代码文件*.s,程序中包含一个循环次数为4的整数倍的简单循环;(2)用WinDLX运行该程序。记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;(3)将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。然后对新的循环体进行寄存器换名和指令调度;(4)用WinDLX运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。