系统结构实验

合集下载

计算机系统结构实验报告

计算机系统结构实验报告

电子科技大学实验报告结果分析:观察三到九周期的ealu信号分别为(10,1,1,10,1,10,10),第九个周期的ealu为10,该周期执行的指令是sub r2 r1 r3;可见第一条指令赋值r1=10;第二条指令赋值r2=1;所以最后一条指令sub r1 r1 r2执行后结果为9,符合条件。

当有数据相关时,就会出问题,再观察第五、六、七两个周期,指令的执行结果均为1。

故该程序不能解决数据相关问题。

(二) 汇编器实现2.1自行设计与所给出的流水线指令的汇编格式,在下表中写出。

指令指令意义Op[31:26] Op2 [25:20] [19:15] [14:10] [9:5] [4:0]如上图所示,相邻的两条指令中,如果第二条指令的两个源操作数寄存器与上一条指令的目的操作数寄存器相同,那么第二条指令在译码周期从寄存器堆中取源操作数值的时候,上一条指令还只在执行周期,还没有将最后结果写回到相应的寄存器中,因此第二条指令取如上图所示,在直接相邻的两条产生数据相关的指令之间插入三条空指令,这样在第二条指令译码之前,第一条指令已经将结果写回,第二条指令取到的源操作数的值是最新的值,数据相关就消除了。

以上情况针对相邻的两条产生数据相关指令的分析,而对于中间隔了一条或两条无数据上图左边部分就是汇编器实现部分的流程图,在此基础上进行扩展,即如箭头所指方向,中间两步替代为右边部分。

)测试程序指令:xor r2, r2, r2add r3, r2, r1xor r2, r2, r2addi r1, r1, 20如上图所示,在产生数据相关的指令前插入了空指令“addi r0 r0 0”。

在xilinx中的仿真结果:。

计算机系统结构实验报告

计算机系统结构实验报告

计算机系统结构实验报告实验目的:掌握计算机系统的基本结构和工作原理,了解计算机系统的组成部分及其相互关系。

实验仪器和材料:计算机硬件设备(主机、硬盘、内存、显卡等)、操作系统、实验指导书、实验报告模板。

实验原理:实验步骤:1.搭建计算机硬件设备,将主机、硬盘、内存、显卡等组装连接好。

2. 安装操作系统,如Windows、Linux等。

3.启动计算机,进入操作系统界面。

4.打开任务管理器,查看CPU的使用情况。

5.打开任务管理器,查看内存的使用情况。

6.运行一些应用程序,观察CPU和内存的使用情况。

7.尝试使用输入输出设备,如键盘、鼠标等。

实验结果:通过实验,我们可以观察到计算机系统的硬件部分和软件部分的工作情况。

通过任务管理器,我们可以查看到CPU的使用情况和内存的使用情况。

在运行应用程序时,我们可以观察到CPU和内存的使用情况的变化。

通过使用输入输出设备,我们可以与计算机进行交互操作。

实验分析:从实验结果可以看出,计算机系统的硬件部分和软件部分都是相互关联的。

CPU作为计算机的核心部件,负责执行各种指令,通过数据传输和计算来完成各种操作。

而内存则用于存储数据和程序,通过读写操作来完成对数据的处理。

硬盘则用于长期存储数据。

操作系统则是计算机系统的管理者,通过调度CPU和内存的使用来实现对计算机资源的分配。

结论:计算机系统是由硬件和软件部分组成的,其中硬件部分包括CPU、内存、硬盘等,软件部分包括操作系统、应用程序等。

计算机系统通过CPU 的运算和数据传输来实现各种操作。

通过实验,我们可以观察到计算机系统的工作情况,并深入了解计算机系统的组成和工作原理。

实验总结:通过本次实验,我们对计算机系统的基本结构和工作原理有了更深入的了解。

实验中,我们搭建了计算机硬件设备,安装了操作系统,并通过观察和分析实验结果,进一步认识到计算机系统的组成部分和各部分之间的相互关系。

通过操作输入输出设备,我们还实践了与计算机进行交互操作的过程。

计算机系统结构 实验报告 (截图 分析 总结)

计算机系统结构 实验报告 (截图 分析 总结)

