计算机系统结构原题-2021年10月试卷-选择题

内容纲要

一、选择题

1. 汇编语言源程序变换成机器语言目标程序是经
A.汇编程序翻译
B.编译程序翻译
C.汇编程序解释
D.编译程序解释

答案: A

解析:
汇编语言源程序变换成机器语言目标程序的过程是由汇编程序来完成的。汇编程序读取汇编语言编写的源代码,然后将其转换(或翻译)为机器语言的目标代码。这个过程称为"汇编"。

编译程序则是将一种高级程序设计语言编写的源代码转换为机器语言的过程,这个过程称为"编译"。

解释器并不生成目标程序,它在程序运行时逐条指令地转换和执行源代码,没有转换(或翻译)为另一个程序的过程。

因此,正确答案是:

A. 汇编程序翻译


2 在计算机系统设计中,设计方法最好的是:
A.由上往下设计
B.由下往上设计
C.从两边向中间设计
D.从中间开始向两边设计

答案: A
在计算机系统设计以及一般的软件工程领域,通常认为“由上往下设计”是一种较好的设计方法。这种方法称为自顶向下设计(Top-down design)。自顶向下的设计方法首先确定高层次的设计决策,然后逐步细化为更详细和更具体的部分,直到达到最底层的细节。

这种方法的优点包括:

  1. 容易管理和组织:需求和功能在开始设计时得到明确定义,可以有效地组织各个开发阶段。
  2. 易于理解和维护:从更高的抽象层次开始,易于理解整个系统的架构。
  3. 允许逐步深化:可以逐步在已确定和验证的设计上添加更多细节。
  4. 帮助解决复杂问题:通过分解为较小、更易处理的部分来解决更大的问题。

这并不是说其他设计方法没有价值。例如,“由下往上设计”(Bottom-up design)在某些情况下(如利用现有的低级系统组件构建更复杂系统时)也很有用。然而,从一般应用和优先级的角度来看,自顶向下的方法是更常见和推荐的设计策略。

因此,正确答案是:

A. 由上往下设计


3 浮点数尾数基址Rm=8, 尾数数值部分长6位,可编制时的规格化最小整数尾数为:
A: 0.015625
B. 0.125
C. 0.25
D. 0.5

答案:B

解析
在浮点数的表示中,规格化的数意味着尾数的数值部分开始于最高位的非零数字。根据题目中的描述,基数 (Rm) 为 8,这表明我们在八进制(基数为8)下表示这个数。八进制下的规格化数必须以非零数字(在这种情况下是 1)开始。

由于尾数数值部分长6位,在八进制下,最小的规格化尾数将是:

1.00000(八进制)

在十进制中对应的最小值将是 (8^{-1}),因为尾数的小数点后第一位(八进制)等价于十进制中的 (8) 的负幂次。所以,

(8^-1 = 1/8 = 0.125) (十进制)

可见,浮点数的最小规格化尾数对应的十进制值是 0.125。

答案是 B. 0.125。


4 总线控制采用集中式定时查询需要额外增加控制线根数为
A. 3
B. N+2
C. 2+log2N
D. 2N+1

答案:B

解析:
集中式定时查询,也称为轮询,是一种在多个设备共享公共总线时用于控制总线访问的方法。在这种机制中,中央控制单元轮询每个设备以确定它们是否需要访问总线。

通常,为实现此机制至少需要以下控制线:

  1. 一个总线请求线(BUSREQ):用于设备表明它们希望使用总线。
  2. 一个总线允许线(BUSGRANT):用于中央控制单元授予设备对总线的使用。

对于有 N 个设备的系统,为每个设备都能独立接收其允许信号,你需要 N 条BUSGRANT线。再加上一条BUSREQ线,以及一条用于表示总线正在使用或者总线忙的信号线(BUSY),这样总的控制线数将是 N + 2。因此,总的需要的控制线根数为 N + 2。

所以,正确答案是 B. N+2。


5 不属于堆栈型替换算法的是:
A. 先进先出
B. 最近最少使用
C. 近期最久未使用
D. 页面失效频率法

答案:A

解析:
堆栈型替换算法是指那些遵循“栈性质”的页面替换算法,即最新使用的页面将被放在栈顶,而最早使用的页面会在栈底。这种算法保证了在栈中处于更高位置的页面是最近被访问过的,而处于更低位置的页面是最久未被访问的。

