2022年哈尔滨理工大学网络工程专业《计算机系统结构》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年哈尔滨理工大学网络工程专业《计算机系统结构》科目期末试
卷A(有答案)
一、选择题
1、下列说法正确的是()
A."一次重叠"是一次解释一条指令
B."一次重叠"是同时解释相邻两条指令
C.流水方式是同时只能解释两条指令
D."一次重叠"是同时可解释很多条指令
2、下列说法中不正确的是()
A.软件设计费用比软件重复生产费用高
B.硬件功能只需实现一次,而软件功能可能要多次重复实现
C.硬件的生产费用比软件的生产费用高
D.硬件的设计费用比软件的设计费用低
3、对机器语言程序员透明的是( )。
A.中断字
B.主存地址寄存器
C.通用寄存器
D.条件码
4、浮点数尾数基值rm=8,尾数数值部分长6位,可表示的规格化最小正尾数为( )
A.0.5
B.0.25
C.0.125
D.1/64
5、1TFLOPS计算机能力,1TBYTE/S的I/O带宽和()称为计算机系统的3T性能目标。
A,1TBYTE 硬盘容量
B.1TBYTE 软盘容量
C.1TBYTE 主存容量
D.A和B
6、外部设备打印机适合于连接到( )。
A.数组多路通道
B.字节多路通道
C.选择通道
D.任意一种通道
7、以下说法中,不正确的是,软硬件功能是等效的,提高硬件功能的比例会:( )
A.提高解题速度
B.提高硬件利用率
C.提高硬件成本
D.减少所需要的存贮器用量
8、下列关于虚拟存贮器的说法,比较正确的应当是( )
A.访主存命中率随页面大小增大而提高
B.访主存命中率随主存容量增加而提高
C.更换替换算法能提高命中率
D.在主存命中率低时,改用堆栈型替换算法,并增大主存容量,可提高命中率
9、直接执行微指令的是( )
A.汇编程序
B.编译程序
C.硬件
D.微指令程序
10、设16个处理器编号分别为0,1,2,...,15用Cube,互联函数时,第10号处理
机与第()号处理机相联。
A.11
B.8
C.14
D.2
二、判断题
11、计算机仿真用微程序解释,计算机模拟用机器语言解释。
()
12、对操作码进行优化编码时,在了解每种指令在程序中出现的概率后,使用Huffman
算法构造Huffman树,这样获得的Huffman编码是唯一的。
()
13、采用LRU替换的Cache存贮器,分配给程序的Cache容量一定时,块的大小增大,Cache的命中率将先上升,到一定时候又会逐渐降低。
()
14、流水机器处理中断应着眼于解决断点现场如何保存和恢复,并不在于如何缩短断流的时间,去追求流水的高吞吐率和高效率。
()
15、指令的重叠解释,既可加快程序的解释,又能加快指令的解释。
()
16、与重叠机器一样,流水机器在遇到转移指令,尤其是条件转移指令时,效率也会显著下降。
()
17、S2MP主要解决的问题是当前小规模共享存储多处理器系统在可扩展性上的瓶颈问题。
()
18、快表和主存也构成一个两级层次,一般快表的替换算法为PFF。
()
19、合并网络提供了一组新的指令,其中一条称为Fetch-and-Add指令,叫做取与加指令。
()
20、二进制数表示数据信息较之二一十进制数表示,其存贮空间利用率低,运算速度要快。
()
三、填空题
21、LRU替换算法的实现方法有________和________
22、页面替换是发生于页面失效,同时又发生________的时候。
23、衡量向量处理机性能的主要参数是________和________
24、基于寄存器-寄存器的向量指令是指________来自________或把操作后的结果写入向量
寄存器。
这类指令是向量指令集中最重要的指令。
25、Amdahl定律定义了用加速比来衡量改进措施对________提高的程度。
加速比S的定
义为________
26、直接网络可分为3类:________和________、超立方体网络。
27、多体存储器属________而存储层次属________
28、指令系统是软件设计人员与硬件设计人员之间的一个主要________,也是他们之间互
相沟通的一座桥梁。
在计算机系统的设计过程中,________的设计是非常关键的,它必须
由软件设计人员和硬件设计人员共同来完成。
29、·按指令流与数据流,体系结构可分类为SISD、________、________和MIMD。
30、段页式虚拟存储器的内部地址映象表机构有________表和________表两部分。
四、名词解释
31、监听协议:
32、网络直径:
33、指令的动态调度:
34、写直达法:
35、失效开销:
36、单功能流水线:
五、简答题
37、简述RISC指令集结构的设计原则。
38、什么是多处理机的一致性?给出解决一致性的监听协议和目录协议的工作原理。
39、简述减小Cache失效开销的几种方法。
40、通过编译器对程序优化来改进Cache性能的方法有哪几种?简述其基本思想。
41、降低Cache失效率有哪几种方法?简述其基本思想。
六综合题
42、某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:
求该计算机的有效CPI、MIPS和程序执行时间。
43、11、根据需要展开下面的循环并进行指令调度,直到没有任何延迟。
指令的延迟如表4.4。
LOOP: L.D F0,0(R1)
MUL.D F0,F0,F2
L.D F4,0(R2)
ADD.D F0,F0,F4
S.D F0,0(R2)
DSUBI R1,R1,#8
DSUBI R2,R2,#8
BNEZ R1,LOOP
44、对于两路超标量处理器,从存储器取数据有两拍附加延迟,其它操作均有1拍附加延迟,对于下列代码,请按要求进行指令调度。
LW R4,(R5)
LW R7,(R8)
DADD R9,R4,R7
LD R10,(R11)
DMUL R12,R13,R14
DSUB R2,R3,R1
SW R15,(R2)
DMUL R21,R4,R7
SW R23,(R22)
SW R21,(R24)
(1)假设两路功能部件中同时最多只有一路可以是访问存储器的操作,同时也最多只有一路可以是运算操作,指令顺序不变。
(2)假设两路功能部件均可以执行任何操作,指令顺序不变。
(3)假设指令窗口足够大,指令可以乱序(out-of-order)流出,两路功能部件均可以执行任何操作。
参考答案
一、选择题
1、【答案】В
2、【答案】D
3、【答案】B
4、【答案】C
5、【答案】C
6、【答案】B
7、【答案】B
8、【答案】D
9、【答案】C
10、【答案】D
二、判断题
11、【答案】对
12、【答案】错
13、【答案】错
14、【答案】错
15、【答案】错
16、【答案】对
17、【答案】对
18、【答案】对
19、【答案】对
20、【答案】错
三、填空题
21、【答案】计数器法比较对法
22、【答案】页面争用
23、【答案】向量指令的处理时间向量长度为无穷量处理机的最大性能
24、【答案】参加运算操作的向量向量寄存器
25、【答案】系统性能,Sn= To/Tn
26、【答案】网格网络环形网络
27、【答案】系统、体系
28、【答案】分界面指令系统
29、【答案】SIMD,MISD
30、【答案】快慢
四、名词解释
31、答:每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。
Cache通常连在共享存储器的总线上,各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。
32、答:网络直径指互连网络中任意两个结点之间距离的最大值。
33、答:指令的动态调度是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。
是由硬件在程序实际运行时实施的。
34、答:在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。
35、答:CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。
36、答:单功能流水线指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水线。
五、简答题
37、答:
(1)选取使用频率最高的指令,并补充一些最有用的指令;
(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;
(3)所有指令长度均相同;
(4)只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行;(5)以简单有效的方式支持高级语言。
38、答:
(1)对多个处理器维护一致性的协议称为Cache一致性协议。
(2)目录协议的工作原理:采用一个集中的数据结构——目录。
对于存储器中的每一个可以调入Cache的数据块,在目录中设置一条目录项,用于记录该块的状态以及哪些Cache中有副本等相关信息。
目录协议根据该项目中的信息以及当前要进行的访问操作,依次对相应的Cache发送控制消息,并完成对目录项信息的修改。
此外,还要向请求处理器发送响应信息。
(3)监听协议的工作原理:每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。
Cache通常连在共享存储器的总线上,当某个Cache需要访问存储器时,它会把请求放到总线上广播出去,其他各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。
如果有,就进行相应的操作。
39、答:让读失效优先于写、写缓冲合并、请求字处理技术、非阻塞Cache或非锁定Cache技术、采用二级Cache。
40、答:(1)数组合并。
通过提高空间局部性来减少失效次数。
有些程序同时用相同的
索引来访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突失效,可以将这些
相互独立的数组合并成一个复合数组,使得一个Cache块中能包含全部所需元素。
(2)内外循环交换。
循环嵌套时,程序没有按数据在存储器中的顺序访问。
只要简单地
交换内外循环,就能使程序按数据在存储器中的存储顺序进行访问。
(3)循环融合。
有些程序含有几部分独立的程序段,它们用相同的循环访问同样的数组,对相同的数据作不同的运算。
通过将它们融合成一个单一循环,能使读入Cache的数据
被替换出去之前得到反复的使用。
(4)分块。
通过改进时间局部性来减少失效。
分块不是对数组的整行或整列进行访问,
而是对子矩阵或块进行操作。
41、答:常用的降低Cache失效率的方法有下面几种:
(1)增加Cache块大小。
增加块大小利用了程序的空间局部性。
(2)增加Cache的容量。
(3)提高相联度,降低冲突失效。
(4)伪相联Cache,降低冲突失效。
当对伪相联Cache进行访问时,首先是按与直接映象相同的方式进行访问。
如果命中,则从相应的块中取出所访问的数据,送给CPU,访
问结束。
如果不命中,就将索引字段的最高位取反,然后按照新索引去寻找“伪相联组”
中的对应块。
如果这一块的标识匹配,则称发生了“伪命中”。
否则,就访问下一级存储器。
(5)硬件预取技术。
在处理器提出访问请求前预取指令和数据。
(6)由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据被
用到之前发出预取请求。
(7)编译器优化,通过对软件的优化来降低失效率。
(8)“牺牲”Cache。
在Cache和其下一级存储器的数据通路之间增设一个全相联的小Cache,存放因冲突而被替换出去的那些块。
每当发生不命中时,在访问下一级存储器之前,先检查“牺牲”Cache中是否含有所需的块。
如果有,就将该块与Cache中某个块做交换,把所需的块从“牺牲”Cache 调入Cache。
六综合题
42、解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776(2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS
(3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575s 43、解:将循环展开两次,进行指令调度,即可以消除延迟,代码如下:
LOOP: L.D F0,0(R1)
L.D F10,-8(R1)
MUL.D F0,F0,F2
MUL.D F10,F10,F2
L.D F4,0(R2)
L.D F14,-8(R2)
ADD.D F0,F0,F4
ADD.D F10,F10,F14
DSUBI R1,R1,16
S.D 0(R2),F0
DSUBI R2,R2,16
BNEZ R1,LOOP
S.D 8(R2),F10 44、解:(1)
(2)
(3)。