基于windlx模拟器的流水线分析实验报告

上传人:小** 文档编号:92101329 上传时间:2019-07-06 格式:DOC 页数:7 大小:424KB
返回 下载 相关 举报
基于windlx模拟器的流水线分析实验报告_第1页
第1页 / 共7页
基于windlx模拟器的流水线分析实验报告_第2页
第2页 / 共7页
基于windlx模拟器的流水线分析实验报告_第3页
第3页 / 共7页
基于windlx模拟器的流水线分析实验报告_第4页
第4页 / 共7页
基于windlx模拟器的流水线分析实验报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于windlx模拟器的流水线分析实验报告》由会员分享,可在线阅读,更多相关《基于windlx模拟器的流水线分析实验报告(7页珍藏版)》请在金锄头文库上搜索。

1、基于windlx模拟器的流水线分析(做实验前请先认真阅读WinDLX教程)1. 用WinDLX模拟器执行下列三个程序(按照10位学号除3的余数选择):l 求阶乘程序fact.s(余数为0)l 求最大公约数程序gcm.s(余数为1)l 求素数程序prim.s(余数为2)l 我的学号为2010011147所以我用的函数是:gcm.s分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。步进:连续:设置断点:注意:gcm.s中调用了input.s中的输入子程序。load程序时,要两个程序一起装入(都select后再点击load)。fact.s也是如

2、此。在报告中:1.1 简单阐述程序的作用和运行原理作用:用WinDLX模拟器执行求最大公约数程序 运行原理:这个程序说明浮点指令的使用。该程序从标准输入读入两个个整数,求其最 大公约数,然后将结果存放在R2寄存器中。该程序中调用了input.s中的输入子程序, 这个子程序用于读入正整数。1.2 跟踪CPU中寄存器和存储器内容,把造成其内容发生变化的指令、操作涵义、变化情况(以截图体现)体现出来2、用WinDLX运行程序structure_d.s,通过模拟:l 找出存在结构相关的指令对以及导致结构相关的部件;l 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;l 论

3、述结构相关对CPU性能的影响,讨论解决结构相关的方法。在报告中:2.1 分析并找出全部结构相关的指令、原因、流水线停顿截图、停顿时钟周期数(循环的只写一轮)Addi r2,r2,0x8;addi r3,r3,0x8;sub r5,r4,r2这三条指令和addd f2,f0,f2存在结构相关,其中addi r2,r2,0x8这条指令停顿2个时钟周期,其余都停顿1个时钟周期。2.2 分析并找出导致结构相关的部件答:存储数据和指令的存储部件。2.3 记录由结构相关引起的暂停时钟周期数、总执行周期数、计算暂停时钟周期数占总执行周期数的百分比由结构相关引起的暂停周期数为:30总执行周期数为:139暂停周

4、期数占总执行周期数的百分比:21.58%2.4 论述结构相关对CPU性能的影响,讨论解决结构相关的方法 答: 结构相关使相关指令在流水线上停滞,降低了执行效率。解决方法:在合理的指令调度范围内,尽量避免执行重复的指令。尽量避免同一寄存器的频繁使用,若无法避免,则使用寄存器的换名方法。3 在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。在报告中:3.1 分析并写出全部数据相关的指令、原因、流

5、水线停顿截图、停顿时钟周期数(循环的只写一轮)先读后写r1,停顿2个时钟周期。先写后读r1,停顿2个时钟周期。先读后写r5,停顿2个时钟周期。先写后读r2,停顿2个时钟周期。先写后读r4,停顿2个时钟周期。3.2 数据相关引起的暂停时钟周期总数、程序执行的总时钟周期数、计算暂停时钟周期数占总执行周期数的百分比由结构相关引起的暂停周期数为:104总执行周期数为:202暂停周期数占总执行周期数的百分比:51.48%4 在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序data_d.s。重复上述2中的工作,并计算采用定向技术后性能提高的倍数。在报告中:4.1

6、 分析并写出此时全部数据相关的指令、原因、流水线停顿截图、暂停时钟周期数(循环的只写一轮先读后写r1,停顿1个时钟周期。先读后写r5,停顿1个时钟周期。先写后读r4,停顿1个时钟周期。4.2 数据相关引起的暂停时钟周期数、程序执行的总时钟周期数、计算采用定向技术后性能提高的倍数 由结构相关引起的暂停周期数为:30总执行周期数为:128暂停周期数占总执行周期数的百分比:23.44%5. 实验总结:(1)通过本次实验,我对winDLX的流水线有了深刻的了解,包括如何计算,查看实验总周期数,暂停周期数等知道了其运行情况,能够根据程序段分析其运行位置及存储情况。(2)通过实验指导学到1. WinDLX

7、WinDLX模拟器是一个图形化、交互式的DLX流水线模拟器,能够演示DLX流水线是如何工作的。该模拟器可以装载DLX汇编语言程序(后缀为“.s”的文件),然后单步、设断点或是连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以用图形表示出来,以形象生动的方式描述DLX流水线的工作过程。模拟器还提供了对流水线操作的统计功能,便于对流水线进行性能分析。 有关WinDLX的详细介绍,见WinDLX教程。2. 熟悉WinDLX指令集和WinDLX源代码的编写3. 复习和掌握教材中相应的内容(1)DLX基本流水线(2)流水线的结构相关l 结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时,将产生“结构相关”。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号