计算机组成原理期末复习题库

2026年7月3日 Crystal-Sky 62 min read 计算机组成原理计组期末复习题库
下载 PDF

数据的编码表示

本部分重点

  • 计算机采用二进制表示。
  • 原码、补码的表示,表示范围。
  • 规格化浮点数的表示范围与精度取决于什么。
  • IEEE754 单精度浮点格式,真值与编码转换。
  • 奇偶校验。

计算机采用二进制表示

题目 1.1

冯·诺依曼结构计算机中的数据采用二进制编码表示,其主要原因是()。

I. 二进制的运算规则简单

II. 制造两个稳态的物理器件较容易

III. 便于用逻辑门电路实现算术运算

  1. 仅 I、II
  2. 仅 I、III
  3. 仅 II、III
  4. I、II 和 III

题目 1.2

以下是有关冯·诺依曼结构计算机中指令和数据表示形式的叙述,其中正确的是()。

  1. 指令和数据可以从形式上加以区分
  2. 指令以二进制形式存放,数据以十进制形式存放
  3. 指令和数据都以二进制形式存放
  4. 指令和数据都以十进制形式存放

原码、补码的表示与表示范围

题目 1.3

若 $[X]_{\text{补}}=1.1101010$,则 $[X]_{\text{原}}=$()。

  1. $1.0010101$
  2. $1.0010110$
  3. $0.0010110$
  4. $0.1101010$

题目 1.4

在定点小数中,采用 $1$ 位符号位,若寄存器内容为 $10000000$,当它分别表示为原码、补码和反码时,其对应的真值分别为\underline{}、\underline{}和\underline{}。(均用十进制表示)

题目 1.5

在下列有关补码和移码,设偏置常数为 $2^{n-1}$,关系的叙述中,错误的是()。

  1. 零的补码和移码表示相同
  2. 相同位数的补码和移码表示具有相同的表示范围
  3. 同一个数的补码和移码表示,符号位相反,其余部分相同
  4. 一般用移码表示浮点数的阶,而用补码表示定点整数

题目 1.6

已知 $[x]_{\text{补}}=x_0.x_1x_2\cdots x_n$,则 $[-x]_{\text{补}}=$\underline{}。

规格化浮点数的表示范围与精度

题目 1.7

假定两种浮点数格式的位数都是 $32$ 位,但格式 $1$ 的阶码长、尾数短,格式 $2$ 的阶码短、尾数长,其它所有规定都相同。则它们可表示的数的精度和范围是()。

  1. 格式 $1$ 可表示的数的范围更小,但精度更高
  2. 格式 $2$ 可表示的数的范围更小,但精度更高
  3. 格式 $1$ 可表示的数的范围更大,且精度更高
  4. 两者可表示的数的精度和范围均相同

题目 1.8

若浮点数用移码表示阶码,补码表示尾数,则判断运算结果是否为规格化数的方法是()。

  1. 阶符与数符相同为规格化数
  2. 阶符与数符相异为规格化数
  3. 数符与尾数小数点后第一位数字相同为规格化数
  4. 数符与尾数小数点后第一位数字相异为规格化数

IEEE754 单精度浮点格式:真值与编码

题目 1.9

float 型数据通常用 IEEE754 单精度格式表示。若编译器将 float 型变量 $X$ 分配在一个 $32$ 位浮点寄存器 FR1 中,且 $X=-8.25$,则 FR1 的内容是()。

  1. C104 0000H
  2. C242 0000H
  3. C184 0000H
  4. C1C2 0000H

题目 1.10

假定某数采用 IEEE754 单精度浮点数格式表示为 $4C000000H$,求该数的十进制真值,要求写明计算过程。

题目 1.11

浮点数 $x$ 按 IEEE754 执行标准,则 $C136\ 0000H$ 的对应十进制数是\underline{}。

奇偶校验

题目 1.12

假定下列字符编码中含有 $1$ 位奇偶校验位,但没有发生数据错误,那么采用奇校验的字符编码是()。

  1. $0101\ 0011$
  2. $0110\ 0100$
  3. $1011\ 0100$
  4. $0011\ 0101$

