CPU的功能和基本结构
一、CPU的组成
1. 核心部件
- 控制信号状态寄存器:存储控制信号的状态。
- 操作控制信号形成部件:生成指令执行所需的控制信号。
- 通用寄存器:用于存储操作数或地址,支持多种运算和寻址方式。
- 时序信号产生部件:提供指令执行的时序控制。
- 指令译码器:解析指令操作码,生成译码信号。
- ALU(算术逻辑单元):执行算术和逻辑运算。
- 中断机构:处理异常情况和外部中断请求(在I/O章节详细讲解)。
2. 总线结构
- CPU通过系统总线(地址线、数据线、控制线)与主存通信。
- 注意:这些总线不属于CPU内部,而是系统总线。
3. 指令计数器(PC,Program Counter)
- 功能:存储即将执行指令的地址。
- 工作机制:
- 程序开始前,将首条指令地址送至PC。
- 顺序执行时,PC自动“加1”(增量取决于指令字长和编址单位)。
- 转移指令时,将计算的目标地址送至PC。
- 位数决定:PC位数主要由存储器容量决定,可通过指令字长优化。
- 例题解析:存储器容量与指令字长关系
- 题目:4GB主存,按字节编址,32位机器字长和指令字长。
- 按字节编址:PC需要32位(2³²个地址,覆盖4GB)。
- 按字寻址(4B为单位):PC可优化为30位(2³⁰个地址)。
- 关键点:理解寻址方式对PC位数的影响。
- 题目:4GB主存,按字节编址,32位机器字长和指令字长。
4. 指令寄存器(IR,Instruction Register)
- 功能:存储当前正在执行的指令。
- 工作流程:指令从主存取出后放入IR,操作码送至指令译码器。
5. 指令译码器
- 功能:分析IR中的操作码,生成译码信号。
- 输出:将译码信号提供给操作控制信号形成部件。
6. 中断机构
- 功能:处理异常情况和外部中断请求。
- 重要性:计算机组成原理的重点考察对象。
- 后续内容:具体中断解决方案将在I/O章节详细讲解。
7. 操作控制信号形成部件
- 输入来源:
- 时序信号。
- 指令译码信号。
- 条件标志(PSW中的标志位)。
- 输出:生成不同指令所需的控制信号。
8. CPU的主要构成图
- 两大部件:
- 运算器:包括ALU等,负责运算处理。
- 控制器:包括CU(控制单元)等,负责指令控制。
- PSW位置:程序状态字寄存器位于运算器部分。
二、CPU的功能
1. 核心功能
- 控制程序顺序执行。
- 产生指令控制命令并协调时序。
- 执行算术逻辑运算。
- 处理中断。
2. 工作流程
- 取指令:从主存获取指令。
- 分析指令:解析指令内容。
- 执行指令:完成指令操作。
三、CPU的寄存器
1. 用户可见寄存器
- 通用寄存器:
- 数据寄存器:存储操作数,位数需满足数据类型范围。
- 地址寄存器:存储地址,支持特殊寻址方式。
- PSW(程序状态字寄存器):
- 标志位:
- CF(Carry Flag):进位标志,检查无符号操作溢出。
- ZF(Zero Flag):零标志,结果为0时置位。
- SF(Sign Flag):符号标志,结果为负时置位。
- OF(Overflow Flag):溢出标志,检查补码溢出。
- 标志位:
-
- 控制位:中断使能、方向标志等。
2. 用户不可见寄存器
- MAR(Memory Address Register):存储待访问存储单元的地址。
- MDR(Memory Data Register):存储待存入/取出的数据。
- PC(Program Counter):存储当前指令地址(功能重要但用户不可见)。
- IR(Instruction Register):存储当前执行的指令。
- ALU外围寄存器:
- 用于暂存ALU输入输出数据,防止单总线结构下数据被覆盖。
- 典型配置:
- A寄存器:暂存ALU输入数据。
- AC寄存器:暂存ALU输出数据。