【计算机系统结构】知识点总结
文章目录
- 计算题
- 选择/填空/判断/问答题
- 补充
计算题
1.计算机系统中某一功能A经过改进增强后,其处理速度是未改进前的8倍。改进后,该功能的处理时间仅为整个系统运行时间的40%。试问改进增强功能A后,整个系统获得的加速比是多少?
解:加速比=改进前的总时间/改进后的总时间
设改进前的总时间 = X + Y,X表示功能A原处理时间,Y表示其他功能处理时间。
由于功能A经过改进增强后,其处理速度是未改进前的8倍,因此改进后的总时间为 (1/8)X + Y。
由于改进后,该功能的处理时间仅为整个系统运行时间的40%,因此可列出表达式:
(1/8)X / ((1/8)X + Y) = 40%,得到 X = (16/3)Y
最后计算 (X+Y) / ((1/8)X + Y) 即可,答案为 3.8
2.完成以下题目
注意答题模板:
(1)延迟禁止表 F = {1,3,4,8}
(2)初始冲突向量 C 共 8 位。根据 F,可得到 C = 10001101
(3)流水线状态转移图如下所示:
9*表示当右移大于等于9位时,移出位是0,不会发生冲突。
(4)部分调度方案如下表所示,可知最小平均延迟为3.5,对应的调度方案为{2,5}。
(5)调入6个任务,则任务状态为:2->5->2->5->2->9(第六个任务流出需要9拍)
因此总拍数为 25,则总吞吐率TP=任务数n/总拍数T=6/25(任务/拍)
注意任务状态不能是5->2->5->2->5->9,此时总拍数为 28,不满足最小原则。
3.阵列有0-7共8个处理单元互连,要求按(0,5)、(1,4)、(2,7)、(3,6)配对通信,写出实现此功能的互连函数的一般式;画出三级立方体网络实现互连函数的互连网络拓扑结构图,并标出各控制开关的状态。
解:
(1)共8个处理单元,说明Cube函数的位数有3位。由于0与5配对,000变为101,需要对第0位与第2位进行取反。因此可得到互联函数的一般式为:f(b2b1b0)=b2非 b1 b0非。
(2)画出三级立方体网络实现互连函数的互连网络拓扑结构图
立方体顶点个数为8,8/2=4,因此需要画四行;题目要求三级网络,因此需要画三列。
接着,在左右两边都写上 0~7
对于第0级,2^0=1,因此以1为递增
对于第1级,2^1=2,因此以2为递增
对于第2级,2^2=4,因此以4为递增
(可理解为:000在Cube1时,对下标为1的位取反,得到010,即2,因此0与2配对)
同时确保每一级的左右两侧的值都相同
最终得到:
当输入点1与输出点7相连时,各级控制信号(K2K1K0)的状态是什么?
如上图,在每一级中变换相应的状态,即可成功实现输入点为1,输出点为7。
直连的控制开关状态为0,交换的控制开关状态为1
因此第0级的控制开关状态为0、第1级的控制开关状态为1、第2级的控制开关状态为1
故K2K1K0=110(顺序相反,K2表示第二级)
注:Cube0表示在下标为0处取反(从右至左递增下标),例如Cube2表示将100的1取反,得到000。
标出各控制开关的状态:由f(b2b1b0)=b2非 b1 b0非,可判断第二级的控制开关状态为交换,第一级的控制开关状态为直连,第零级的控制开关状态为交换。
4.假定16×16的矩阵A=(aij),以行为主序将256个元素顺序存放在存储器的256个单元中。
(1) 用什么样的单级互连网络可实现对该矩阵进行转置存放,即aij=aji?
(2) 总共需要循环传送多少步?为什么?
解:
(1) 由于 i 与 j 均在 0~15 间,因此均可使用4位二进制数表示,即i3i2i1i0 j3j2j1j0;要实现转置存放,则需要将 i3i2i1i0 j3j2j1j0 变为 j3j2j1j0 i3i2i1i0,可通过 4 次的“最高位左移,变为最低位,同时其他位左移”实现。故采用混洗函数即可。
注意不需要取反,即不需要交换操作,因此不能答为混洗交换网络。
(2) 共需循环传送四步,第一步变为 i2i1i0j3 j2j1j0i3,第二步变为 i1i0j3j2 j1j0i3i2,等等。
5.并行处理机有 16 个处理单元,采用多级立方体网络互连。要实现相当于先8组2元交换,然后是1组16元交换,再次是4组4元交换的交换函数功能。
(1) 写出实现此交换函数最终等效的功能,各处理器间所实现的互连函数的一般式。
(2) 写出各级交换开关的状态。
解:
(1) 互连函数为f(P3P2P1P0)=xxxx,因此需要得到控制开关的状态k3k2k1k0。
由于有 16 个处理单元,将其描述为4位二进制数。
8组2元,2元等于2的一次方,因此从右往左添加一个1,得到0001;
1组16元,16元等于2的四次方,因此从右往左添加四个1,得到1111;
4组4元,4元等于2的二次方,因此从右往左添加两个1,得到0011;
将 0001、1111 与 0011 进行异或操作(两个二进制位不同则为 1,相同则为 0)
得到:1101,因此k3k2k1k0=1101。
故f(P3P2P1P0)=P3非 P2非 P1 P0非
(2) 由 k3k2k1k0=1101,可得第3级交换开关的状态为交换、第2级交换开关的状态为交换、第1级交换开关的状态为直连、第0级交换开关的状态为交换。
6.已知互连函数一般式为f(P3P2P1P0)=P3 P2非 P1 P0非,可能实现了那些交换函数功能?
解:
由一般式可知,该处理机器有 16 个处理单元。
由一般式可知,k3k2k1k0=0101。
1101 可能由 0001、0011、1111 异或得到。
0001 有一个一,对应二元,因此存在8组二元功能。(8x2=16)
0011 有两个一,对应四元,因此存在4组四元功能。(4x4=16)
1111 有四个一,对应十六元,因此存在1组十六元功能。(1x16=16)
7.由霍纳法则给定的表达式如下:E = a(b+c(d +e(f+gh))),利用减少树高的办法来加速运算,要求:
(1) 画出串行算法树形流程图,求出其运算级数T1。
(2) 画出并行算法树形流程图,求出其运算级数Tp、处理机个数P
(3) 求出加速比Sp、效率Ep的值。
解:
(1) 由表达式最右侧开始分析、由树形流程图底部开始向上画。
如下所示,树高为7,即运算级数T1=7。
*/ \a +/ \b */ \c +/ \d */ \e +/ \f */ \g h
(2)
a(b+c(d +e(f+gh)))
=ab + acd + ace(f+gh)
=a(b+cd) + ace(f+gh)
第一级:cd、gh、ac
第二级:b+cd、f+gh、ace
第三级:a(b+cd)、ace(f+gh)
第四级:a(b+cd)+ace(f+gh)
+/ \* */ \ / \+ a * +/ \ / \ / \* b * e f *
/ \ / \ / \
c d a c g h
这棵表达式树共有四层,因此运算级数 Tp = 4。
在最宽的一层中共有 3 个运算符,因此所需的处理机数量为 P = 3。
(3)
加速比Sp=T1/Tp=7/4
效率Ep=Sp/P=7/12
8.在集中式主存的阵列机中,处理单元数为4,为了使4X4的二维数组A的各元素aij (i=0~3, j=0~3)在行、列、主对角线和次对角线上均能实现无冲突访问,请填出数组各元素在存储器分体(分体号从0开始)中的分布情况。假设a00已放在分体号为3,体内地址(从i+0开始)为i+0的位置。
解:
处理单元数为 4,因此分体号 m 需大于 4。又由于 m=2^2p + 1,当 p=1 时,可得 m 最小值为 5;同时可计算得 θ1=2^p=2,θ2=1。
已知体号和体内地址的计算公式如下:
体号=aθ1+bθ2+c=2a+b+c;体内地址=a
又知 a00 在第 0 行第 0 列,即 a=0,b=0,且其所在的分体号为 3,代入公式:0+0+c=3,c=3
因此体号=(2a+b+3)取余5;体内地址=a
以 aij (i=0~3, j=0~3) 中的元素 a03 为例,a=0,b=3
分体号:(2a+b+3)mod5=1
体内地址:0
则将其填入对应的单元格中:
9.计算机系统中某一功能处理时间仅为整个系统运行时间的40%,现将该功能的处理速度加快10倍,试分析这能使整个系统的性能提高多少?
解:
由题可知,fnew =0.4,rnew =10
根据Amdahl定律可知:Sp=1/((1-fnew )+fnew/rnew)=1.5625
10.某功能若改进后,处理速度加快10倍,且该功能的处理时间占整个系统运行时间的40%,整个系统的性能提高多少?
解:
设改进后该功能的处理时间为X,则由“该功能的处理时间占整个系统运行时间的40%”可知,该功能之外的处理时间为1.5X。
改进前该功能的处理时间为10X,因此改进前该功能的处理时间占10/11.5
Sp=1/((1-fnew)+fnew/rnew)=4.6
T表示流水线结束的用时;TP表示吞吐率,即任务数/T;SP表示加速比,即原处理总时间/流水线结束的用时;n表示效率,即原处理总时间/(流水线结束的用时x段数)
注:尽可能使优化后的树又瘦又矮。
最终可知:Tp=4,P=3,T1=9,Sp=9/4,Ep=3/4
15.用一台40MHz处理器执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下:
求有效CPI、MIPS速率和程序的执行时间。
选择/填空/判断/问答题
1.汇编语言源程序变换成机器语言目标程序是经(汇编程序翻译)来实现的
解释是从机器语言等低级语言往高级语言方向的一种处理方式
翻译是高级语言方向从往机器语言等低级语言的一种处理方式
编译程序主要是将高级程序设计语言(如 C、Java 等)编写的源程序翻译成目标机器语言程序
2.从系统结构角度讲,机器语言程序员所看到的机器属性是(C.机器语言程序员编程要用到的硬件组织)。
A 计算机软件要完成的功能 B 计算机硬件的全部组成
C 机器语言程序员编程要用到的硬件组织 D 计算机各部件的硬件实现
机器语言程序员关注的是硬件相关属性,而非软件要完成的功能,A错;不需要了解硬件的全部细节,如硬件具体的制造工艺等,B错。机器语言程序员主要关注与编程交互的硬件层面,并非各部件具体硬件实现细节。
3.计算机系统结构不包括(B.主存速度)
A 信息保护 B主存速度 C 数据表示 D 机器工作状态
A、C、D都是计算机系统设计时要确定的内容;而主存速度是计算机组成研究的内容,考虑性价比进行选择。
4.在计算机的系统结构设计中,提高硬件功能实现的比例会(B.提高解题的速度)。
A 提高硬件利用率 B 提高解题的速度 C 提高系统的性能价格比 D 减少总的存储容量
提高硬件功能实现的比例,能提高解题速度,减少相应的程序运行占用的存储空间,D错;若计算机所有功能均采用硬件实现,反而会降低硬件的利用率及系统的性能价格比。
5.“从中间开始”设计的“中间”目前多数是在(A.传统机器语言机器级和操作系统机器级间)。
A 传统机器语言机器级和操作系统机器级间
B 传统机器语言机器级与微程序机器级间
C 微程序机器级与汇编语言机器级之间
D 操作系统机器级与汇编语言机器级之间
“从中间开始” 设计方法的关键在于确定软硬件功能的划分界限。在计算机系统的层次结构中,传统机器语言机器级及以下主要涉及硬件功能实现,操作系统机器级及以上更多是软件相关功能。
6.不同系列的机器间,实现软件移植的途径不包括(B.用统一的汇编语言)。
A.用统一的高级语言
B.用统一的汇编语言
C.模拟
D.仿真
实现软件可移植性的途径有:统一使用高级语言、系列机(相同系统结构)、模拟与仿真(不同系统结构)
7.利用时间重叠概念实现并行处理的是(A.流水处理机)。
A.流水处理机
B.多处理机
C.阵列处理机
D.数据流机
开发并行性途径有时间重叠(流水线处理机)、资源重复(阵列机)和资源共享(多处理机)
8.系列机软件兼容必须做到向(后)兼容,尽可能争取向(上)兼容。
9.阵列机开发并行性的途径是(资源重复) ,开发的是并行性中的(同时)性。并行性分为同时性和并发性;当要处理大量数据时,阵列机中的每个运算器可以同时对不同的数据进行相同的运算操作。
10.按指令流、数据流及其多倍性划分,阵列机属(SIMD)类型的计算机。
11.RISC采用重叠寄存器窗口技术,从而大大减少了(B.程序调用引起的访存次数 )。
A 绝大多数指令的执行时间
B 程序调用引起的访存次数
C 目标程序的指令条数
D CPU访存的访问周期
重叠寄存器窗口技术允许各程序利用私有窗口来保存自身的私有变量,避免数据混乱。同时,通过重叠窗口进行参数传递,减少了数据在内存与寄存器之间来回搬运的操作。
12.以下不属于RISC的基本原则的是(D.尽量增加指令的寻址方式种类)。
A 确定指令系统时,只选择使用频度高的那些指令,适当增加少量能有效支持操作系统和高级语言实现及其他功能的指令
B 大多数指令使用硬联控制实现
C 所有指令都在一个机器周期内完成
D 尽量增加指令的寻址方式种类
RISC的基本思想是精简指令从而降低硬件的复杂度,加快处理效率。选项D是CISC的基本原则,而非RISC。
13.对CISC指令系统,可以面向目标程序、高级语言、操作系统三个方面进行优化,实现改进指令集。
14.RISC执行程序的速度比CISC快的根本原因是(C.RISC的指令平均执行周期数少)。
A. RISC指令系统中指令条数少
B. 程序在RISC上编译生成的目标程序短
C. RISC的指令平均执行周期数少
D. RISC 只允许 load 和 store 指令访存
根本原因:RISC 的 CPI 小,即RISC的指令平均执行周期数少,D能够加速RISC的执行速度,但不是根本原因。
15.以下说法不正确的是(D.动态流水线只能是单功能流水线)。
A.单功能流水线可以看作特殊的多功能流水线
B.动态流水线一定是多功能流水线
C.单功能流水线一定是静态工作方式
D.动态流水线只能是单功能流水线
单功能流水线只有一种固定功能,属于静态工作方式,属于特殊的多功能流水线。动态流水线说明其具有至少两种连接模式,因此一定是多功能流水线。
16.为同时解释相邻两条或者多条指令,常用的控制方式是重叠和流水。
加快机器语言程序的解释可以通过加快每条指令的解释或者加快整个程序的解释来实现。其中加快整个程序的解释可采取重叠与流水的手段,实现相邻两条或多条指令的同时解释。
17.流水线的工作阶段可分为建立、满载和排空。
18.流水机器对全局性相关的处理不包括(D.设置相关专用通路)。
A.提前形成条件码
B.加快短循环的执行
C.猜测法
D.设置相关专用通路
局部性相关的处理方式——推后读、设置相关专用通路、异步流动。
全局性相关的处理方式——猜测法、提前形成条件码、加快短循环的执行、延迟转移。
19.由于(B.流水线建立时间),流水机器的实际吞吐率低于其最大吞吐率。
A.部件性能不理想
B.流水线建立时间
C.各子过程时间不一致
D.实现中的延迟
由于流水线一定有建立阶段,因此实际吞吐率无法达到最大吞吐率。
注:最大吞吐率=1/最小平均延时(任务/拍)
20.与线性流水线最大吞吐率有关的是(A.最慢的段的执行时间)。
A. 最慢的功能段的执行时间 B.最快功能段的执行时间
C. 最后功能段的执行时间 D.各个功能段的执行时间
执行最慢的功能段为瓶颈阶段,决定了流水线的最大吞吐率。
21.异步流动流水线会出现“先读后写”相关和“写-写”相关,而这在顺序流动流水线中是不可能发生的。
顺序流动的流水线中,“先写后读”的相关将引起流水线断流;异步流动方式通过调整指令的执行顺序提高执行的效率,但要避免引起新的“先读后写”(读-写)和“写-写”相关。
22.流水机器处理中断的关键在于断点现场的保护和恢复。
23.编号为0至15的16个处理器,当互联网络函数为Cube3时,4号处理器连接到的处理器的号数为(12)
由于有16个处理器,因此Cube函数的位数有4位,则4号处理器对应0100。Cube3表示在下标为3的位取反,得到1100,即12。
24.CRAY-1 的流水线是(A.多条单功能流水线)。
A.多条单功能流水线 B.单条单功能流水线
C.多条多功能流水线 D.单条多功能流水线
25.CRAY-1 的两条向量指令:V1 <-- V2 + V3、V4 <-- V1 x V5,它们属于(B.没有功能部件冲突和源向量冲突,可以链接)。
A.没有功能部件冲突和源向量冲突,可以并行执行
B.没有功能部件冲突和源向量冲突,可以链接
C.没有源向量冲突,可以交换顺序执行
D.有向量冲突,只能串行
功能部件冲突:两条向量加法运算都需要使用同一个加法功能部件。CRAY-1中存在多条流水线,两条指令分别用到+、*流水线,无功能部件冲突。
源向量冲突:两条向量指令在执行时,对同一个源向量寄存器提出读取操作的冲突。
若不采用链接技术,后一条指令因等待前一条指令写入完成,会使流水线停顿,浪费计算资源。而链接技术可将两条指令连接起来,让前一条指令的结果直接流入后一条指令的运算中。而两条指令更好存在先写后读的相关,可以进行链接,提高性能。
26.CRAY - 1 向量处理机中,启动存储器、流水部件及打入寄存器各需要1拍,现有向量指令串:V3 <-- 存储器 (从存储器中取数:6拍);V4 <-- V0+ V1 (向量加:6拍);V5 <-- V3 * V4 (向量乘:7拍),向量长度均为N,则上述指令串最短的执行时间是(A.16+N 拍)。
A.16+N 拍 B. 17+N 拍
C.15+N 拍 D. 18+N 拍
前两条指令不存在任何冲突和相关,可以并行;因此一组分量所需的拍数为:(启动存储器1拍+并行6拍+打入V3\V4寄存器1拍)+(启动存储器1拍+向量乘7拍+打入V5寄存器1拍)=17拍
而第二个指令串得到的V4可以直接用于第三个指令串的计算,因此可以将第二个指令串链接至第三个指令串,不用再写入寄存器后再读取。于是对于长度为 N 的向量,当完成第一组分量处理后,后续每隔 1 拍就能处理完一组新的分量。所以除了第一组分量花费 17 拍,第二组在第 18 拍结束,第 N 组在第 17+N-1 拍结束,总时长为 16+N。
27.假设F为蝶式函数,则F(0110)=(A.0110)。
A.0110 B.0111
C.1110 D.0011
蝶形单级网络:将二进制地址的最高位和最低位相互交换位置
28.32个节点的立方体连接的互连函数的个数是(D.5)个。
A.6 B.4 C.3 D.5
分析:N = 32,而 2 的 5 次方为 32。
29.网络中有16个处理机,若互连函数为均匀洗牌(全混洗)函数shuffle,则7号处理机连至 (A.14)号处理机。
A.14 B.6 C.7 D.11
均匀洗牌(shuffle)函数的作用是将二进制表示的处理机编号循环左移一位,最高位(最左边的位)移动到最低位(最右边的位)。
16个处理机,即位数为4;7 的二进制为 0111(用4位表示),因此通过均匀洗牌函数得到 1110,即14。
30.ILLIAC IV阵列处理机中,各处理单元之间所用的互连函数是(A.PM2+—(0) 和PM2+—(3))。
A.PM2+—(0) 和PM2+—(3) B.PM2+—2
C.均匀洗牌 D.立方体C0和C1
ILLIAC Ⅳ 阵列处理机有 64 个处理单元,排列成 8×8 的阵列 。任意一个处理单元 i 都与左(i-1)右(i+1)单元相连;任意一个处理单元 i 都与上(i-8)、下(i+8)单元相连。
-1和+1可表示为2的0次方,-8和+8可表示为2的3次方,故互连函数为A。
31.PM2i函数是一种可逆的互连函数(错误)
当处理单元为 8 时,PM2 +/-2 表示每次跃迁 2^2,即跃迁 4 个单位,即0->4->0,1->5->1,2->6->2,3->7->3,实现了 9 号处理单元连接到 4 号处理单元 、4 号处理单元又连接到 0 号处理单元的互逆。
而 PM2 +/-0,每次跃迁 1 个单位,0->1->2->3…,不能实现互逆。
32.假设在阵列机系统中,存储一个4*4的二维数组,要求能支持行、列和主、次对角线无冲突地访问,则:
(1) 需要(5)个分存储体;
(2) 若a00存放在1号体内,a12放在(0)号体。
解:
(1) m需大于4,而m=2^2p + 1,因此 p =1 时得到 m 最小值为 5,故需要 5 个分存储体
(2)
可计算得 θ1=2^p=2,θ2=1。
体号=aθ1+bθ2+c=2a+b+c;
又知 a00 在第 0 行第 0 列,即 a=0,b=0,且其所在的分体号为 1,代入公式:0+0+c=1,c=1
因此体号=(2a+b+1)取余5
a12 的 a=1,b=2,可得体号= 5%5 = 0,所以a12放在(0)号体
33.假定有一个4*4的矩阵A=(aij),以行为主序(按行处理)将所有元素存放在存储器的16个单元中。现需要实现矩阵的转置存放,即aij <–>aji,需要采用(全混洗)单级互连网络,共循环使用(4)次。
解:
16个单元,可用四个二进制位表示;要实现aij <–>aji,等价于将a32变为a23,即0011 0010(四位表示)变为0010 0011,因此循环左移四次即可,采用全混洗单级互连网络。
34.程序中有执行到的FORK、JOIN、GOTO等语句,均需要在(资源时间图)中体现。
35.写作废和写更新协议,哪一个占用总线资源更多?
写更新协议:CPU1 修改本地缓存中的 X 数据。通过总线广播新数据 X 的副本到 CPU2、CPU3……CPU_N。其他所有 CPU 收到广播后,更新各自缓存中的 X 数据。以后每次进行写操作,都需要广播。
写作废协议:CPU1 通过总线广播 “作废信号” 到 CPU2、CPU3……CPU_N。其他 CPU 收到信号后,删除缓存中的 X 数据块。以后每次进行写操作,CPU1 直接修改本地缓存,无需广播。
因此,写更新协议占用总线资源更多。
36.多处理机的Cache一致性问题是指(D.不同处理机的Cache中同一数据块可能不一致,Cache与共享主存中同一数据块也可能不一致)。
A.多个处理机从各自Cache中读取的数据不一致
B.Cache与共享主存中同一数据块可能不一致
C.不同处理机的Cache中同一数据块可能不一致
D.不同处理机的Cache中同一数据块可能不一致,Cache与共享主存中同一数据块也可能不一致
37.多处理机的机间互连形式不包括(D.混洗)。
A.交叉开关 B.开关枢纽结构 C.总线 D.混洗
多处理机的机间互连形式:交叉开关、总线、开关枢纽结构
混洗出现在阵列处理机结构中。
38.多处理机结构包含若干台独立的计算机,由统一的控制器进行协调控制。(错误)
在多处理机系统中,多台独立计算机均配备独立的控制器与操作系统。这些计算机在各自操作系统的协调控制下协同完成目标任务,而非通过统一的控制器进行集中控制。
39.多处理机系统中的计算机可以是同构型,也可以是异构型。(正确)
同构型:各处理及硬件架构、指令集相同。
异构型:各处理机分工明确,处理不同的任务。
40.以硬件为基础实现多Cache一致性方法有(监视Cache协议法)和(目录表法)。
41.多处理机程序段的指令之间存在数据输出相关时,下列说法正确的是(C.控制写入顺序,可以并行)。
A.只能并行,不能串行 B.可以交换串行
C.控制写入顺序,可以并行 D.不能并行
数据输出相关指两条指令写同一个存储单元,且后执行的指令先于前执行的指令写入。指令1:A = 10 (写操作);指令2:A = 20 (写操作)。交换串行会导致最终结果为10,而非20。
要保证程序无误,则解决方法有:
1.串行输入
2.并行输入,但控制写入顺序(如加锁)
42.多处理机的操作系统类型不包含(C.集中型)
A.各自独立型 B.主从型 C.集中型 D.浮动型
集中型通常指资源或控制集中在单一节点(如单处理机系统),不属于多处理机操作系统类型。
43.可以通过执行1次FORK语句,实现一轮运算中多个进程的并行执行。(错误)
执行1次FORK语句,只能派生出1个要并行执行的进程。
44.以下正确的是(A.多个并行的进程的JOIN语句共享一个计数器)
A. 多个并行的进程的JOIN语句共享一个计数器
B. 每当执行一次JOIN语句,计数器的值都会清0
C. 多个并行进程中,最早执行结束的负责汇合的工作
D. n表示的是进程的标识符
同一轮中多个并行的进程共享1个计数器,A对;
每执行1次JOIN语句,计数器的值将加一,B错;
假设总进程数 n=3,进程 A、B、C 并行执行:进程 A 先到达同步点,计数器 = 1(未达 n,继续等待);进程 B 随后到达,计数器 = 2(仍未达 n,继续等待);进程 C 最后到达,计数器 = 3(等于 n),此时所有进程同时被唤醒,计数器清 0,继续执行后续程序。可见,汇合操作不是由 “最早到达的进程 A”负责,因此选项 C 错误。
JOIN n,n表示进程数量,D错。
45.补充程序
FORK 10
FORK 20
S1 z=x+y
JOIN(3)
46.数据流计算机与控制流计算机的根本区别在于,机器是否需要(D.程序计数器)。
A.指令寄存器 B.主存 C.数据缓冲器 D.程序计数器
控制流计算机:计算机通过程序计数器(PC,相当于控制令牌)记录当前执行的指令地址,每次执行完一条指令后,PC 自动递增指向下一条指令,形成顺序执行流。
数据流计算机:当某个节点的所有输入数据都可用(即数据令牌到达)时,该节点被激活并执行计算,结果作为新的数据令牌传递给下游节点。
47.数据流程序图是数据流机器的(D.机器语言)。
A.编译程序 B.高级程序语言 C.汇编语言 D.机器语言
数据流程序图是数据流机器的机器语言,具体表示形式为有向图法和活动片法。
48.需求驱动的计算机实际完成的操作远多于数据驱动计算机。(错误)
对于需求驱动的计算机,从最终目标出发,反向推导所需的数据。只有当下游操作明确需要某个数据时,才会触发上游操作计算该数据。
对于数据驱动的计算机,只要数据就绪,操作就会被触发,不判断该操作是否最终必要,可能产生 “冗余操作”(即执行了后续不需要的中间结果)。
因此数据驱动的计算机产生的操作更多。
49.从语义上,数据流是基于异步性和函数性的一种计算模型。
第1级(最低级)的一条指令需要 K ns, 则第2级的1条指令 = N条第1级的指令,故所需时间为 NK ns;第3级的1条指令 = N条第2级的指令 = NN*K ns,以此类推。
红线部分对于计算机系统结构是透明的,无需关心。
解:
对于静态流水线,执行加法流程后才能执行乘法流程,执行乘法流程后才能执行加法流程。
同时,加法最大为1拍,所以隔1拍即可;但乘法最大为2拍,所以需隔2拍。
(1) (2) 如下所示:
(3) (4) 如下所示,对乘法的两拍进行细分,此时仅需间隔1拍:
效率为:37/80
56.可以进行链接的条件:1、存在写后读相关;2、不存在源向量冲突;3、不存在资源冲突
解:
由于有16个处理器,等价于4位二进制数,13的二进制为1101。
(1)Cube3表示将第三级取反,即将1101变为0101,连接至5号处理器。
(2)PM2+3,2的三次方为8,13+8=21,21%16=5,连接至5号处理器。
(3)PM2-0,2的零次方为1,13-1=12,连接至12号处理器。
(4)Shuffle用于将输入端二进制地址循环左移一位,1101左移一位后得到1011,连接至11号处理器。
(5)Shuffle(Shuffle),即Shuffle(1011),再左移一位得到0111,连接至7号处理器。
由于行列均为16个元素,因此行与列使用四位二进制数表示。由于a(i3i2i1i0,j3j2j1j0)需要转变为a(j3j2j1j0,i3i2i1i0),则需要循环左移四次;故采用单级全混洗网络可实现对该矩阵进行转置存放,需循环传送4步。
63.由软件实现的机器称为(虚拟机)。
64.在一个计算机系统中,低层机器的属性对高层机器的程序员往往是(透明)的。
65.程序的局部性包含程序的(时间)局部性和程序的(空间)局部性。
66.计算机系统的多级层次结构优点不包括(A)
A.可以更多地用固件或硬件来实现系统的功能
B.有助于理解各种语言的实质及其实现
C.有助于理解计算机体系结构的含义,从而合理地进行计算机系统的开发和设计
D.有利于探索虚拟机器新的实现途径,便于设计新的系统
67.固件是存储在芯片中的代码,可编程、可更新。(正确)
68.计算机系统结构的主要任务是(C.确定计算机系统软、硬件的功能分配)
A. 设计计算机硬件结构
B. 设计确定哪些功能可以由固件实现
C. 确定计算机系统软、硬件的功能分配
D. 计算机系统的设计具有高的性价比
69.以下属于计算机系统结构研究内容的是(B)。
A. 数据通路宽度
B. 存储容量
C. 是否设置多个取指部件
D. 调整 Cache 容量
70.尽可能加速处理高概率事件远比加速处理概率很低的事件对性能的提高要显著。(A.正确)
A. 正确
B. 错误
71.计算机组成是计算机系统结构的物理实现。(B,应为逻辑实现)
A. 正确
B. 错误
72.假设系统某一部件的处理速度加快到原来的 9 倍,改进后被改进部件的执行时间占系统总运行时间的 50%,问改进后,获得的加速比 Sp 是(B.5)
A. 4
B. 5
C. 6
D. 7
设改进后的执行时间为X,由50%可知,未改进部分的时间也为X。
73.不同系列的机器间,实现软件移植的途径不包括(B)。
A. 用统一的高级语言
B. 用统一的汇编语言
C. 模拟
D. 仿真
74.流水线采用的并行性开发途径是(B)。
A. 资源重复
B. 时间重叠
C. 资源共享
D. 以上都不是
75.设计新的系列机可以考虑:在 CPU 和主存之间增设 Cache 存储器以克服因主存访问速度过低而造成系统性能瓶颈。(A)
A. 正确
B. 错误
76.流水线体现的是并行性中的同时性。(B)
A. 正确
B. 错误
阵列处理机才符合同时性。
77.系列机软件兼容必须做到向(B)兼容,尽可能争取向(B)兼容。
A. 前;下
B. 后;上
C. 左;右
D. 上;下
78.为了在不同系统结构的机器间实现软件移植,可以采用模拟和(A)方法。
A. 仿真
B. 编译
C. 解释
D. 翻译
79.RISC 执行程序的速度比 CISC 快的根本原因是(A)。
A. 减少 CPI
B. 指令条数减少
C. 寄存器个数多
D. 以上都不是
80.以下不属于 RISC 的基本原则的是(D.尽量增加指令的寻址方式种类)。
A. 确定指令系统时,只选择使用频度高的那些指令,适当增加少量能有效支持操作系统和高级语言实现及其他功能的指令
B. 大多数指令使用硬联控制实现
C. 所有指令都在一个机器周期内完成
D. 尽量增加指令的寻址方式种类
81.RISC 采用重叠寄存器窗口技术,从而大大减少了(B)。
A. 绝大多数指令的执行时间
B. 程序调用引起的访存次数
C. 寄存器的使用数量
D. 指令的复杂程度
82.关于重叠解释错误的是(A)
A. 一条指令解释时间会减少
B. 多条指令解释时间会减少
C. 一条指令的各个微操作串行进行
D. 需要解决 “分析” 和 “执行” 操作并行
83.关于一次重叠工作方式说法正确的是(C)
A. 一条指令的解释步骤包括取指、分析、执行
B. 最多有取指、分析、执行三个操作重叠(错误,最多只有两个操作重叠)
C. 实现了分析、执行操作并行
D. 一次重叠方式分析和执行部件各配置2套(错误,各一套)
84.主存空间数相关采用的解决方法是(B)
A. 设置相关专用通路
B. 推后"分析k+1"的读
C. 提前读写操作
D. 以上都不对
85.通用寄存器数相关采用的方法是(B)
A. 推后"分析k+1"读
B. 设置相关专用通路
C. 增加寄存器数量
D. 优化指令顺序
86.以下说法不正确的是(D)。
A. 单功能流水线可以看作特殊的多功能流水线
B. 动态流水线一定是多功能流水线
C. 单功能流水线一定是静态工作方式
D. 动态流水线只能是单功能流水线
87.流水线的最大吞吐率取决于(C)。
A. 所有流水段的时间
B. 流水线的节拍数
C. 流水线中最慢子过程经过时间
D. 单位时间流出的任务数
88.流水线的工作阶段可分为(装入/建立)、(充满/满载)和排空。
89.按流水线是否有反馈回路,流水线分为(线性)流水线和(非线性)流水线。
90.流水线处理机并行性采用的开发途径是(A)。
A. 时间重叠
B. 资源重复
C. 资源共享
D. 以上三种都有
91.顺序流水线可能出现的相关是(B)。
A. 先读后写相关
B. 先写后读相关
C. 写写相关
D. 以上都不对
92.流水线转移相关的解决方案不包括(B)。
A. 加快形成条件码
B. 加快短循环程序的处理
C. 猜测成功分支
D. 延迟转移技术
解决方案:加快形成条件码、猜测成功分支、延迟转移技术
93.流水线的局部数据相关包括(ABC)。
A. 先读后写相关
B. 先写后读相关
C. 写写相关
D. 控制相关
94.动态多功能流水线的功能切换:前一个功能流出流水线之后,再切换到下一个功能。(错误)
95.一个 4 段非线性需要 9 拍才能完成一个任务,那么该流水线的冲突向量有(B)位。
A. 9
B. 8
C. 7
D. 6
96.一个非线性流水线有(1,7)和(7,1)两种调度方案,输入 8 个任务,最佳调度方案是(A)。
A. (1,7)
B. (7,1)
C. (1,7)和(7,1)都可以
D. 无法确定
97.一个非线性流水线由 5 段组成,一个任务经过该流水线需要 8 拍,相邻两个任务间隔 8 拍以上还是有可能发生流水段的争用。(错误)
98.冲突向量(CN…Ci…C2C1)中的第i位为 1,表示间隔i拍允许送入一个任务。(错误,为 0 才表示间隔i拍允许送入一个任务 )
99.一个任务在流经非线性流水线的全过程中,可能会多次通过同一段或越过某些段。(正确)
100.向量的处理方式可以采用(D)。
A. 向量横向处理
B. 向量纵向处理
C. 向量分组纵横处理
D. 以上都对
101.V0<- 存储器,V1<- 1/V0,以上两条向量可以采用(C)操作加快向量的执行。
A. 顺序
B. 并行
C. 链接
D. 以上都不对
102.由于向量内部各元素很少相关,且一般又是执行同一种操作,容易发挥流水线的效率。(正确)
103.V4 <- V1 * V2,V6 <- V3 * V5,以上两条向量指令可以并行。(错误,乘法部件可能仅一个)
104.V4 <- V1 + V2,V5 <- V1 ^ V3,以上两条向量指令可以并行。(错误)
105.关于阵列处理机说法不正确的是(C)。
A. 阵列机并行性的开发途径是资源重复。
B. 阵列机是专用机。
C. 阵列机的设计与并行算法没多大关系。
D. 同一时刻,阵列机中参与运算的处理单元执行相同操作。
106.关于 ILLIAC IV 处理单元阵列结构说法正确的是(D)。
A. 在 64 个处理单元组成的阵列中,任意处理单元之间距离都是 1。
B. 在运算中,阵列中的任何一个处理单元都参与操作。
C. 阵列结构属于网状结构。
D. 在 64 个处理单元组成的阵列中,单元 i 和(i+8)mod 64 的单元相邻。
107.关于具有分布式存储器阵列处理机的互连网络说法不正确的是(C)。
A. PE(处理单元) 之间的数据交换通过互连网络实现。
B. 互连网络的通路选择由控制部件统一控制。
C. 互连网络可以实现 PE 之间、PE 和存储体之间数据的交换。(错误,分布式阵列处理机中,互联网络ICN仅实现PE到PE的通信;集中式阵列处理机中,互联网络ICN实现了PE到存储体PEM的通信)
108.在 ILLIAC IV 处理单元阵列结构中,不和 PU9 相连的是(B)。
A. PU8
B. PU11
C. PU10
D. PU17
E. PU1
109.具有集中共享存储器的阵列处理机,处理单元个数要求小于存储体个数。(正确)
110.具有集中共享存储器的阵列处理机可能发生存储体访问冲突。(正确)
111.16 个处理单元采用 Shuffle 互连函数实现单级网络互连,那么 10 号处理机和(B)号处理机互连。
A. 11
B. 5(左移一位:10 的二进制为1010,左移一位为0101即 5)
C. 9
D. 10
112.阵列共 8 个处理单元采用单级互连网络互连,可以实现(0,4)、(1,5),(2,6)、(3,7)配对互连的互连函数是(B)。
A. Cube0
B. PM+2
C. Shuffle
D. PM-0
113.16 个处理单元采用单级蝶形互连网络互连。5 号处理单元和(C)号处理机相连。
A. 10
B. 5
C. 12(5 的二进制为0101,蝶形互连交换最高位与最低位,得1101即 12)
D. 9
114.互连网络的设计目标不包括(B)。
A. 互连灵活
B. 只要满足算法要求,不用考虑成本
C. 各单元之间互连信息传递最大步数要尽量少
D. 互连网络要模块化,可扩充性好
115.单纯的全混互连网络能实现二进制编号为全 “0” 和全 “1” 处理单元和其他处理机互连,增加 Cube0 函数组成全混交换网络没必要。(错误)
116.在单级立方体互连网络中,采用 Cube1 函数只能实现处理单元两两互连。(正确)
117.对于部分级控制,第 1 级的所有开关可以采用(2)个信号控制。
118.STARAN 交换网络采用的控制方式是(A)。
A. 级控制
B. 部分级控制
C. 单元控制
119.STARAN 移数网络采用的控制方式是(B)。
A. 级控制
B. 部分级控制
C. 单元控制
D. 以上都可以
120.16 个处理单元可以通过(B)级多级立方体互连网络实现互连。
A. 3
B. 4
C. 5
D. 不确定
121.关于多处理机说法不正确的是(C)。
A. 按 Flynn 分类,多处理机属于 MIMD 结构。
B. 可以实现任务级并行。
C. 多处理机在同一个控制器控制下并行。
D. 多处理机在统一操作系统控制下,实现指令、作业、任务级并行。
122.关于松耦合多处理机说法不正确的是(A)。
A. 松耦合多处理机共享存储,会发生访存冲突。
B. 松耦合多处理机的每个多处理机都有一个容量较大的局部存储器。
C. 把交互少的任务分配到不同的处理机,交互多的任务分配给相同处理机可以减少处理机间的信息量。
123.多处理机系统和多计算机系统的区别在于(C)。
A. 是否可以实现任务级并行。
B. 是否可以实现作业级并行。
C. 是否有一个统一的操作系统管理。
D. 以上都不对
124.多处理机的互连形式不包括(B)。
A. 总线形式
B. 立方体网络
C. 交叉开关
D. 开关枢纽结构
125.紧耦合多处理机通过共享主存实现处理机间通信。(A.正确)
A. 正确
B. 错误
126.在紧耦合多处理机中,为了减少访存冲突,主存采用多体交叉存取。(A.正确)
A. 正确
B. 错误
127.Pi A=B*C;Pj B=C+D
关于 Pi 和 Pj 在多处理机上执行说法正确的是(C)。
A. 不可以并行执行。
B. 只能顺序执行,并行会出错。
C. 可以并行执行,但是要保证读写的先后顺序。
D. 并行和顺序都可以正确执行。
128.Pi A=B;Pj B=A
若要实现两个变量交换数据,关于 Pi 和 Pj 在多处理机上执行说法正确的是(C)。
A. 顺序执行。
B. 可以交换顺序执行。
C. 必须并行执行。
D. 顺序和并行执行都可以保证执行正确性。
顺序执行(先 Pi 后 Pj 或先 Pj 后 Pi):若先执行 Pi: A=B,则 A 被赋值为 B 的原始值;随后执行 Pj: B=A,此时 A 已更新,B 会被赋值为 A 的新值(即原 B 的值)。最终结果为 A = 原 B,B = 原 B,未实现交换;若先执行 Pj: B=A,则 B 被赋值为 A 的原始值;随后执行 Pi: A=B,A 会被赋值为 B 的新值(即原 A 的值)。最终结果为 A = 原 A,B = 原 A,也未实现交换。
并行执行:若 Pi 和 Pj 同时读取 B 和 A 的原始值,再同时写入 A 和 B,则最终 A = 原 B,B = 原 A,实现交换。
129.多处理机系统和多计算机系统的区别在于( C )。
A. 是否可以实现任务级并行
B. 是否可以实现作业级并行
C. 是否有一个统一的操作系统管理
130.以硬件为基础实现多 Cache 一致性的方法有( AB )。
A. 监视 Cache 协议
B. 目录表法
C. 只能把不可写数据取到 Cache
131.采用低位交叉编址方式,对某一个模块来说,存储单元的物理地址是连续的。(错误)
132.在高位交叉编址方式中,连续地址空间的数据会连续存放到某一个存储模块。(正确)
133.监视Cache协议法只适合多处理机采用总线式互连时。(正确)
134.在紧耦合多处理机中,为了减少访存冲突,主存采用多体交叉存取。(正确)
135.当各个处理机上的活跃进程较少共享或基本不共享数据时,采用高位交叉编址更好。(正确)
136.关于 FORK 语句错误的是( D )。
A. FORK m 的功能是派生出标号为 m 开始的新进程
B. 如果共享内存,产生存储器指针、映像函数和访问权数据
C. 将空闲的处理机分配给被 FORK 语句派生的新进程
D. FORK 语句派生的新进程在当前处理机上执行
137.关于 JOIN n 说法正确的是( A )。
A. n 是并行进程的个数
B. 附有计数器,初值为 n
C. Join n 执行一次,计数器的值减一
D. Join n 执行一次,并行进程结束,继续执行后面的进程
138.在多处理机中,( C )的管理程序可以在各个处理机之间浮动,在某一时刻指定某一台处理机为控制处理机。
A. 主从型操作系统
B. 各自独立型操作系统
C. 浮动型操作系统
D. 以上都可以
139.关于数据流计算机说法错误的是(B.有变量的概念)。
A. 没有程序计数器
B. 有变量的概念
C. 没有共享存储数据的概念
D. 数据以数据令牌方式直接在指令之间传递
140.数据流程序图表示方法有(A)和(B)。
A. 有向图
B. 活动片
C. 流程图
D. 树形图
141.数据流是基于(A)和(C)的一种计算模型。
A. 异步性
B. 数据需求
C. 函数性
D. 数据驱动
142.数据流计算机的驱动方式包括(B.数据)驱动和(D.需求)驱动两种方式。
A. 函数
B. 数据
C. 计算
D. 需求
143.根据数据令牌的处理方式不同,数据流计算机可以分为(A.静态)数据流机和(B.动态)数据流机。
A. 静态
B. 动态
C. 有向图
D. 活动片
144.VON NEUMANN 计算机在程序计数器的集中控制下顺序地执行指令。(正确)
145.流水线技术利用的是(时间)并行性。
146.超标量技术利用的是(空间)并行性,因为它采用资源重复的方式,多条指令能在同一时钟周期内从不同单元并行执行。
147.指令系统的两大发展方向: CISC、RISC。
148.重叠方式和顺序方式的相同点在于(C)。
A.顺序执行指令 B.同时执行
C.执行一条指令时间相同 D.执行一段指令代码时间相同
149.列举基本互连函数
恒等置换:相同编号的输入端与输出端一一对应的互连(1对应1,2对应2,3对应3…)
交换置换:输入与输出端二进制地址第0位位置不同。(0为00,第0位不同,故0对应1,同理2对应3)
立方体置换:输入与输出端二进制地址第i位位置不同(Cube0、Cube1)
全混洗置换:将输入端的二进制地址循环左移一位(Sh)
加减2^i置换:将输入端数组循环移动2i的位置向输出端传送(PM2+i(x))
150.立方体单级网络:Cube
PM2I单级网络PM2+i(循环移数网络),共有2n个互连函数,其中2n-1种不同。例如共有编号0~7,则节点数N=8,2的3次方为8,因此n=3,由于互连函数分为两类,因此有6个互连函数,其中2n-1种不同,说明只有1种函数可逆。
混洗交换互连函数Exchange[Shuffle(bn-1bn-2…b1b0)]:先混洗再交换;即先左移,再在最低位取反。
蝶形单级网络:将二进制地址的最高位和最低位相互交换位置
151.任一单级互连网络可实现部分结点间的连接,但不能实现任意多对结点间的同时连接;几种互连函数反复调用,可实现任意结点间连接。
152.传统的冯诺依曼型计算机总是顺序地执行指令, 这是开发计算并行性的最大限制。
153.非冯诺依曼型计算机有哪些?
1.基于数据驱动的数据流计算机,使用数据流语言
2.基于需求驱动的归约计算机,使用函数式语言
3.基于模式匹配驱动的智能计算机,使用逻辑式语言
4.神经元计算机,仿照人脑组织结构和思维构成
154.介绍数据驱动的数据流方式
只要一条或一组指令所要求的操作数全部准备就绪,就可立即激发相应的指令或指令组执行。执行结果的输出将送往等待这一数据的下一条或下一组指令。指令的执行基本上是无序的,完全受数据流的驱动,与指令在程序中出现的先后顺序无关。数据是以数据令牌方式直接在指令之间传递的。
155.对于控制驱动的控制流方式而言,指令执行的顺序受程序计数器控制,即控制令牌所支配。
156.从语义上说,数据流是基于异步性和函数性的一种计算模型。
157.数据流的特性:
1.并行性
2.异步性
3.函数性
4.分散性
158.数据流程序图共有两种表示形式:有向图和活动片。
159.一个活动片1个操作码域、2个操作数域和1个目的域;其实质相当于是一条指令。
160.根据对数据令牌的不同处理方式,数据流计算机有两种结构,静态数据流机和动态数据流机。
161.归约机是需求驱动,执行的操作序列取决于对数据的需求,函数是基本成分。
162.数据流计算机与控制驱动的控制流的根本不同在于机器不需要程序计数器。
163.数据驱动计算机与需求驱动计算机有何不同之处?它们如何描述?是怎么分类的?
1.数据驱动的数据流方式
只要一条或一组指令所要求的操作数全部准备就绪,就可立即激发相应的指令或指令组执行。执行结果的输出将送往等待这一数据的下一条或下一组指令。指令的执行基本上是无序的,完全受数据流的驱动,与指令在程序中出现的先后顺序无关。数据是以数据令牌方式直接在指令之间传递的。它没有变量的概念,即没有共享存储。指令执行顺序只受指令中数据相关性的制约。
2.控制驱动的控制流方式
通过访问共享存储单元让数据在指令之间传递;指令执行的顺序性隐含于控制流中,但却可以显示使用专门的控制操作符来实现并行处理;指令执行的顺序受程序计数器控制,即控制令牌所支配。
164.以下不属于计算机系统结构研究内容的是(C.数据通路宽度)
A.寻址方式
B.中断分类和优先级
C.数据通路宽度
D.是否设置某一条指令
165.固件是一种具有软件功能的硬件。(对)
166.16个处理机采用单级立方体互连网络互连,5号处理机采用Cube1互连函数和(7)号处理机相连。
5=(0101)2,由于使用Cube1函数,因此0111->7。
167.多级混洗互连网络采用的控制方式是(单元控制)。
168.8个处理单元可以通过3级多级立方体互连网络实现互连。
169.A=B+E,A=C*D,二者在多处理机上执行,(C.可以并行执行,但是需要保证写入顺序)方式可行。
A.可以交换顺序执行。
B.不可以并行执行。
C.可以并行执行,但是需要保证写入顺序。
170.多处理机中程序段之间的数据反相关相当于流水线中的先写后读相关。(错误)
数据反相关:指令 2 写A数据,指令 1 读取A数据,若指令 2 提前执行,会导致指令 1 读取到错误数据。
171.多处理机中程序段之间的数据相关相当于流水线中的先读后写相关。(错误)
172.数据流计算机有有向图和活动片两种表示方法。
173.并行性开发的途径
1.时间重叠
让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部件,以加快部件的周转提高速度。不增加硬件设备(部件),可以提高性能价格比。(流水线计算机)
2.资源重复
通过重复设置硬件资源,提高性能和可靠性。由同一个控制器,控制多个处理器同时处理同一个数据,进行同个运算。(多体存储器,阵列处理机)
3.资源共享
用软件的方法,使多个用户按一定时间轮流地分时使用同一资源,以提高利用率,提高整个系统的性能。(网络打印机,多处理机系统)
174.并行性的定义与功能
并行性是指同时进行运算或操作的特性。即在同一时刻或同一时间间隔内完成两种或两种以上,性质相同或不同的工作。
功能:提高计算机处理的速度,包括运算速度、执行速度、数据存取的速度。
并行性可分为:同时性、并发性。同时性:并发事件在同一时刻发生,并发性:并发事件在同一时间间隔里发生。
175.模拟与仿真的定义
模拟:B机器的每条机器指令用A机器一段机器语言程序解释。
仿真:B机器的每条机器指令用A机器一段微程序解释。
176.软件可移植性的定义
软件产品不用修改或只需经过少量加工,就能由一台机器搬到另一台机器上运行。
177.向后兼容是软件兼容的根本特征,也是系列机的根本特征。
178.计算机系统设计准则分为软硬件取舍原则与计算机系统的性能评价。
179.计算机系统的层次特性是研究计算机体系结构的基础。
180.计算机的层次观点是结构观点。
181.操作系统级及以上级别为软件,操作系统级以下级别为硬件,因此操作系统级作为软硬件的交界面。
182.翻译与解释的定义
翻译:将高级程序全部变换成低级程序后再去执行新产生的低级程序,在执行过程中高级程序不再被访问。
解释:每当一条高级指令被译码后,直接去执行一串等效的低级指令,然后再去取下一条高级的指令,重复进行。
183.计算机系统作为一个整体,包括软件、硬件,它们之间无固定界面。
184.机器:能存储和执行相应语言程序的算法和数据结构的执行体。
185.计算机语言:是用以描述控制流程的、有一定规则的字符集合。
186.固件本质为代码,可编程、可更新,固件不能随意改变,固件需要存储在硬件芯片中,没有固件,硬件无法独立运行。
187.虚拟机器:用软件为主实现的机器。
188.计算机系统结构的定义
计算机系统结构(体系结构)是对计算机系统中各机器级之间界面的划分和定义,以及对各级界面上、下的功能进行分配,是从程序员的角度所看到的系统的属性,是概念上的结构和功能上的行为。计算机系统结构作为一门学科,主要研究软件、硬件功能的分配和对软件、硬件界面的确定。
189.计算机组成的定义
计算机组成是计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成以及逻辑实现。
190.计算机实现
计算机实现是计算机组成的物理实现,研究实际器件技术和微组装技术
191.计算机系统结构、组成和实现三者的相互关系
具有相同系统结构的计算机可以采用不同的组成,一种计算机组成可以采用多种不同的计算机实现;采用不同的系统结构使可以采用的组成技术产生差异,计算机组成也会影响系统结构;计算机组成的设计,其上决定于计算机系统结构,其下又受限于所用的实现技术,它的发展促进了实现技术的发展,也促进了结构的发展;计算机实现,特别是器件技术的发展是计算机系统结构和组成的基础,促进了组成与结构的发展;随着技术的发展,三者关系融合于一体,难以分开,在相互促进中发展。
192.控制流程的三种实现方法:全硬件、软硬件结合、全软件。
193.哈夫曼压缩原理:尽可能加速高概率事件远比加速处理概率很低的事件对性能提高要显著。
194.Amdahl 定律:使经常性事件的处理速度加快能明显提高整个系统的性能。
195.程序访问的局部性分时间上的局部性和空间上的局部性。时间局部性:程序中近期被访问的信息项很可能马上将被再次访问。空间局部性:指那些在访问地址上相邻近的信息项很可能会被一起访问。
196.存储器体系的构成就是以访问的局部性原理为基础的。
197.软件的可移植性
指软件不用修改或只需经少量加工就能由一台机器搬到另一台机器上运行,使得同一套软件可以应用于不同的硬件环境。
198.设计思路能采用的条件:1.扩充了原系统结构(如果是在系统结构的基础上改动但没扩展功能,则不采用) 2.没有改变系统结构。
例如“增加字符数据类型和指令,支持事务处理”是对系统结构的扩充,所以可采用。
例如“增强中断处理功能,将中断分级4级改为5级,并重新调整中断响应的优先次序”,这里仅仅改变了原有结构,没有扩充,不采用。
例如“在CPU和主存之间增设Cache,克服因主存访问速度过低而造成性能瓶颈”,这个功能不属于系统结构,因此没有改变系统结构,所以采用
例如“为解决计算误差大,将机器中浮点数的下溢处理方法由原来的恒置“1”法,改为ROM存放下溢处理结果的查表舍入法”,这个功能不属于系统结构,所以采用
例如“为增加寻址灵活性和减少平均指令字长,将原等长操作码改为3类不同码长的扩展操作码,将原操作数寻址方式由操作码指明改为如VAX-11那种寻址方式位字段指明”,这里仅仅改变了原有结构,没有扩充,不采用
例如“把原0号通用寄存器改为堆栈指示器”,这里仅仅改变了原有结构,没有扩充,不采用
199.进行模拟工作的A机称为宿主机;被模拟的B机称为虚拟机;进行仿真工作的A机称为宿主机;被仿真的B机称为目标机。
200.仿真与模拟的区别
1.解释用的语言不同
2.解释程序所存的位置不同:仿真存放在控制寄存器,模拟存放在主存中
201.耦合度反映多机系统中各机器之间物理连接的紧密程度和交叉作用能力的强弱。计算机系统可分为最低耦合系统和松散耦合系统、紧密耦合系统。
202.冯泽云分类:WSBS(字串位串);WSBP(字串位并);WPBS(字并位串);WPBP(字并位并)
203.冯·诺依曼的设计核心思想:程序存储。
204.指令系统分类:复杂指令系统计算机(CISC)、精简指令系统计算机(RISC,采用重叠寄存器窗口技术[减少访存]、延迟转移技术)
205.RISC的设计原则
1.使用频度很高的指令
2.大大减少寻址方式,全部指令具有相同的长度
3.所有指令在一个机器周期完成
4.扩大通用寄存器个数
5.采用硬联控制实现(硬布线)
6.通过精简指令和优化设计编译程序,以简单有效的方式支持高级语言
7.执行时间=CPIxIC/f
206.数相关分为主存空间数相关、通用寄存器组相关。
207.解决重叠方式相关处理的两种基本方法:
1.推后读延迟
2.设置“相关专用通路”
208.流水线常用连接图、时空图、预约表表示。
209.流水线效率低的原因:
1.多功能流水线,未用到的部件处于空闲
2.建立与排空时,部分设备部空闲;对于静态流水线,功能切换会增加建立和排空时间
3.送入流水线的任务数量少
4.进入流水线的任务存在相关问题
210.指令级高度并行的超级计算机有:超标量处理机、超长指令字处理机、超流水线处理机
211.超标量处理机在一个时钟周期内能够同时发射多条指令,拥有有两条或两条以上能够同时工作的指令流水线,以增加硬件资源为代价来换取处理机性能,实现了空间并行性。
212.超流水线处理机在一个周期内能够分时发射多条指令。
213.超流水线处理机的指令流水线有8个或更多功能段,通过各硬件部件充分重叠工作来提高处理机性能,实现了时间并行性。
214.条件转移解决方法:猜测执行法、延迟转移、加快提前形成条件码、加快短循环程序的处理。
215.中断的出现概率比条件转移的概率要低。
216.处理中断的主要方法是断点现场的保护和恢复,不是缩短流水线的断流时间。
217.向量处理机按向量元素和结果存放位置可分为存储器-存储器型(M-M)和寄存器-寄存器型(R-R)两类。
218.提高流水性能方法:增加流水线段数;每个时钟同时启动多条指令;减少相关,减少功能变换次数,增加处理指令条数。
219.多级系统指的是多处理机系统和多计算机系统。
多处理机系统:由多台处理机组成的单一计算机系统,各处理机都可有自己的控制部件,可带自己的局部存储器,能执行各自的程序。受逻辑上统一的操作系统控制。
多计算机系统:由多台独立的计算机组成的系统,各计算机分别在逻辑上独立的操作系统控制下运行,机间可以互不通信,实现多个作业的并行。
220.一般来讲:N=√N*√N个处理单元组成的阵列中,任意两个处理单元之间的最短距离不会超过√N-1步。
221.互连网络定义
互连网络是一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用于实现计算机系统内部多个处理机或多个功能部件之间的相互连接。
222.互连网络作用
1.用来实现计算机系统内部多个处理机或多个功能部件之间的相互连接。
2.互连网络已成为并行处理系统的核心组成部分。
3.互连网络对整个计算机系统的性能价格比有着决定性的影响。
223.阵列处理机采用同步互连网络方式;多处理机采用异步互连网络、同步/异步组合互连网络方式。
224.互连网络的一种基本功能是实现结点到结点之间的任意互连。
225.基本的单级互联网络分为:
1.立方体单级网络:Cube
2.PM2I单级网络:PM2+
3.混洗交换单级网络:左移一位
4.蝶形单级网络:将二进制的最高位和最低位相互交换位置
226.基本的多级互连网络分为:
1.多级立方网络
2.多级混洗交换网络
3.多级PM2I网络
4.基准网络
5.多级交叉开关网络
6.多级蝶式网络
227.模块大小为n·n时,合法状态为n^n,交换连接为n!
228.在多级互连网络中有多级交换开关,每一级又有多个交换开关。
通常有三种控制方式:
级控制:同一级交换开关使用同一个控制信号控制。
单元级控制:每个交换开关分别控制。
部分级控制:例如第i级使用i+1个控制信号控制。
229.STARAN交换网采用级控制;STARAN移数网采用部分级控制。
230.在共享主存构形阵列处理机中,若存储器带宽达不到向量带宽,或访存方式(步长)不同,将产生访存冲突。解决方法:采用多体交叉存储器增加MEM带宽;对向量分组操作,解决MEM带宽小于向量带宽问题。
231.多处理机系统是指有两台以上的处理机,共享I/O子系统,机间经共享主存或高速通信网络通信,采用资源共享的技术途径,属于多指令流多数据流(MIMD)。
232.多处理机的机间互连形式:
1.环形互连形式
2.交叉开关形式
3.多端口存储器形式
4.蠕虫穿洞寻径网络
5.开关枢纽结构形式
233.在多处理机中,如果各个处理机上活跃的进程是共享同一集中连续物理地址空间中的数据时,主存采用低位交叉编址。当各个处理机上的活跃进程较少共享或基本不共享数据时,采用高位交叉编址更好。
234.以硬件为基础实现多Cache的一致性方法:
1.监视cache协议法(写作废、写更新)
2.目录表法(全映像目录表法、有限目录表法、链式目录表法)
235.汇编语言机器就是机器语言程序。(错误)
236.程序的并行性分析有三种:数据相关(第一步的结果是第二步的源,不能并行操作)、数据反相关(第二步的结果是第一步的源,不能交换串行,但保证读写次序的情况下,可以并行执行)、数据输出反相关(第一步写入结果至A,第二步写入结果至A,可以并行,但是要保证次序)。
237.并行进程的特点:进程在时间上重叠执行。
238.派生与汇合
FORK m 操作:创建从标号 m 起始的新进程。若为共享内存模式,需生成存储器指针、映像函数及访问权数据,并为新进程分配空闲处理机;若无空闲处理机,新进程进入排队等待状态。
JOIN n 机制:配备初始值为 0 的计数器。执行时计数器自增 1 并与 n 比较:若相等,表明第 n 个并发进程已抵达 JOIN 点,允许继续执行并清空计数器;若小于 n,当前进程非最后一个,结束后释放所占用的处理机(优先分配给排队任务,无任务则处理机空闲)。
239.多处理机操作系统是多处理机系统软件的核心。
240.多处理机操作系统的类型:主从型、各自独立型、浮动型
241.数据流计算机没有程序计数器,指令的执行受数据流驱动;没有共享存储数据的概念;没有变量的概念,而是在指令间直接传送数据。
242.数据流计算模型是基于异步性和函数性的一种计算模型,分类:数据驱动、需求驱动。
243.数据流程序图是数据流计算机的机器语言,表示方法为有向图和活动模片。
244.计算机系统的定量设计原理分为:哈夫曼压缩原理、 程序局部性原理、 Amdahl定律。
255.高级语言机器由硬件固件实现。
256.计算机体系结构特征分类:
1.弗林Flynn分类法
单指令流单数据流(SISD)
单指令流多数据流(SIMD)
多指令流单数据流(MISD)
多指令流多数据流(MIMD)
2.库克分类法
单指令流单执行流(SISE)
单指令流多执行流(SIME)
多指令流单执行流(MISE)
多指令流多执行流(MIME)
3.冯泽云分类法
字串位串(WSBS)
字串位并(WSBP)
字并位串(WPBS)
字并位并(WPBP)
补充
指令间一次重叠说法错误的是(B.“分析k”完成后立即开始“执行k”)。
A. 仅“执行k”和“分析k+1”重叠
B.“分析k”完成后立即开始“执行k”
C.应尽量使“分析K+1”与“执行k”时间相等
D.只需要一套指令分析部件和执行部件
A 选项:在指令间“一次重叠”中,“执行k”和“分析k+1”重叠,即第k条指令在执行阶段时,第k+1条指令同时在分析阶段,该选项说法正确。
B 选项:“一次重叠”是让“分析k”和“执行k-1”重叠,并非“分析k”完成后立即开始“执行k”。
C 选项:为了使流水线效率最大化,减少空闲等待时间,应尽量让“分析k+1”与“执行k”时间相等,这样可以保证流水线的连续、高效运行,该选项说法正确。
D 选项:因为仅有相邻两条指令同时进行解释(一次重叠),所以只需要一套指令分析部件和执行部件即可满足需求,该选项说法正确。
Omega网络(多级立方体网络)采用单元控制方式。(×,采用级控制方式,Cube)
Benes二进制置换网络可以实现任意的置换连接。(√ )
直接相关通路法可解决先写后读相关。(√ )
静态流水线是多功能流水线。(× )
如果进入流水线的指令是顺序执行的,可能发生输出相关即WAW相关。(×,只有在乱序执行的流水线中才可能发生 WAW 相关。)
把瓶颈段进一步细分以消除瓶颈段的方法,实际上是按时间重叠途径改进瓶颈段的一种方法。(√ )
指令系统的确定属于(计算机系统结构)
在同一控制部件 CU 管理下,有多个处理单元 PU,所有 PU 均收到从 CU 送来的同一条指令,但操作对象却来自不同数据流的数据,根据 Flynn分类法,这种体系结构属于(SIMD)
超流水线处理机是通过细化流水、提高主频来实现指令级并行,每个时钟周期能流出多条指令,但本质上还是顺序执行,指令发射能力相对有限;超标量处理机在每个时钟周期能同时发射多条不同指令,可实现更强大的指令级并行。通常情况下,超标量处理机相对性能更高。
流水线中最慢的一段称为流水线的瓶颈段。
在线性流水线中,处理对象顺序流经流水线各段至多一次。(√ )
哈夫曼编码的平均码长是唯一的。(√ )
相同结构的计算机,可能因速度不同而采用不同的组成。(√ )
用MFLOPS来衡量机器的浮点操作性能并不可靠,因为不同机器上的浮点运算指令集不同。(√ )
资源重复:增加硬件设备
资源共享:轮流使用同一套硬件设备等资源
让多个处理过程在时间上错开,轮流重叠地使用同一套硬件设备的各个部分,这种发展计算机系统并行性的技术途径是(资源共享)。
下列关于阵列处理机与流水线处理机特点的描述,不正确的是(B)。
A.阵列处理机利用并行性中的同时性,而流水线处理机利用的是时间重叠
B.阵列处理机提高速度主要靠缩短时钟周期,流水线处理机主要靠增大处理单元数
C.阵列处理机使用互连网络来确定处理单元间的连接,而流水线处理机则不是
D.与流水线处理机不同,阵列处理机的结构是和所采用的并行算法紧密联系的
在 ILLIAC IV 阵列处理机中,任意两个处理单元之间的最短距离不超过7。
阵列处理机上用成对递归相加算法,执行16个数的累加运算,需要4次加法时间。
在一个时钟周期内能同时流出多条指令的处理机称为超标量处理机
在一个基本时钟周期内分时流出多条指令的处理机称为超流水线处理机
流水按处理的级别可分为部件级、处理机级和系统级。
与线性流水线最大吞吐率有关的是(C)
A.各个功能段的执行时间
B.最快的那一段的执行时间
C.最慢的那一段的执行时间
D.最后功能段的执行时间
下列多级互连网络中,可采用级控制方式的是(B)
A. Omega 网络
B.Staran 网络
C.间接二进制n方体网络
D.Benes 全排列网络
非线性流水线的特征是(B)。
A.一次运算中使用流水线中的多个段
B.一次运算中要多次使用流水线中的某些功能段
C.流水线中某些功能段在各次运算中的作用不同
D.流水线的各功能段在不同运算中可以有不同的连接
以下说法不正确的是(B)
A.线性流水线是单功能流水线
B.静态流水线是单功能流水线(先做加法再做乘法也可以在静态流水线中实现)
C.动态流水线是多功能流水线
D.宏流水线是系统级流水线
下列关于延迟转移的说法错误的是(D)
A.如果遇到一条无条件转移指令或一条条件转移指令且转移成功,那么按照重叠流水方式预取来的下一条指令或多条指令应该作废,以保证程序的正确执行。
B.延迟转移技术由编译器在转移指令后插入空操作指令NOP,使转移指令后的指令的取指令操作延迟。
C.延迟转移技术将转移指令与其前面的一条指令或多条指令对换位置,从而使预取的指令不必作废。
D.在将转移指令与其前面的一条或多条指令对换位置时,不用关心转移指令与这些指令之间是否存在数据相关。
固件是一种具有软件功能的硬件。
多处理机实现的并行主要是任务级并行。
计算机系统结构的主要任务是(D)
A.确定计算机系统的逻辑实现
B.确定计算机系统采用的元器件
C.确定计算机系统的软硬件功能分配
D.以上都是
多处理机的操作系统类型不包含(C)
A.各自独立型
B.主从型
C.集中型
D.浮动型
由于(流水线建立时间),流水机器的实际吞吐率低于其最大吞吐率。
v3<-v1+v2、v4<-v3+v5,二者没有功能器件冲突和源向量冲突,可以链接。
动态数据流计算机基于数据流模型,其核心是数据驱动,与控制流、程序计数器无关,数据令牌通常有标号。
低位交叉编址适用于(D)
A.阵列处理机
B.流水处理机
C.进程共享数据的多处理机
D.以上都可以
低位交叉编址将数据分散在不同存储体中,实现多体存储器的并行访问,因此ABC均可。
PI=A=B+F;PJ=C=A*B,i<j,只要控制读写顺序,可以并行。
重叠方式和顺序方式的相同点在于(C)
A.指令顺序执行
B.指令同时执行
C.执行一条指令的时间相同
D.执行一段代码指令时间相同
Join语句后应该紧跟着一个GOTO语句(错)
标量流水线属于单指令流单数据流(SISD)类型的系统,通过时间重叠途径,开发了并行性中的同时性。
异步流动流水线会出现“先读后写”相关和“写-写”相关,但在顺序流水线中不存在。
当多处理机采用总线机间互连方式时,可以采用监视法解决 cache 一致性问题,具体可以采用写作废协议和写更新协议。
设置专用部件(计算机组成)、主存速度(计算机实现)、寻址种类(系统结构)、数据通路宽度(计算机组成)。
ILLIAC IV 是一种SIMD(单指令流多数据流)结构的阵列处理系统,其处理单元间的连接关系是由PM2I(加减 2 的幂次)互连函数定义的。
重叠方式下数据相关的不同处理方法有?
1.推后读延迟:通过暂停后续指令的执行,等待前序指令完成数据写入,避免读取未更新的数据。
2.设置“相关专用通路”:通过专用硬件通路,将前序指令的运算结果直接传输给后续指令,避免访问寄存器带来的延迟。
计算机仿真用微程序解释,计算机模拟用机器语言解释。
阵列处理机按存贮器的组成方式可分为两种构形,分别为: 分布式存储器和集中共享式。
软件的可移植性定义:软件不修改或只经少量修改就可由一台机器移植到另一台机器上运行。