文档视界 最新最全的文档下载
当前位置:文档视界 › 北邮高级计算机系统结构实验二三四五

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

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

实验二指令流水线相关性分析

·实验目的

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

·实验原理:

指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。·实验步骤

一.使用WinDLX模拟器,对做如下分析:

(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。

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

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

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

·实验过程

一.使用WinDLX模拟器,对做如下分析:

}

浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1:

图1 初始设置

将和加载至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段。

图 6 指令流水线

}

以上情况原因分析:

在窗口中,模拟处于第四时钟周期,第3条命令指示为:“aborted”。原因是:第二条命令jal InputUnsigned是无条件分支指令,在第4个时钟周期,jal指令执行intEX周期之后才知道转移的位置,下一条指令应该执行sw SaveR2(r0),r2指令。但之前jal InputUnsigned的下一条命令movi2fp 已经取出,所以需要将该指令流水清空,即movi2fp的执行应被取消,在流水线中留下气泡。

3)结构相关

首先,我们先来看一下执行过控制相关的时空图和Pipeline,如下图7所示。

图7 控制相关

图8 控制相关的Pipeline

当我们点击Pipeline中IF所对应的框框可以看到详细的该指令执行情况,如下图9所示。

~

图9 指令详情

图9表明了addi r2,r2,0×1的详细信息。该指令与它前一条指令add r1,r1,r3发生了结构相关。并且由于此处的冲突,需要暂停2个周期。在ID段暂停后,则开始进图intEX段。所以这条指令(addi r2,r2,0×1)你不能进入ID流水段,译码部分占用,发生了结构相关。该部分的指令为:

1.考察增加浮点运算部件对性能的影响。

该实验取N=6

首先通过Configuration,点击Floating Point Stage Configuration来设置浮点运算部件的配置。实验要求所有浮点运算部件的延时都请设定为4个周期,所以我们将Delay这一栏改成4,而Count可以任意,为了对比,我们第一次浮点运算部件取全部为1,第二次浮点运算部件取全部为2。如下图所示:

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

$

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

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

为了对比有无forward部件的性能。需要在Configuration中勾选enable forwarding,以及不勾选enable configuration来看性能数据的对比,不使用forward部件和使用forward部件:

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

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

我们假设,浮点部件设置Count=1,Delay=4;N=6。执行50个cycles完毕后,查看条件转移分支,如下图所示:

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

·实验总结

通过本次试验,不仅更加熟悉了WinDLX模拟器的使用以及对其基础功能的认识,而且通过单步执行程序,观察三种相关的出现,以及思考出现的原因,是我更加深入了解了流水线。

?

~

实验三 DLX处理器程序设计

·实验目的:

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

·实验原理:

掌握向量运算算法和编程方法。

·实验内容和要求:

自编一段汇编代码,完成两双精度浮点一维向量的加法(或乘除法)运算,并输出结果。向量长度>=16。观察程序中出现的数据/控制/结构相关

·实验步骤:

一.熟悉DLX汇编语言。

(1)汇编器处理汇编文件时,数据位于内存中data指针所指向的空间,指令位于text指针所指向的空间。

(2)Trap 0是通知WINDLX模拟器程序结束,Trap 5是输出格式化到标准输出二.编写两双精度浮点一维向量的加法运算程序。

代码清单如下:

.data

V1: .double , , , , , , , , , , , , , , ,

V2: .double , , , , , , , , , , , , , , ,

a: .asciiz "result = "

c: .asciiz "%f "

.align 2

d: .word c

dizhi: .space 8

.text

.global main

main:

addi r1,r0,a

sw dizhi,r1 ;存储字,保存a的首地址

addi r14,r0,dizhi

trap 5 ;输出字符串"result = "

addi r10,r0,0 ;r10 = 0

addi r8,r0,20 ;r8 = 20,即向量的长度

loop:

ld f2,V1(r10)

ld f4,V2(r10)

addd f2,f2,f4 ;将V1,V2的相应项依次相加,保存在f2 sd dizhi,f2 ;存储双精度浮点数f2

addi r14,r0,d

trap 5 ;输出结果

addi r10,r10,8 ;取V1,V2下一项

subi r8,r8,1 ;循环次数减一

bnez r8,loop ;假如r8!=0,则返回到loop

trap 0 ;结束

运行完毕之后出现:

运行结果如下:

1.观察程序中出现的数据/控制/结构相关

本次实验执行过程共出现RAW数据相关80次,控制相关15次,trap54次,共有stall 149次。具体如下:

1)数据相关

2)T-stall

3)控制相关

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

)

比较浮点运算部件分别为1和2时,

接下来查看Statistis进行比较,如下图

由以上两图可得,本实验增加浮点运算部件对流水线性能没有影响。

3.增加FORWARD部件对性能的影响。

