计算机系统结构复习题Word文档格式.docx
《计算机系统结构复习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机系统结构复习题Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
其次MIPS还与机器硬件有关,如浮点运算部件的机器,虽MIPS很低,但浮点运算速度会很高,而在软件实现浮点运算机器上,MIPS虽然很高,但浮点运算速度可能很低。
MFLOPS只能反映机器执行浮点操作的性能,并不能反映机器的整体性能。
20、简述Amdahl定理?
答:
系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。
Told:
没有采用改进措施前执行某任务的时间
Tnew:
采用改进措施后执行某任务的时间
Sp:
加速比
Fe:
计算机执行某个任务的总时间中可被改进部分的时间所占比例。
rnew:
改进部分采用改进措施后比没有采用改进措施的性能提高倍数。
(部件加速比)
21、程序访问的局部性包括时间上和空间上的两个局部性。
22、什么是时间上的局部性?
指最近将来要用到的信息很可能就是现在正在使用的信息,这是因为程序存在着循环。
23、什么是空间上的局部性?
指最近将来要用到的信息很可能与现在正在使用的信息在程序位置上是邻近的,这是因为指令通常是顺序存放、顺序执行的,数据也通常是以向量、阵列、树、表等形式簇聚地存放在一起。
24、系统结构的差异决定软件的移植工作量,要实现软件移植工量小,常采用三种方法来实现:
统一高级语言、采用系列机、模拟和仿真。
25、模拟是指?
仿真是指?
B机器的每条机器指令用A机器一段机器语言程序解释,如同A机器上也有B机器的指令系统一样,这种用机器语言程序解释实现软件移植的方法称为模拟.进行模拟的A机器称为宿主机,被模拟的B机器称为虚拟机.
用微程序直接解释另一种机器指令系统的方法就称为仿真。
进行仿真的机器称为宿主机,被仿真的B机器称为目标机。
为仿真所写的解释程序称为仿真微程序。
26、多级存储体系的采用是依据_局部性原理_原理建立,且存储速度提高,但存储体价格下降。
27、B机上的每条指令都由A机上的一段微程序解释执行称为仿真。
28、计算机系统结构设计的任务是进行软、硬件的功能分配,确定传统机器级的软、硬件界面。
29、衡量浮点操作的指标是MFLOPS,衡量指令执行速度的指标是____MIPS____。
30、指令系统设计的两大典型风格是___CISC___和____RISC___________。
31、克服流水中的瓶颈段的两种方法是:
瓶颈流水段的细分和瓶颈流水段的重复。
32、流水线中出现的3种相关是:
结构相关,数据相关,控制相关。
33、系统结构的差异决定软件的移植工作量,避免软件移植瓶颈,常采用三种方法来解决,三种方法是统一高级语言、采用系列机、模拟和仿真。
34、向量的处理三种方式有:
(1)横向处理方法;
(2)纵向处理方法;
(3)纵横向处理方法。
35、处理器间采用单向环网时的互连函数是:
PM2+0或PM2-0。
36、以硬件为基础实现多Cache一致性方法有:
写作废法、写更新法、目录表法。
37、编址方式常分为三种,它们是___隐含编址__,__独立编址__和统一编址。
38、阵列处理机的基本结构分为两种:
(1)分布式存储器的阵列机;
(2)共享存储器的阵列机。
39、程序并行性相关性有三种,即数据相关、数据反相关、数据输出相关。
40、有两台机器,它们对条件转移指令的处理采用不同的设计方案:
(1)CPUA采用一条比较指令来设置相应的条件码,由紧随其后的一条转移指令对此条件码进行测试,以确定是否进行转移。
因此实现一次条件转移要执行比较和测试两条指令。
(2)CPUB采用比较和测试两种能合在一条指令的方法,这样实现条件转移只需一条指令。
假设在这两台机器的指令系统中,执行条件转移指令需2个时钟周期,而其他指令只需1个时钟周期。
又假设CPUA中,条件转移指令占总执行指令条数20%。
由于每条转移指令都需要一条比较指令,所以比较指令也将占20%。
由于CPUB在转移指令中含了比较功能,因此它的时钟周期就比CPUA要慢10%。
问CPUA和CPUB哪个工作速度要快些?
[解]
设CPUA的时钟周期长度为tA,CPUB的时钟周期长度为tBCPIA=0.2×
2+0.8×
1=1.2TcpuA=INA×
1.2×
tACPUB中由于没有比较指令,转移指令由原来占20%上升为20%÷
80%=25%,它需要2个时钟周期,而其余的75%指令只需1个时钟周期,所以CPIB=0.25×
2+0.75×
1=1.25CPUB中由于没有比较指令,因此INB=0.8×
INA。
又因tB=1.25tA,所以TcpuB=INB×
CPIB×
tB=0.8INA×
1.25×
1.25tA=1.25INA×
tA可见TcpuA<TcpuB,故CPUA比CPUB运行得更快些。
41、假设FPSQR操作占整个测试程序执行时间的20%。
改进的一种方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。
另一种方法是使FP指令的速度提高到2倍,FP指令占整个执行时间的50%。
比较两个设计方案。
解:
分别计算出这两种设计方案所能得到的加速比:
42、假设要将某一执行部件改进后速度提高10倍,改进后被改进部件执行时间占系统总运行时间的50%.问改进后,获得的加速比Sp是多少?
假设系统在改进前后的执行时间分别为T0和Tn,则
Sp=T0/Tn=
(1)
由
(1)式得
Tn=[(1-Fe)+Fe/Se]×
T0
(2)
根据题意:
50%Tn=(Fe×
T0)/10(3)
由
(2)式-
(1)式得
50%Tn=(1-Fe)×
T0(4)
Fe=
(5)
由(4)、(5)式可得
Sp=T0/Tn=5.5
43、假设Cache的工作速度是主存的5倍,且Cache被访问命中的概率为90%.问:
采用Cache后,能使整个存储系统获得多高的加速比?
根据加速比的计算公式,
44、为提高某计算机运算速度,决定增加向量处理部件.此时处理向量的速度比其通常的运算速度要快20倍.现定义向量处理部件运算的时间占总时间的百分比称为可向量化百分比.
(1)求出加速比和可向量化百分比之间的关系.
解;
由Amdahl定律知:
(2)若要得到加速比为2,可向量化百分比是多少?
45、某计算机Cache能存放2000条指令.假设10%的指令承担了90%时间的指令访问,且知这10%指令中每条指令的执行时间相同.如果要执行的某程序共50000条指令(,且已知其中的10%是频繁使用的.)问:
当计算机执行该程序时,在Cache中能访问到的指令会占多少百分比?
由题意可知:
45000条指令承担10%时间的指令访问,5000条指令承担90%时间的指令访问。
显然5000条指令被频繁使用,设平均使用次数为X;
另外45000条指令仅使用一次。
则有:
45000:
0.1=5000X:
0.9解得X=81
所以该程序执行指令的条数为Y=45000+5000×
81=450000
假设频繁使用的5000条指令均匀分布于程序之中,即每次调入Cache的2000条指令有200条是频繁使用的。
另假设每次调入Cache的2000条指令中的1800条均被使用了一次。
所以执行该程序时Cache中能访问到的指令的概率为:
(450000-(50000/2000))/450000≈100%
46、数据表示指的是能由机器硬件直接识别和引用的数据类型。
47、自定义数据表示包括标志符数据表示和数据描述符两类;
48、在指令系统设计、发展和改进上,RISC采用:
通过减少指令种数和简化指令功能来降低硬件设计的复杂度,提高指令的执行速度。
49、在指令系统设计、发展和改进上,CISC采用:
进一步增强原有指令的功能以及设置更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化。
50、经统计,某机器14条指令的使用频度分别为:
0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。
分别求出用等长码、啥夫曼码、只有两种码长的扩展操作码等3种编方式的操作码平均码长?
等长码:
log214向上取整结果为4,即码长为4
=4
即等长码的操作码平均码长为4;
哈夫曼码:
1
0
0.01
10
101
11001
00
101010101
哈夫曼树
哈夫曼编码及扩展操作码编码
频度
哈夫曼编码
OP长度
扩展码
OP
长度
频率
赫夫曼码
位
0.15
000
3
0.04
10100
5
11001
0.15
001
0.03
10101
11010
0.14
010
10110
11011
0.13
011
0.02
10111
11100
0.12
100
11110
11101
0.11
110
101
111110
6
1110
4
11000
111111
11111
=(0.15+0.15+0.14+0.13+0.12+0.11)*3+0.04*4+0.14*5+0.02*6=3.38
即哈夫曼码操作码平均码长为3.38;
只有两种码长的扩展操作码:
=0.8*3+0.2*5=3.4
即只有两种码长的扩展操作码平均码长为3.4
51、流水线的表示法有三种:
连接图法、时空图法、预约表法。
52、定向技术法的基本思想:
如果后续指令要使用前面指令的运算果值,则通过硬件专门电路将该运算结果提前传送到有关缓冲寄存器,使后续指令得以不停顿地进入流水线。
53、衡量流水线性能的主要指标有:
吞吐率、加速比和效率。
54、简述软、硬件取舍的三个基本原则?
55、定向流水技术法的基本思想?
56、将下面程序改写成不存在数据相关的形式?
Z=0
DO10I=1,64
X(I)=X(I)+Y(I)
Z=Z+X(I)
10CONTINUE
Z=0
D(I)=X(I)+Y(I)
10ONTINUE
Z=Z+D(I)
20ONTINUE
57、简述计算机系统结构、计算机组成和计算机实现的定义和相互关系?
计算机系统结构就是计算机的机器语言程序员或编译程序编写者所看到的外特性。
所谓外特性,就是计算机的概念性结构和功能特性。
计算机组成:
计算机组成是计算机系统结构的逻辑实现,包括机器内部的数据流的组成以及逻辑设计等。
计算机实现:
是指计算机组成的物理实现。
包括处理机、主存、等部件的物理结构,器件集成度、速度、信号传输等。
相同系统结构,可以有不同的组成;
一种组成可以有多种不同的实现方法;
采用不同的系统结构会使可以采用的组成技术产生差异;
组成也会影响结构。
58、下列5条指令组成的程序在一台3段流水线处理机上执行,每一流水段上都有相关检测和分解。
这3个流水段是取指令IF、取操作数OF(一个或多个)、执行EX(包括写回)。
程序中ACC为累加寄存器,M为存储器。
请画时时空图说明:
(1)在程序执行中所有可能出现的相关情况,
(2)避免相关发生的调度方法。
INCR0;
R0(R0)+1
MVLACC,R0;
ACC(ACC)*(R0)
STRR1,ACC;
R1(ACC)
ADDACC,R0;
ACC(ACC)+(R0)
STAM,ACC;
M(ACC)
59、在一台流水线处理机上执行下面程序。
I1SUBR0,R0;
R00
I2LOADR1,#8;
R1向量长度8
I3Loop:
LOADR2,A(R1);
R2A向量的第1个元素
I4MULR2,R1;
R2(R2)*(R1)
I5ADDR0,R2;
R0(R0)+(R2)
I6DNER1Loop;
R1(R1)-1,若(R1)¹
0转向Loop
I7STORER0,M(x);
保存结果
每条指令都要经过“取指”、“译码”、“执行”、“写结果”4个流水段,每个流水段延迟都是5ns。
但在“执行”流水段LS部件和ALU部件只能其中一个工作,其中LS部件完成LOAD和STORE操作,ALU部件完成其他操作。
这两个操作部件的输出端和输入端有直接输出通路相互切换连接,且ALU部件产生的条件码也直接送入控制器。
假定采用静态分支预测技术,每次都预测转移不成功。
要求:
(1)画出指出指令流水线的时空图(中间部分可省略,图中可用指令序号表示)
(2)计算流水线的吞吐率和加速比,并分别计算译码部件和ALU部件的使用效率。
⑴时空图如下:
⑵
,
。
60、一条有4个流水段的非线性流水线,每个流水段的延迟时间都相等,它的预约表如下图:
时间
流水段
1
2
7
S1
X
S2
S3
S4
(1)写出流水线的禁止向量和初始冲突向量;
(2)画出调度流水线的状态图;
(3)求流水线的最小启动循环和最小启动距离;
(4)求平均启动距离最小的恒定循环。
(5)按最小启动距离调度任务时,有10个任务进入流水,画出时空图,计算实际吞吐率。
61、在一个5段的流水线处理机上需经9拍才能完成一个任务,其预约表为:
t0
t1
t2
t3
t4
t5
t6
t7
t8
V
S5
分别写出禁止表,冲突向量C;
画出流水线状态转移图,求出最小平均延迟及流水线的最大吞吐率、调度方案。
按此流水调度方案输入6个任务,求实际吞吐率。
1、禁止表F=(8,4,3,1),
由禁止表可得出初始冲突向量:
C0=(10001101),然后运算
状态有向图:
最优调度策略是(2,5),流水线的最大吞吐率就是最优调度策略的最大吞吐率,有TPmax=1/3.5Δt
E=6*11/5*125=0.528
62、向量流水处理的三种方式:
1.横向处理方式,又称为水平处理方式,横向加工方式等。
向量计算是按行的方式从左至右横向地进行。
2.纵向处理方式,又称为垂直处理方式,纵向加工方式等。
向量计算是按列的方式自上而下纵向地进行。
3.纵横处理方式,又称为分组处理方式,纵横向加工方式等。
横向处理和纵向处理相结合的方式。
63、向量链接技术:
结果寄存器可能成为后继指令的操作数寄存器,两条有数据相关的向量指令并行执行,这种技术称为两条流水线的链接技术
64、实现链接的条件
(1)没有向量寄存器冲突和运算部件冲突。
(2)只有第一个结果送入向量寄存器的那一个周期可以链接。
(3)先行的两条指令产生运算结果的时间必须相等。
(4)两条向量指令的向量长度必须相等。
65、向量处理机上用4条向量指令完成如下计算:
E:
=A*(B+C)+D
LDV0,M(A);
V0存储器A向量
ADDVV3,V1,V2;
V3V1+V2
MULVV4,V0,V3;
V4V0*V3
ADDVV6,V4,V5;
V6V4+V5
假设V1、V2、V5向量寄存器已分别存放向量B、C、D,向量长度N=32,两个浮点功能部件执行时间为加法6拍,乘法7拍;
存储器取数6拍;
数据进入和流出功能部件(包括寄存器)为1拍。
(1)分析指令序列,如果能链接,画出向量链接图。
(2)计算指令组全部完成所需的时间。
66、PM2I单级网络的互连函数:
67、处理器间采用单向环网时的互连函数是:
68、处理器间采用双向环网时的互连函数是:
PM2+0和PM2-0。
69、以硬件为基础实现多Cache一致性方法有:
70、程序并行性相关性有三种,即数据相关、数据反相关、数据输出相关。
71、什么是机群系统?
什么是大规模并行机系统?
机群(cluster)系统是互相连接的多个独立计算机的集合,这些计算机可以是单机或多处理器系统(PC、工作站或SMP),每个结点都有自己的存储器、I/O设备和操作系统。
大规模并行机系统是指由成百上千甚至近万个处理器组成的大规模计算机系统。
72、静态数据流机与动态数据流机主要区别在哪里?
(1)静态数据流机的数据令牌无标号。
动态数据流机的数据令牌有标号;
(2)静态数据流任意给定时刻当结点操作时每条弧上只能有一个数据令牌、动态数据流机中,任何一条弧上可出现多个不带目标号的数据令牌;
(3)静态数据流机中必须设控制令牌以满足要求,动态数据流机中不必须投控制令牌,因为令牌有识别时间、先后关系的标号;
(4)静态数据流机不支持递归的并发激活,只支持一般循环,动态数据流机支持递归的并发激活;
(5)静态数据流机不需硬件完成标记的匹配,动态数据流机需要硬件将标记附加在数据令牌上,并完成对标记的匹配工作。
73、所有布置的作业题。