计算机系统原理简答题快速记忆方法(详细版)

5 阅读22分钟

使用说明

这份资料适合:

  • 期末考前快速背诵
  • 简答题、名词解释、对比题突击
  • 不知道怎么组织答案时,直接套模板

一、简答题万能答题方法

1. 标准答题结构

结论 + 原因 + 过程/特点 + 小结

也可以记成:

是什么 + 为什么 + 怎么做 + 有什么作用


2. 标准书写模板

先下结论:
×××是……

再写原因:
这样做是因为……

再写具体过程/特点:
其过程(或特点)包括……
1.2.3. …

最后总结:
因此,……

3. 阅卷老师喜欢的答题方式

  • 先写关键词,再展开
  • 用“1、2、3”分点写
  • 每点尽量只写一个中心
  • 优先写教材原话和术语
  • 对比题一定列“相同点 / 不同点”

第一章 计算机系统概述


1. 冯·诺依曼计算机的组成及功能

速记口诀

两输运控存

即:

  • 输入设备
  • 输出设备
  • 运算器
  • 控制器
  • 存储器

标准答案

冯·诺依曼计算机由输入设备、输出设备、运算器、控制器和存储器五大部件组成。

  1. 输入设备:将程序和数据输入计算机。
  2. 输出设备:将计算机处理结果输出给用户。
  3. 运算器:完成算术运算和逻辑运算。
  4. 控制器:负责取指令、分析指令,并发出控制信号,协调各部件工作。
  5. 存储器:用于存放程序、数据以及中间结果。

关键结论

  • 运算器和控制器合起来称为 CPU
  • 冯·诺依曼机的核心思想是 存储程序

2. 存储程序工作方式

3句话速记版

  1. 程序和数据都用二进制表示,并预先存入存储器。
  2. 计算机运行时按地址自动取出指令并执行。
  3. 程序可实现自动、连续运行,提高了工作效率。

标准答案

存储程序工作方式是指:把程序和数据以二进制形式事先存放在存储器中,计算机在运行时自动从存储器中逐条取出指令、分析并执行,从而实现程序的自动连续控制。这种方式是现代计算机工作的基础。

高频关键词

  • 二进制
  • 预先存储
  • 自动取指
  • 连续执行

3. 指令执行过程的四个阶段

速记口诀

取分执存

即:

  • 取指令
  • 分析指令
  • 执行指令
  • 存储结果

标准答案

一条指令的执行通常包括以下四个阶段:

  1. 取指令:根据程序计数器 PC 给出的地址,从存储器中取出指令。
  2. 分析指令(译码) :分析该指令的操作码和地址码,确定要完成什么操作。
  3. 执行指令:由相应部件完成具体操作。
  4. 存储结果:将运算结果写回寄存器或存储器。

图示记忆

取指令 → 分析指令 → 执行指令 → 存储结果

4. 计算机系统层次结构

速记口诀

微机操汇高

从低到高分别是:

  1. 微程序机器层
  2. 机器语言机器层
  3. 操作系统机器层
  4. 汇编语言机器层
  5. 高级语言机器层

标准答案

计算机系统通常按功能抽象为多个层次,由低到高依次为:

  1. 微程序机器层:最靠近硬件,由微指令控制硬件工作。
  2. 机器语言机器层:直接执行机器指令。
  3. 操作系统机器层:向上提供系统调用和管理功能。
  4. 汇编语言机器层:用助记符表示机器指令。
  5. 高级语言机器层:面向程序员,使用高级语言编程。

记忆点

  • 越往下越接近硬件
  • 越往上越方便人使用

5. 为什么 MIPS 不能很好反映计算机性能?

标准答案

MIPS 表示每秒执行的百万条指令数,但它不能全面反映计算机性能,主要原因有:

  1. 忽略了指令复杂程度
    不同指令完成的工作量不同,单纯比较条数不合理。
  2. 忽略了程序结构差异
    不同程序使用的指令类型和比例不同,MIPS 不具有通用可比性。
  3. 忽略了存储器、I/O 等因素影响
    程序运行性能不仅取决于 CPU 指令速度,还与 Cache、主存、外设等有关。
  4. 理论值和实际性能可能不一致
    某机器 MIPS 高,不一定实际运行程序更快。

一句话总结

MIPS 只反映“指令执行速度”,不能全面反映“程序实际运行性能”。


第二章 数据的表示和运算


1. 为什么计算机采用二进制?

标准答案