为了对比有无forward部件的性能。需要在Configuration中勾选enable forwarding,以及不勾选enable configuration来看性能数据的对比,不使用forward部件和使用forward部件:

从上面的数据我们可以看出增加forwardi部件后,时钟周期由368减少至301个,RAW由原来占总时钟周期的%减少至%; RAW个数由原来的147减少至80;增加forward部件使得控制相关比例增加了,但是数目并没有增加。总而言之,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到一定的改善。

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

由上图可得,转移指令一共16条,其中成功转移15条,占%,不成功转移1条,占5%。

静态指令调度算法是在出现数据相关时,为了消除或者减少流水线空转,编译器确定并分离出程序中存在在相关的指令,然后进行指令调度,并对代码优化。但是静态指令调度只能解决数据相关,条件转移结果与原理来相比没有变化。若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低。若转移成功,则要废弃预先读入的指令,重新从转移成功处读入指令,每执行一条条件转移指令,一条x段流水线就有x-2个流水线被浪费掉,执行效率降低,性能有一定的损失。

·实验总结

加深了对汇编语言的理解与运用,尤其是trap 5,输出格式化到标准输出的理解,在代码中,应注意:相加的结果要保存到dizhi这个变量中,否则即使运算正确也不能把结果输出。

—} ; '

实验四代码优化

·实验目的:

学习简单编译优化方法,观察采用编译优化方法所带来的性能的提高。

·实验原理:

采用静态调度方法重排指令序列,减少相关,优化程序。

·实验步骤:

1.优化实验3程序代码清单及注释说明

.data

V1: .double , , , , , , , , , , , , , , ,

V2: .double , , , , , , , , , , , , , , ,

a: .asciiz "result = "

c: .asciiz "%f "

.align 2

d: .word c

dizhi: .space 8

.text

.global main

main:

addi r1,r0,a ;该指令与sw dizhi,r1存在RAW相关,故将addi r8,r0,16和addi r8,r0,16加到中间

addi r10,r0,0 ;该指令与ld f2,V1(r10) 存在RAW相关,故将

其提前

addi r8,r0,16

/

sw dizhi,r1

addi r14,r0,dizhi

trap 5

loop:

ld f2,V1(r10)

ld f4,V2(r10)

addi r10,r10,8

subi r8,r8,1

addd f2,f2,f4 ;该指令与前面两条指令均存在RAW相关,将其

延后执行

addi r14,r0,d

sd dizhi,f2 ;该指令与addd f2,f2,f4存在RAW相关,将其

延后执行

"

trap 5

bnez r8,loop

trap 0

执行完毕后,我们点击Statistics查看运行结果数据分析

2.程序相关性分析结果

左图是优化前的,右图是优化后的

由上述两图对比可以看出,数据相关:其RAW相关由优化前的%减少为%,性能改善很多;控制相关:由原来的%变为%,数量没变,没有改善。因此,可以看出,我所进行的代码优化对性能方面改善并不是很强烈,主要影响还是在数据相关方面.

3.增加浮点运算部件对性能的影响。

比较浮点运算部件Count分别为1和2时,

#

接下来查看Statistis进行比较,如下图

由以上两图可得,本实验增加浮点运算部件对流水线性能没有影响。

4.增加FORWARD部件对性能的影响。

从上面的数据我们可以看出增加forwardi部件后:时钟周期由285减少至253个,RAW由原来占总时钟周期的%减少至%;RAW个数由原来的64减少至32;增加forward部件使得控制相关比例增加了,但是数目并没有增加。总而言之,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到一定的改善。

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

由上图可得,转移指令一共16条,其中成功转移15条,占%,不成功转移1条,占%。优化对于转移指令并无影响。

静态指令调度算法是在出现数据相关时,为了消除或者减少流水线空转,编译器确定并分离出程序中存在在相关的指令,然后进行指令调度,并对代码优化。但是静态指令调度只能解决数据相关,条件转移结果与原理来相比没有变化。若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低。若转移成功,则要废弃预先读入的指令,重新从转移成功处读入指令,每执行一条条件转移指令,一条x段流水线就有x-2个流水线被浪费掉,执行效率降低,性能有一定的损失。

|

·解决的困难、解决方法和实习体会

代码优化的关键在于相关性的分析,它关系到能否进行优化以及怎么优化。

采用静态调度方法重排指令序列要保证调整顺序之后不影响指令执行。若两

条相邻的指令存在RAW相关时,在重排指令的时候,该两条指令之间插入至少两条其它指令才能保证消除stall。

相邻的指令访问相同的寄存器并不代表就会存在冲突,比如指令:

addi r1,r0,a

addi r10,r0,0

addi r8,r0,16

以上三条指令均需要访问寄存器r0,但是由于都是读r0,所以不存在冲突。

代码优化的目的就是减少相关性的发生,提高流水线的效率。经过代码优化这一实验后,我更加深入理解了相关性的概念。此外,采用静态调度方法重排指令序列与forwarding技术相结合,可以提高流水线的效率。

{

)

#

实验五循环展开(选作)

实验目的:

进一步学习DLX汇编语言编程方法,学习循环展开编译优化方法,观察采用循环展开编译优化方法所带来的性能的提高。

实验原理:

对循环程序采用循环展开(loop unrolling)方法进行优化,减少相关。实验步骤:

1.编写矩阵相乘程序

(1)主要实现的C代码如下

double s1 = ;

for(int i=0;i<10;i++)

for(int j=0;j<10;j++)

{

MA[i][j]=s1;

MB[i][j]=s1;

}

for(int i=0;i<10;i++)

for(int j=0;j<10;j++)

{

for(double data=0,int k=0;k<10;k++)

data+=MA[i][k]*MB[k][j];

MC[i][j]=data;

}

(2)用windlx编写的汇编指令如下:

.data

MA: .space 400

MB: .space 400

MC: .space 400

s1: .float

.text

.global main

main:

addi r1,r0,MA ;将MA的地址赋给r1

addi r3,r0,MB ;将MB的地址赋给r3!

addi r11,r1,#400 ;MA的末地址

lf f2,s1

;对矩阵MA MB进行初始化

init:

sf 0(r1),f2 ;将f2的值赋给MA[i][j]

sf 0(r3),f2

addi r1,r1,#4

addi r3,r3,#4

slt r2,r1,r11 ;比较r1 和MA的末地址是否相等

bnez r2,init ;不等则继续循环

;主循环开始

addi r21,r0,#40 ;常量

addi r22,r0,#10 ;常量

addi r23,r0,#4

addi r29,r0,#0

addi r7,r29,#0 ;i = 0

loop1:

addi r8,r29,#0 ;j = 0

loop2:

addi r9,r29,#0 ;k = 0;

movi2fp f0,r29 ;data = 0 给变量赋0

;下面开始第三层的主循环

'

计算机体系结构实验报告二

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对CPU性能得影响。 二、实验内容: 1、用WinDLX模拟器运行程序structure_d、s 。 2、通过模拟,找出存在结构相关得指令对以及导致结构相关得部件。 3、记录由结构相关引起得暂停时钟周期数,计算暂停时钟周期数占总执行 周期数得百分比。 4、论述结构相关对CPU性能得影响,讨论解决结构相关得方法。 三、实验程序structure_d、s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; < A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit < this is a ment !! A: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 四、实验过程 打开软件,load structure_d、s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(Rstall 数据相关Stall 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面得数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关得部件:译码部件。

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

实验二指令流水线相关性分析 ·实验目的 通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。 ·实验原理: 指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。·实验步骤 一.使用WinDLX模拟器,对做如下分析: (1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。 (2)考察增加浮点运算部件对性能的影响。 (3)考察增加forward部件对性能的影响。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。 ·实验过程 一.使用WinDLX模拟器,对做如下分析: } 浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1: 图1 初始设置 将和加载至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段。 图 6 指令流水线 }

计算机系统结构期末考试试题及其答案

