--- title: 计算机指令系统与CPU tags: - module - computer-organization - cpu - instruction-set - joplin type: module source_type: reconstructed created: 2026-04-22 updated: 2026-04-22 --- # 计算机指令系统与CPU > [!abstract] > 这一模块讨论“计算机如何真正执行程序”。指令系统定义能做什么,CPU 决定怎样一步步完成这些动作。 ## 模块结论 - 指令系统是软件与硬件之间的接口层。 - [[CPU]] 的本质是运算器、控制器与寄存器系统协同执行指令周期。 - [[流水线]] 技术提升吞吐率,但会带来结构、数据和控制冲突。 ## 一、指令系统 - 指令基本上由操作码和地址码构成。 - 常见类型: - 零地址指令 - 一地址指令 - 二地址指令 - 三地址指令 ### 核心问题 - 操作码怎么编码? - 操作数怎么定位? ## 二、寻址方式 - [[寻址方式]] 中最常见的几类包括直接寻址、基址寻址和变址寻址。 ### 复习重点 - 直接寻址理解最容易,但灵活性较弱。 - 基址寻址和操作系统、程序重定位关系密切。 - 变址寻址常与数组、循环遍历联系起来。 ## 三、CPU 的组成 - 运算器: - ALU - 通用寄存器 - 状态寄存器 - 控制器: - PC - IR - CU ### 应该掌握的不是死记部件,而是执行链路 - PC 提供下一条指令地址。 - IR 保存当前指令。 - CU 根据指令发控制信号。 - ALU 负责数据加工。 ## 四、CPU 的控制方式 - 微程序控制 - 直接控制 - 字段编码 ### 复习重点 - 微指令格式为什么要区分操作控制字段和顺序控制字段。 - 字段编码为什么能压缩控制信号表达。 ## 五、流水线技术 - 目标:提升单位时间完成的指令数量。 ### 关键指标 - 吞吐率 - 加速比 ### 三类经典冲突 - 结构冲突 - 数据冲突 - 控制冲突 ### 易错点 - 流水线提升的是吞吐率,不是单条指令的绝对执行时间。 - 冲突不是异常现象,而是流水线设计必须面对的常态。 ## 六、复习提问 - 指令格式为什么会有不同地址数形式? - 基址寻址和变址寻址分别更适合什么问题? - CPU 中 PC、IR、CU、ALU 的角色如何串起来? - 流水线为什么会引入新的冲突类型? ## 来源 - [[raw/Joplin/计算机专业基础/计算机组成原理/_计算机组成原理知识文档总纲.md]] - [[raw/Joplin/计算机专业基础/计算机组成原理/4.计算机指令系统.md]] - [[raw/Joplin/计算机专业基础/计算机组成原理/5.计算机中央处理器(CPU)_.md]] ## 相关页面 - [[计算机组成原理]] - [[计算机总线与现代扩展]]