指令系统

本部分重点

  • 指令集体系结构 ISA、指令系统、指令集的含义。
  • 定长指令,字段的构成,最大寻址空间等。
  • 常见寻址方式:立即数、寄存器直接寻址、寄存器间接寻址、存储器直接寻址、存储器间接寻址、变址寻址、相对寻址等。
  • 已知形式地址,如何计算操作数的有效地址。
  • 综合题:指令格式与寻址方式,如 MIPS 指令系统。

指令集体系结构 ISA、指令系统与指令集

题目 2.1

下面有关指令集体系结构的说法中,错误的是()。

  1. 指令集体系结构位于计算机软件和硬件的交界面上
  2. 指令集体系结构是指低级语言程序员所看到的概念结构和功能特性
  3. 指令集体系结构的英文缩写是 ISA
  4. 用户可见寄存器的长度、功能与编号不属于指令集体系结构

题目 2.2

指令系统采用定长操作码,一共有 30 种不同的操作指令,则操作码至少需要\underline{}位二进制数。

题目 2.3

下列说法中\underline{}是正确的。

  1. 加法指令的执行周期一定要访存
  2. 加法指令的执行周期一定不访存
  3. 指令的地址码给出存储器地址的加法指令,在执行周期一定访存
  4. 指令的地址码给出存储器地址的加法指令,在执行周期不一定访存

定长指令与字段构成

题目 2.4

某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令 29 条,二地址指令 107 条,每个地址字段为 6 位,则指令字长至少应该是()。

  1. 24 位
  2. 26 位
  3. 28 位
  4. 32 位

常见寻址方式与有效地址计算

题目 2.5

寄存器间接寻址方式中,操作数存放在\underline{},寄存器中存放的是\underline{}。

题目 2.6

()方式对实现程序浮动提供了支持。

  1. 变址寻址
  2. 相对寻址
  3. 间接寻址
  4. 寄存器间接寻址

题目 2.7

设指令字长等于存储字长,均为 24 位,若某指令系统可完成 108 种操作,操作码长度固定,且具有直接、间接、变址、基址、相对、立即等寻址方式,则在保证最大范围内直接寻址的前提下,指令字中操作码占\underline{}位,寻址特征位占\underline{}位,可直接寻址的范围是\underline{},一次间址的范围是\underline{}。

题目 2.8

假定采用相对寻址方式的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量,位移量用补码表示。取指令时,每次 CPU 从存储器取出一个字节,自动完成 $(PC)+1 \rightarrow PC$。假设执行到某转移指令时,取指令前 PC 的内容是 $200CH$,该指令的转移目标地址为 $1FFEH$,求该转移指令第二字节的内容,要求用十六进制形式表示,并写明计算过程。

题目 2.9

指令系统采用不同寻址方式的目的是()。

  1. 实现存贮程序和程序控制
  2. 缩短指令长度,扩大寻址空间,提高编程灵活性
  3. 可直接访问外存
  4. 提供扩展操作码的可能并降低指令译码的难度

题目 2.10

假设某指令的一个操作数采用变址寻址方式,变址寄存器中的值为 126,指令中给出的形式地址为 C000H,地址 C000H 中的内容为 B000H,则该操作数的有效地址为()。

  1. B126H
  2. C126H
  3. B07EH
  4. C07EH

MIPS 指令格式与寻址方式综合题

题目 2.11

指令长度 16 位,操作码 $OP[15:10]$,寄存器编号 $R[9:8]$,寻址方式 $MOD[7:6]$,形式地址 $A[5:0]$。假定要执行的指令为加法指令,存放在 $1000H$ 单元中,PC 中取指阶段后自增,形式地址 $A$ 的编码为 $02H$,主存按字编址。其中加法指令两个操作数,一个来自形式地址 $A$ 或者主存,另一个来自目的寄存器 $R_0$,运算结果放 $R_0$。