计算机科学系《计算机系统结构》期末考试试卷(A卷) 2、此试卷适用于计算机科学与技术本科专业。 一单选题:(10分,每题1分) 1、."启动I/O"指令是主要的输入输出指令,是属于( B ) A.目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、输入输出系统硬件的功能对(B )是透明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、全相联地址映象是指(A) A.任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间固定,组内任何虚页可装入任何实页位置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D.阵列处理机 5、多处理机上两个程序段之间若有先写后读的数据相关,则(B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、计算机使用的语言是(B) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D.属于符号化的机器指令 7、指令执行结果出现异常引起的中断是(C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 8、块冲突概率最高的Cache地址映象方式是(A ) A.直接 B.组相联 C.段相联 D.全相联 9、组相联映象、LRU替换的Cache存储器,不影响Cache命中率的是(B ) A.增大块的大小 B.增大主存容量 C.增大组的大小 D.增加Cache中的块数 10、流水处理机对全局性相关的处理不.包括(C) A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路

计算机系统结构期末考试题目

第一章: 1.计算机系统结构的定义 答:由程序设计者看到的一个计算机系统的属性,即概念性结构和功能特性。 2.透明性概念 答:在计算机技术中,一种本来是存在的事物或属性,但从某种角度看似乎不存在,称为透明性现象。 3.兼容性向后兼容 兼容性:同一个软件可以不加修改地运行于系统结构相同的各档机器,可获得相同的结果,差别只在于不同的运行时间。 向后兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行于在它之后投入市场的机器。 4.Amdahl定律 答:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。 5.CPI 答:每条指令的平均时钟周期数。 6.MIPS 答:每秒百万条指令数!MIPS=时钟频率/(CPI*10^6) 7.MFLOPS 答:每秒百万次浮点操作次数。MFLOPS=程序中的浮点操作次数/(执行时间*10^6) 8.命中率的概念 答: 9.Flynn分类法是按指令流和数据流的多倍性特征进行计算机系统结构的划分 答:①单指令流单数据流SISD ②单指令流多数据流SIMD ③多指令流单数据流MISD (实际不存在)④多指令流多数据流MIMD 10.计算机系统设计的定量原理(四个) 答:①加快经常性事件的速度②Amdahl定律③CPU性能公式④访问的局部性原理11.CPI和加速比的计算 答:CPI=CPU时钟周期数/IC CPU时间=CPU时钟周期数/频率 CPU时间=CPU时钟周期*时钟周期长 加速比=(采用改进措施后的性能)/(没有采用改进措施前的性能) =(没有采用改进措施前执行某任务的时间)/(采用改进措施后执行某任务的时间) 12.软硬件实现的特点 硬件实现:速度快、成本高;灵活性差、占用内存少 软件实现:速度低、复制费用低;灵活性好、占用内存多 13.系统评价的标准 ①运算速度②存储器系统③其他性能④成本标准

计算机体系结构期末考试知识点与答案

体系结构复习重点.doc 1..诺依蔓计算机的特点 答:·若依曼计算机的主要特点如下: 存储程序方式。指令和数据都是以字的方式存放在同一个存储器中,没有区别,由机器状态来确定从存储器读出的字是指令或数据。 指令串行执行,并由控制器集中加以控制、 单元定长的一维线性空间的存储器 使用低级机器语言,数据以二进制形式表示。 单处理机结构,以运算器作为中心。 其实,他最大的特点就是简单易操作。 2. T(C)=所描述的三个层次(8页) 答:3个层次为控制器、算术逻辑部件、基本逻辑部件 3. 计算机系统结构的分类(5页) 4. 计算机系统中的数据表示(38页) 5. 指令系统设计的原则 答:指令系统的设计原则是,应特别注意如何支持编译系统能高效、简易地将源程序翻译成目标代码。 首先是正交性:又称分离原则或互不相干原则。即指令中各个有不同含义的字段之间,在编码时应互相独立、互不相关。 规整性:对相似的操作数做出相同的规定。 可扩充性:要保留一定余量的操作码空间,为以后的扩展所用。 对称性:为了使编译能更加方便,通常希望操作具有对称性。 6. 流水操作中的相关 答:流水操作过程中会出现一下的3个相关:资源或结构相关、数据相关、和控制相关。 资源相关是指当有多条指令进入流水线后在同一机器周期内争用同一功能部件所发生的冲突。 数据相关:这是由于流水线中的各条指令的重叠操作使得原来对操作数的访问顺序发生了变化,从而导致了数据相关的冲突。 控制相关主要是转移指令引起的,比起数据相关来,他会使流水线丧失更多的性能。 7. 向量机中对向量的各种运算可以采用的加工方式(149页) 答:向量机中对向量的各种运算可以采用不同的加工方式,但比较有效的加工方式

系统结构期末考试试题及答案

得分 评分人 填空题: (20分,每题2 分) 单选题:(10分,每题1分) A.任何虚页都可装入主存中任何实页的位置 B. 一个虚页只装进固定的主存实页位置 《计算机系统结构》期末考试试卷(A ) 得分 注:1、共100分,考试时间120分钟。 2、此试卷适用于计算机科学与技术本科专业。 1、."启动I/O"指令是主要的输入输出指令,是属于( A. 目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、 输入输出系统硬件的功能对 (B )是透明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、 全相联地址映象是指(A ) C. 组之间固定,组内任何虚页可装入任何实页位置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD 系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D. 阵列处理机 5、多处理机上两个程序段之间若有先写后读的数据相关,则( B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、 计算机使用的语言是(B ) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D. 属于符号化的机器指令 7、 指令执行结果出现异常引起的中断是( C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 &块冲突概率最高的 Cache 地址映象方式是(A ) A.直接 B .组相联 C .段相联 D .全相联 9、 组相联映象、LRU 替换的Cache 存储器,不影响 Cache 命中率的是(B ) A.增大块的大小 B .增大主存容量 C .增大组的大小 D .增加Cache 中的块数 10、 流水处理机对全局性相关的处理不 包括(C ) A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 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.不采用重新定向技术,我们得到的结果

北邮计算机系统结构实验报告-实验一到五-WINDLX模拟器

北京邮电大学 实验报告 课程名称计算机系统结构 计算机学院03班 王陈(11)

目录 实验一WINDLX模拟器安装及使用......................................... 错误!未定义书签。 ·实验准备................................................................................ 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验内容及要求.................................................................... 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验二指令流水线相关性分析 ............................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验三DLX处理器程序设计 .................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 A.向量加法代码及性能分析 ................................................... 错误!未定义书签。 B.双精度浮点加法求和代码及结果分析 .............................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验四代码优化 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结+实习体会........................................................... 错误!未定义书签。实验五循环展开 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 矩阵乘程序代码清单及注释说明........................................... 错误!未定义书签。 相关性分析结果........................................................................... 错误!未定义书签。 增加浮点运算部件对性能的影响........................................... 错误!未定义书签。 增加forward部件对性能的影响 ............................................ 错误!未定义书签。 转移指令在转移成功和转移不成功时候的流水线开销 .. 错误!未定义书签。 ·实验总结+实习体会+课程建议......................................... 错误!未定义书签。

计算机系统结构期末考试试题及其答案

计算机系统结构期末考试试题及其答案

《计算机系统结构》期末考试试卷A 卷第 2 页 共 24 页 计算机科学系《计算机系统结构》期末考试试卷(A 卷) 2、此试卷适用于计算机科学与技术本科专业。 一 单选题:(10分,每题1分) 1、 ."启动I/O"指令是主要的输入输出指 令,是属于( B ) A.目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、 输入输出系统硬件的功能对(B )是透 明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、 全相联地址映象是指(A ) A.任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间固定,组内任何虚页可装入任何实页位

置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D.阵列处理机 5、多处理机上两个程序段之间若有先写 后读的数据相关,则(B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、计算机使用的语言是(B) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D.属于符号化的机器指令 7、指令执行结果出现异常引起的中断是 (C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 《计算机系统结构》期末考试试卷A卷第 3 页共 24 页

计算机系统结构实验1预习报告

计算机系统结构实验 实验1:MIPS指令系统和MIPS体系结构 (预习报告) 姓名: 学号: 班级:

大连理工大学实验预习报告 学院:______________________专业:_______________________班级:_____________________ 姓名:______________________学号:_______________________ 实验时间:__________________实验室:__________________实验台:__________________ 指导老师签字:_________________________________________成绩:____________________ 实验目的: 了解熟悉MIPSsim模拟器; 熟悉MIPS指令系统及其特点; 熟悉MIPS体系结构 实验平台: 指令级和流水线操作级模拟器MIPSsim 资料准备: MIPS64指令系统介绍 1.MIPS的寄存器 32个64位通用寄存器(GPRs整数寄存器):R0-R31。R0的值永远是0。 32个64位浮点数寄存器FPRs:F0-F31。它们可以存放32个单精度浮点数(32位),也可以存放32个双精度浮点数(64位)。 MIPS提供了单精度和双精度操作的指令,而且还提供了在FPRs和GPRs之间传送数据的指令。2.MIPS的数据表示

整数:字节(8位)、半字(16位)、字(32位)和双字(64位)。 浮点数:单精度浮点数(32位)和双精度浮点数(64位)。 MIPS64的操作是针对64位整数以及32位或64位浮点数进行的。字节、半字或字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。装入以后,对它们按照64位整数的方式进行运算。 3.MIPS的数据寻址方式 MIPS的数据寻址方式只有立即数寻址和偏移量寻址两种,立即数字段和偏移量字段都是16位。 寄存器间接寻址是通过把0作为偏移量来实现的,16位绝对寻址是通过把R0作为基址寄存器来完成的。 MIPS的存储器是按字节寻址的,地址是64位。由于MIPS是load-store结构,寄存器和存储器之间的数据传送都是通过load指令和store指令来完成的。所有存储器访问都必须边界对齐。 4.MIPS的指令格式 指令格式简单,其中操作码6位。按不同类型的指令设置不同的格式,共有3种格式,分别对应I指令、R指令和J指令。在这3种格式中,同名字段的位置固定不变。 I类指令 包括所有的load和store指令、立即数指令、分支指令、寄存器跳转指令、寄存器链接跳转指令。其中立即数字段位16位,用于提供立即数或偏移量。 1)load指令 2)store指令 3)立即数指令 4)分支指令 5)寄存器跳转、寄存器跳转并链接

计算机体系结构期末试卷及答案

课程测试试题( A 卷) ----------------------以下为教师填写-------------------- I、命题院(部):信息科学与工程学院 II、课程名称:计算机体系结构 III、测试学期:2014-2015学年度第2学期 IV、测试对象:信息学院计算机、网络专业 2012 级班 V、问卷页数(A4): 3 页 VI、答卷页数(A4): 4 页 VII、考试方式:闭卷(开卷、闭卷或课程小论文,请填写清楚) VIII、问卷内容: 一、填空题(共30分,20空,每空分) 1、现代计算机系统是由()和()组成的十分复杂的系统。 2、计算机系统应能支持软件可移植,实现可移植性的常用方法有3种,即(),(), 统一高级语言。 3、可以将当前大多数通用寄存器型指令集结构进一步细分为3种类型,即()、() 和存储器-存储器型指令集结构。 4、MIPS指令DADDIU R14,R5,#6属于()类型的指令格式;MIPS指令 SD R4,300(R5)属于()类型的指令格式。 5、描述流水线的工作,常采用时空图的方法。在时空图中,横坐标表示(),纵坐 标代表()。 6、在MIPS指令实现的简单数据通路中,在WB周期中,有两大类指令执行操作:() 和()指令。 7、存储器的层次结构中,“Cache-主存”层次是为了弥补主存()的不足,“主 存-辅存”层次是为了弥补主存()的不足。 8、Cache实现的映像规则有全相联映像、()和()三种。 9、反映存储外设可靠性能的参数有可靠性、()和()。 10、根据系统中处理器个数的多少,可把现有的MIMD计算机分为两类,每一类代表 了一种存储器的结构和互连策略。第一类机器称为()结构,第二类机器具有()。 二、判断题(每小题1分,共10分) 1、从计算机语言的角度,系统结构把计算机系统按功能划分成多级层次结构,其中, 第2级是操作系统虚拟机,第3级是汇编语言虚拟机。() 2、计算机系统中提高并行性的3种途径中,资源重复是在并行性概念中引入时间因 素,加快硬件周转而赢得时间。() 3、指令集结构中采用多种寻址方式可能会增加实现的复杂度和使用这些寻址方式的 指令的CPI。() 4、指令条数多,通常超过200条,是设计RISC的原则之一。() 5、根据流水线中各功能段之间是否有反馈回路,可把流水线分为线性流水线和非线 性流水线。() 6、在多级存储体系中,“cache——主存”层次的存储管理实现主要由软件件实现。

计算机体系结构实验报告二

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。 二、实验内容: 1. 用WinDLX模拟器运行程序structure_d.s 。 2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。 3. 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行 周期数的百分比。 4. 论述结构相关对CPU性能的影响,讨论解决结构相关的方法。 三、实验程序structure_d.s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; <- A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit <- this is a comment !! A: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

四、实验过程 打开软件,load structure_d.s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(R-stall 数据相关Stall- 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面的数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关的部件:译码部件。 2)第二个结构相关:ADDI R2, R2, #8,与第一个结构相关类似。由于数据相关, 上一条指令暂停在ID阶段,所以导致下一条指令发生结构相关。

《计算机体系结构》期末复习题标准答案

《计算机体系结构》期末复习题答案

————————————————————————————————作者:————————————————————————————————日期:

《计算机体系结构》期末复习题答案 系别_________ 班级_________ 姓名__________ 学号__________ 一、填空题(每空1分) 1.按照弗林(Flynn)分类法,计算机系统可以分为4类:SISD计算机、(SIMD计算机)、(MISD计算机)和(MIMD计算机)。 2. 改进之后的冯?诺依曼计算机的只要特点是存储器为中心,总线结构,分散控制。 3. 当前计算机系统中的存储系统是一个层次结构,其各层分别为:(通用寄存器,高速缓存,主存,辅存,脱机大容量存储器)。 4.高速缓冲存储器的地址映象方式有三种,它们分别是:(全向量方式,直接相联方式,组相联方式)。 5.虚拟存储器的三种管理方式是(段式管理,页式管理和段页式管理)。 6.目前计算机中常用数据有(用户定义数据,系统数据和指令数据)三种类型。 7.通常可能出现的流水线的相关性有(资源相关,数据相关和控制相关)。 8.解决中断引起的流水线断流的方法有(不精确断点法和精确断点法)。 9.目前向量处理机的系统结构有两种:(存储器-存储器型和寄存器-寄存器型)。 10.通用计算机基本指令分为5类,它们分别是:(数据传送类,运算类,程序控制类,输入输出类,处理机控制和调试类)。 11.执行指令x1=x2+x3;x4=x1-x5会引起(RAW)类型的数据相关,执行指令x5=x4*x3;x4=x0+x6会引起(W AR)类型的数据相关,执行指令x6=x1+x2;x6=x4*x5会引起(WA W)类型的数据相关。 12.多计算机网络中,通常出现的4种通信模式是(单播模式,选播模式,广播模式和会议模式)。 13.传统的冯?诺依曼计算机是以控制驱动方式工作,以数据驱动方式工作的典型计算机是(数据流计算机),以需求驱动方式工作的典型计算机是(归约机),以模式匹配驱动方式工作的典型计算机是(人工智能计算机)。 二、名词解释(每题2分) 1.计算机体系结构: 计算机系统结构就是计算机的机器语言程序员或编译程序编写者所看到的外特性,是硬件子系统的概念结构及其功能特性。 2.系列机: 所谓系列机是指同一厂家生产的具有相同的系统结构,但采取了不同的组成和实现的技术方案,形成了不同型号的多种机型。 3.模拟: 模拟是指用软件的方法在一台计算机上,实现另一台计算机的指令系统,被模拟的机器是不存在的,称为虚拟机,执行模拟程序的机器称宿主机。 4.程序的局部性原理: 程序访问局部性原理说明了计算机在程序执行过程中呈现出的一种规律,即程序往往重

大连理工大学计算机系统结构实验-实验四

大连理工大学实验报告计算机系统结构实验 实验四Cache性能分析 学院(系):电子信息与电气工程学部专业:计算机科学与技术 学生姓名: 班级: 学号: 大连理工大学 Dalian University of Technology

实验四Cache性能分析 一、实验目的和要求 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验步骤与操作方法 1、Cache容量对不命中率的影响。 (1)启动MyCache。 (2)用鼠标单击“复位”按钮,把各参数设置为默认值。 (3)选择一个地址流文件。方法:选择“访问地址”—>“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在文件夹下的“地址流”文件夹中选取。 (4)选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB和256KB。分别执行模拟器(单击“执行到底”按钮即可执行),然后在下表中记录各种情况下的不命中率。 表不同容量下Cache的不命中率 (5)以容量为横坐标,画出不命中率随Cache容量变化而变化的曲线,并指明地址流文件名。

(6)根据该模拟结果,你能得出什么结论? 答:随着Cache容量的增大,不命中率降低,但是降低的幅度由较大差别,Cache容 量足够大以后,不命中率降到一定程度以后,降低效果不再明显。 2.相联度对不命中率的影响 (1)用鼠标单击“复位”按钮,把各参数设置为默认值。此时的Cache容量为64KB。 (2)选择一个地址流文件。 (3)选择不同的Cache相联度,包括2路、4路、8路、16路和32路。分别执行模拟器,然后在下表中记录各种情况下的不命中率。 表当容量为64KB时,不同相联度下Cache的不命中率 (4)把Cache的容量设置为256KB,重复(3)的工作,并填写下表。 表当容量为256KB时,不同相联度下Cache的不命中率 (5)以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变化的曲线,并指明地址流文件名。

计算机系统结构实验教程

实验一流水线及流水线中的冲突 实验目的 1.加深对计算机流水线基本概念的理解; 2.理解MIPS结构如何用5段流水线来实现,理解各段的功能和基本操作; 3.加深对数据冲突、结构冲突的理解,理解这两类冲突对CPU性能的影响; 4.进一步理解解决数据冲突的方法,掌握如何应用定向技术来减少数据冲突引起的停顿。 5.加深对指令调度和延迟分支技术的理解; 6.熟练掌握用指令调度技术来解决流水线中的数据冲突的方法; 7.进一步理解指令调度技术和延迟分支技术对CPU性能的改进。 实验平台 指令级和流水线操作级模拟器MIPSsim, 实验内容和步骤 首先要掌握MIPSsim模拟器的使用方法。 一、流水线及流水线中的冲突观察 1. 启动MIPSsim。 2.根据预备知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。(用鼠标双击各段,就可以看到各流水寄存器的内容) 3. 熟悉MIPSsim模拟器的操作和使用方法。 可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一个周期、执行多个周期、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。 4. 勾选配置菜单中的“流水方式”,使模拟器工作于流水方式下。 5.观察程序在流水线中的执行情况,步骤如下: (1)用MIPSsim的“文件”菜单中的“载入程序”来加载pipeline.s(在模拟器所在文 件夹下的“样例程序”文件夹中); (2)关闭定向功能。这是通过在“配置”菜单中去选“定向”(即使得该项前面没有“√” 号)来实现的; (3)用单步执行一周期的方式(“执行”菜单中,或用F7)执行该程序,观察每一周 期中,各段流水寄存器内容的变化、指令的执行情况(代码窗口)以及时钟周期 图; (4)当执行到第10个时钟周期时,各段分别正在处理的指令是: IF: ID:

系统结构期末考试试题及答案..

《计算机系统结构》期末考试试卷(A) 2、此试卷适用于计算机科学与技术本科专业。 一单选题:(10分,每题1分) 1、."启动I/O"指令是主要的输入输出指令,是属于( B ) A.目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、输入输出系统硬件的功能对(B )是透明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、全相联地址映象是指(A) A.任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间固定,组内任何虚页可装入任何实页位置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D.阵列处理机 5、多处理机上两个程序段之间若有先写后读的数据相关,则(B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、计算机使用的语言是(B) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D.属于符号化的机器指令 7、指令执行结果出现异常引起的中断是(C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 8、块冲突概率最高的Cache地址映象方式是(A ) A.直接 B.组相联 C.段相联 D.全相联 9、组相联映象、LRU替换的Cache存储器,不影响Cache命中率的是(B ) A.增大块的大小 B.增大主存容量 C.增大组的大小 D.增加Cache中的块数 10、流水处理机对全局性相关的处理不.包括(C) A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路 二填空题:(20分,每题2分)

计算机体系结构期末复习题与答案

第一题选择题 1. SIMD是指(B) A、单指令流单数据流 B、单指令流多数据流 C、多指令流单数据流 D、多指令流多数据流 2.下列那种存储设备不需要编址?D A. 通用寄存器 B. 主存储器 C. 输入输出设备 D. 堆栈 3.按照计算机系统层次结构,算术运算、逻辑运算和移位等指令应属于(A)级机器语言。 A、传统机器语言机器 B、操作系统机器 C、汇编语言机 器 D、高级语言机器 4.早期的计算机系统只有定点数据表示,因此硬件结构可以很简单。但是这样的系统有明显的缺点,下面哪一个不是它的缺点:B A.数据表示范围小 B.单个需要的计算时钟周期多 C.编程困难 D.存储单元的利用率很低 7.下面哪个页面替换算法实际上是不能够实现的?D A)随机页面替换算法

B)先进先出替换算法 C)最久没有使用算法 D)最优替换算法 9.指令优化编码方法,就编码的效率来讲,那种方法最好?C A. 固定长度编码 B. 扩展编码法 C. huffman编码法 D. 以上编码都不是 10.在早期冯·诺依曼计算机特征中,机器以(C)为中心。 A、存储器 B、输入输出设备 C、运算器 D、控制器 1.RISC 计算机的指令系统集类型是 ( C ) 。 A. 堆栈型 B. 累加器型 C. 寄存器—寄存器型 D. 寄存器 - 存储器型 2、相联存储器的访问方式是( D )。 A.先进先出顺序访问 B.按地址访问 C.无地址访问 D.按内容访问 3、假设—条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每—段分别只有—个部件可供使用,并且执行时间分别为Δt、2Δt和3Δt,连续执行n条指令所需要花费的最短时间约为( C )。 (假设“取指令”、“分析”和“执行”可重叠,并假设n足够大)

