北邮大三下 计算机系统结构实验报告 实验一到五 WINDLX模拟器(4)

2019-08-30 21:16

运行50个cycles之后,可以看到他们数据的对比:

16

由此可见,浮点运算部件的增减对效率无影响。比较各个数据,发现没有变化。无论怎么增加浮点运算部件,统计结果都一样。原因在于此程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。

3.考察增加forward部件对性能的影响。

为了对比有无forward部件的性能。需要在

中勾选enable

forwarding,以及不勾选enable configuration来看性能数据的对比。

17

不使用forward部件:

使用forward部件:

从上面的数据我们可以看出增加forwardi部件后RAW由原来占总时钟周期的26%减少至18%,RAW个数由原来的13减少至9。增加forward部件使得控制相关比例增加了。即,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到一定的改善。

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

我们假设,浮点部件设置Count=3,Delay=4;N=6。执行完毕后,查看条件转移

18

分支,如下图所示:

由上图可知,转移指令一共8条,成功转移2条(占25%),不成功为6条。所以,静态指令调度算法只能解决数据相关,条件转移结果与原来相比没有变化。即,若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低;若转移成功,则要废弃预先读入的指令,重新从转移成功处读入指令,执行效率会下降。

·实验总结

本次试验中,主要遇见一个问题,就是在当初文件加载时没有成功,后来通过查询资料和自己的尝试,发现,在选择文件的顺序很关键,它决定了文件在存储器中出现的顺序。

本次实验,主要通过对于三中相关的观察,分析出现相关时的指令,分析浮点运算部件和forward部件对性能的影响,观察转移指令在转移成功和不成功时的流水线开销,这些实验一步一步,通过WinDLX形象生动的表示,使我在实践中更加深入的认识了流水线。

19

实验三 DLX处理器程序设计

·实验目的

学习使用DLX汇编语言编程,进一步分析相关现象

·实验环境

Win XP操作系统 DLX汇编语言环境

·实验步骤

1.熟悉DLX汇编语言。

2.自编一段汇编代码,完成两双精度浮点一维向量的加法(或乘除法)运算,并输出结果。向量长度>=16。观察程序中出现的数据/控制/结构相关 3.对此程序完成上面实验二中1)、2)、3)、4)方面的分析

·实验过程

A. 向量加法代码及性能分析 首先给据题目要求,需要熟练掌握DLX编程语言,然后根据规范格式编写向量的代码。

1) 向量声明

VectorLength: .word 16 //声明向量长度

Vector1: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 //声明两个向量 Vector1和Vector2

Vector2: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 Result: .space 4 //声明一个空间来存放打印的数据 Loop: //循环体

ld f10,Vector1(r2)

ld f12,Vector2(r2) //读入两个提前声明的向量 add f4,f2,f0 //加法运算 trap 5 //系统中断

2) 源代码

20


北邮大三下 计算机系统结构实验报告 实验一到五 WINDLX模拟器(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:正 安 县 建 政 中 学129活动方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: