中央处理器
CPU 的功能和基本结构
CPU 的功能
- 指令控制
完成取指令、分析指令、执行指令的操作,即程序的顺序控制 - 操作控制
控制部件按指令的要求进行动作 - 时间控制
为每条指令按时间顺序提供应有的控制信号 - 数据加工
对数据进行算术和逻辑运算 - 中断加工
对计算机运行过程中出现的异常情况和特殊请求进行处理
CPU 的基本结构
运算器
- 算术逻辑单元
进行算术/逻辑运算 - 暂存寄存器
暂存从主存读来的数据,该数据通常不能存放在通用寄存器 - 累加寄存器
属于通用寄存器,暂时存放算术逻辑单元运算的结果信息,可以作为加法运算的一个输入端 - 通用寄存器组
- 存放操作数(源操作数,目的操作数,中间结果)和各种地址信息等
- 可编程指定多种功能的寄存器
- 位数与机器字长相等
- 不可代替指令寄存器
- 程序状态字寄存器
- 保留算术逻辑运算指令或测试指令的结果而建立的各种状态信息
- 表征程序和机器运行状态
- 对用户不透明
- 移位器
对操作数或运算结果进行移位运算 - 计数器
控制乘除运算的操作步数
控制器
控制器的基本功能
从主存中取出指令、分析指令并产生有关得到操作控制信号
控制器的类型
- 硬布线控制器
- 微程序控制器
控制器的构成
- 程序计数器
- 指出下一条指令在主存中的存放地址
- PC 的值会根据 CPU 在执行指令的过程中修改(取指周期末)或自增,或转移到程序的某处
- 在无条件跳转指令的指令周期内,PC 的值 被修改 2 次(取指周期结束自增 1,执行周期修改为要跳转的地址)
- 指令寄存器
保存当前正在执行的指令,对用户透明 - 指令译码器
仅对操作码字段译码,向控制器提供特定的操作信号 - 存储器地址寄存器
存放所要访问的主存单元地址 - 存储器数据寄存器
存放向主存写入的信息或从主存读出的信息 - 时序系统
产生时序信号 - 微操作信号发生器
Note
- 条件转移指令执行时的依据标志寄存器的内容,判断是否满足转移条件
指令执行过程
指令周期
指令周期:CPU 从主存取出并执行一条指令所需的全部时间
机器周期:指令执行中每步操作(取指令、存储器读、存储器写)所需要的时间,若指令字长等于存储器字长,则取指周期等于机器周期
一个完整的指令周期包括:取指、间址、执行、中断
指令周期的数据流
取指周期
任务:根据 PC 的内容从主存中取出指令代码并存放在 IR 中
- P C → M A R ( 地 址 寄 存 器 ) → 地 址 总 线 → 主 存 PC→MAR(地址寄存器)→地址总线→主存 PC→MAR(地址寄存器)→地址总线→主存
- 控 制 单 元 ( C U ) 发 出 控 制 信 号 → 控 制 总 线 → 主 存 控制单元(CU)发出控制信号→控制总线→主存 控制单元(CU)发出控制信号→控制总线→主存
- 主 存 → 数 据 总 线 → M D R ( 数 据 寄 存 器 ) → I R 主存→数据总线→ MDR(数据寄存器)→IR 主存→数据总线→MDR(数据寄存器)→IR
- C U 发 出 读 命 令 → P C 的 内 容 加 1