计算机组成原理 · 常见问答集
从AI对话中整理的知识点问答,按章节组织,每题附有简要解答和对应笔记导航。
第1章 计算机系统概述
Q1:冯·诺依曼机的基本工作方式特点是什么?
A:按地址访问并顺序执行指令。冯·诺依曼结构的特点是存储程序、顺序执行。
→ 详见 [[第1章-计算机系统概述#1.1 计算机的产生和发展]]
Q2:计算机系统的层次结构中,从最上层用户到最底层硬件的顺序是什么?
A:应用语言级 → 高级语言级 → 汇编语言级 → 操作系统级 → 传统机器级 → 微程序级 → 硬联逻辑级。
→ 详见 [[第1章-计算机系统概述#1.3 计算机的层次结构]]
Q3:计算机系统中的软件分哪两大类?
A:系统软件(操作系统、编译程序等)和应用软件两大类。
→ 详见 [[第1章-计算机系统概述#1.4 计算机系统的组成]]
Q4:在计算机系统中,负责执行指令的部件是什么?
A:CPU(中央处理器)。内存存储指令和数据,硬盘存储数据,显卡处理图形。
→ 详见 [[第1章-计算机系统概述#1.2 计算机的硬件]]
Q5:内存为4GB,按字节编址,需要多少位地址?PC的位数是多少?
A:4GB = 2³² 字节,所以地址需要 32位。PC(程序计数器)的位数由地址空间决定,也是 32位。
→ 详见 [[第1章-计算机系统概述#1.4 计算机的主要技术指标]]
Q6:从计算机层次结构的角度,功能在软硬件之间迁移的基本原则是什么?
A:硬件加速原则——将频繁执行、对性能影响大的功能用硬件实现;将复杂、不频繁或需要灵活性的功能用软件实现。具体考虑:执行频率、速度与成本权衡、固定性 vs 可变性、层次透明性、局部性原理、标准化程度。
典型案例:浮点运算从软件库 → 协处理器 → CPU内部FPU。
→ 详见 [[第1章-计算机系统概述#1.3 计算机的层次结构]]
第2章 计算机的逻辑部件
Q7:三态门的三个状态是什么?作用是什么?
A:三态门的三个状态是:高电平(逻辑1)、低电平(逻辑0)、高阻态(Hi-Z)。核心作用是实现多个设备分时共享同一根总线。正常工作时输出高/低电平,不工作时输出高阻态(相当于断开连接),保证多个三态门的输出连在同一总线上不会冲突。
→ 详见 [[第2章-计算机的逻辑部件#2.1.1 三态电路]]
Q8:ROM和PLA的区别是什么?
A:ROM是存储器件,内部由固定的地址译码器(与阵列)和可编程的或阵列组成,本质上是一个查找表。PLA是逻辑器件,其与阵列和或阵列都是可编程的,用于实现布尔逻辑表达式。ROM应用于固件存储,PLA应用于控制器设计。
→ 详见 [[第2章-计算机的逻辑部件#2.3 阵列逻辑电路]] 和 [[第4章-主存储器#4.3 非易失性半导体存储器]]
Q9:微指令格式设计中,下址字段、条件测试字段、微命令字段的排列顺序有强制要求吗?
A:没有强制顺序。常见做法:下址字段放在最高位(便于顺序递增),条件测试字段靠近下址字段(条件判断后快速决定下址),微命令字段放在一端(便于直接输出到控制线)。
→ 详见 [[第6章-中央处理器#微指令编码方式]]
第3章 运算方法和运算部件
Q10:ROM和RAM的区别是什么?
| 对比项 | RAM | ROM |
|---|---|---|
| 数据保持 | 断电即失(易失性) | 断电不丢失(非易失性) |
| 速度 | 快 | 相对较慢 |
| 容量 | 通常较小 | 通常更大 |
| 手机对应 | 运行内存(如12GB) | 存储空间(如256GB) |
RAM是"工作台",ROM是"储藏室"。
→ 详见 [[第4章-主存储器#4.2 读写存储器]] 和 [[第4章-主存储器#4.3 非易失性半导体存储器]]
Q11:若[X]补 = 11110011,则[-X]补是多少?
A:各位取反,末位加1:取反得 00001100,加1得 00001101。
→ 详见 [[第3章-运算方法和运算部件#3.2 带符号的二进制数据在计算机中的表示方法]]
Q12:浮点数中的阶码用什么表示法?
A:移码(又称增码)表示法。移码便于比较大小,且将真值映射为正数,简化了硬件实现。
→ 详见 [[第3章-运算方法和运算部件#3.3 浮点数的表示方法]]
Q13:对真值0表示形式唯一的机器数是什么?
A:补码。原码和反码对0都有"+0"和"-0"两种表示形式,而补码的0只有唯一一种表示(全0)。移码也只有唯一表示,但通常强调补码。
→ 详见 [[第3章-运算方法和运算部件#3.2 带符号的二进制数据在计算机中的表示方法]]
Q14:格雷码属于有权码吗?
A:错误。格雷码属于无权码。有权码每一位都有固定的权值(如8421码),格雷码的特点是相邻两个数之间只有一位码元不同(循环码特性),没有固定的权值。
Q15:BCD码是什么?
A:BCD码(Binary-Coded Decimal,二进制编码的十进制)是用4位二进制数表示1位十进制数(0-9)的编码方式。最常用的是8421 BCD码。十进制数12的BCD码是 0001 0010(1和2分开编码)。用途:金融计算(避免浮点数误差)、电子表、计算器等。
→ 详见 [[第3章-运算方法和运算部件#3.1 数值型数据的表示和转换]]
Q16:一个二进制能否表示任意一个十进制数?
A:不能。分情况:整数可以精确表示(只要位数足够);小数不一定(很多十进制小数如0.1在二进制中是无限循环的,只能近似);任意大的数也不能(位数有限)。
Q17:7/16转二进制的结果是什么?
A:0.0111。因为分母16=2⁴是2的幂,可以直接将分子7的二进制 0111 视为小数点后4位。
Q18:二进制小数1.11111111转十进制的结果?
A:1.99609375。计算:1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 = 1 + 255/256 = 1.99609375。
Q19:请举例说明IEEE 754单精度浮点数的转换。
A:以 -12.625 为例:
- 符号位:1(负数)
- 二进制:12.625 = 1100.101 = 1.100101 × 2³
- 指数:3 + 127 = 130 =
10000010 - 尾数:
10010100000000000000000 - 结果:
1 10000010 10010100000000000000000=C14A0000(十六进制)
→ 详见 [[第3章-运算方法和运算部件#IEEE 754标准]]
Q20:单精度浮点数 x = 0xCC900000 和 y = 0xB0CD0000,比较大小。
A:x < y。
- x:符号位1(负),指数153(实际26),尾数1.125,数值 ≈ -75,497,472
- y:符号位1(负),指数97(实际-30),尾数1.6015625,数值 ≈ -1.49×10⁻⁹
- 同号负数,绝对值大的更小,所以 x < y。
→ 详见 [[第3章-运算方法和运算部件#IEEE 754标准]]
Q21:如果 [X]补 = 11110011,求[-X]补是多少?
(与Q11重复,故略)
Q22:尾数9位补码规格化和非规格化的负数范围?
(原文提及但未展开详细解答,仅作为主题存在)
Q23:布斯公式(Booth算法)的原理?
A:补码一位乘法(Booth算法)通过比较相邻位来决定操作:
- 00/11:右移一位
- 01:加[X]补,右移一位
- 10:加[-X]补,右移一位
- 重复n+1次,最后一步不移位
→ 详见 [[第3章-运算方法和运算部件#3.6 二进制乘法运算]]
Q24:8位二进制补码的最小结果是什么?
A:10000000 = -128。补码范围:-2⁷ ~ +(2⁷-1) = -128 ~ +127。
→ 详见 [[第3章-运算方法和运算部件#定点整数]]
Q25:9Bh移码转十进制是多少?
A:9Bh 的移码 = 10011011B,移码=补码符号位取反,所以补码 = 00011011B = 27(十进制)。或者直接:移码偏移量 2⁷ = 128,9Bh = 155,155 - 128 = 27。
→ 详见 [[第3章-运算方法和运算部件#3.2 带符号的二进制数据在计算机中的表示方法]]
校验码
Q26:海明码校验位数怎么计算?
A:设数据位k位,校验位r位,满足 2^r ≥ k + r + 1。校验位 Pi 放在位号 2^(i-1) 的位置上,每位数据位被多个校验位共同校验。
→ 详见 [[第3章-运算方法和运算部件#海明校验码]]
Q27:接收到的数据为97842FE4H,校验码(校验子)为0110B,出了什么情况?
A:这是海明码场景,校验子 0110B = 6,表示第6位出错。将接收到的码字第6位取反即可纠正。
Q28:(修正)不是海明码,是奇校验。数据97842FE4H,校验码0110B(4位分别对应4个字节),出了什么情况?
A:将数据拆分为4个字节:97H、84H、2FH、E4H,各字节1的个数为5(奇)、2(偶)、5(奇)、4(偶)。期望校验码应为0101B,而收到0110B。第3和第4字节奇校验失败,说明这两个字节各自发生了奇数个错误。
→ 详见 [[第3章-运算方法和运算部件#奇偶校验码]]
第4章 主存储器
Q29:课堂预习-第4章主存储器判断题
| 题号 | 答案 | 解析 |
|---|---|---|
| 1 | A(对) | 存储器用于存放数据 |
| 2 | B(CD-ROM) | CD-ROM采用顺序/非随机存取方式 |
| 3 | C | 存取周期是连续读/写操作允许的最短时间间隔 |
| 4 | B(8位) | 按字节编址,每个单元存放1字节 |
| 5 | C | 内存储器容量小、速度快、成本高 |
| 6 | A | SRAM依靠双稳态电路存储信息 |
| 7 | A(对) | 主存由RAM和ROM组成 |
| 8 | C(26) | 256K×8:地址线18根+数据线8根=26 |
| 9 | D(3FFFFH) | 256KB=2¹⁸字节,末地址=3FFFFH |
| 10 | B(错) | 多体交叉存储器可交叉访问也可同时访问 |
→ 详见 [[第4章-主存储器#4.1 分类技术指标和基本操作]]
第5章 指令系统
Q30:课堂预习-第5章指令系统判断题
| 题号 | 答案 | 解析 |
|---|---|---|
| 1 | A(对) | 指令系统是全部指令的集合,描述控制信息和逻辑判断能力 |
| 2 | B(错) | 不同寻址方式的目的是提高数据访问的灵活性,而非扩展操作码 |
| 3 | D(变址寻址) | 先计算有效地址(基址+变址),再访问内存 |
| 4 | D(寄存器寻址R) | 直接取寄存器R的内容200,无需访问内存 |
| 5 | B(错) | 题干描述的是CISC特点,RISC是指令条数少、长度固定、寻址方式简单 |
→ 详见 [[第5章-指令系统#5.2 机器指令特征]] 和 [[第5章-指令系统#5.3 指令格式]]
第6章 中央处理器
Q31:80条指令,每条对应4条微指令(1条公用),微指令长32bit,估算控制器容量。
A:独有微指令数 = 80 × 3 = 240,加上1条公用 = 241条。容量 = 241 × 32 = 7712 bit ≈ 964 Byte。但控制存储器按2的幂组织,取 256×32 bit(8192 bit)。
→ 详见 [[第6章-中央处理器#6.2 微程序控制计算机的基本工作原理]]
Q32:微程序控制命令有33位,5个互斥类,分别包含7、3、12、5、6个微操作,这样的命令一共多少个?
A:每位对应一个微操作,互斥类内同一时刻只能有一个有效(或空操作)。各互斥类状态数为微操作数+1,总命令数 = (7+1)×(3+1)×(12+1)×(5+1)×(6+1) = 8×4×13×6×7 = 17472。
→ 详见 [[第6章-中央处理器#微指令编码方式]]
Q33:指令周期定义是什么?
A:CPU从主存取出一条指令并执行该指令所需的时间。一个指令周期由若干机器周期组成,一个机器周期由若干时钟周期组成。
→ 详见 [[第6章-中央处理器#6.1 CPU的功能和组成]]
Q34:TEC-2实验计算机判断题
| 题号 | 题干 | 答案 |
|---|---|---|
| 3 | 无操作数指令为单字指令 | A(对) |
| 4 | 6116芯片容量是2K×4b | B(错,是2K×8) |
| 5 | LDMC指令主要功能是向控制存储器写入新微程序 | A(对) |
| 6 | AM2910用了10条命令 | A(对) |
| 7 | AM2901有16个通用寄存器,R4可放任何数据 | A(对) |
| 8 | TEC-2机可给用户实现最多10条指令 | B(错,最多11条) |
| 9 | AM2901的I2-I0用于选择R和S的数据来源 | B(错,选择ALU运算功能) |
| 10 | 用户可实现三字指令 | B(错) |
| 1 | AM2910多路选择器有3个输入 | B(错,有4个输入) |
| 2 | TEC-2微指令56位,高10位为下址 | A(对) |
→ 详见 [[第6章-中央处理器#6.6 CPU举例]]
第7章 存储系统
Q35:课堂预习-第7章存储系统判断题
| 题号 | 答案 | 解析 |
|---|---|---|
| 1 | A(对) | 速度高的存储器每位价格高,容量不能太大 |
| 2 | B(错) | Cache的目的是缓解速度不匹配,不是增加容量 |
| 3 | A(对) | Cache、主存、辅存三层结构 |
| 4 | B(错) | 描述的是全相联映射,不是组相联 |
| 5 | B(错) | 相联存储器按内容(特征)寻址,不是按地址 |
→ 详见 [[第7章-存储系统]]
综合题
Q36:一个256K×8的存储器,其地址线和数据线总和为多少?
A:256K = 2¹⁸,地址线18根。数据线8根。总和 = 18 + 8 = 26。
→ 详见 [[第4章-主存储器#4.4 存储器的组成与控制]]
Q37:内存储器容量为256KB,首地址为00000H,末地址是什么?
A:256KB = 2¹⁸ 字节,地址范围 0 ~ 2¹⁸-1 = 0 ~ 262143 = 0 ~ 0x3FFFF。末地址 = 3FFFFH。
各章导航
| 章节 | 笔记 |
|---|---|
| 第1章 计算机系统概述 | [[第1章-计算机系统概述]] |
| 第2章 计算机的逻辑部件 | [[第2章-计算机的逻辑部件]] |
| 第3章 运算方法和运算部件 | [[第3章-运算方法和运算部件]] |
| 第4章 主存储器 | [[第4章-主存储器]] |
| 第5章 指令系统 | [[第5章-指令系统]] |
| 第6章 中央处理器 | [[第6章-中央处理器]] |
| 第7章 存储系统 | [[第7章-存储系统]] |
| 第8章 辅助存储器 | [[第8章-辅助存储器]] |
| 第9章 输入输出设备 | [[第9章-输入输出设备]] |
| 第10章 输入输出系统 | [[第10章-输入输出系统]] |
| 核心算法与公式 | [[速查-核心算法与公式]] |
| 知识地图 | [[目录-知识地图]] |