中央处理器
CPU的功能与结构
功能
-
指令控制
- 取指令
- 分析
- 执行
-
操作控制
- 操作信号送往相应部件,从而控制这些部件
-
时间控制
- 指令按时间顺序提供控制信号
-
数据加工
-
中断处理
运算器和控制器的功能
-
控制器
-
协调,控制CPU各部分执行指令的顺序
-
主要是执行指令的过程
- 执行指令的过程就是控制器形成各种操作信号的过程,控制运算器,存储器和IO设备完成相应的操作
-
-
运算器
- 处理数据
基本结构
-
运算器
-
ALU
-
通用寄存器组
- 每个寄存器和ALU有两个数据通路,每个数据通路的位数是机器字长
-
为了解决ALU和寄存器组的连接问题
-
需要MUX多路选择器
- MUX和ALU只有一个通路
- MUX和寄存器组有n个通路
-
也可以使用三态门
-
多数CPU使用CPU内部总线的方式
-
方式
- 然后用三态门和总线连接,然后总线和ALU连接
- 比如R0in就是数据进入R0,R0out就是数据从R0出去
-
缺点
-
会产生数据冲突
- 可以加一个暂存寄存器,串行读取ALU的AB端
-
ALU的输出也会和B端输入产生冲突
- 解决办法是ALU的输出端加一个暂存寄存器
-
-
-
-
暂存寄存器
-
累加寄存器ACC
- 存放每次运算的中间结果
-
程序状态字寄存器 PSW(参与并决定微操作的形成)
-
OF
-
SF
-
ZF
-
CF
- 进位
-
-
移位器
- 对运算结果进行移位运算
-
计数器
- 用来控制乘除运算的操作步数
-
-
控制器
-
PC程序计数器
-
IR指令寄存器
- 存放指令:、分为OP操作码和Ad地址码
-
指令译码器ID
- 输入是OP
- 输出到微操作信号发生器
-
微操作信号发生器
-
输入
- 时序系统的输出
- ID的输出
- PSW
-
输出
-
-
MAR存储器地址寄存器
-
输入
- MARin有效 ,AdIRout有效
- 是IR寄存器的Ad地址码部分
-
输出
- CPU外部的地址总线
-
-
MDR存储器数据寄存器
-
输入
-
数据总线
- 信号是MDRinE
-
CPU内部总线
- 信号是MDRin
-
-
输出
- 同输入
-
-
-
寄存器分类
-
用户可见寄存器
-
汇编语言中可以控制的寄存器
- PC
- PSW
- 通用寄存器
-
-
透明寄存器
-
编写汇编时不能控制
- IR
- MAR
- MDR
-
-
指令执行过程
指令周期
-
概念
- CPU从主存中取出并执行一条指令的时间
-
组成
-
由若干个机器周期组成
-
一个机器周期对应一个操作
-
比如
- 取指令
- 取地址
- 执行指令
-
又分为定长机器周期CPU和不定长机器周期CPU
- 不定长就是取指令和执行包含的CPU周期不同
-
-
一个机器周期又包含若干个CPU周期(时钟周期
-
-
流程
-
取指周期
-
数据流
-
当前指令的地址从到存储器地址寄存器
(PC)->MAR -
CU发出读信号(就是从存储器中读),此信号发送给控制总线
1->R -
MAR的内容(即内存地址)的内存单元(即对应地址存放的内容),送到MDR
M(MAR)->MDR- 此时已经读出
-
取完指令PC在CU的控制下+1
(PC) +1 ->PC
-
-
-