北邮计算机系统结构-WINDLX模拟器实验 报告

实验报告 学院:计算机学院 课程名称:计算机系统结构 实验名称: WINDLX模拟器实验 班级: 姓名: 学号:

实验一 WINDLX模拟器安装及使用 略 实验二指令流水线相关性分析 一.实验类别 验证实验 二.实验目的 通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。 三.实验环境 Windows XP操作系统 WinDLX模拟器 四.实验原理 指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。 (1)数据相关 定义:原有先后顺序的两条指令(I1,I2)在对共享变量(位置)进行读、写时,指令流水线中实际完成的读、写顺序与原有顺序不一

致,导致流水线输出错误。 三类数据相关: 写读(WR)相关 读写(RW)相关 写写(WW)相关 解决方法技术: 1. 使某些流水线指令延迟、停顿一或多个周期。 2. 双端口存储器:如果指令和数据放在同一个存储器。 3. 设置两个存储器:一个数据存储,一个为指令存储器。 4. 软件优化编译:通过指令重新排序,消除数据相关。 5. 定向技术:又称旁路技术或专用通路技术,是使后续指令 提前得到前指令的运算结果(适合ALU类指令)(2)结构相关 定义:如果某指令在流水线重叠执行过程中,硬件资源满足不了指令重叠执行的要求,会产生资源冲突或竞争,称为流水线结构相关 解决方法技术: 1. 延迟技术:使某些指令延迟、停顿一或多个时钟周期 2. 双端口存储器:允许同时读两个数据或指令 3. 设置双存储器(哈弗结构):一个数据存储,一个指令存 储。 4软件优化编译:通过指令重新排序消除结构相关。 (3)控制相关 定义:控制相关是指因程序执行转移类指令而引起的冲突相关。包括无条件转移、条件转移、子程序调用、中断等,它们属于分支指令,执行中可能改变程序方向,造成流水线断流。 解决方法技术: 1、静态分支技术 静态转移预测技术(猜测法) ; 延迟转移; 提前形成条件码,生成转移目标地址; 改进循环程序; 2、动态分支预测技术 转移历史表BHT; 转移目标缓冲栈(BTB); 转移目标指令缓冲栈BTIB; 五.实验步骤 (1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。 (2)考察增加浮点运算部件对性能的影响。 (3)考察增加forward部件对性能的影响。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。 注意:除(2)以外,浮点加、乘、除部件都只有一个;

相关文档
相关文档 最新文档