计算机系统结构实验报告
一.流水线中的相关
实验目的:
1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;
2. 加深对计算机流水线基本概念的理解;
3. 进一步了解DLX基本流水线各段的功能以及基本操作;
4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;
5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。
实验平台:
WinDLX模拟器
实验容和步骤:
1.用WinDLX模拟器执行下列三个程序:
��求阶乘程序fact.s
��求最大公倍数程序gcm.s
��求素数程序prim.s
分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU
中寄存器和存储器的容。熟练掌握WinDLX的操作和使用。
2. 用WinDLX运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相
关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的
百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。
3. 在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项前的勾选
符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的
总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。
在采用定向技术的情况下(勾选
Enable Forwarding
),用WinDLX再次运行程序data_d.s。
重复上述3中的工作,并计算采用定向技术后性能提高的倍数。
1. 求阶乘程序
用 WinDLX 模拟器执行求阶乘程序 fact.s 。这个程序说明浮点指令的使用。该程序从标准
输入读入一个整数,求其阶乘,然后将结果输出。
该程序中调用了 input.s 中的输入子程序,这个子程序用于读入正整数。
实验结果:
在载入 fact.s 和 input.s 之后,不设置任何断点运行。
a.不采用重新定向技术,我们得到的结果