【王道考研·计算机组成原理】第1章 计算机系统概述(整章完整版)

引言

第一章看起来“概念多、计算少”,但它是整本计组的地基。

后面学到的 CPU、存储器、总线、I/O,几乎都要回到这一章的三个底层问题:

  1. 计算机系统由哪些层组成。
  2. 各部件如何协同工作。
  3. 性能到底该怎么衡量。

本篇按考研高频路径整理,并把全书常见例题一起补充到章节内部。

图像化理解(Mermaid)


一、计算机发展历程与分类

1. 四代发展主线

  1. 第一代:电子管,体积大、功耗高、可靠性低。
  2. 第二代:晶体管,速度和可靠性显著提升。
  3. 第三代:中小规模集成电路,出现操作系统雏形。
  4. 第四代:大规模/超大规模集成电路,微处理器出现。

2. 现代计算机分类(考研常考)

  1. 按指令流和数据流:SISD、SIMD、MISD、MIMD。
  2. 按应用场景:通用机、专用机、嵌入式系统。
  3. 按规模:巨型机、大型机、小型机、微型机。

3. 发展趋势

  1. 高性能与低功耗并重。
  2. 并行化(多核、多线程、异构计算)。
  3. 系统级协同优化(硬件-编译器-操作系统-应用)。

二、计算机系统层次结构

1. 软硬件分层

从上到下可理解为:

  1. 高级语言层。
  2. 汇编语言层。
  3. 操作系统层。
  4. 机器语言层(ISA)。
  5. 微程序/硬件逻辑层。

2. 虚拟机思想

每一层都向上提供抽象,向下屏蔽细节。考研选择题会问:

  1. 操作系统提供“扩展机器”。
  2. ISA 是软硬件接口。
  3. 微程序是控制信号序列的组织方式。

3. 软件层次与翻译程序

  1. 高级语言程序通常先经编译程序翻译成汇编语言或目标代码,再经过汇编和链接形成可执行机器代码。
  2. 解释程序是一边翻译一边执行,不一定生成独立目标文件。
  3. 汇编程序把助记符形式的汇编语句翻译成机器指令。
  4. 题目常考“编译、解释、汇编”三者区别,核心要抓住是否生成目标程序、执行效率和调试方式。

4. 透明性

对某层“透明”表示该层用户无需感知实现细节。比如:

  1. 高级语言程序员一般不感知 cache 命中过程。
  2. 应用通常不直接感知指令译码细节。

三、计算机硬件组成与工作过程

1. 冯诺依曼结构五大部件

  1. 运算器。
  2. 控制器。
  3. 存储器。
  4. 输入设备。
  5. 输出设备。

2. 核心特征

  1. 存储程序:指令和数据都存内存。
  2. 指令顺序执行(可通过转移指令改变)。
  3. 以运算器为中心演化到以存储器为中心再到总线互连。

3. 指令执行基本流程

  1. 取指(IF)。
  2. 译码(ID)。
  3. 执行(EX)。
  4. 访存(MEM,可选)。
  5. 写回(WB,可选)。

4. 从寄存器视角看基本工作原理

  1. PC 保存下一条将要执行的指令地址。
  2. MAR 接收来自 PC 或执行阶段形成的地址,并送入存储器寻址。
  3. MDR 暂存从主存读出的数据或即将写入主存的数据。
  4. IR 保存当前指令,供控制器译码。
  5. CU 根据 IR 内容和时序信号发出控制命令,驱动寄存器传送、ALU 运算和访存动作。
  6. 因此“取指 -> 分析 -> 执行”不是抽象口号,而是寄存器与控制信号配合完成的硬件流程。

四、性能指标(第一章计算题核心)

1. 常用定义

  1. 主频 f:时钟每秒振荡次数。
  2. 时钟周期 TT = 1 / f
  3. CPI:执行一条指令平均所需时钟周期。
  4. 指令条数 IC:程序总指令数。

2. CPU 执行时间公式

1
2
CPU时间 = IC × CPI × 时钟周期
= IC × CPI / 主频

3. 平均 CPI 的分解

若有多类指令:

1
CPIavg = Σ(CPIi × 指令比例i)