计算机采用二进制的主要原因有:

  1. 易于物理实现
    二进制只有 0 和 1 两种状态,正好与电子器件的通断、高低电平对应。
  2. 运算规则简单
    二进制运算规则比十进制简单,便于设计硬件电路。
  3. 抗干扰能力强
    只有两种状态,识别可靠,不易受噪声影响。
  4. 适合逻辑运算
    二进制中的 0、1 与逻辑真、假天然对应。

2. 原码、反码、补码的作用及补码优势

补码速记

正数不变,负数取反加 1


标准答案

计算机中有原码、反码和补码等带符号数表示方法,其中补码最常用。

  1. 原码:符号位表示正负,其余位表示数值大小。
  2. 反码:正数反��与原码相同,负数反码为原码符号位不变,其余位按位取反。
  3. 补码:正数补码与原码相同,负数补码等于反码加 1。

采用补码的优点:

  1. 可以把减法统一成加法,简化运算器设计。
  2. 0 的表示唯一,而原码和反码中 0 有正零、负零之分。
  3. 便于实现符号位和数值位统一处理

3. 浮点数的表示范围和精度由什么决定?

速记

阶码管范围,尾数管精度


标准答案

浮点数一般由符号位、阶码和尾数组成。

  1. 阶码决定表示范围
    阶码越长,指数范围越大,可表示的数值范围越广。
  2. 尾数决定表示精度
    尾数位数越多,可保留的有效数字越多,精度越高。

一句话总结

阶码影响“能表示多大/多小”,尾数影响“表示得有多准”。


4. 为什么要对浮点数进行规格化?

标准答案

对浮点数进行规格化的目的主要有:

  1. 提高表示精度
    通过调整尾数,使最高有效位尽量非 0,从而充分利用尾数位。
  2. 统一表示形式
    同一个数只保留一种规范表示,便于比较和运算。
  3. 提高运算效率
    规格化后,浮点加减乘除的处理规则更统一。

两种规格化操作

操作方向结果
左规尾数左移,阶码减小用于尾数过小的情况
右规尾数右移,阶码增大用于尾数过大的情况

记忆说明

  • 左移尾数 → 数值变大,所以要阶码减小来平衡
  • 右移尾数 → 数值变小,所以要阶码增大来平衡

5. 为什么汉字信息要使用多种编码?

标准答案

汉字处理通常需要多种编码,因为不同环节的需求不同。

  1. 输入码:供人输入汉字,如拼音码、五笔码。
  2. 内码:供计算机内部存储和处理,如 GB2312、GBK。
  3. 字模码:用于显示或打印汉字字形,如点阵信息。

原因总结

  • 人输入要方便
  • 机器处理要统一
  • 显示输出要有字形

记忆口诀

输入给人用,内码给机器用,字模给显示用


第三章 程序的转换及机器级表示


1. 高级语言程序如何变成可执行文件?

标准流程

源程序
→ 编译
→ 目标文件
→ 链接
→ 可执行文件

详细过程

  1. 词法分析:把源程序字符流分解成单词符号。
  2. 语法分析:检查程序结构是否符合语法规则。
  3. 语义分析:检查语义是否正确,如类型是否匹配。
  4. 代码生成:生成目标代码。
  5. 代码优化:改进目标代码,提高运行效率。
  6. 链接:把多个目标文件和库文件连接成最终可执行文件。

2. 无条件转移指令与调用指令的区别

标准答案

无条件转移指令和调用指令都能改变程序执行顺序,但两者不同:

相同点

  • 都会修改程序计数器 PC
  • 都会引起程序流程转移

不同点

  1. 无条件转移指令
    只改变 PC 的值,程序跳到新地址继续执行,一般不自动返回。
  2. 调用指令
    除了改变 PC 的值外,还要保存返回地址,以便子程序执行结束后返回原程序。

一句话区分

跳转只走不回,调用先记住来路再过去。


3. 按值传递和按地址传递的区别

标准答案

  1. 按值传递
    传递的是实参值的副本,形参修改不会影响实参。
  2. 按地址传递
    传递的是变量的地址,通过地址访问原变量,因此形参修改可能影响实参。

对比表

方式传递内容是否影响原变量
按值传递值的副本不影响
按地址传递地址影响

记忆比喻

  • 按值传递 = 给你一张复印件
  • 按地址传递 = 告诉你原件放哪里

4. 为什么递归开销较大?

标准答案

递归的开销较大,主要体现在以下方面:

  1. 栈空间开销大
    每次递归调用都要保存返回地址、局部变量、现场信息等。
  2. 函数调用次数多
    每层递归都要执行调用和返回操作,增加时间消耗。
  3. 递归层数深时容易栈溢出
    当递归过深时,系统栈空间可能不足。