实验一流水线中的相关一、实验目的1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;2. 加深对计算机流水线基本概念的理解;3. 进一步了解DLX基本流水线各段的功能以及基本操作;4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停二、实验平台WinDLX 模拟器三、实验内容和步骤1.用WinDLX模拟器执行下列三个程序:(分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。

熟练掌握WinDLX的操作和使用。

)●求阶乘程序fact.s⏹步进的运行方式:步进的运行方式是指,每次控制只执行一条语句,快捷键为F7键:图1-1 单步运行测试⏹设置断点的运行方式:鼠标点击某行,按下“Insert键”,设置断点:图1-2 设置断点图1-3 断点设置成功,按F5运行至断点⏹连续的运行方式:通过按下F5键,可直接运行至断点处;按下F8键,并在对话框内键入跳跃的步数,可以直接跳转指定的步数:图1-4 设置跳转步数●求最大公倍数程序gcm.s,观察程序在流水线中的执行情况:●求素数程序prim.s,观察CPU 中寄存器和存储器的内容2. 用WinDLX运行程序structure_d.s通过模拟找出存在资源相关的指令对以及导致资源相关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。

●存在资源相关的指令、导致资源相关的部件⏹两条指令同时访问寄存器f4,造成资源相关:⏹两条指令同时访问ALU,造成资源相关:●由资源相关引起的暂停时钟周期数、暂停时钟周期数占总执行周期数的百分比由资源相关引起的暂停时钟周期数:30;总执行周期数:139;暂停时钟周期数占总执行周期数的百分比:21.6%3. 在采用、以及不采用定向技术的情况下,分别用WinDLX 运行程序data_d.s(记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;并计算采用定向技术后性能提高的倍数)●采用定向技术:(左下图)⏹计算暂停时钟周期数占总执行周期数的百分比:30/128=23.4%图3-1 采用定向技术图3-2 不采用定向技术●不采用定向技术:(右上图)⏹计算暂停时钟周期数占总执行周期数的百分比:104/202=51.5%●采用定向技术后性能提高的倍数:202/128=1.58倍四、实验总结●资源相关对CPU性能的影响、讨论解决资源相关的方法资源相关使相关指令在流水线上停滞,降低了执行效率;为解决这一问题,应在编写代码时尽量避免总是使用同一寄存器;并通过指令调度,使相关的代码执行距离拉开。

计算机系统结构实验报告模板

计算机系统结构实验报告模板
调度前的源代码只需给出关键代码部分注明各种相关的位置调度后的源代码注明使用的策略并加以说明调度前的测试数据vs调度后的测试数据分析回答以下问题
计算机系统结构实验报告
班级
3班
实验日期
3.28
实验成绩
姓名
王志刚
学号
23020112204884
实验名称
指令调度和分支延迟







实验目的:
加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;
调度前代码:
loop:
ADDI $r1,$r1,1
MUL $r2,$r1,$r1
ADDIU $r4,$r4,-1
BGTZ $r4,loop
调度后代码:
loop:
ADDI $r1,$r1,1
ADDI $r2,$r1,1
MUL $r5,$r1,$r1
MUL $r6,$r2,$r2
ADDI $r3,$r2,1
3、选择“配置”--“流水方式”选项;
4、用指令调度解决流水线中的数据冲突
(1)启动MIPSsim;.s;
(3)关闭定向功能,“配置”—“定向”;
(4)执行载入程序,通过查看统计数据与始终周期图,找出并记录程序执行过程中各种冲突的次数没发生冲突的指令组合以及程序执行的总周期数。
ADD $r18,$r16,$r1;(发生结构冲突)
ADD $r18,$r16,$r1与
SW $r18,16($r1);(发生结构冲突和RAW冲突)
SW $r18,16($r1)与
LW $r20,8($r1);(发生结构冲突)
LW $r20,8($r1)与
MUL $r22,$r20,$r14;(发生RAW冲突)

计算机组成原理与系统结构试验一 数据表示与运算

计算机组成原理与系统结构试验一 数据表示与运算

《计算机组成原理与系统结构》实验一数据表示和运算(1)无符号数和带符号整数的表示实验目的:通过无符号数和带符号整数之间的相互转换来理解无符号数和补码整数的表示。

实验要求:验证教材表2.2(P.28)中的关系表达式的结果,并编程得出第二章习题8(P.69)的表中结果。

实验报告:1.给出源程序(文本文件)和执行结果。

图1-1 验证教材表2.2(P.28)中的关系表达式的结果测试代码图1-2 验证教材表2.2(P.28)中的关系表达式的结果测试代码运行结果图1-3 解第二章习题8(P.69) 实验代码图1-4 第二章习题8(P.69)实验代码运行结果由上图结果得解答如下表:表1-1第二章习题8解答结果2.根据实验结果,回答下列问题。

