Chap1 计算机系统概述
返回:0500 计算机组成原理总目录 · 下一章:0502 Chap2 数据的表示、运算与校验
1、学习目标
第一章先建立整机视角:计算机不是单个 CPU,也不是单个程序,而是硬件、指令、数据、存储、I/O 和软件层次共同组成的系统。
| 模块 | 要掌握的内容 |
|---|---|
| 计算机概念 | 自动、高速、可编程、通用信息处理机器 |
| 冯诺依曼体系 | 存储程序、二进制、五大部件 |
| 系统层次 | 硬件、微体系结构、指令系统、操作系统、语言与应用 |
| 硬件组织 | 运算器、控制器、存储器、输入设备、输出设备 |
| 性能指标 | 字长、主频、CPI、MIPS、带宽、吞吐率 |
2、计算机是什么
从组成原理角度看,计算机是能够自动执行程序的信息处理系统。它的关键特点是:
- 信息用二进制表示。
- 程序和数据都存放在存储器中。
- 控制器按指令序列自动取指和执行。
- 运算器完成算术与逻辑运算。
- 输入输出设备负责与外部世界交互。
这门课关心的不是“会不会使用计算机”,而是“机器如何把指令一步步执行出来”。
3、冯诺依曼体系
冯诺依曼体系的核心是存储程序思想:
1 | 程序以二进制形式存放在存储器中,CPU 自动按地址取指并执行。 |
五大部件:
| 部件 | 功能 |
|---|---|
| 运算器 | 执行算术和逻辑运算 |
| 控制器 | 取指、译码、产生控制信号 |
| 存储器 | 存放程序和数据 |
| 输入设备 | 把外部信息送入计算机 |
| 输出设备 | 把处理结果送出计算机 |
现代计算机已经有流水线、多核、Cache、虚拟存储等复杂结构,但“存储程序 + 指令驱动”的基本思想仍然是主线。
4、硬件系统结构
最简单的硬件关系可以理解为:
1 | CPU <-> 主存 <-> I/O 子系统 <-> 外设 |
CPU 内部又可以拆成:
| 子部件 | 说明 |
|---|---|
| ALU | 算术逻辑单元 |
| 寄存器组 | 临时保存操作数、地址和结果 |
| 控制单元 | 产生时序和控制信号 |
| PC | 保存下一条指令地址 |
| IR | 保存当前指令 |
学习时要把“指令流”和“数据流”分清楚:指令告诉机器做什么,数据是被处理的对象。
5、计算机系统层次
计算机系统可以分层理解:
| 层次 | 说明 |
|---|---|
| 数字逻辑层 | 门电路、触发器、组合逻辑、时序逻辑 |
| 微体系结构层 | 数据通路、控制器、流水线 |
| 指令系统层 | 机器指令、寄存器、寻址方式 |
| 操作系统层 | 进程、内存、文件、I/O 抽象 |
| 汇编/语言层 | 汇编、C/C++、编译器 |
| 应用层 | 具体软件和服务 |
组成原理主要位于数字逻辑之上、操作系统之下。它解释高级语言程序最终如何落到指令和硬件部件上。
6、软硬件逻辑等价性
很多功能既可以用硬件实现,也可以用软件实现:
| 功能 | 硬件实现 | 软件实现 |
|---|---|---|
| 乘法 | 乘法器 | 加法循环或库函数 |
| 浮点运算 | FPU | 软件模拟 |
| 加密 | 专用加速器 | 通用 CPU 指令 |
| 图像处理 | GPU | CPU 程序 |
硬件快但成本高、灵活性低;软件灵活但可能较慢。计算机系统设计本质上一直在做这种权衡。
7、性能评价指标
常见指标:
| 指标 | 含义 |
|---|---|
| 字长 | CPU 一次能处理的二进制位数 |
| 主频 | 时钟频率,单位 Hz |
| CPI | 每条指令平均需要多少时钟周期 |
| IPC | 每周期平均执行多少条指令 |
| MIPS | 每秒百万条指令 |
| FLOPS | 每秒浮点运算次数 |
| 带宽 | 单位时间传输的数据量 |
| 延迟 | 完成一次操作所需时间 |
| 吞吐率 | 单位时间完成的任务数量 |
CPU 执行时间常用公式:
1 | CPU Time = Instruction Count * CPI * Clock Cycle Time |
或者:
1 | CPU Time = Instruction Count * CPI / Clock Rate |
这条公式很重要,因为性能不是只由主频决定。指令条数、CPI、编译器、Cache 命中率都会影响最终时间。
8、带宽与容量
存储和 I/O 常用两类指标:
| 指标 | 关注点 |
|---|---|
| 容量 | 能存多少数据 |
| 带宽 | 单位时间能传多少数据 |
| 延迟 | 第一个数据多久能到 |
| 访问时间 | 一次读写完整耗时 |
例子:
1 | 磁盘容量大,但延迟高; |
这也是后面存储层次结构的基础。
9、复盘时的整机执行链
可以用一条简单链路复盘整机:
1 | 程序加载到内存 |
后面的 CPU、存储、I/O 都是在展开这条链路中的某一段。
10、易错点
| 易错点 | 修正 |
|---|---|
| 主频越高性能一定越好 | 还要看 CPI、指令数和存储系统 |
| 把 CPU 当作整台计算机 | 计算机还包括存储和 I/O |
| 混淆延迟和带宽 | 延迟是单次等待,带宽是单位时间吞吐 |
| 只背五大部件 | 要能说出指令如何流经这些部件 |
| 软件和硬件割裂 | 很多功能有软硬件两种实现 |
11、复盘清单
| 检查项 | 状态 |
|---|---|
| 能解释存储程序思想 | 待复盘 |
| 能画出冯诺依曼五大部件 | 待复盘 |
| 能说明计算机系统层次结构 | 待复盘 |
| 能写出 CPU 时间公式 | 待复盘 |
| 能区分延迟、带宽和吞吐率 | 待复盘 |
| 能按执行链描述一条指令的生命周期 | 待复盘 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!