一句话总结

递归本质上是“用时间和栈空间换程序结构的简洁”。


5. 为什么数据要地址对齐?

标准答案

数据地址对齐是指把数据存放在其长度整数倍的地址上。这样做的原因有:

  1. 提高访存效率
    存储器通常按字、块进行访问,对齐后一次访存即可取出完整数据。
  2. 减少访存次数
    若数据跨越两个存储单元,CPU 需要两次访问才能取到。
  3. 有利于硬件设计
    对齐访问更符合总线和存储器的工作方式。

结论

地址对齐的核心目的是提高访问速度。


第四章 可执行文件的生成与加载


1. 链接器的两项主要工作

标准答案

链接器的主要工作包括:

  1. 符号解析
    把程序中引用的符号与其定义对应起来,比如函数名、全局变量名。
  2. 重定位
    在各目标模块最终位置确定后,修改指令和数据中的地址信息,使其指向正确位置。

一句话记忆

先找人(符号解析),再定住址(重定位)


2. 可执行文件中常见节的内容

标准答案

节名存放内容
.text程序指令代码
.rodata只读数据、常量、字符串常量
.data已初始化的全局变量、静态变量
.bss未初始化的全局变量、静态变量

补充理解

  • .text:能执行
  • .rodata:只读不能改
  • .data:有初值
  • .bss:没初值

3. 静态链接与动态链接的区别

标准答案

静态链接和动态链接的主要区别如下:

对比项静态链接动态链接
链接时机生成可执行文件时程序运行时
处理方式将库代码复制到可执行文件中运行时装入共享库
可执行文件大小较大较小
是否依赖外部库不依赖依赖
是否共享库代码不能共享可以共享

总结

  • 静态链接:独立、稳定,但文件大
  • 动态链接:节省空间、便于共享,但依赖环境

4. 虚拟地址空间有什么好处?

标准答案

虚拟地址空间的好处主要有:

  1. 为每个进程提供独立地址空间
    程序都认为自己独占内存,彼此互不干扰。
  2. 避免地址冲突
    不同进程可以使用相同的逻辑地址,而映射到不同物理地址。
  3. 提高安全性和稳定性
    一个进程一般不能直接访问另一个进程的空间。
  4. 便于实现内存管理
    支持分页、分段、按需调页等机制。
  5. 扩充主存容量效果
    借助外存形成虚拟内存,使程序感觉可用内存更大。

5. shell 加载程序的过程

标准答案

shell 加载并运行程序的一般过程是:

  1. 用户在命令行输入命令。
  2. shell 对命令进行解释,识别要执行的程序。
  3. shell 创建新进程。
  4. 操作系统加载可执行文件到该进程的地址空间。
  5. 设置程序运行所需环境。
  6. 程序从入口地址开始执行。

一句话总结

shell 负责“接收命令并发起执行”,真正装入和运行由操作系统完成。


第五章 存储器层次结构


1. 为什么要采用层次化存储结构?

标准答案

采用层次化存储结构,是为了同时满足速度快、容量大、成本低这三个要求。

由于:

  1. CPU 速度越来越快,而主存速度相对较慢,形成速度矛盾;
  2. 主存容量有限,而程序规模越来越大,形成容量矛盾;
  3. 高速存储器价格高,低速存储器价格低,存在成本矛盾。

因此,计算机采用由寄存器、Cache、主存、外存组成的层次结构,以取得综合性能最优。


2. 为什么引入 Cache 能提高效率?

标准答案

Cache 是位于 CPU 和主存之间的高速小容量存储器。引入 Cache 能提高效率的原因是:

  1. Cache 访问速度接近 CPU
    比主存快得多,可减少 CPU 等待时间。

  2. 程序访问具有局部性

    • 时间局部性:刚访问过的数据以后可能还会访问
    • 空间局部性:访问某地址后,其附近地址也可能很快被访问
  3. CPU 优先访问 Cache
    若命中,则快速完成访问;若未命中,再访问主存。

结论

利用局部性原理提高命中率,从而提高平均访存速度。


3. Cache 三种映射方式比较

标准答案

映射方式关系是否要替换策略特点
直接映射主存块只能放到固定行不需要简单、快,但冲突多
全相联映射主存块可放任意行需要冲突少,但成本高
组相联映射主存块映射到固定组,组内任意行需要折中方案

详细理解

1)直接映射
  • 一个主存块只能对应一个固定 Cache 行
  • 实现最简单
  • 但不同主存块可能争同一个位置,冲突较大