(1)你的机器字长多少位?int型数据的位数、最小值和最大值各是多少?答:我的机器字长为32位;int型数据为32位,min = -2147483648(-231),max = 2147483647(231-1) □(注:“□”符号表示一题解答结束,以下同此约定)(2)在你的机器上,-1用int类型和unsiged int类型表示的结果分别是多少?答:结果分别为-1和429 496 729 5(232-1). □(2)类型转换和移位操作运算实验目的:了解高级语言中数据类型的转换和移位操作结果,从而能更好地理解指令系统设计和计算机硬件设计所需满足的要求和需要考虑的问题。

实验要求:编程实现以下各种操作,并要求分别用十进制和十六进制形式打印输出操作结果。

(1)给定一个short型数据-12345,分别转换为int、unsigned short、unsigned int、float类型的数据;图1-5 short型数据-12345转换成其他类型测试代码图1-6 short型数据-12345转换成其他类型测试代码运行结果(2)给定一个int型数据2147483647,分别转换为short、unsigned short、unsigned int、float 类型的数据;图1-7 int型数据2147483647转换成其他类型测试代码图1-8 int型数据2147483647转换成其他类型测试代码(3)给定一个float型数据123456.789e5,转换成double型数据;图1-9 float型数据123456.789e5,转换成double型数据图1-10 float型数据123456.789e5,转换成double型数据运行结果(4)给定一个double型数据123456.789e5,转换成float型数据;图1-11 double型数据123456.789e5,转换成float型数据图1-12 double型数据123456.789e5,转换成float型数据运行结果(5)按short和unsigned short类型分别对-12345进行左移2位和右移2位操作。

(完整word)中南大学软件体系结构实验报告

(完整word)中南大学软件体系结构实验报告

CENTRAL SOUTH UNIVERSITY软件体系结构实验报告学生姓名周建权班级学号 0909121915指导教师穆帅设计时间2014年11月实验一系统的用例模型一、实验目的1.熟悉用例图的基本功能和使用方法。

2.锻炼结合给定题目,进行有效需求分析的能力。

3.掌握如何使用建模工具绘制用例图的方法。

二、实验器材1.计算机一台。

2.UML建模工具,比如软件Rational Rose 或StarUML。

三、实验内容在理解用例图的基本功能和使用方法的基础上,结合具体问题,完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程。

用Rational Rose或StarUML工具软件绘制系统的用例图.下文以Rational Rose为例讲解基本步骤。

四、实验步骤1.结合实际给定题目,完成系统的需求建模。

2.针对每个用例进行业务分析。

以图书管理系统中“删除读者信息"用例为例来说明实验具体步骤。

(1)分析:在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。

(2)根据分析结果,书写业务流程,一般包含以下信息:①管理员在录入界面,输入待删除的读者名;②“业务逻辑”组件在数据库中,查找待删除的读者名;③如果不存在,则显示出错信息,返回步骤①,如果存在则继续;④“业务逻辑”组件判断“待删除的读者”是否可以删除;⑤如果不可以,则显示出错信息,返回步骤⑧,如果可以则继续;⑥在数据库中,删除相关信息;⑦显示删除成功信息;⑧结束。

3.根据分析结果,绘制用例图.以图书管理系统中“删除读者信息"用例为例说明具体绘图步骤:(1)在用例图上双击main,出现如图1。

电子商务系统结构实验:取款机的简单用例图

电子商务系统结构实验:取款机的简单用例图

电子商务系统结构实验(一)报告专业:-姓名:学号:-课程名称:电子商务系统结构实验名称:ATM简单模型目录1、简单ATM机的用例图: (3)2、取钱 (3)2.1、顺序图 (4)2.2、合作图: (5)2.3、类图: (6)3、存款: (6)3.1、顺序图: (6)3.2、合作图: (8)3.3、类图: (9)4、改变密码: (10)4.1、顺序图: (10)4.2、合作图: (11)4.3、类图: (11)5、付款: (12)5.1、顺序图: (12)5.2、合作图: (13)5.3、类图: (14)6、查阅结余: (15)6.1、顺序图: (15)6.2、合作图: (16)6.3、类图 (17)实验报告【实验目的】了解ATM机的取现流程设计的方法和步骤,认识并理解UML通用的标准建模语言基本概念和结构,掌握通用建模图例在Rational rose中的使用方法,并能运用Rational rose建模工具进行简单的业务流程设计。