\[ \begin{array}{c|c|c} \hline MOD & \text{寻址方式} & A \\ \hline 00 & \text{立即寻址} & A\text{ 为立即数} \\ 01 & \text{变址寻址} & A\text{ 为偏移量} \\ 10 & \text{相对寻址} & A\text{ 为偏移量} \\ \hline \end{array} \]
\[ \begin{array}{c|c|c} \hline \text{存储单元地址} & \text{存储单元内容} & \text{寄存器内容} \\ \hline 1000H & 1000H & R_x=2000H \\ 1002H & 1100H & \\ \cdots & \cdots & R_0=0100H \\ 2001H & 2000H & \\ 2002H & 3000H & \\ \hline \end{array} \]

求:

(1)$MOD=00$,$(R_0)=$\underline{}

(2)$MOD=01$,$(R_0)=$\underline{}

(3)$MOD=10$,$(R_0)=$\underline{},$(PC)=$\underline{}

题目 2.12

(2026北科大期末考试题)假定计算机 $M$ 字长为 $16$ 位,按字节编址,连接 CPU 和主存的系统总线中地址线为 $20$ 位,数据线为 $8$ 位,采用 $16$ 位定长指令字,指令格式及其说明如下:

\[ \begin{array}{c|c|c|c|c|c} \text{格式} & 6\text{ 位} & 2\text{ 位} & 2\text{ 位} & 2\text{ 位} & 4\text{ 位} \\ \hline R\text{ 型} & 000000 & rs & rt & rd & op1 \end{array} \]

其功能为:

\[ R[rd] \leftarrow R[rs]\ op1\ R[rt] \]
\[ \begin{array}{c|c|c|c|c} \text{格式} & 6\text{ 位} & 2\text{ 位} & 2\text{ 位} & 6\text{ 位} \\ \hline I\text{ 型} & op2 & rs & rt & imm \end{array} \]

$I$ 型指令包括 ALU 运算、条件转移和访存操作三种指令。

\[ \begin{array}{c|c|c} \text{格式} & 6\text{ 位} & 10\text{ 位} \\ \hline J\text{ 型} & op3 & target \end{array} \]

$J$ 型指令功能为:

\[ PC \leftarrow pc + 2 + signext(target<<1) \]

其中,$op1 \sim op3$ 为操作码,$rs$、$rt$ 和 $rd$ 为通用寄存器编号,$R[r]$ 表示寄存器 $r$ 的内容,$imm$ 为立即数,$target$ 为转移目标的形式地址。请回答下列问题:

  1. $R$ 型格式最多可定义多少种操作?$I$ 型和 $J$ 型格式总共最多可定义多少种操作?通用寄存器最多有多少个?
  2. J形指令的基地址是什么,target的范围是什么,target给出的是偏移的指令条数还是偏移的物理块数.
  3. 假定 $op1$ 为 $0010$ 和 $0011$ 时,分别表示带符号整数减法和带符号整数乘法指令,则指令 $01B2H$ 的功能是什么?

运算器

本部分重点

  • 补码运算简化运算,简化运算器的设计。
  • 如何实现补码加减法与溢出判断,计算溢出标志。
  • 零扩展、符号扩展。
  • 多功能 ALU 的组成。

补码运算简化运算器设计

题目 3.1

为运算器构造的简单性,运算方法中常采用\underline{}加减法、\underline{}乘除法。

补码加减法与溢出判断

题目 3.2

某计算机字长为 $8$ 位,其 CPU 中有一个 $8$ 位加法器。$x$ 和 $y$ 是两个带符号整数变量,用补码表示,$x=68$,$y=36$。现要在该加法器中完成 $x-y$ 的运算。

  1. 该加法器输入的两个加数和低位进位分别是什么?用二进制形式表示。
  2. 若加法器中实现了溢出判断,则 $x-y$ 的机器数及相应的溢出标志 $OF$ 分别是什么?用二进制形式表示。

题目 3.3