2)全相联映射
  • 一个主存块可放在任意 Cache 行
  • 最灵活,冲突少
  • 但查找成本高,硬件实现复杂
3)组相联映射
  • 先分组,再在组内灵活放置
  • 兼顾速度与命中率
  • 实际中较常用

4. 为什么直接映射不需要替换策略?

标准答案

因为直接映射中,每个主存块在 Cache 中只有唯一固定位置。当该位置已有旧块时,新块到来直接覆盖即可,不存在“该换哪一个”的选择问题,所以不需要替换策略。


5. 为什么要考虑 Cache 的写策略?

标准答案

当 CPU 修改数据时,通常先修改 Cache 中的副本,而主存中的对应数据可能尚未同步更新,这会导致 Cache 与主存内容不一致。因此需要规定何时、如何把修改结果写回主存,这就是 Cache 写策略。

常见写策略

写策略做法优点缺点
写回法仅在该块被替换时写回主存写主存次数少,速度快Cache 与主存可能暂时不一致
写通法每次写 Cache 时同步写主存数据一致性好写主存频繁,速度慢

6. Cache-主存 与 主存-外存 分别解决什么问题?

标准答案

  1. Cache—主存层次
    主要解决 CPU 与主存之间的速度不匹配问题
  2. 主存—外存层次
    主要解决主存容量不足带来的容量问题

一句话区分

上层解决“快不快”,下层解决“够不够”。


7. 物理地址与逻辑地址的区别

标准答案

对比项逻辑地址物理地址
含义程序中使用的地址内存芯片中的真实地址
是否能直接访问主存不能
是否需要转换需要不需要

补充

逻辑地址到物理地址的转换通常由 MMU(内存管理单元) 完成。

为什么由硬件实现?

  • CPU 访问内存非常频繁
  • 若由软件转换,会严重降低效率
  • 硬件转换速度快,能满足实时访问要求

第六章 I/O 子系统


1. I/O 子系统的层次结构

标准答案

I/O 子系统一般包括以下层次:

用户层 I/O 软件
↓
设备独立性软件
↓
设备驱动程序
↓
中断处理程序
↓
I/O 硬件

各层作用简述

  1. 用户层 I/O 软件:提供给用户的接口,如库函数。
  2. 设备独立性软件:统一不同设备的使用方式。
  3. 设备驱动程序:直接控制具体设备工作。
  4. 中断处理程序:处理设备发出的中断请求。
  5. I/O 硬件:实际完成输入输出操作。

2. 三种 I/O 控制方式比较

标准答案

方式CPU 参与情况效率适用场景
程序直接控制CPU 一直轮询等待低速、简单设备
中断控制I/O 完成时才通知 CPU中速设备
DMA 控制CPU 仅在开始和结束介入高速、大批量数据传输

详细说明

1)程序直接控制方式
  • CPU 不断查询设备是否完成
  • CPU 长时间等待
  • 利用率低
2)中断控制方式
  • 设备完成后主动通知 CPU
  • CPU 不必一直等待
  • 提高了 CPU 利用率
3)DMA 方式
  • 数据在设备和主存之间直接传送
  • CPU 不参与中间搬运
  • 适合高速成块传输

记忆规律

效率越来越高,CPU 参与越来越少


3. 为什么 DMA 能提高批量数据传输效率?

标准答案

DMA(直接存储器存取)能提高批量数据传输效率,原因有:

  1. 数据不再经过 CPU 中转
    由 DMA 控制器直接在设备和主存之间传送数据。
  2. 减少 CPU 开销
    CPU 只需在开始时进行设置,结束后进行处理。
  3. CPU 与 I/O 可并行工作
    在 DMA 传输过程中,CPU 可以继续执行其他任务。
  4. 适合高速和大批量数据传输
    如磁盘读写、网卡收发等场景。

4. 保护和恢复现场时为什么要关中断?

标准答案

在中断处理过程中,需要先保护现场、处理完后再恢复现场。如果在保护或恢复过程中再次发生中断,就可能打乱原有寄存器和状态信息,导致现场被破坏、系统状态不一致,甚至产生严重错误。

因此,在保护和恢复现场时通常要暂时关中断,以保证这一过程的原子性和正确性

核心关键词

  • 防止嵌套打断
  • 防止现场破坏
  • 保证原子性

5. I/O 端口编址方式有哪些?

标准答案

I/O 端口编址方式主要有两种:

编址方式地址空间优点缺点
独立编址I/O 与内存分开互不占用地址空间需专用 I/O 指令
统一编址I/O 与内存统一指令系统统一,编程方便占用内存地址空间