【实验内容】建立简单的ATM机应用模型,功能包括取钱、存款、改变密码、用信用卡付款及查询结余。

用Rose软件分别画出各功能流程的顺序图、合作图及类图。

【实验步骤】步骤1:添加客户添加客户:李明。

步骤2:添加用例为客户添加取钱、存款、改变密码、用信用卡付款及查询结余用例。

步骤3:画出系统用例视图中的Main用例图根据系统中的参与者、用例以及它们之间的关系画出系统用例视图中的Main用例图步骤4:画出顺序图步骤5:画出合作图步骤6:绘制类图【实验结果】1、简单ATM 机的用例图:查询结余改变密码客户信用系统付款2、取钱:2.1、顺序图: 李明:客户2.2、合作图:6: 输入密码(123)9: 选择事务(取钱)2.3、类图:3、存款:3.1、顺序图:: 李明:客户3.2、合作图:6: 输入密码(123)9: 选择事务(存钱)3.3、类图:4、改变密码:4.1、顺序图:: 李明:客户4.2、合作图:6: 输入密码(123)9: 选择事务(改变密码)11: 输入原密码14: 输入新密码4.3、类图:5、付款:5.1、顺序图:: 信用系统: 李明:客户关5.2、合作图:6: 输入密码(123)9: 选择事务(付款): 信用系统5.3、类图:6、查阅结余:6.1、顺序图:: 李明:客户6.2、合作图:6: 输入密码(1234)9: 选择事务(查阅结余)6.3、类图:。

北邮高级计算机系统结构实验二三四五

北邮高级计算机系统结构实验二三四五

实验二指令流水线相关性分析·实验目的通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC 处理器的特点的理解。

·实验原理:指令流水线中主要有结构相关、数据相关、控制相关。

相关影响流水线性能。

·实验步骤一.使用WinDLX模拟器,对Fact.s做如下分析:(1)观察程序中出现的数据/控制/结构相关。

指出程序中出现上述现象的指令组合。

(2)考察增加浮点运算部件对性能的影响。

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

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

·实验过程一.使用WinDLX模拟器,对Fact.s做如下分析:浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1:图1 初始设置将fact.s和input.s加载至WinDLX中,如图2示。

图2 加载程序1.观察程序中出现的数据/控制/结构相关;指出程序中出现上述现象的指令组合。

1)数据相关点击F7,使程序单步执行,当出现R-Stall时停止,运行过程中出现下图3所示,输入整数6。

图3 输入整数6打开Clock Diagram,可以清楚的看到指令执行的流水线如图4所示。

图4 指令流水线双击第一次出现R-Stall的指令行,如图5所示。

图5 指令详细信息对以上出现的情况分析如下:程序发生了数据相关,R-Stall(R-暂停)表示引起暂停的原因是RAW。

lbu r3,0×0(r2)要在WB周期写回r3中的数据;而下一条指令seqi r5,r3,0×a要在intEX周期中读取r3中的数据。

上述过程发生了WR冲突,即写读相关。

为了避免此类冲突,seq r5,r4,0×a的intEX指令延迟了一个周期进行。