假定有符号整数采用补码表示,若 int 型变量 $x$ 和 $y$ 的机器数分别是 $FFFF\ FFDFH$ 和 $0000\ 0041H$,则 $x$、$y$ 的值及 $x-y$ 的机器数分别是()。

  1. $x=-65,\ y=41$,$x-y$ 的机器数溢出
  2. $x=-33,\ y=65$,$x-y$ 的机器数为 $FFFF\ FF9DH$
  3. $x=-33,\ y=65$,$x-y$ 的机器数为 $FFFF\ FF9EH$
  4. $x=-65,\ y=41$,$x-y$ 的机器数为 $FFFF\ FF96H$

题目 3.4

定点补码加减法运算溢出判断的三种方法是什么?分别写出逻辑表达式并加以说明。

题目 3.5

某 $8$ 位计算机中,假定 $x$ 和 $y$ 是两个带符号整数变量,用补码表示,$x=+63$,$y=31$,则 $x-y$ 的机器数及其相应的溢出标志 $OF$ 分别是()。

  1. $0010\ 0000,\ OF=1$
  2. $0010\ 0000,\ OF=0$
  3. $1010\ 0000,\ OF=1$
  4. $1010\ 0000,\ OF=0$

题目 3.6

一个 C 语言程序在一台 32 位机器上运行。程序中定义了三个变量 $x,y,z$,其中 $x$ 和 $z$ 是 int 型,$y$ 为 short 型。当 $x=126$,$y=-9$ 时,执行赋值语句 $z=x+y$ 后,$x,y,z$ 的值分别是\underline{}。

  1. $x=0000007EH,\ y=FFF9H,\ z=00000075H$
  2. $x=0000007EH,\ y=FFF9H,\ z=FFFF0075H$
  3. $x=0000007EH,\ y=FFF7H,\ z=FFFF0075H$
  4. $x=0000007EH,\ y=FFF7H,\ z=00000075H$

零扩展与符号扩展

题目 3.7

8 位补码定点整数 $1010\ 0101$,扩展至 16 位后的值用十六进制表示为()。

  1. $00A5H$
  2. $A500H$
  3. $A5FFH$
  4. $FFA5H$

多功能 ALU 的组成

题目 3.8

ALU 的核心部件是()。

  1. 多路选择器
  2. 移位器
  3. 加法器
  4. 寄存器

题目 3.9

运算器的 ALU 输入端结构和寄存器组结构的选择会影响运算器速度,下面四个选择方案中,速度最慢的是()。

  1. ALU 输入端采用锁存器向 ALU 传送操作数,寄存器组采用高速小存储器结构
  2. ALU 输入端采用锁存器向 ALU 传送操作数,寄存器组采用独立寄存器结构
  3. ALU 输入端采用多路选择器向 ALU 传送操作数,寄存器组采用独立寄存器结构
  4. ALU 输入端采用多路选择器向 ALU 传送操作数,寄存器组采用高速小存储器结构

控制器

本部分重点

  • CPU 的组成,数据通路的组成、功能。
  • CPU 中某些部件如 PC、控制器等的功能。
  • 指令周期。
  • 转移指令、条件转移指令的操作,如 beq、jal。
  • 已知数据通路图,给出某指令的取指和执行阶段的全部传送操作及节拍安排。
  • 了解 IR、MDR、MAR 等部件功能。

CPU 的组成与数据通路的组成、功能

题目 4.1

CPU 的四个主要功能是\underline{}、\underline{}、\underline{}和时序控制。

题目 4.2

下列有关数据通路的叙述中,错误的是()。

  1. 数据通路由若干操作元件和状态元件连接而成
  2. 数据通路的功能由控制部件送出的控制信号决定
  3. 通用寄存器属于状态元件,但不包含在数据通路中
  4. ALU 属于操作元件,用于执行各类算术和逻辑运算

题目 4.3

CPU 内若设置一组通用寄存器,那么通用寄存器的位数一般取决于()。

  1. 指令字的长度
  2. 地址寄存器的位数
  3. 机器字长
  4. 主存容量

CPU 中常见部件的功能

题目 4.4

以下有关 CPU 中部分部件功能的描述中,错误的是()。

  1. IR 称为指令寄存器,用来存放当前指令的操作码
  2. PC 用于存放将要执行的指令的地址
  3. 通过将 PC 按当前指令长度增量,可实现指令的按序执行
  4. 控制单元用于对指令操作码译码并生成控制信号

