系统结构 综合复习.docx
《系统结构 综合复习.docx》由会员分享,可在线阅读,更多相关《系统结构 综合复习.docx(11页珍藏版)》请在冰豆网上搜索。
系统结构综合复习
系统结构の复习题
选择填空题
1.对汇编语言程序员不透明的是(C)。
A.程序计数器B.主存地址寄存器
C.条件码寄存器D.指令寄存器
2.直接执行微指令的是(C)。
A.汇编程序B.编译程序C.硬件D.微指令程序
3.信息按整数边界存储的主要优点是(A)。
A.访存速度快B.节约主存单元
C.指令字的规整化D.指令的优化
4.平均码长最短的编码是(B)。
A.定长编码B.哈夫曼编码
C.扩展编码D.要根据编码使用的频度计算平均码长后确定
5.非线性流水线的特征是(B)。
A.一次运算中使用流水线中的多个段
B.一次运算中要多次使用流水线中的某些功能段
C.流水线中某些功能段在各次运算中的作用不同
D.流水线的各功能段在不同的运算中可以有不同的连接
6.以下说法不正确的是(D)。
A.线性流水线是单功能流水线B.动态流水线是多功能流水线
C.静态流水线是多功能流水线D.动态流水线只能是单功能流水线
7.Cray-1向量处理机启动存储器、流水部件及寄存器打入各需一拍,现有向量指令串:
V3←存储器(从存储器中取数:
6拍)
V4←V0+V1(向量加:
6拍)
V5←V3×V4(向量乘:
7拍)
向量长度均为N,则指令串最短的执行时间是(A)。
A.16+N拍B.17+N拍C.18+N拍D.19+N拍
8.Cray-1的两条向量指令:
V1←V2+V3
V4←V1×V5
属于(B)。
A.没有功能部件冲突和源向量冲突,可以并行
B.没有功能部件冲突和源向量冲突,可以链接
C.没有源向量冲突,可以交换执行顺序
D.有向量冲突,只能串行
9.Cray-1向量处理机要实现指令间的链接,必须满足下列条件中的(C)。
A.源向量相同,功能部件不冲突,有指令相关
B.源向量不同,功能部件相同,无指令相关
C.源向量、功能部件都不相同,指令有写后读冲突
D.源向量、功能部件都不相同,指令有读后写冲突
10.按cache地址映像的块冲突概率从高到低的顺序是(C)。
A.全相联映像、直接映像、组相联映像
B.组相联映像、直接映像、全相联映像
C.直接映像、组相联映像、全相联映像
D.全相联映像、组相联映像、直接映像
11.计算机系统结构不包括(B)。
A.信息保护B.主存速度
C.数据表示D.机器工作状态
12.不需要编址的数据存储空间是(D)。
A.CPU中的通用寄存器B.主存储器
C.I/O接口中的寄存器D.堆栈
13.2-4扩展编码最多可以得到的码点数是(D)。
A.6B.7C.10D.13
14.与线性流水线最大吞吐率有关的是(C)。
A.各个功能段的执行时间B.最快的那一段的执行时间
C.最慢的那一段的执行时间D.最后功能段的执行时间
15.程序员编写程序时,使用的访存地址是(B)。
A.主存地址B.逻辑地址C.物理地址D.有效地址
16.不同系列的机器之间,实现可移植性的途径不包括(B)。
A.采用统一的高级语言B.采用统一的汇编语言
C.模拟D.仿真
系统结构の复习题
填空题
1.程序的局部性包含程序的时间局部性和程序的空间局部性。
2.指令系统编码格式有变长、固定长和混合型3种。
3.按照流水线所完成的功能,流水线可分为单功能流水线和多功能流水线。
4.向量流水处理机采用寄存器寄存结构或存储器寄存结构。
5.开发指令级并行的方法主要有两类:
基于硬件的动态开发方法以及基于软件的静态开发方法。
6.要扩充Tomasulo算法支持前瞻执行,需将Tomasulo算法中的“写结果”段分为两个段,分别为:
写结果和指令确认。
7.存储器层次结构设计技术的基本依据是程序的局部性原理,它包括两个方面,分别为:
时间和空间。
8.Cache存储器采用组相联映像是指组间组间直接映像,组内各块之间是全相连映像。
9.可将大多数通用寄存器型指令系统结构分为寄存器-寄存器、寄存器-存储器、存储器-存储器3类。
10.按照同一时间内各段之间的连接方式来分,流水线可分为静态流水线和动态流水线。
11.Cray-1向量处理的一个显著特点是:
只要不出现源向量冲突和功能部件冲突,各Vi之间和各功能部件之间都能并行工作。
12.前瞻执行允许指令乱序执行,但要求按程序固有的顺序确认。
13.Tomasulo算法中换名功能是由保留栈来完成;而在前瞻执行机制中,换名功能是由ROB来完成的。
14.随机法中随机选择被替换的块。
先进先出法中选择最早调入的块作为被替换的块。
最近最少使用法中选择近期最少被访问的块作为被替换的块。
15.常见的计算机系统结构分类法有3种:
、、。
16.当控制指令为无条件改变控制流时,称之为跳转。
为有条件改变控制流时,称之为分支。
17.按照指令读访问和写访问的先后顺序,可以将数据冲突分读后写、写后读和写后写3种类型。
18.把能在同一个时钟周期内一起开始执行的几条向量指令称为一个编队。
19.写出两种比较典型的动态调度算法:
Tomasulo算法和记分牌。
系统结构の复习题
应用题
1.有一条4段流水线如下所示,一个任务通过此流水线的完成总时间为6△t,所有相继段必须在每个时钟周期之后才能使用。
写出该流水线的预约表(4行6列)。
2.某向量处理机有16个向量寄存器,其中V0~V5中分别存放有向量A、B、C、D、E、F,向量长度均为8,向量各元素均为浮点数;处理部件采用两条单功能流水线,加法功能部件时间为2拍,乘法功能部件时间为3拍。
采用类似于Cray-1的链接技术,先计算(A+B)*C,在流水线不停流的情况下,接着计算(D+E)*F。
(1)求此链接流水线的通过时间?
(设寄存器入、出各需1拍)
(2)假如每拍时间为50ns,完成这些计算并把结果存进相应寄存器,此处理部件的实际吞吐率为多少MFLOPS?
3.假设浮点功能部件的延迟时间为:
加法2个时钟周期,乘法10个时钟周期,除法40个时钟周期。
对于下面的代码段,在基于Tomasulo算法和支持前瞻执行的浮点部件的结构上,给出当指令MUL.D即将确认时的状态表内容。
L.DF6,34(R2)
L.DF2,45(R3)
MUL.DF0,F2,F4
SUB.DF8,F6,F2
DIV.DF10,F0,F6
ADD.DF6,F8,F2
解:
前瞻执行中MUL.D确认前,保留站和ROB的状态如下,请填入状态:
名称
保留站
Busy
Op
Vj
Vk
Qj
Qk
Dest
A
Load1
Load2
Add1
Add2
Add3
Mult1
Mult2
项号
ROB
Busy
指令
状态
目的
Value
1
L.DF6,34(R2)
2
L.DF2,45(R3)
3
MUL.DF0,F2,F4
4
SUB.DF8,F6,F2
5
DIV.DF10,F0,F6
6
ADD.DF6,F8,F2
字段
浮点寄存器状态
F0
F2
F4
F6
F8
F10
…
F30
ROB项编号
Busy
…
4.下面是这段循环完成点积运算,寄存器F2的初值为0。
试结合使用循环展开和基本指令调度技术,消除其中的所有流水线“空转”周期。
假设流水延迟如下表所示,分支指令也会带来1个“空转”周期。
表:
浮点流水线的延迟:
产生结果的指令
使用结果的指令
延迟(时钟周期数)
浮点计算
另一个浮点计算
3
浮点计算
浮点store(S.D)
2
浮点load(L.D)
浮点计算
1
浮点load(L.D)
浮点store(S.D)
0
loop:
L.DF0,0(R1)
L.DF4,0(R2)
MUL.DF0,F0,F4
ADD.DF2,F0,F2
DADDUIR1,R1,#-8
DADDUIR2,R2,#-8
BNER1,R3,loop
5.为了使用GCD测试方法判断一个循环是否含有存储别名,我们必须首先将循环索引变量的步长变为1。
请先将下面的循环代码的步长变为1,然后用GCD测试方法判断其中是否存在存储别名。
for(i=2;i<=100;i+=2)
a[i]=a[50*i+1];
6.有一个5段流水线,各段执行时间为△t,其预约表如下所示。
时间
功能段
1
2
3
4
5
6
7
S1
√
√
S2
√
√
S3
√
√
S4
√
√
S5
√
√
(1)画出流水线任务调度的状态转移图。
(2)分别求出允许不等时间间隔调度和等时间间隔调度的两种最有调度策略,以及这两种调度策略的流水线最大吞吐率。
(3)若连续输入10个任务,求这两种调度策略的流水线实际吞吐率和加速比?
7.在某向量处理机上执行DAXPY的向量指令序列,也即完成:
。
其中X和Y是向量,最初保存在主存中,α是一个标量,已存放在寄存器F0中。
它们的向量指令序列如下:
LVV1,Rx//取向量X
MULTFVV2,F0,V1//向量X和标量(F0)相乘
LVV3,Ry//取向量Y
ADDVV4,V2,V3//完成计算
SVV4,Ry//存结果
假设向量寄存器的长度MVL=64,Tloop=15,各功能部件的启动时间为:
(1)取数和存数部件为12个时钟周期;
(2)乘法部件为7个时钟周期;
(3)加法部件为6个时钟周期。
分别对于不采用向量链接技术和采用链接技术的两种情况,求完成上述向量操作的总执行时间。
8.对于下述指令序列:
L.DF6,34(R2)
L.DF2,45(R3)
MUL.DF0,F2,F4
SUB.DF8,F2,F6
DIV.DF10,F0,F6
ADD.DF6,F8,F2
(1)给出当第一条指令完成并写入结果时,Tomasulo算法所用的各信息表中的内容。
(2)假设各种操作的延迟为:
load:
1个时钟周期;
加法:
2个时钟周期;
乘法:
10个时钟周期;
除法:
40个时钟周期。
给出MUL.D指令准备写结果时各状态表的内容。
解:
(1)下面给出了采用Tomasulo算法时,在第一条指令完成并写入结果时,保留站、load缓冲器以及寄存器状态表中的内容,请填表完成题目:
指令
指令执行状态
流出
执行
写结果
L.DF6,34(R2)
√
√
√
L.DF2,45(R3)
MUL.DF0,F2,F4
SUB.DF8,F2,F6
DIV.DF10,F0,F6
ADD.DF6,F8,F2
名称
保留站
Busy
Op
Vj
Vk
Qj
Qk
A
Load1
Load2
Add1
Add2
Add3
Mult1
Mult2
域
寄存器状态
F0
F2
F4
F6
F8
F10
…
F30
Qi
…
(2)MUL.D指令准备写结果时各状态表的内容如下,请填表完成题目:
指令
指令执行状态
流出
执行
写结果
L.DF6,34(R2)
√
√
√
L.DF2,45(R3)
√
√
√
MUL.DF0,F2,F4
SUB.DF8,F2,F6
DIV.DF10,F0,F6
ADD.DF6,F8,F2
名称
保留站
Busy
Op
Vj
Vk
Qj
Qk
A
Load1
Load2
Add1
Add2
Add3
Mult1
Mult2
域
寄存器状态
F0
F2
F4
F6
F8
F10
…
F30
Qi
…
9.试用软流水技术处理下面的循环。
L:
L.DF0,0(R1)
ADD.DF4,F0,F2
S.DF4,0(R1)
DADDUIR1,R1,#4
BNEZR1,