由此,相关指令为:2)控制相关由图6可以看出,在第4时钟周期:第一条指令处于MEM段,第二条命令处于intEX段,第三条指令出于aborted状态,第四条命令处于IF段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统结构实验报告11070113 臧琦11070230 曾凯目录实验一流水线中的相关 (3)1、实验目的 (3)2、实验平台 (3)3、实验要求 (3)4、实验结果 (4)4.1用WinDLX 模拟器执行下列三个程序 (4)4.1.1用WinDLX 模拟器执行阶乘程序 fact.s的结果如下所示 (4)4.1.2 用WinDLX 模拟器执行阶乘程序gcm.s的结果如下所示 (5)4.1.3 用WinDLX 模拟器执行阶乘程序prim.s的结果如下所示 (7)4.2 用WinDLX 模拟运行器程序structure_d.s,进行相关实验 (8)4.3 比较定向与不定向技术,用WinDLX 模拟运行器程序data_d.s,进行相关实验 114.3.1采用不定向技术,用WinDLX 模拟运行器程序data_d.s,进行相关实验 (11)4.3.2采用定向技术,用WinDLX 模拟运行器程序data_d.s,进行相关实验 (11)5、总结与体会 (12)实验二循环展开及指令调度 (13)1、实验目的 (13)2、实验平台 (13)3、实验要求 (13)4、实验结果 (14)4.1用指令调度技术解决流水线中的结构相关与数据相关 (14)4.1.1原指令执行的相关结果 (14)4.1.2调整指令顺序指令执行的结果 (16)4.2用循环展开、寄存器换名以及指令调度提高性能 (17)4.2.1 原循环程序运行的结果 (17)4.2.2 将循环程序展开运行的结果 (18)4.2.3 将程序循环展开、指令调度后运行的结果 (19)5、总计与体会 (21)实验三cache性能分析 (21)1、实验目的 (21)2、实验平台 (21)3、实验要求 (21)4、实验结果 (22)4.1.基本配置情况下运行程序 (22)4.2.改变Cache容量对Cache性能的影响 (22)4.3.改变Cache的相联度对Cache性能的影响 (25)4.4.改变Cache块大小对Cache性能的影响 (27)4.5.不同的替换算法对Cache性能的影响 (30)4.5.1不同容量下,不同的替换算法对Cache性能的影响 (30)5、总计与体会 (36)实验一流水线中的相关1、实验目的1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;2. 加深对计算机流水线基本概念的理解;3. 进一步了解DLX基本流水线各段的功能以及基本操作;4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停2、实验平台用WinDLX模拟器模拟流水线。

3、实验要求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 中的工作,并计算采用定向技术后性能提高的倍数。

4、实验结果4.1用WinDLX 模拟器执行下列三个程序4.1.1用WinDLX 模拟器执行阶乘程序 fact.s的结果如下所示●步进方式运行程序结果如下所示图1 以步进方式进行的过程●连续方式运行程序结果如下所示图2 连续方式,程序无间断的进行●设置断点方式运行程序结果如下所示图3 通过设置不同的断点来控制程序的执行4.1.2 用WinDLX 模拟器执行阶乘程序gcm.s的结果如下所示●步进方式运行程序结果如下所示图4 以步进方式进行的过程,经过有限的步骤将程序的结果运行出来●连续方式运行程序结果如下所示图5 连续方式,程序无间断的进行,直到程序结束●设置断点方式运行程序结果如下所示图6 通过设置不同的断点来控制程序的执行4.1.3 用WinDLX 模拟器执行阶乘程序prim.s的结果如下所示 步进方式运行程序结果如下所示图7 以步进方式进行的过程●连续方式运行程序结果如下所示图8 连续方式,程序无间断的进行,直到程序结束●设置断点方式运行程序结果如下所示图9 通过设置不同的断点来控制程序的执行4.2 用WinDLX 模拟运行器程序structure_d.s,进行相关实验图10 structure_d.s程序运行的流水线图●资源相关的指令对(1)ADDD F0, F0, F4ADDD F2, F0, F2 ;导致资源相关的部件:ALU;指令ADDD F2, F0, F2 在译码阶段ID停滞1周期(2)ADDD F2, F0, F2ADDI R2, R2, #8导致资源相关的部件: ALU;指令ADDI R2, R2, #8 在执行阶段intEX停滞1周期(3)ADDD F2, F0, F2ADDI R2, R2, #8 ; (mem部件相关)ADDI R3, R3, #8 ; (mem部件相关)SUB R5, R4, R2; (mem部件相关)●由资源相关引起的暂停时钟周期数图11 程序执行总的周期数以及延迟的周期数由资源相关引起的暂停周期数为:30总执行周期数为:139暂停周期数占总执行周期数的百分比:30/139=21.58%分析及解决办法分析:资源相关使相关指令在流水线上停滞,降低了执行效率,使cpu的性能下降。

解决方法:在合理的指令调度范围内,尽量避免执行重复的指令。

尽量避免同一寄存器的频繁使用,若无法避免,则使用寄存器换名的方法。

4.3 比较定向与不定向技术,用WinDLX 模拟运行器程序data_d.s,进行相关实验4.3.1采用不定向技术,用WinDLX 模拟运行器程序data_d.s,进行相关实验图12 采用非定向技术运行的结果图由数据相关引起的暂停时钟周期数为:104总执行周期数为:202暂停周期数占总执行周期数的百分比:104/202=51.48%4.3.2采用定向技术,用WinDLX 模拟运行器程序data_d.s,进行相关实验在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序data_d.s。

重复上述3中的工作,并计算采用定向技术后性能提高的倍数。