A. 先进先出 (FIFO):这不是一个堆栈型替换算法。它基于先进先出的原则进行页面替换——最先进入内存的页面将最先被替换。这种算法不考虑页面被访问的频率或时间。

B. 最近最少使用 (LRU, Least Recently Used):这是一个经典的堆栈型替换算法。最近最少被使用的页面首先被替换。

C. 近期最久未使用 (LRU-K):这种算法也是基于LRU的变体,是堆栈型替换算法。它记录了页面被访问的最近K次历史,以此预测哪个页面可能会在未来某段时间内最不可能被访问。

D. 页面失效频率法 (Page Fault Frequency, PFF):页面失效频率算法基于页面失效频率来动态调整分配给进程的页面数量,它并不直接通过栈的方式来选择替换页面,并不算是堆栈型替换算法。

因此,不属于堆栈型替换算法的是:

A. 先进先出


6 流水机器 IBM 360/91 对指令中断的处理方法是:
A. 指令复执法
B. 猜测法
C. 不精确断点法
D. 对流水线重调度法

答案:C

解析:
在流水线计算机中处理中断时,需要特别关注的问题是如何处理正在执行中或已经部分执行的指令。这里讨论的处理方法有几种:

A. 指令复执法(Re-execute):这种方法意味着在中断发生后,当前正在执行的指令被取消执行,中断处理完成后重新执行被中断的指令。

B. 猜测法(Speculation):这种方法会猜测一个指令的执行结果,在猜测被证实是正确的前提下继续执行后续指令。如果猜测错误,就撤销已经执行的指令,并重置处理器状态。

C. 不精确断点法(Imprecise Interrupts):在这种方法中,当中断发生时,流水线中的指令并不会立即停止执行,导致中断处理并不能立即精确地确定中断发生时机器的状态。中断处理完毕后可能需要额外的恢复操作。

D. 对流水线重调度法:这种方法涉及到在中断发生时,调整流水线中各个阶段的任务,可能会涉及到指令执行的推迟或是优先级的重新安排。

在IBM 360/91计算机系统中,采用的是C. 不精确中断(Imprecise Interrupts)的处理方法。该处理方法并不保证在中断发生时可以立即得到准确的程序计数器(PC)状态。这表示在处理中断时,可能有多个正在流水线中的指令处于部分完成状态,因此中断的精确位置是“不精确的”。这样可以提高性能,因为允许流水线在处理中断的同时继续执行其他指令,但是这也降低了错误处理的准确性。

正确答案是:

C. 不精确断点法


7 标量处理机的重叠方式中二次相关是:

A. 指令K与指令K+1存在先读后写相关
B. 指令K与指令K+2存在先写后读相关
C. 指令K与指令K+1存在先写后读相关
D. 指令K+1与指令k+2存在写写相关

答案:C

解析:
在标量处理机的重叠方式中,相关(也称为“冲突”或“依赖”)描述的是一条指令在执行过程中因另一条指令而无法继续执行的情况。相关通常分为三类:数据相关、结构相关和控制相关。数据相关又进一步分类为四种:RAW(read-after-write,读-写相关)、WAR(write-after-read,写-读相关)、WAW(write-after-write,写-写相关)和RAR(read-after-read,读-读相关)。

根据题目中提到的"二次相关",它可能是对“数据相关”的解释,我们可以根据给定的选项来分析:

A. 指令K与指令K+1存在先读后写相关(WAR):但WAR通常解释为,先写入数据的指令K+1后,后续指令K读取了相同的数据,即写-读。

B. 指令K与指令K+2存在先写后读相关(RAW):这种情况是先写入数据的指令K,在后续指令K+2中读取这些数据,即读-写。

C. 指令K与指令K+1存在先写后读相关(RAW):这种情况是指指令K写入了一个数据,然后指令K+1读取这些数据,即读-写。

D. 指令K+1与指令K+2存在写写相关(WAW):这种情况是两条指令都试图写入同一个位置,即写-写。

在查看了相关性类型和选项之后,我们通常认为“二次相关”或许是指RAW相关,即“read-after-write”相关,因为它是最常见的依赖类型,涉及到在前一条指令写入数据之后随后要读取这些数据的情况。RAW相关也是目前流水线架构中最具挑战性的相关类型,因为它需要先等待数据准备好才能执行读取操作。

