计算机系统结构复习题Word下载.docx
《计算机系统结构复习题Word下载.docx》由会员分享,可在线阅读,更多相关《计算机系统结构复习题Word下载.docx(21页珍藏版)》请在冰点文库上搜索。
需要指令功能更加丰富,但实现困难;
计算机存储器容量大增,采用直接寻址方式指令中地址码位数不够。
出现了CISC和RISC指令系统,CISC用硬件实现大量丰富功能,RISC只包含使用频率高的少量指令;
采用多种灵活的寻址方式,如间接寻址、相对寻址、变址寻址、基址寻址、页式寻址等。
2
通用寄存器型指令系统结构在灵活性和提高性能方面的优势主要体现在哪几个方面?
(1)寄存器的访问速度比存储器快很多;
(2)对编译器而言,能更加容易、有效地分配和使用寄存器。
在表达式求值方面,通用寄存器型结构具有更大的灵活性和更高的效率。
3
简述指令系统结构中采用多种寻址方式的优缺点。
采用多种寻址方式优点是可以显著地减少程序的指令条数,缺点是可能增加计算机的实现复杂度以及指令的平均执行时钟周期数。
4
根据CPU性能公式简述RISC指令集结构计算机和CISC指令集结构计算机的性能特点。
1、CISC指令系统计算机特点是指令数量多、功能多样,除了包含基本指令外,往往还提供了很多功能很强的指令。
根据CPU性能公式,只有对于频繁使用的子程序或指令串,用较强功能的指令取而代之才划得来。
CISC指令系统据统计,只有20%的指令使用频度比较高,占运行时间的80%,而其余80%的指令只在20%的运行时间内才会用到,而且使用频度高的指令也是最简单的指令。
CICS指令系统有可能降低系统的性能和效率。
2、RISC指令系统指令条数少,指令功能简单。
确定指令系统时,只选取使用频度很高的指令,在此基础上补充一些最有用的指令,克服上述CISC的缺点。
5
简述流水线技术特点。
(1)流水过程由多个相联系的子过程组成;
(2)每个子过程由专用的功能段实现;
(3)各个功能段所需时间尽量相等;
(4)流水线有“通过时间”(第一个任务流出结果所需的时间)。
在此之后流水过程才进入稳定工作状态,一拍流出一个结果;
(5)流水技术适合于大量重复的时序过程,只有输入端连续提供任务、流水线效率才可充分发挥。
6
什么是主存块和Cache块的映像规则,主要有几种,试简述之。
当把一个块从主存调入Cache时,决定主存块在Cache中位置对应关系的规则叫做映像规则。
映像规则主要有三种。
(1)直接映像:
主存块只能被放置到唯一的一个Cache块的位置。
(2)全相联映像:
主存块可以被放置到任意一个Cache块的位置。
(3)组相联映像:
主存块可以被放置到唯一的一个Cache组中的任意一个Cache块的位置。
7
简述“Cache-主存”层次与“主存-辅存”层次的区别。
8
请根据以下图片说一说Cache中三种失效与Cache容量的关系。
(1)相联度越高,冲突失效就越少;
(2)强制性失效不受Cache容量的影响,但容量失效却随着容量的增加而减少;
强制性失效和容量失效不受相联度的影响;
(3)表中的数据符合2:
1的Cache经验规则,即大小为N的直接映象Cache的失效率约等于大小为N/2的两路组相联Cache的失效率。
9
请简述四种通过降低Cache失效率来改进Cache性能的方法。
(1)调节Cache块大小:
是降低失效率最简单的方法。
对于给定容量的Cache,当块大小从较小如16个字节开始增加时,失效率开始下降,当块大小增加较大时,失效率开始上升,Cache容量越大,使得失效率达到最小的块大小也越大。
(2)提高相联度:
提高相联度会降低失效开销,但却增加了命中时间,因此当Cache容量较小时可以采用较高的相联度如4路或8路,Cache容量较大时宜采用较低的相联度。
(3)VictimCache:
在Cache与下一级存储器的数据通路间增加一个全相联的小Cache即VictimCache放置被替换出的Cache块,当发生失效时,先检查VictimCache有所需块,如果有调入Cache。
此法增加了软硬件开销。
(4)硬件预取:
利用局部性原理,预取指令和数据放入Cache,指令预取已经非常普遍了。
此法增加了硬件开销。
(5)编译器控制的预取:
利用局部性原理,预取指令和数据放入Cache,此法不增加硬件开销。
(6)编译器优化:
编译时对程序中的指令和数据重新组织,如数组合并、内外循环交换、循环融合、分块等,利用局部性原理降低Cache失效率。
此法中指令重排序可能引发数据相关问题。
10
【名词解释】
体系结构
程序员所看到的计算机的属性,即概念性结构与功能特性。
11
软件兼容
同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所获得的结果一样,差别只在于运行时间不同。
12
存储程序计算机
冯诺依曼结构计算机,采用存储程序原理,将程序和数据存放在同一存储器中。
指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。
13
并行性
在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。
14
大概率事件优先
计算机体系结构中最重要和最常用的原则,即对最常见事件赋予优先处理权和资源使用权,以获得全局的最优结果。
15
系统加速比
系统改进前与改进后总执行时间之比。
16
Amdahl定律
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
17
程序局部性原理
程序总是趋向于使用最近使用过的数据和指令,包括时间局部性和空间局部性。
时间局部性是指:
程序即将用到的信息很可能就是目前正在使用的信息。
空间局部性是指:
程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者相近。
18
CPI
指令时钟数。
19
平均无故障时间MTTF
以小时为单位,用于度量系统可以正常提供服务的量化指标。
20
通用寄存器型机器
CPU中存储操作数的单元是通用寄存器的机器
21
寻址方式
指令系统中产生所要访问数据地址的方法
22
指令系统的完整性
对任何一个可解的问题,指令系统提供的指令足够使用,指令系统功能全、使用方便。
23
数据表示
计算机硬件能够直接识别、指令系统可以直接调用的数据类型
24
PC相对寻址
一种以程序计数器PC作为参考点的寻址方式,主要用于在转移指令中制定目标指令的地址。
25
流水线技术
将一个重复的时序过程,分解为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。
26
通过时间
流水线第一个任务流出结果所需的时间
27
排空时间
最后一个任务输入后到完成的时间
28
定向技术
在某条指令产生一个计算结果之前,其他指令并不真正需要该计算结果,如果能够将该计算结果从其他产生的地方直接送到其他指令需要它的地方,那么就可以避免因为数据相关引起的暂停。
29
静态流水线
同一时间内,流水线的各段只能按同一种功能的连接方式工作。
30
吞吐率
衡量流水线速度的重要指标,指在单位时间内流水线所完成的任务数或输出结果的数量。
31
流水线的效率
流水线的设备利用率
32
相关
流水线中流动的指令极有可能会相互依赖,即它们之间存在着相关关系,相关包括数据相关、结构相关和控制相关三类。
33
数据相关
当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作的顺序,使得读/写操作顺序不同于它们非流水实现时的顺序,从而导致数据相关。
34
写后读相关
相关两条指令i、j,i在j前进入流水线,j执行要用到i的结果,但当其在流水线中重叠执行时,j可能在i写入其结果之前就先行对保存该结果的寄存器进行读操作,得到错误的值。
35
写直达法
不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。
36
命中时间
访问Cache命中时所用的时间。
37
强制性失效
当第一次访问一个块时,该块一定不在Cache中,必须从下一级存储器中调入Cache,这种失效叫做强制失效。
38
非阻塞Cache
一种降低Cache失效开销的方法,它允许Cache在处理失效时,能够继续提供后续访问指令和数据的服务。
39
平均访存时间
命中时间+失效率×
失效开销
40
【计算题】
假设在某程序的执行过程中,浮点操作时间占整个执行时间的10%,现希望对浮点操作加速。
(1)设对浮点操作的加速比为
,请推导出程序总的加速比S和
之间的关系表达式;
(2)请问程序的最大加速比可达多少?
41
假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高,具体数据如附件所示
(1)改进后,各类操作的加速比分别是多少?
(2)各类操作单独改进后,程序获得的加速比分别是多少?
(3)4类操作均改进后,整个程序的加速比是多少?
(1)改进后,
操作1的加速比=2/1=2
操作2的加速比=20/15=1.3
操作3的加速比=10/3=3.3
操作4的加速比=4/1=4
42
数据中心由成百上千甚至数万台节点计算机构成,通过多种技术,在故障节点数不超过一定数量时,系统提供的服务都可以得到保障。
(1)假设某数据中心有10000个节点计算机,每个节点的MTTF为50天,只要故障节点计算机数不超过3000个,中心就可以正常服务,请计算数据中心的MTTF。
(2)如果要使中心的MTTF增加一倍的时间,请给出解决方案。
43
某机器的指令字长为16位,设有单地址指令和二地址指令。
若每个地址字段均为6位,且二地址指令有A条,问单地址指令最多可以有多少条?
(1)若只考虑单地址指令,地址占6位,则操作码占10位,故最多可以有
条单地址指令。
(2)现在有二地址指令A条,其地址码占12位,操作码占4位,即在刚刚假设的
条单地址指令中还包括了A×
条二地址指令,故单地址指令最多有
-A×
条。
44
一台模型机器共有7条指令,各指令的使用频度分别为35%(I1),25%(I2),20%(I3),10%(I4),5%(I5),3%(I6),2%(I7),有8个通用寄存器和2个变址寄存器。
若要求设计8位长的寄存器-寄存器型指令3条,16位长的寄存器-存储器型变址寻址指令4条,变址范围为-127至+127,请设计指令格式,并给出指令各字段的长度和操作码编码。
(1)8位长寄存器-寄存器型指令3条,其中操作码占2位,两个寄存器操作数各占3位共6位。
(2)16位长寄存器-存储器型变址寻址指令4条,操作码占4位,操作数占12位,其中寄存器操作数占3位,存储器操作数占9位。
(3)I1、I2和I3的操作码分别是00、01和10,两个寄存器操作数各3位。
(4)I4、I5、I6和I7的操作码分别是1100、1101、1110、1111,其寄存器操作数编址都是3位,存储器操作数编址都是9位,其中1位是变址寄存器,8位是偏移地址,编址范围都是-127至+127。
45
设在静态流水线上计算
,流水线的输出可以直接返回输入端或暂存于相应的流水线寄存器中,试计算其吞吐率和效率。
(1)选择适合于流水线工作的算法。
对本题应先计算
、
和
;
再计算
+
以及
最后求总的累加和;
(2)画出该计算过程在静态流水线上的时空图;
(3)计算吞吐率:
由图可知在20个
时间内,得到7个计算结果,所以吞吐率TP=7/(20
);
(4)效率:
由图可知非空闲的时空区为4
4+3
6共计34个,8段的总时空区为8
20共计160个,因此效率E=34/160
0.21
46
在一条单流水线多操作部件的处理机上执行下面的程序,取指令、指令译码各需要一个时钟周期,MOVE、ADD和MUL操作各需要2个、3个和4个时钟周期。
每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。
K:
MOVER1,R0;
R1←(R0)
K+1:
MULR0,R2,R1;
R0←(R2)*(R1)
K+2:
ADDR0,R3,R2;
R0←(R3)+(R2)
画出指令执行的流水线时空图,并计算执行完三条指令共使用了多少个时钟周期。
从上图可以看到,计算执行完3条指令共使用了9个时钟周期。
47
假设两级Cache系统,在1000次访存中,L1Cache失效40次,L2Cache失效20次。
在这种情况下,该Cache系统的局部失效率和全局失效率各是多少?
假设L2Cache到主存的失效开销为200个周期,L2的命中时间为10个周期,L1的命中时间为1个周期,平均每条指令访存1.5次,则平均访存时间是多少?
平均每条指令的存储器停顿周期是多少?
(1)
=40/1000=4%;
=20/40=50%;
=20/1000=2%或
=4%×
50%=2%;
(2)平均访存时间=
×
(
)=1+4%(10+50%×
200)=5.4周期
(3)平均每条指令的存储器停顿周期=(访存次数×
(平均访存时间-
))/指令条数
=访存次数/指令条数×
)
=平均每条指令访存次数×
(5.4-1)=1.5×
4.4=6.6周期
48
假设对指令Cache的访问占全部访问的75%,而对数据Cache的访问占全部访问的25%。
Cache的命中时间为1个时钟周期,失效开销为50个时钟周期,在混合Cache中一次Load或Store操作访问Cache的命中时间都要增加1个时钟周期,32KB的指令Cache的失效率为0.39%,32KB的数据Cache的失效率为4.82%,64KB的混合Cache的失效率为1.35%。
又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。
试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种Cache的失效率更低?
两种情况下平均访存时间各是多少?
(1)分离Cache失效率为:
指令Cache失效率+数据Cache失效率=75%×
0.39%+25%×
4.82%=1.498%
显然1.498%>
1.35%,容量为64K的混合Cache失效率更低。
(2)分离Cache的平均访问时间=75%×
(1+0.39%×
50)+25%×
(1+4.82%×
50)=1.749时钟周期
混合Cache的平均访问时间=75%×
(1+1.35%×
(2+1.35%×
50)=1.925时钟周期
可见,虽然分离Cache具有较高的总体失效率,但是平均访问时间却较小。