4. 其他指标

  1. 吞吐量:单位时间完成任务数。
  2. 响应时间:单任务从提交到完成耗时。
  3. MIPS:每秒百万条指令(受指令集影响强,不适合跨架构硬比较)。
  4. MFLOPS:每秒百万次浮点运算。

5. 其他基础性能量

  1. 机器字长反映 CPU 一次自然处理的数据位数,也影响寄存器位宽和运算精度。
  2. 主存容量由编址方式、地址线位数和存储字长共同决定。
  3. IPC 表示每个时钟周期平均完成的指令条数,与 CPI 互为倒数关系的理想化近似描述。
  4. 基准程序用于衡量系统在一类典型负载下的综合性能,比单纯看主频更可靠。

五、Amdahl 定律

系统某部分优化后,总加速比:

1
Speedup = 1 / ((1 - a) + a / k)

其中:

  1. a 是可优化部分原始执行时间占比。
  2. k 是该部分被加速的倍数。

关键结论:

  1. 局部优化受占比上限约束。
  2. 不要只盯某模块峰值,系统级瓶颈更关键。

六、系列机、兼容与固件

1. 系列机与兼容

  1. 系列机是同一厂商在统一体系结构下推出的不同型号计算机。
  2. 向上兼容强调新机器可以运行旧机器程序,这是软硬件生态延续的重要基础。
  3. 兼容不仅涉及指令系统兼容,还常包含数据格式、I/O 接口和操作系统层面的延续性。

2. 固件的定位

  1. 固件是介于硬件与软件之间、常驻在只读或非易失存储器中的程序。
  2. 微程序、启动程序、嵌入式设备控制代码都可归入广义固件范畴。
  3. 固件的特点是接近硬件、更新相对谨慎,但比纯硬连线更灵活。

七、PDF 例题与考点补充(第1章)

例题 1:主频与执行时间

题目:某程序 IC = 2×10^9CPI = 1.5,主频 3GHz,求 CPU 时间。

解:

1
2
3
CPU时间 = IC × CPI / f
= 2×10^9 × 1.5 / (3×10^9)
= 1 秒

例题 2:平均 CPI

题目:A 类指令占 40%,CPI=1;B 类占 60%,CPI=2,求平均 CPI。

解:

1
CPIavg = 0.4×1 + 0.6×2 = 1.6

例题 3:Amdahl 定律

题目:程序中 80% 可被加速 4 倍,总加速比是多少。

解:

1
2
3
Speedup = 1 / (0.2 + 0.8/4)
= 1 / 0.4
= 2.5

例题 4:主频翻倍是否性能翻倍

结论题:主频翻倍不必然带来性能翻倍。

解析:

  1. 主频只影响时钟周期。
  2. CPI 可能因流水线冒险、cache 缺失等上升。
  3. 真正性能由 IC、CPI、主频 三者共同决定。

例题 5:吞吐量与响应时间关系

题目:系统优化后吞吐量提升,但单任务响应时间变差,是否矛盾。

答案:不矛盾。

解析:

  1. 吞吐量关注“总产出”。
  2. 响应时间关注“单任务体验”。
  3. 批处理系统中常见吞吐提升而响应变差。

八、高频易错点

  1. 把机器字长、存储字长、指令字长混为一谈。
  2. 把 MIPS 当作跨 ISA 机器绝对性能标准。
  3. 误以为主频最高就一定最快。
  4. Amdahl 计算时把可优化比例 a 写错成加速后比例。
  5. 忽略平均 CPI 要做“加权平均”。

九、本章速记清单

  1. CPU时间 = IC × CPI / f
  2. CPIavg = Σ(CPIi × 比例i)
  3. Amdahl 上限由不可优化部分决定。
  4. 吞吐量和响应时间是两个不同维度。
  5. ISA 是软硬件接口。

总结

第一章的核心不是背历史,而是建立“系统观”:

  1. 计算机是分层抽象系统。
  2. 性能是多因素耦合结果。
  3. 局部优化必须服从整体瓶颈。

掌握这章后,后续六章会更容易形成统一框架。


作者:[Austoin]
参考来源:E:\PDF\计算机组成原理(含新大纲考点).pdf、E:\PDF\2027计算机组成原理_高清带书签版.pdf(章节知识点整合)