软考中级习题与解答——第六章_计算机硬件基础(2)

发布于:2025-09-14 ⋅ 阅读:(21) ⋅ 点赞:(0)

例题1

1、知识点总结

弗林分类法根据指令流数据流的数量对计算机体系结构进行分类:

体系结构 指令流 数据流 描述 典型例子
SISD 单处理器体系结构。一次执行一条指令,处理一个数据流。 传统的单核CPU
SIMD 单指令多数据。一条指令同时作用于多个数据流。 向量处理器、GPU
MISD 多指令单数据。多个指令同时处理同一个数据流。 非常罕见,主要用于容错系统
MIMD 多指令多数据。多个处理器同时执行不同的指令,处理不同的数据流。 多计算机系统、多核CPU、集群

2、选项分析

A. SISD (单指令单数据) (× 错误)

  • 原因:SISD是传统的单处理器计算机,显然不是多计算机系统的结构。

B. SIMD (单指令多数据) (× 错误)

  • 原因:SIMD是阵列处理器或GPU的结构。一条指令同时控制多个处理单元对不同的数据进行相同的操作。多计算机系统的每个节点是独立工作的,不满足“单指令”的特征。

C. MISD (多指令单数据) (× 错误)

  • 原因:MISD是一种理论模型,在实际中极少应用。它要求多个处理器对同一数据流执行不同的操作(如流水线处理),这与多计算机系统每个节点处理不同数据的特征不符。

D. MIMD (多指令多数据) (√ 正确)

  • 原因多计算机系统(如计算机集群、分布式系统)由多个独立的计算机(节点)组成。每个节点都有自己的处理器和内存,独立地执行自己的指令流(多指令),处理自己的数据流(多数据)。这完美符合MIMD的定义。

3、最终答案:D


例题2

1、知识点总结

这道题考察的是计算机总线与扩展接口的知识点。题目描述虽然部分文字模糊,但关键信息清晰:“用于将显卡、声卡、网卡和硬盘控制器等高速外围设备直接挂在 CPU 总线上”。

总线/接口 全称 主要用途与特点 对应选项
PCI Peripheral Component Interconnect 用于连接高速外围设备(如图形卡、声卡、网卡、硬盘控制器)到主板芯片组(北桥),从而与CPU通信。是上世纪90年代至21世纪初的标准高速扩展总线 C (正确答案)
STD 总线 - 一种古老的、主要用于工业控制领域的8位总线标准,用于模块化板卡的连接,速度很慢,不适合连接高速外设。 A
交叉开关 Crossbar Switch 这不是一种“总线”,而是一种高速的内部互联结构(用于多处理器系统或路由器等设备的内部,连接多个输入和输出端口),不用于外接扩展卡。 B
Centronic 总线 - 一种古老的、并行打印机接口标准(俗称并口),速度极慢,主要用于连接打印机、扫描仪等低速设备。 D

2、选项分析

A. STD 总线 (× 错误)

  • 原因:这是一种过时的、低速的工业控制总线,完全不适合连接显卡等高速设备

B. 交叉开关 (× 错误)

  • 原因:这是一种用于系统内部互联的交换结构,而不是一种用于扩展外围设备的标准外部总线。用户无法将显卡、网卡插到“交叉开关”上。

C. PCI (√ 正确)

  • 原因PCI总线的设计目的就是为了解决高速外设(如显卡、声卡、网卡)与CPU的通信问题。它曾是个人计算机的标准扩展槽,完美匹配题目描述“将高速外围设备直接挂在CPU总线上”的场景。

D. Centronic 总线 (× 错误)

  • 原因:这是一种低速的并行打印机接口,根本无法满足显卡、硬盘控制器等设备的高速数据传输需求。

3、最终答案:C


例题3

1、知识点总结

计算机的CPU主要由运算器控制器两大部分组成。

控制器的核心功能
负责协调并控制计算机各部件执行程序的指令序列。其基本功能包括:取指令、分析指令、执行指令、控制程序和数据的输入与输出等。

控制器的主要组成部分

  • 程序计数器 (PC - Program Counter):存放下一条要执行的指令的地址。
  • 指令寄存器 (IR - Instruction Register):存放当前正在执行的指令。
  • 指令译码器 (ID - Instruction Decoder):对指令的操作码进行解析,产生相应的控制信号。
  • 时序发生器 (Timing Generator):产生时序脉冲和节拍电位,为整个计算机提供时序控制信号,确保各部件按时序协调工作。
  • 操作控制器:根据指令译码器和时序信号,产生各种操作控制信号,以正确地建立数据通路,完成指令的执行。
  • 数据缓冲寄存器 (DR - Data Register):暂时存放由内存储器读出或写入的指令或数据。