题目 4.5

执行完当前指令后,PC 中存放的是后继指令的地址,因此 PC 的位数和()的位数相同。

  1. 指令寄存器 IR
  2. 程序状态字寄存器 PSW
  3. 主存数据寄存器 MDR
  4. 主存地址寄存器 MAR

题目 4.6

假设控制信号用 $C_n$ 来表示,指令译码器输出用 $I_m$ 表示,节拍信号用 $M_k$ 表示,状态反馈信息用 $B_j$ 表示,则控制器的基本原理可表示为()。

  1. $C_n=f(I_m)$
  2. $C_n=f(I_m,B_j)$
  3. $C_n=f(M_k,B_j)$
  4. $C_n=f(I_m,M_k,B_j)$

题目 4.7

CPU 响应中断时需要保存当前现场,这里现场指的是\underline{}寄存器和\underline{}寄存器的内容,它们被保存到\underline{}中。

题目 4.8

堆栈寻址需在 CPU 内设一个专用的寄存器,称为\underline{},其内容是\underline{}。

题目 4.9

状态寄存器中的各个状态标志位是依据\underline{}来置位的。

  1. 算术逻辑部件上次的运算结果
  2. CPU 将要执行的指令
  3. CPU 已执行的指令
  4. 累加器中的数据

题目 4.10

在计算机系统中,描述系统运行状态的部件是()。

  1. 程序计数器
  2. 累加器
  3. 通用寄存器
  4. PSW 寄存器

指令周期

题目 4.11

CPU 从主存取出一条指令并执行该指令的时间叫\underline{}。

题目 4.12

若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是 $t_{\text{取指}}=2ns$,$t_{\text{分析}}=2ns$,$t_{\text{执行}}=1ns$。则 100 指令全部执行完毕需()$ns$。

  1. $163$
  2. $183$
  3. $193$
  4. $203$

题目 4.13

假定执行最复杂的指令需要完成 6 个子功能,分别由对应的功能部件 A--F 完成,部件 A--F 所花的时间分别为 $80ps,40ps,50ps,70ps,40ps,30ps$,流水段寄存器延时为 $20ps$。现把最后两个功能部件 F 和 E 合并,以产生一个 5 段流水线。该 5 段流水线的时钟周期至少是()$ps$。

  1. $100$
  2. $90$
  3. $80$
  4. $70$

题目 4.14

某计算机的指令流水线由 4 个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为 $90ns$、$80ns$、$70ns$ 和 $60ns$,则该计算机的 CPU 周期至少是()。

  1. $90ns$
  2. $80ns$
  3. $70ns$
  4. $60ns$

转移指令与条件转移指令

数据通路传送操作与节拍安排

题目 4.15

某计算机的数据通路如下图所示,其中 $M$ 为主存,$MDR$ 为主存数据寄存器,$MAR$ 为主存地址寄存器,$R_0 \sim R_3$ 为通用寄存器,$IR$ 为指令寄存器,$PC$ 为程序计数器,$C$、$D$ 为暂存寄存器,$ALU$ 为算术逻辑单元,移位器不移位,控制信号可双向传送。

1

求指令

\[ ADD\ R_2,(R_1) \]

的取指和执行过程,其中指令功能是:

\[ R_2 \leftarrow R_2 + M[(R_1)] \]

该指令长度占一个编址单位。

题目 4.16

(北科大2026期末考试)设 CPU 中各部件及其相互连接关系如下图所示。图中 \(W\) 是写控制标志,\(R\) 是读控制标志,\(R_1\) 和 \(R_2\) 是暂存器。

