计算机组成原理是计算机科学的核心基础课程,它揭示了计算机硬件系统的本质结构和工作原理,是理解计算机“如何运行”的钥匙,本文将从计算机系统整体架构出发,系统梳理数据表示与运算、存储系统、指令系统、中央处理器(CPU)、总线系统及输入输出(I/O)系统等核心知识点,帮助读者构建完整的硬件知识框架。
计算机系统概述:从硬件到软件的层次
冯·诺依曼体系结构的核心思想
现代计算机的基石是冯·诺依曼体系结构,其核心特点可概括为“存储程序”和“五大部件”:
- 存储程序:指令和数据以二进制形式存储在存储器中,计算机按地址顺序自动执行指令。
- 五大部件:运算器(执行运算)、控制器(指挥协调)、存储器(存储数据/指令)、输入设备(输入数据)、输出设备(输出结果)。
计算机的层次结构
计算机系统通过层次化抽象实现复杂功能,从底层到顶层依次为:
- 硬件层:逻辑门、寄存器、CPU等物理元件。
- 微程序层:通过微指令直接控制硬件操作(如早期计算机)。
- 机器语言层:机器指令集(0/1代码),计算机唯一可直接识别的语言。
- 操作系统层:管理硬件资源,提供用户接口(如Windows、Linux)。
- 汇编语言层:符号化机器指令,需汇编器翻译为机器码。
- 高级语言层:Python、Java等,需编译器或解释器转换为机器码。
- 应用层:用户直接使用的程序(如浏览器、办公软件)。
数据表示与运算:计算机处理信息的底层逻辑
数据的表示形式
计算机中所有信息均以二进制存储,常见数据表示包括:
- 数值数据:
- 定点数:小数点位置固定,分为定点整数(如补码)和定点小数。
- 浮点数:科学计数法表示,由符号位、阶码(指数)和尾数(有效数字)组成(如IEEE 754标准:单精度32位,双精度64位)。
- 非数值数据:ASCII码(字符,7位)、Unicode(全球字符集,如UTF-8)、BCD码(十进制编码)等。
定点数运算
- 补码运算:计算机中广泛采用补码表示 signed 数,其规则为:
- 加法:
[A+B]补 = [A]补 + [B]补(模运算下自动处理符号位)。 - 减法:
[A-B]补 = [A]补 + [-B]补([-B]补由[B]补连同符号位取反加1得到)。 - 溢出判断:双符号位运算时,若两位符号位不同则溢出;单符号位可通过“最高进位与次高进位异或”判断。
- 加法:
浮点数运算
浮点数运算需分步处理,步骤包括:
- 对阶:小阶向大阶看齐(阶码相减,尾数右移,保持精度)。
- 尾数运算:加减法需对阶后尾数相加/减;乘法为尾数相乘、阶码相加;除法为尾数相除、阶码相减。
- 规格化:调整尾数使其绝对值在
[0.1, 1)之间(二进制),确保精度。 - 舍入:对超出尾数位数的部分进行舍入(如0舍1入法、恒置1法)。
逻辑运算与ALU
- 基本逻辑运算:与(AND)、或(OR)、非(NOT)、异或(XOR),是计算机实现逻辑判断的基础。
- 算术逻辑单元(ALU):CPU的核心部件之一,负责执行算术运算(加、减、乘、除



