1.3 CPU组成
本节导学
CPU 组成这一节的考试重点不是让你背一张硬件结构图,而是让你能根据题干描述判断“这是哪个子部件的功能”。字幕先从计算机的理论结构讲起:理论上的主机更接近“CPU + 主存”,外设包括输入设备、输出设备和辅助存储器。硬盘即使装在机箱内部,在组成原理里仍属于外存/辅助存储器。
进入 CPU 内部后,主线很清楚:运算器负责加工数据,控制器负责组织指令执行流程。软考题会把 ALU、AC、DR、PSW、PC、IR、AR/MAR 等名称混在一起,真正要记的是它们各自“存什么、做什么”。
从计算机结构到 CPU
| 层次 | 含义 |
|---|---|
| 计算机结构 | 大致分为主机和外设 |
| 主机 | 理论上更接近 CPU + 主存 |
| 外设 | 输入设备、输出设备、外存 |
| CPU | 中央处理单元,主要分为运算器和控制器 |
CPU 像计算机的“大脑”:既要完成运算,也要控制程序按顺序运行。运算器负责数据加工,控制器负责取指、译码、发出控制信号,让各部件按程序流程协同工作。
计算机内部不同部件通过总线协作:
| 总线 | 传递内容 | 直觉 |
|---|---|---|
| 数据总线 | 数据 | 运算材料和结果的搬运通道 |
| 地址总线 | 地址 | 指明要访问哪里 |
| 控制总线 | 控制信号 | 指挥读、写、时序等动作 |
先分清“计算”还是“控制”
先判断题干描述的是“计算”还是“控制流程”。
如果题干出现算术逻辑运算、数据加工、中间结果,优先想到运算器相关部件:ALU、AC、DR、状态条件寄存器。
如果题干出现下一条指令地址、当前指令、译码、控制信号,优先想到控制器相关部件:PC、IR、指令译码器、时序部件、地址寄存器。
运算器:数据加工的工作区
程序执行时,大量工作是对数据进行加减、比较、逻辑判断和中间结果保存,这些都由运算器相关部件完成。
| 名称 | 英文缩写 | 作用(考试关键词) |
|---|---|---|
| 算术逻辑单元 | ALU | 执行算术运算/逻辑运算 |
| 累加寄存器 | AC | 运算工作区,暂存操作数/中间结果/结果 |
| 数据缓冲寄存器 | DR(也常写 MDR) | 与主存/IO 交换数据时的中转(数据通路缓冲) |
| 状态条件寄存器 | PSW / SR | 保存标志位(零标志、进位、溢出等)与部分控制状态 |
PSW 的归类在不同教材里可能有差异,遇到分类题要按题干描述和选项中最贴近的功能判断。
控制器:让指令按流程流动
控制器负责取指、译码、发出控制信号,协调各部件按程序流程工作。
计算机执行程序不是随机执行指令,而是按地址取出下一条指令、识别指令含义、组织数据通路和时序。控制器就是这套流程的组织者。
| 名称 | 英文缩写 | 作用(考试关键词) |
|---|---|---|
| 程序计数器 | PC | 存放下一条指令地址(注意:是地址不是指令) |
| 指令寄存器 | IR | 存放当前正在执行的指令 |
| 指令译码器 | Decoder | 对指令操作码译码,决定做什么操作 |
| 地址寄存器 | AR(也常写 MAR) | 访问主存时保存主存地址(读/写地址) |
一条指令的典型流转可以这样理解:PC 给出下一条指令地址,主存按地址取出指令,IR 保存当前指令,译码器解释操作码,然后控制器发出控制信号,运算器或存储器完成具体动作。顺序执行时 PC 常按指令长度递增;遇到跳转时,PC 会被改写为目标地址。
高频对比表
| 部件 | 存放内容 | 核心功能 | 易混点 |
|---|---|---|---|
| PC | 下一条指令地址 | 顺序取指 | 易与 IR 混淆 |
| IR | 当前指令内容 | 供译码执行 | 易与 PC 混淆 |
| AR/MAR | 主存地址 | 访存寻址 | 易与 DR 混淆 |
| DR/MDR | 数据 | 访存数据缓冲 | 易与 AR 混淆 |
做题路线
- 看到“算术/逻辑运算”优先选 ALU;看到“暂存操作数、中间结果”优先想 AC。
- 看到“下一条指令地址”选 PC;看到“当前指令内容”选 IR。
- 看到“主存地址”选 AR/MAR;看到“主存读写数据缓冲”选 DR/MDR。
- PSW/SR 既保存运算状态也可能涉及控制状态,分类题里如果有更明确的选项,先选更明确者。
- 流水线中的取指、译码、执行可分别联想到 PC、IR/译码器、ALU/访存部件。
🧪 例题(按难度)
简单(3题)
中级(3题)
例题1(部件功能辨析)
在 CPU 中,常用来存放下一条将要执行的指令地址的是:
例题2(别被关键词骗)
进行算术/逻辑运算时,常将原操作数和结果暂存在:
例题3(AR/DR 区分)
CPU 访问主存进行读/写时,用于保存主存地址的是:
困难(1题)
📚 本课小结
- 运算器:ALU(算)、AC(存中间结果)、DR(数据缓冲)、PSW(标志)
- 控制器:PC(下一条指令地址)、IR(当前指令)、译码器、AR(地址)