记忆点

  • 独立编址:地址分家
  • 统一编址:地址合并

高频简答题“可直接背诵版”


1. 为什么引入 Cache?

Cache 是位于 CPU 和主存之间的高速缓冲存储器。由于 CPU 的工作速度远高于主存,若每次都访问主存,会使 CPU 长时间等待。程序访问又具有时间局部性和空间局部性,因此把近期常用的数据放入 Cache 中,CPU 优先访问 Cache,命中后可快速取数,从而提高平均访存速度和系统整体性能。


2. 为什么采用层次化存储结构?

采用层次化存储结构是为了同时解决速度、容量和成本之间的矛盾。高速存储器速度快但价格高、容量小,低速存储器容量大但速度慢,因此把寄存器、Cache、主存和外存按层次组织起来,可以在较低成本下获得较高的整体性能。


3. 静态链接与动态链接的区别

静态链接是在生成可执行文件时,把所需库代码复制到程序中,因此可执行文件较大,但运行时不依赖外部库。动态链接是在程序运行时装入共享库,可执行文件较小,多个程序还能共享同一份库代码,但运行时依赖外部环境。


4. 三种 I/O 控制方式的区别

程序直接控制方式中,CPU 必须不断轮询设备状态,效率最低;中断控制方式中,设备完成后通过中断通知 CPU,CPU 不必一直等待,效率较高;DMA 方式中,数据可直接在设备和主存之间传送,CPU 只在开始和结束时参与,效率最高,适合高速批量传输。


5. 虚拟地址空间有什么好处?

虚拟地址空间为每个进程提供独立的地址环境,避免进程之间发生地址冲突,同时提高系统安全性和稳定性。通过地址映射,还可方便地实现内存保护、共享和虚拟内存管理,使程序看起来拥有比实际主存更大的空间。


高频对比题模板


1. 静态链接 vs 动态链接

相同点

  • 都是为了解决程序中外部符号引用问题
  • 都用于生成或支持程序运行

不同点

  1. 时机不同
  2. 处理方式不同
  3. 文件大小不同
  4. 是否依赖外部库不同
  5. 是否支持共享不同

2. 按值传递 vs 按地址传递

相同点

  • 都是函数参数传递方式

不同点

  1. 传递内容不同
  2. 是否影响原变量不同
  3. 适用场景不同

3. 直接映射 vs 全相联映射 vs 组相联映射

对比角度

  • 映射灵活性
  • 实现复杂度
  • 命中率
  • 是否需要替换策略

4. 程序直接控制 vs 中断控制 vs DMA

对比角度

  • CPU 参与程度
  • 数据传输路径
  • 系统效率
  • 适用设备类型

考前速背口诀总表

知识点口诀
冯·诺依曼五大部件两输运控存
指令执行过程取分执存
计算机层次结构微机操汇高
浮点数阶码管范围,尾数管精度
参数传递值传副本,址传位置
链接器工作先解析,后重定位
Cache 作用利用局部性,提高命中率
I/O 控制方式效率递增,CPU 递减

考前 30 分钟速查版

  • 冯·诺依曼五大部件及功能
  • 存储程序工作方式
  • 指令执行四阶段
  • 计算机系统五层结构
  • 二进制优点
  • 补码规则和优点
  • 浮点数范围与精度
  • 规格化原因
  • 高级语言到可执行文件过程
  • 按值传递与按地址传递
  • 递归为什么开销大
  • 地址对齐原因
  • 链接器两大任务
  • .text/.rodata/.data/.bss 内容
  • 静态链接与动态链接区别
  • 虚拟地址空间的好处
  • 为什么用层次存储
  • 为什么 Cache 能提高效率
  • Cache 三种映射方式
  • Cache 写回与写通
  • 逻辑地址与物理地址
  • I/O 子系统层次
  • 三种 I/O 控制方式
  • DMA 的优点
  • 为什么中断现场保护要关中断
  • I/O 两种编址方式

最后答题提醒

简答题得分关键不在“写多”,而在“写准”。

建议按下面顺序作答:

  1. 先写定义/结论
  2. 再写 2~4 个关键理由
  3. 最后一句总结作用或意义

如果你愿意,我还可以继续帮你整理成以下任一种版本:

  1. 超适合打印的 A4 双页浓缩版
  2. 按“名词解释 / 简答题 / 对比题”分类版
  3. 每道题都整理成“可直接默写的标准答案版”
  4. 再压缩成考前 10 分钟速背版

本文使用 mdnice 排版