程序状态字寄存器 (PSW - Program Status Word) 属于谁?

  • PSW 是一个特殊的寄存器,用于存放当前程序执行的状态信息(如进位标志、零标志、溢出标志、中断允许标志等)和控制信息

  • 从其功能来看,它记录的是算术逻辑单元 (ALU) 操作的结果状态,并根据这些状态来影响后续的操作(如条件跳转)。

  • 因此,PSW 不属于控制器,而是属于运算器的一部分。它是运算器输出状态信息的存储地,控制器会读取PSW的内容来做出决策(如是否跳转),但它本身不是控制部件。

2、选项分析

A. 程序计数器 PC (属于控制器)

  • 控制器依靠PC来确定指令的执行流程,是控制器的核心部件。

B. 时序发生器 (属于控制器)

  • 产生控制整个机器工作的时序信号,是控制器的“节拍器”,绝对是控制器的一部分。

C. 程序状态字寄存器 PSW (不属于控制器)

  • 这是正确答案。PSW存储的是运算结果的特征(状态标志位),它更贴近于运算器(ALU) 的功能单元。控制器会使用PSW的信息,但PSW本身不属于控制器。

D. 数据缓冲寄存器 (属于控制器)

  • 数据缓冲寄存器(DR)用于暂时存放数据,是CPU和内存、外设之间数据传送的中转站,由控制器管理,属于控制器的组成部分。

3、最终答案:C


例题4

1、知识点总结

溢出是指运算结果超出了机器所能表示的范围。对于有符号数,溢出会导致结果错误。

溢出的基本条件:
溢出只可能发生在以下两种情况:

  • 两个正数相加,结果为负(正+正=负)。

  • 两个负数相加,结果为正(负+负=正)。

2、选项分析

  • SF (Sign Flag):符号标志,即结果的最高位。结果为负时SF=1,为正时SF=0。

  • CF (Carry Flag):进位标志,记录最高位(符号位) 向前产生的进位。有进位时CF=1,无进位时CF=0。

3、最终答案:D


例题5

1、知识点总结

“32位计算机”中的“位”(bit)是一个核心概念,它主要指的是计算机CPU一次能处理的数据宽度

字长 (Word Size):CPU一次能并行处理的二进制数据的位数。这决定了CPU的处理能力、计算精度和寻址能力。

32位计算机:是指该计算机的CPU字长为32位。这意味着:

  • 数据处理:CPU的通用寄存器、运算器(ALU)和数据总线的宽度通常是32位。因此,它能同时处理(例如:相加、相减、移动)32位的二进制数。

  • 寻址能力:CPU的寻址能力(能访问的内存大小)由地址总线的位数决定,但它通常与字长相关。32位地址总线最多可以寻址 2^32 = 4GB 的内存空间。但字长并不直接等于地址总线宽度

  • 运算精度:字长影响了CPU进行整数运算的精度,但与小数的精度(由浮点运算单元决定)没有直接关系。

2、选项分析

A. 能同时处理 32 位二进制数 (√ 正确)

  • 原因:这直接对应了“字长”的定义。32位计算机的核心特征就是其CPU能够并行处理32位的二进制数据。这是“32位”最准确、最根本的含义。

B. 能同时处理 32 位十进制数 (× 错误)

  • 原因:计算机内部使用二进制进行计算和存储,而不是十进制。CPU的位宽指的是二进制位数。处理十进制数需要额外的编码(如BCD码)和转换,与CPU的字长没有这种直接对应关系。

C. 具有 32 根地址总线 (× 错误)

  • 原因:这是一个常见的混淆点。字长(数据总线宽度)并不直接等于地址总线宽度。虽然32位计算机的地址总线通常是32位(从而寻址能力为4GB),但这不是绝对的。历史上存在过地址总线与数据总线宽度不同的CPU(例如Intel 8088是16位CPU,但地址总线为20位)。因此,用地址总线宽度来定义“32位计算机”是不准确的。

D. 运算精度可达小数点后 32 位 (× 错误)

  • 原因:CPU的字长主要影响整数的表示范围和精度。浮点数的精度(即小数点后的位数)是由浮点运算单元(FPU) 遵循的IEEE 754标准决定的(如32位单精度浮点数、64位双精度浮点数),与CPU的整数字长没有直接的等量关系。一个32位CPU完全可以处理64位的双精度浮点数。

3、最终答案:A


例题6

1、知识点总结

计算机的存储系统是一个层次结构,从上到下,容量越来越大,但存取速度越来越慢,成本也越来越低。其核心思想是:用少量快速昂贵的存储设备作为大量低速廉价存储设备的高速缓存。