datapath
  1. 假设要求在取指周期中由 ALU 完成 \((PC)+1 \rightarrow PC\) 的操作,即 ALU 可以对它的一个源操作数完成加 1 的运算。要求以最少的节拍写出取指周期全部微操作命令及节拍安排。
  2. 写出指令 \(\mathrm{ADD}\ \#a\) 在执行阶段所需的微操作命令及节拍安排。其中 \(\#\) 为立即寻址特征,隐含的操作数在 ACC 中。

IR、MDR、MAR 等部件

存储器

本部分重点

  • 层次化存储体系,速度、容量的关系。
  • 存储器容量与地址。

层次化存储体系,速度、容量的关系

题目 5.1

存储器分层体系结构中,存储器从速度最快到最慢的排列顺序是()。

  1. 寄存器--主存--Cache--辅存
  2. 寄存器--主存--辅存--Cache
  3. 寄存器--Cache--辅存--主存
  4. 寄存器--Cache--主存--辅存

题目 5.2

计算机的存储器采用分级方式是为了()。

  1. 减少主机箱的体积
  2. 存储大量数据方便
  3. 解决容量、速度、价格三者之间的矛盾
  4. 操作方便

存储器容量与地址

题目 5.3

内存储器容量为 $6K$ 时,若首地址为 $00000H$,那么末地址的十六进制表示为\underline{}。

题目 5.4

由容量为 $16KB$ 的缓存和容量为 $16MB$ 的主存构成的存储系统的总容量为\underline{}。

题目 5.5

存储容量为 $64KB$,按字节编址,$0000H$--$1FFFH$ 为 ROM 区,其余为 RAM 区,至少需要\underline{}片 $8K \times 4$ 位的 RAM。

杂例

本部分主要记录考试范围内比较模糊的一些题目,比如流水线是否会包含(虽然可以包含进入指令周期,但是这种背诵题目应该还是很痛苦的,放到这里缓解一下压力),以及一些非常规题目等

题目 6.1

为什么流水线方式会延长一条指令的执行时间?

题目 6.2

IBM370 的短浮点数格式中,总位数为 $32$ 位,左边第一位为数符,随后 $7$ 位为阶码,用移码表示,偏置常数为 $64$;右边 $24$ 位为 $6$ 位十六进制原码小数表示的尾数。

规格化尾数形式为:

\[ 0.x_1x_2x_3x_4x_5x_6 \]

其中 $x_1 \sim x_6$ 为十六进制表示,最高位 $x_1$ 为非 $0$ 数,底为 $16$。

若用该浮点数格式表示十六进制真值 $-1234H$,则对应的机器数是什么?

题目 6.3

挂接在总线上的多个部件()。

  1. 只能分时向总线发送数据,并且只能分时从总线接收数据
  2. 可同时向总线发送数据,但只能分时从总线接收数据
  3. 可同时向总线发送数据,并同时从总线接收数据
  4. 只能分时向总线发送数据,但可同时从总线接收数据

题目 6.4

I/O 指令实现的数据传送通常发生在()。

  1. I/O 设备和 I/O 端口之间
  2. 通用寄存器和 I/O 设备之间
  3. I/O 端口和 I/O 端口之间
  4. 通用寄存器和 I/O 端口之间

题目 6.5

下列关于 RISC 的说法中,错误的是()。

  1. RISC 普遍采用微程序控制器
  2. RISC 大多数指令在一个时钟周期内完成
  3. RISC 的内部通用寄存器数量相对 CISC 多
  4. RISC 的指令数、寻址方式和指令格式种类相对 CISC 少

题目 6.6

某浮点数字长 16 位,其中阶码 4 位(含 1 位阶符),以 2 为底,移码表示;尾数含 1 位数符,共 12 位,补码表示,规格化。求:

(1)真值 $(-2^5 \times 0.375)_{10}$ 的浮点数代码(16 进制表示编码)。

(2)浮点数编码为 $1010\ 0110\ 10000000$ 的真值。

题目 6.7

寄存器中的值有时是地址,有时是数据,在形式上没有差别,只有通过()才能识别它是数据还是地址。

  1. 寄存器编号
  2. 判断程序
  3. 指令操作码或寻址方式位
  4. 时序信号

题目 6.8

已知 \(X = 0.1010\),\(Y = -0.1011\),用原码一位乘法计算 \(X \times Y\),其中寄存器、加法器的宽度均为 4 位,写出结果。