windlx系统结构实验报告.docx

上传人:b****4 文档编号:4242196 上传时间:2023-05-06 格式:DOCX 页数:10 大小:233.26KB
下载 相关 举报
windlx系统结构实验报告.docx_第1页
第1页 / 共10页
windlx系统结构实验报告.docx_第2页
第2页 / 共10页
windlx系统结构实验报告.docx_第3页
第3页 / 共10页
windlx系统结构实验报告.docx_第4页
第4页 / 共10页
windlx系统结构实验报告.docx_第5页
第5页 / 共10页
windlx系统结构实验报告.docx_第6页
第6页 / 共10页
windlx系统结构实验报告.docx_第7页
第7页 / 共10页
windlx系统结构实验报告.docx_第8页
第8页 / 共10页
windlx系统结构实验报告.docx_第9页
第9页 / 共10页
windlx系统结构实验报告.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

windlx系统结构实验报告.docx

《windlx系统结构实验报告.docx》由会员分享,可在线阅读,更多相关《windlx系统结构实验报告.docx(10页珍藏版)》请在冰点文库上搜索。

windlx系统结构实验报告.docx

windlx系统结构实验报告

课程设计报告书

课程名称:

计算机系统结构

题目:

WinDLX模拟器实验

学生姓名:

xxx

专业:

计算机科学与技术(数字媒体)

班别:

x

学号:

x

指导老师:

x

日期:

2011年5月2日

 

一、实验目的:

熟悉WinDLX的的基本概念和使用,了解各种不同指令在流水线的实际流动情况,对流水线做性能分析,加深对流水线及RISC处理器的理解

二、实验环境:

WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。

CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。

模拟器还提供了对流水线操作的统计功能。

该模拟器对理解流水线和RISC处理器的特点很有帮助。

WinDLX要求的硬件平台是IBMPC兼容机,WinDLX是一个Windows应用程序,运行于Windows3.0以上的操作系统。

三、实验步骤、结果分析:

使用WinDLX模拟器,对Fact.s做如下分析:

开始模拟之前的准备工作:

(1)通过双击WinDLX图标

启动WinDLX,将出现一个带有六个图标的主窗口:

(2)进行初始化模拟器,点击File菜单中的Resetall菜单项,弹出一个“ResetDLX”对话框。

然后点击窗口中的“确认”按钮即可。

(3)在开始模拟之前,至少应装入一个程序到主存。

为此,选择File/LoadCodeorData,窗口中会列出目录中所有汇编程序。

fact.s计算一个整型值的阶乘;input.s中包含一个子程序,它读标准输入(键盘)并将值存入DLX处理器的通用寄存器R1中。

按如下步骤操作,把fact.s和input.s加载入主存。

点击fact.s

点击select按钮

点击input.s

点击select按钮

点击load按钮

得到如下图:

弹出一下询问对话框,点击“是”。

1.观察增加浮点运算部件对性能的影响。

(1)点击Configuration打开菜单,然后点击FloatingPointStages菜单项,选择如下标准配置:

(2)再点击ExecuteRun,输入15点,回车,在弹出的对话框

出现消息"Trap#0occurred"表明最后一条指令trap0已经执行,Trap指令中编号“0”没有定义,只是用来终止程序。

点击确定。

按F5进行查看:

关闭上面的对话框,在Statistisc中得到结果如下所示:

(4)修改浮点数一次,参数如下图:

修改浮点数后,单击OK,再点击ExecuteRun,输入15点,回车,在弹出的对话框中点击确定。

然后在Statistisc中得到结果如下所示:

(5)修改浮点数二次,参数如下图:

执行程序,输入点数15,然后在Statistisc中得到结果如下所示:

结论:

从上面几次条件的改变下我们可以看出:

增加浮点部件后执行该程序时结果并没有发生变化。

由此可见,浮点运算部件的增减对效率无影响,这是因为此程序中浮点计算指令没有重叠,所以并行度并没有增加,性能没有得到提高。

2.观察增加forward部件对性能的影响。

(1)增加forward部件情况:

在configuration中使EnableForwarding选项前为打钩状态。

然后点击Execute–>run运行,在弹出的对话框中输入15,然后回车。

在Statistisc中得到的结果图如下图所示:

(2)不增加forward部件情况:

点击Configuration中的EnableForwarding使定向无效(去掉小钩),打开断点Breakpoints图标并点击Breakpoints菜单,删除所有断点,然后按F5,键入15后,按Enter,模拟程序一直运行到结束。

在Statistisc中得到以下的结果,如下图所示:

结论:

我们先看一下Statistics窗口中的各种统计数字:

增加Forwarding时,总的周期数(180)和暂停数(17RAW,20Control,12Trap;49Total)。

当不增加Forwarding时,重新查看静态窗口,你会看到控制暂停和Trap暂停仍然是同样的值,而RAW暂停从17变成了48,总的模拟周期数增加到201。

利用这些值,我们能够计算定向技术带来的加速比:

  201/180=1.117

  DLXforwarded比DLXnotforwarded快11.7%。

可以看得出,增加forward部件对性能有所影响。

增加了FORWARD部件后,总时钟周期减少,RAW相关减少,由于该部件的使用,将运算结果值提前传送到有关缓冲寄存器,使后续指令得以不停顿地进入流水线,并及时得到需要的操作数,所以性能有所提高。

3.观察转移指令在转移成功和转移不成功时候的流水线开销。

增加forward部件是条件后转移结果如下:

数据分析:

指令

数目

百分比

转移指令总数

18

15.00%

转移成功指令数

2

11.11%

转移不成功指令数

16

100.00%

由上表的统计结果可以看出,在运行点数为15的情况下,转移不成功的可以达100%,所以将条件转移指令设为选择猜测为转移不成功,若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低;若转移成功,则要废弃先读入的指令,重新从转移成功出读入指令,没执行一条条件转移指令,一条k段流水线就有k-2个流水段被浪费掉,执行效率降低,性能有一定的损失。

四、实验总结:

1、通过本实验我掌握了WinDLX模拟器的基本操作和使用,了解DLX指令集结构及其特点,更加深入的了解计算机系统流水线的工作过程。

2、加深对数据相关的理解,掌握如何使用定向技术来减少数据相关带来的暂停。

3、在这次的实验中,开始时候发觉自己对WinDLX模拟器的很多知识都不理解,对系统结构的理解太少,在做实验过程中才渐渐有了个大概的了解和深入,比如在弄增加forward部件对性能的影响这个实验时,数据的如何查看,如何计算上让自己反复弄好好几次,不过在反复试验之后最后终于弄明白了,还有观察转移指令在转移成功和转移不成功时候的流水线开销上,也不明白程序是如何模拟转移的,但最后在同学的帮助下,才得以解决,在这让我明白自己对计算机系统结构的认识有待更好的加强。

五.参考资料:

WinDLX模拟器使用手册

模拟器源代码

DLX指令手册

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2