存储层次(从快到慢,容量从小到大):

  • 寄存器 (Registers):位于CPU内部,速度最快,容量最小(以字节计),用于存储当前正在执行的指令所直接使用的操作数和结果。

  • 高速缓存 (Cache):位于CPU和主存之间,由SRAM构成,速度仅次于寄存器,容量比寄存器大(通常为KB到MB级别),用于缓存主存中当前最可能被CPU使用的指令和数据。

  • 主存储器 (主存 / Main Memory):通常由DRAM构成,速度比Cache慢一个数量级,容量更大(通常为GB级别),是CPU能直接寻址访问的存储空间。

  • 辅助存储器 (外存 / Secondary Storage):如硬盘、固态硬盘(SSD)、磁盘阵列等,速度最慢,但容量最大(通常为TB级别),用于长期持久地存储数据。题目中的“高速磁盘”即属于此类,即使再“高速”,其速度也无法与内存级别的设备相比。

2、选项分析

速度对比(近似概念):
访问寄存器 ≈ 1个CPU时钟周期
访问Cache ≈ 几到几十个CPU时钟周期
访问主存 ≈ 上百个CPU时钟周期
访问磁盘 ≈ 几百万个CPU时钟周期

3、最终答案:C


例题7

1、知识点总结

局部性原理是计算机科学中一个非常重要的概念,它是缓存技术能够高效工作的理论基础。该原理指出,程序在执行时,倾向于访问相对集中的存储区域。局部性原理主要分为两类:

时间局部性 (Temporal Locality)

  • 含义:如果一个信息项(指令或数据)正在被访问,那么它在近期很可能还会被再次访问
  • 例子:循环结构中的循环变量、计数器、频繁调用的函数指令。

空间局部性 (Spatial Locality)

  • 含义:如果一个信息项被访问,那么其邻近的信息项也很可能在近期被访问

  • 例子:顺序执行的指令、顺序遍历数组或集合中的元素。

局部性原理的综合描述就是:程序在执行时,对内存的访问不是均匀分布的,而是趋于聚集或成簇的。程序在一段时间内,会集中地访问一个相对较小的地址空间片段。

2、选项分析

A. 程序代码顺序执行 (× 错误)

  • 原因:这只描述了空间局部性的一个特例(指令顺序执行),但完全忽略了时间局部性(如循环跳转、函数调用)。局部性原理的含义远比“顺序执行”广泛。

B. 程序按照非一致性方式访问内存 (× 错误)

  • 原因:这个描述与局部性原理完全相反。局部性原理描述的是程序访问内存的规律性和一致性(即访问行为在时间和空间上是集中的),而不是“非一致性”的随机访问。

C. 程序连续地访问许多变量 (× 错误)

  • 原因:这个描述是模糊且具有误导性的。“访问许多变量”听起来像是访问范围很广,这与“访问相对集中的地址空间”相矛盾。局部性原理强调的是“访问集中”,而不是“访问许多”。

D. 程序在一段时间内访问相对小的一段地址空间 (√ 正确)

  • 原因:这直接、准确地概括了局部性原理的核心思想。它同时涵盖了时间局部性(“一段时间内”的重复访问)和空间局部性(访问“一段地址空间”及其邻近区域)。

3、最终答案:D


例题8

1、知识点总结

数据交换方式 核心特点 优点 缺点 CPU参与度
程序控制(查询)方式 CPU主动地、不断地查询I/O设备的状态,准备就绪则进行数据传送。 接口简单,易于实现。 CPU效率极低,绝大部分时间都在等待和查询。 ,全程参与
中断方式 I/O设备完成后主动向CPU发出中断请求,CPU中断当前程序,转去执行中断服务程序来完成数据传送。 提高了CPU利用率,CPU在I/O操作期间可以执行其他程序。 每次传输都需要CPU干预(执行ISR),传输大量数据时开销很大。 ,每次传输都需介入
DMA方式 DMA控制器(DMAC) 在不需要CPU干预的情况下,直接管理I/O设备与主存之间的数据交换。 传输数据不需要CPU干预,极大提高了CPU效率和数据传输效率。 接口电路复杂,成本较高。 ,仅在传输开始和结束时介入

DMA请求与中断请求的优先级

  • 通常,DMA请求的优先级高于中断请求。因为DMA请求通常用于高速设备的数据传输,如果得不到及时响应可能导致数据丢失。而中断请求的处理稍作延迟通常不会造成灾难性后果。

2、选项分析

A. 中断方式下,CPU 需要执行程序来实现数据传送 (√ 正确)

  • 原因:在中断方式下,当CPU收到中断请求后,会执行一段名为“中断服务程序(ISR)”的代码来完成实际的数据传输工作。这个叙述是正确的。