因此,正确答案是:

C. 指令K与指令K+1存在先写后读相关


8 ILLIAC IV阵列处理机中,PE之间所用的互连函数是
A. Cube0与Cube1
B. PM2
C. Shuffle
D. PM2+-0和PM2+-3

答案:C

解析
ILLIAC IV 是一款在20世纪60年代末和70年代早期由伊利诺伊大学和伯克利放射实验室共同开发的早期超级计算机。这台计算机专门为并行计算设计,并引入了阵列处理机的概念,由多个处理元件(PE, Processing Elements)组成。

处理元件(PE)之间的互连函数为这些元件提供了相互通信的方式。阵列处理机的设计中常用的几种互连函数包括换位网络(Permutation Network)、Omega网络、Cube网络等。

选项中的Cube0, Cube1, Shuffle, PM2 都是典型的互连函数,用于在并行处理器之间路由数据。在ILLIAC IV阵列处理机中,通信采用的互连函数是:

C. Shuffle

Shuffle互连网络是一种能够在不同处理元件(PE)之间进行快速数据交换的通信模式,其设计利用了数据移位和换位操作来在并行处理器元素之间传输数据。Shuffle网络使得任意PE之间的通信在一系列步骤内可以实现,而不管它们之间的物理距离有多远。这种通信模式适用于并行数据处理和FFT(快速傅立叶变换)等应用。

因此,正确答案是:

C. Shuffle


9 混洗交换单级网络,最远的两个单元建立连接需要:

A. n-1次混洗和n-1次交换
B. n-1次混洗和n次交换
C. n次混洗和n-1次交换
D. n次混洗和n次交换

答案:D

解析
混洗交换网络是一种用于连接多个处理单元的网络架构,它由重复的“混洗”步骤和“交换”步骤组成。在混洗步骤中,数据元素的位置根据一个特定的模式进行重排;而在交换步骤中,相邻的数据元素可以根据需求交换位置。

要在一个单级混洗交换网络上建立最远的两个单元之间的连接,实际上需要将位模式进行完全翻转。对于一个具有 (2^n) 个处理单元的网络(每个处理单元可以用一个n比特的地址来唯一标识),需要进行n次混洗和n次交换来完全翻转位模式。

举个例子,如果有一个4个处理单元的网络,则可能的地址为00, 01, 10, 11。要从单位00连接到单位11,需要先进行一次混洗(将地址变为01),然后一次交换(变为11)。因此,对于一个n比特的地址,需要n个步骤混洗和n个步骤交换来实现从一个端点到另一个端点完全相反的端点的连接。

根据上述分析:

D. n次混洗和n次交换

所以正确答案应该是 D.


10 有关多处理机任务粒度说法正确的是

A. 任务粒度小,辅助开销大
B. 任务力度大,并行度高
C. 任务粒度小,并行度低
D. 认读粒度小,效率高

答案:A

解析:
多处理机系统中的任务粒度是指任务分解成为独立部分的大小。任务的粒度影响了系统的并行性和其他性能指标。

A. 任务粒度小,辅助开销大:这个陈述是正确的。如果任务粒度太小,任务之间的协调、通信及合并结果的辅助开销可能非常大,尤其是当这些辅助开销与执行实际任务的工作量相比成为主导时。每个小任务都有自己的调度、分配和同步等开销,这些会随着任务数量的增加而累积。

B. 任务粒度大,并行度高:这个陈述是错误的。任务粒度大通常会导致并行度降低,因为较大的任务难以在多个处理器间同时执行,降低了系统的并行利用率。

C. 任务粒度小,并行度低:这个陈述通常也是错误的。一般来说,如果任务粒度小,那么可以拥有更多独立的小任务同时在多个处理器上运行,这样理论上并行度是高的。不过这也取决于任务之间的依赖关系和通信开销。

D. 任务粒度小,效率高:这个陈述并不总是正确的。如之前所说,如果任务粒度过小,虽然理论上可以提高并行度,但是如果管理和通信开销太大,可能导致实际效率降低。

因此,与陈述最相符的是:

A. 任务粒度小,辅助开销大





发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部