计算机组成原理实验五.docx

上传人:b****2 文档编号:17142919 上传时间:2023-07-22 格式:DOCX 页数:14 大小:937.37KB
下载 相关 举报
计算机组成原理实验五.docx_第1页
第1页 / 共14页
计算机组成原理实验五.docx_第2页
第2页 / 共14页
计算机组成原理实验五.docx_第3页
第3页 / 共14页
计算机组成原理实验五.docx_第4页
第4页 / 共14页
计算机组成原理实验五.docx_第5页
第5页 / 共14页
计算机组成原理实验五.docx_第6页
第6页 / 共14页
计算机组成原理实验五.docx_第7页
第7页 / 共14页
计算机组成原理实验五.docx_第8页
第8页 / 共14页
计算机组成原理实验五.docx_第9页
第9页 / 共14页
计算机组成原理实验五.docx_第10页
第10页 / 共14页
计算机组成原理实验五.docx_第11页
第11页 / 共14页
计算机组成原理实验五.docx_第12页
第12页 / 共14页
计算机组成原理实验五.docx_第13页
第13页 / 共14页
计算机组成原理实验五.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理实验五.docx

《计算机组成原理实验五.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验五.docx(14页珍藏版)》请在冰点文库上搜索。

计算机组成原理实验五.docx

计算机组成原理实验五

计算机组成原理

实验报告

学院(系):

软件学院

专业:

软件工程

班级:

13级java1班

学号:

1315925031

姓名:

王浩

2015年11月17日

 

实验5指令调度和延迟分支

一.实验目的

(1)加深对指令调度技术的理解。

(2)加深对延迟分支技术的理解。

(3)熟练掌握用指令调度技术解决流水线中的数据冲突的方法。

(4)进一步理解指令调度技术对CPU性能的改进。

(5)进一步理解延迟分支技术对CPU性能的改进。

 

二.实验内容和步骤:

(1)、启动MIPSsim。

(2)、根据前面的相关知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。

(3)、选择“配置”->“流水方式”选项,使模拟器工作于流水方式下。

(4)、用指令调度技术解决流水线中的数据冲突。

1)启动MIPSsim。

2)加载schedule.s。

 

3)关闭定向功能。

4)执行所载入的程序。

通过查看统计数据和时钟周期图,找出并记录程序执行过程中各种冲突发生的次数、发生冲突的指令组合以及程序执行的总时钟周期数。

 

 

执行总周期数为33,其中RAW停顿16次、load停顿6次、自陷停顿1次。

停顿总周期占程序执行周期的:

51.51515%

发生冲突的指令组合:

ADDIU$r1,$r0,A

LW$r2,0($r1)与上条写后读冲突;

ADD$r4,$r0,$r2

SW$r4,0($r1)与上条指令写后读冲突;

LW$r6,4($r1)

ADD$r8,$r6,$r1同样,与上条指令写后读冲突;

MUL$r12,$r10,$r1

ADD$r16,$r12,$r1同样,与上条指令写后读冲突;

ADD$r18,$r16,$r1与上条指令组件冲突

SW$r18,16($r1)同样,与上条指令写后读冲突;

LW$r20,8($r1)

MUL$r22,$r20,$r14同样,与上条指令写后读冲突;

5)采用指令调度技术对程序进行指令调度,消除冲突。

将调度后的程序存到after-schedule.s中。

内容如下:

.text

main:

ADDIU$r1,$r0,A

LW$r2,0($r1)

MUL$r12,$r10,$r1

ADD$r4,$r0,$r2

SW$r4,0($r1)

LW$r6,4($r1)

ADD$r8,$r6,$r1

MUL$r24,$r26,$r14

ADD$r16,$r12,$r1

LW$r20,8($r1)

ADD$r18,$r16,$r1

SW$r18,16($r1)

MUL$r22,$r20,$r14

TEQ$r0,$r0

.data

A:

.word4,6,8

6)载入after-schedule.s。

7)执行该程序。

观察程序在流水线中的执行情况,记录程序执行的总时钟周期数。

总时钟周期数:

27

8)根据记录结果,比较调度前和调度后的性能。

论述指令调度对于提高CPU性能的作用。

指令调度使得指令之间的相互不利影响降到最低,减少cpu空闲时间,从而使得cpu得到最大程度的使用,提高了cpu性能。

 

(5)、用延迟分支减少分支指令对性能的影响。

1)启动MIPSsim。

2)载入branch.s。

 

 

3)关闭延迟分支功能。

4)执行该程序。

观察并记录发生分支延迟的时刻。

5)记录执行该程序所用的总时钟周期数。

 

 

15个时钟周期时,BGTZ$r5,loop发生分支延迟;

 

 

30个时钟周期时,BGTZ$r5,loop发生分支延迟

总的时钟周期:

38

 

6)假设延迟槽有1个,对branch.s进行指令调度,然后保存到“delayed-branch.s”中。

内容如下

 

.text

main:

ADDI$r2,$r0,1024

ADD$r3,$r0,$r0

ADDI$r4,$r0,8

loop:

ADDI$r1,$r1,1

SW$r1,0($r2)

ADDI$r3,$r3,4

SUB$r5,$r4,$r3

BGTZ$r5,loop

LW$r1,0($r2)

ADD$r7,$r0,$r6

TEQ$r0,$r0

 

7)载入delayed-branch.s。

8)打开延迟分支功能。

9)执行该程序。

观察其时钟周期图。

10)记录执行该程序所用的总时钟周期数。

总的时钟周期:

34

11)对比上述两种情况下的时钟周期图。

关闭延迟分支时钟周期图

 

使用延迟分支时钟周期图

12)根据记录结果,比较没采用延迟分支和采用了延迟分支的性能之间的不同。

论述延迟分支对于提高CPU性能的作用。

采用延迟分支可以尽最大可能地减少流水线空等的时间,从而可以使cpu的利用率提高。

 

三.实验结果分析

指令调度让指令顺序重新组织后能消除部分的数据冲突,指令调度的优劣直

接影响CPU性能的发挥好坏,好的指令调度可以让停顿周期大幅度减少。

只要分支延迟槽中的指令时有用的,流水线中就没有停顿,这是延迟分支的方法就能很好的减少分支延迟,所以放入延迟槽中的指令是很重要的,对CPU性能的影响是显著的。

四.实验心得

通过本次实验我学习到了分支延迟调度的方式以及这些调度方法的实现过程。

使我对该章的知识有了深入的了解。

 

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

当前位置:首页 > 医药卫生 > 基础医学

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

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