B. 按交换数据的效率从低到高:程序控制方式、中断方式、DMA 方式 (√ 正确)

  • 原因:这是三种方式的标准效率排序。

    • 程序控制方式效率最低(CPU忙等待)。

    • 中断方式效率中等(CPU无需等待,但每次传输都要介入)。

    • DMA方式效率最高(CPU几乎不参与数据传输过程)。这个叙述是正确的。

C. 中断方式和 DMA 方式相比,快速 I/O 设备更适合采用中断方式传递数据 (× 错误)

  • 原因:这是错误的叙述快速I/O设备(如磁盘、网卡)的数据传输率很高,如果采用中断方式,每次传输一个数据块(如一个扇区)都需要CPU中断一次,频繁的中断会消耗大量CPU时间,成为系统瓶颈。相反,DMA方式正是为这类设备设计的,它允许设备与内存直接进行大批量数据交换, 在传输开始和结束时需要CPU干预,从而解放了CPU。因此,快速I/O设备更适合采用DMA方式

D. 若同时接到 DMA 请求和中断请求,CPU 优先响应 DMA 请求 (√ 正确)

  • 原因:如前所述,DMA请求的优先级通常高于中断请求。这是为了防止高速设备的数据丢失,是计算机系统中的一种常见设计。这个叙述是正确的。

3、最终答案:C


例题9

1、知识点总结

这道题考察的是CISC(复杂指令集计算机)和RISC(精简指令集计算机)架构的区别

特性 CISC (Complex Instruction Set Computer) RISC (Reduced Instruction Set Computer)
设计哲学 强调指令的功能性,一条指令完成一个复杂功能 强调指令的简洁性,一条指令只完成一个基本操作
指令系统 指令数量多,格式可变长,寻址方式丰富 指令数量少,格式固定,寻址方式简单
指令使用频度 80-20定律:约20%的简单指令在程序中占80%的使用时间 通过精简,使指令使用频度相对均衡
执行方式 主要采用微程序控制(微码),执行复杂指令需多个时钟周期 主要采用硬布线逻辑控制,大部分指令在单时钟周期内完成
编译优化 更依赖硬件,编译器设计相对简单 更依赖编译器优化,将复杂操作由编译器用多条简单指令实现
访存操作 允许指令直接操作内存 采用Load/Store结构,只有专门的Load/Store指令才能访问内存

2、选项分析

A. 虽然 RISC 机器指令数量比 CISC 机器少,但功能更强大 (× 错误)

  • 原因:说反了。CISC的单一指令功能更强大(如一条指令完成内存到内存的字符串拷贝),而RISC的单一指令功能非常基本(如只完成寄存器之间的加法)。RISC的“强大”体现在通过简单指令的组合和流水线技术实现更高的执行效率,而非单一指令的功能。

B. RISC 机器指令使用频度比 CISC 机器更均衡 (× 错误)

  • 原因:这个描述不准确。RISC通过剔除那些不常用的复杂指令,使得保留下来的简单指令的使用频率都较高,从而变得“均衡”。而CISC由于指令集庞大,大量复杂指令很少被使用,才导致了“80-20”的不均衡现象。是CISC的不均衡催生了RISC的均衡设计,但选项的对比描述显得RISC是主动追求均衡,而CISC是主动追求不均衡,这不符合历史事实。

C. RISC 采用硬布线逻辑控制;CISC 采用微程序控制技术 (√ 正确)

  • 原因:这是CISC和RISC在控制单元实现上的一个经典且关键的区别。RISC指令简单、规整,适合用速度更快的硬布线逻辑直接实现。而CISC指令复杂、可变长,更适合用微程序(微码)来控制执行,灵活性更高但速度相对较慢。

D. RISC 机器指令系统中,各类指令都可以操作内存 (× 错误)

  • 原因:这恰恰是RISC最重要的设计原则之一——Load/Store结构。在RISC中,只有专门的Load(加载)和Store(存储)指令可以访问内存,其他所有指令(如算术、逻辑指令)都只能操作寄存器。而CISC则允许很多指令直接操作内存。

3、最终答案:C


例题10

1、知识点总结

这道题考察的是浮点数表示法中,指数和尾数的位数分配对表示范围和精度的影响

在总位数固定的情况下,指数部分 E 和尾数部分 M 的位数分配是一种权衡

部分 位数增加的影响 位数减少的影响
指数 (E)

可表示的数的范围扩大(指数最大值变大)

可表示的数的范围减小(指数最大值变小)
尾数 (M)

可表示的数的精度提高(有效数字位数变多)

可表示的数的精度降低(有效数字位数变少)

核心关系:

  • 范围主要由指数位数决定。

  • 精度主要由尾数位数决定。

2、最终答案:D