图13 定向技术相关结果的截图由数据相关引起的暂停时钟周期数为:30总执行周期数为:128暂停周期数占总执行周期数的百分比:30/128=23.44%总结: 采用定向技术性能提高的倍数:202/128=1.58倍5、总结与体会这次实验让我很好的学习了windlx的用法,对其中的各种操作以及性质有了更好的认识与应用,为之后的学习以及发展带来了极大的便利。

同个对几个.s程序的运行,让我对流水线的过程有了更加清楚的认识,将课堂上学到的理论知识运用到了实际中去。

同时,对数据相关、资源相关等有了更好的认识与了解,对程序的简化运行有了更加清楚的认识,为以后清楚的快捷的运行提供了思想的基础。

最后,对定向技术以及其性能有了更加清楚的了解,充分认识了定向技术的优点,在以后的开发应用中,要多采用定向技术,可以减少程序的运行周期,提高程序的运行效率。

实验二循环展开及指令调度1、实验目的1. 加深对循环级并行性、指令调度技术、循环展开技术以及寄存器换名技术的理解;2. 熟悉用指令调度技术来解决流水线中的数据相关的方法;3. 了解循环展开、指令调度等技术对CPU性能的改进。

2、实验平台用WinDLX模拟器模拟流水线。

3、实验要求1.用指令调度技术解决流水线中的结构相关与数据相关(1)用DLX 汇编语言编写代码文件*.s,程序中应包括数据相关与结构相关(假设:加法﹑乘法﹑除法部件各有2 个,延迟时间都是3 个时钟周期)(2)通过Configuration 菜单中的“Floating point stages”选项,把加法﹑乘法﹑除法部件的个数设置为2 个,把延迟都设置为3 个时钟周期;(3)用WinDLX 运行程序。

记录程序执行过程中各种相关发生的次数、发生相关的指令组合,以及程序执行的总时钟周期数;(4)采用指令调度技术对程序进行指令调度,消除相关;(5)用WinDLX 运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总时钟周期数;(6)根据记录结果,比较调度前和调度后的性能。

论述指令调度对于提高CPU 性能的意义。

2. 用循环展开、寄存器换名以及指令调度提高性能(1)用DLX 汇编语言编写代码文件*.s,程序中包含一个循环次数为4 的整数倍的简单循环;(2)用WinDLX 运行该程序。

记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;(3)将循环展开3 次,将4 个循环体组成的代码代替原来的循环体,并对程序做相应的修改。

然后对新的循环体进行寄存器换名和指令调度;(4)用WinDLX 运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执4、实验结果4.1用指令调度技术解决流水线中的结构相关与数据相关4.1.1原指令执行的相关结果●DLX 汇编语言编写代码文件*.s的内容如下所示:addf f0,f0,f1addf f1,f3,f4addf f2,f0,f2multf f6,f2,f0addf f0,f0,f1multf f1,f6,f0subf f3,f7,f8subf f7,f3,f1trap 0●通过Configuration 菜单中的“Floating point stages”选项,把加法﹑乘法﹑除法部件的个数设置为2 个,把延迟都设置为3 个时钟周期图2-1 加法器、乘法器、除法器的设置●程序运行的流水线图图2-2 程序执行时的流水线图指令执行结果的统计图2-3 指令执行结果的统计从上图中,我们可以看到指令执行的总周期是22,发生相关的次数是4,总的延迟周期是14,各种相关指令的组合如下所示:1、addf f0,f0,f1addf f1,f3,f4 对f0的数据相关addf f2,f0,f22、addf f2,f0,f2multf f6,f2,f0 对f2的数据相关3、addf f0,f0,f1multf f1,f6,f0 对f1的数据相关4、subf f3,f7,f8subf f7,f3,f1 对f3的数据相关4.1.2调整指令顺序指令执行的结果●调整指令后的顺序如下所示addf f0,f0,f1addf f1,f3,f4subf f3,f7,f8addf f2,f0,f2multf f6,f2,f0subf f7,f3,f1addf f0,f0,f1multf f1,f6,f0trap 0●指令执行的流水线结果如下所示图2-4 指令执行的流水线图●周期统计图图2-5 执行结果统计图从上图中,我们可以看到指令执行的总周期是20,发生相关的次数是2,总的延迟周期是12指令调度后的加速比是22/20=1.1,通过指令调度,可以充分利用cpu部件利用率,减少数据相关和资源相关引起的暂停。

相关文档
最新文档