中央处理器
功能
指令控制
取指令,分析指令,执行指令,即程序顺序控制
操作控制
管理并产生内存去除指令操作信号,把信号送到相应部件,并使部件工作
时间控制
操作加上时间控制
数据加工
对数据进行算术和逻辑运算
中断处理
CPU基本结构
由运算器,控制器,寄存器组成
运算器
数据加工处理中心
组成
算数逻辑单元(ALU)
暂存寄存器
暂存主存读来的数据,数据不能保存在通用寄存器,会破坏通用寄存器内容
其对程序员透明
累加寄存器
通用寄存器,暂时存放ALU运算结果
指令执行过程中,寄存器内容不变
通用寄存器组
存放操作数和地址信息,其位数与机器字长相同
SP是堆栈指针,指示栈顶地址
程序状态字寄存器(PSW)
计算运算中产生标志信息
如溢出(OF),符号(SF),零(ZF),进位(CF),可屏蔽中断控制位(IF)
进位(CF)
加法操作,含义是加法是否进位
减法操作,含义是减法是否借位
减法操作的CF是加法操作CF的非
PSW这些位参与并决定微操作数形成
移位器
进行移位操作
计数器
乘除运算的操作步数
控制器
每条指令执行由控制器发出一组微操作实现
类型
硬布线控制器
微程序控制器
组成
程序计数器(PC)
存放执行指令在内存的存放地址
PC有自增功能,决定执行顺序
若是转移指令,则在取指周期,PC+1,执行周期中,PC修改成要跳转的地址(若转移不成功,下一条地址仍为PC自增后地址)
指令寄存器(IR)
指令从存储器取出放到IR,存放当前正在执行指令
对指令寄存器操作码部分进行译码,产生指令微操作
指令执行过程中,寄存器内容不变
指令译码器
对操作码字段进行译码,向控制其提供操作信号
存储器地址寄存器(MAR)
存放要访问主存单元地址
存储器数据寄存器(MDR)
存放主存写入信息和读出信息
时序系统
产生各种时序信号,由统一时钟(CLOCK)分频得到
微操作信号发生器
根据IR(指令)内容,PSW(状态信息)内容及时序信号,产生各种控制信号
其结构有组合逻辑型,存储逻辑型
工作原理
根据指令操作码,指令执行步骤(微命令)和条件信号形成控制信号
CPU内部寄存器
地址寄存器
包括程序计数器,堆栈指示器,变址寄存器,段地址寄存器
1.用户可见寄存器
可对该寄存器编程,如通用寄存器,程序状态字寄存器,程序计数器
2.用户不可见寄存器
对用户透明,不可编程,如存储器地址寄存器,存储器数据寄存器,指令寄存器
指令执行周期
指令周期
指令周期由若干个机器周期组成,一个机器周期由若干个时钟周期
取指:取指令
间址:取有效地址
执行:取操作数
中断:保存程序断点
为了区分工作周期,设置四个标志触发器FE(取指),IND(间址),EX(执行),INT(中断)
并以1->设置有效
注意
中断周期进栈操作是将SP减一,原因是堆栈向低地址增加
取指周期
根据PC从主存取出指令代码并放到IR
取指周期是自动执行
间址周期
取操作数有效地址
执行周期
取操作数,并根据IR的操作码通过ALU产生执行结果
中断周期(只有中断请求,才有中断周期)
处理中断请求,响应中断时间是一条指令执行结束
控制器
进行控制,计算机不同阶段对存储器进行读写操作,取出代码有不同作用
取指阶段取出指令
执行阶段取出数据
指令执行方案
单指令周期
所有指令用相同执行时间完成,串行执行
多指令周期
不同类型指令有不同执行步骤,串行执行
流水线方案
每个时钟周期启动一条指令,并行执行
数据通路
功能部件传送数据路径,包括路径上的部件
数据通路由控制部件控制
功能
实现运算器和寄存器,寄存器和寄存器之间数据交换
基本结构
采用总线
结构简单,实现容易,性能低,较多冲突现象
不采用总线
结构复杂,硬件量大,不易实现,性能高,不存在冲突
CPU内部单总线
所有寄存器输入输出端连接到一条公共通路
数据传输存在冲突
CPU内部多总线
所有寄存器输入输出端连接到多条公共通路
专用数据通路方式
根据指令地址执行过程数据和地址流向安排线路
读写信号线
控制从存储器读或存储器写
控制器功能和工作原理
结构
功能
1.从主存取出指令,并指出下一条指令在主存位置
2.对指令进行译码,产生控制信号,以便启动动作
3.控制CPU,主存,输入,输出设备的数据流动方向
硬布线控制器
由复杂组合逻辑门电路和触发器组成,因此称为组合逻辑控制器
指令操作码决定控制单元发出不同操作命令,为了简化控制单元(CU)逻辑,将指令操作码译码和节拍发生器分离出来
CU输入信号来源
1.经指令译码器译码产生指令信息
2.时序系统产生的机器周期信号和节拍信号
3.来自执行单元反馈信息即标志
时序系统及微操作
时钟周期
时钟信号控制节拍发生器,每个节拍宽度正好对应一个时钟周期
每个节拍内机器可以完成一个或几个同时执行操作
机器周期
指令执行过程的基准时间
访问一次存储器时间固定,因此一般以存取周期为基准时间,即内存中读取一个指令字最短时间为机器周期
在存储字长=指令字长是,取指后期也可视为机器周期
一个机器周期可以完成若干微操作,可用时钟信号控制每个微操作命令
CPU控制方式
执行一条指令过程,实际上是执行一个确定的微操作序列
三种控制方式
1.同步控制方式
系统有一个统一时钟,所有控制信号均来自这个统一的时钟信号
优点:控制电路简单
缺点:运行速度慢
2.异步控制方式
不存在基准时标信号
优点:运行速度快
缺点:控制电路复杂
3.联合控制方式
介于同步,异步折中
大部分采用同步控制,小部分采用异步控制
微程序控制器
微命令和微操作
微操作是计算机最基本的,不可再分解的操作
控制部件发出控制命令为微命令
微操作为微命令的操作过程
微命令分成相容性和互斥性
微指令和微周期
微指令是若干微命令合集
通常包含
1.操作控制字段:微操作码字段,用于产生某一步操作所需的操作控制信号
2.顺序控制字段:微地址码字段,控制下一条微指令地址
微周期只执行一条指令所需时间,通常为一条时钟周期
主存储器和控制存储器
主存存放程序和数据,在CPU外部,用RAM实现
控制存储器(CM)用于存放微程序,在CPU内部,用ROM实现
程序和微程序
程序是指令集合
微程序是微指令集合,一条指令功能有一条微程序实现
组成
控制存储器
是微程序控制器核心部件,存放各指令对应微程序,由ROM组成
微指令寄存器
从CM取出微指令,它的位数与微指令字长相等
微地址形成部件
产生初始微地址和后继微地址,以保证微指令连续执行
微指令寄存器
收取微地址形成部件送来微地址,为在CM中读取微指令准备
工作过程
1.自动将取指微程序入口地址送入CMAR,并从CM读出相应微指令送入CMDR
取指微程序入口地址一般是CM的0号单元
2.由机器指令操作码字段通过微地址形成部件产生该机器指令对应微程序入口地址,并送入CMAR
3.从CM逐条取出对应微指令执行
4.执行完对应于一条机器指令和一个微程序后,有回到取指微程序入口地址,再进行第一步,以完成下一条机器指令公共操作
微程序和机器指令
一般一条机器指令对应一个微程序
微指令编码方式
目标:在保证速度情况下,尽量缩短指令字长
直接编码方式
优点
简单,速度快,并行性好
缺点
微指令字长过长
字段直接编码方式
将互斥性微命令组合在同一字段,相容性微命令组合在不同字段,可以同时出现
可以缩短指令字长,但因为通过译码电路发出微命令,比直接译码慢
原则
1.互斥微命令在同一段,相容微命令在不同段
2.每一段要留出一个状态,表示本字段不能发出任何微命令。因此,当此段长度为3位,最多只能表示7个互斥微命令,通常000表示不操作
字段间接编码方式
一个字段的某些微命令有另一个字段某些微命令解释,可以进一步缩短字长,是直接编码的辅助手段
微指令的地址形成方式
后继微地址形成类型
1.直接由微指令下地址字段指出。这种方式又叫断定方式
2.根据机器指令操作码形成。机器指令取至指令寄存器后,微指令地址由操作码经微地址形成部件组成
微指令格式
水平型微指令
直接编码和字段编码等都属于水平型微指令
优点
微程序短,执行速度快
缺点
微指令长
垂直型微指令
特点是采用类似机器指令操作码方式,一般只能定义并执行一种基本操作
优点
微指令短,简单,易于编写
缺点
微程序长,执行速断慢,效率低
混合型微指令
微指令结构设计目标
缩短微指令长度,提高执行速度,提供灵活性
计算机划分为两部分
控制部件(控制器)
执行部件:运算器,存储器,外围设备
主存储器(MM)和控制存储器(CS)
MM:按地址访问,用RAM和ROM实现,存储指令和数据
CS:按微指令地址访问,用ROM实现,存储微指令
硬布线和微程序控制器
微程序控制器 | 硬布线控制器 | |
工作原理 | 以微程序存放子在控制器,执行指令时读出 | 由逻辑电路根据当前指令码,状态,时序,即时产生 |
执行速度 | 慢 | 快 |
规整性 | 较规整 | 不规整 |
应用场合 | CISC CPU | RISC CPU |
易扩充性 | 易扩充修改 | 困难 |
异常
由CPU内部产生意外事件,分为硬故障中断和程序性异常
硬故障中断
硬连线出现异常引起,如存储器校检错,总线错误等
程序性异常
软件中断,指执行指令引起的异常事件。如整除0,溢出,断电,单步跟踪,非法指令等
按异常产生原因和返回方式
分为故障,自陷和终止
故障
引起故障的指令启动后,执行解释前被检查的异常事件
如除数为0,缺段或缺页等
自陷(陷阱)
预先安排的异常事件
终止
硬件故障
故障后必须调出中断系统重启系统
硬件中断
终止异常和外中断
中断
来自CPU外部,与CPU执行指令无关事件引起中断
包括I/O中断(硬盘输入,打印机缺纸)或某种特殊事件(用户按ESC,定时器计数时间到)
过程
外部I/O设备通过中断请求信号线向CPU提出中断请求,CPU每执行完一条指令检查中断请求信号线,如果检测到中断请求,进入中断响应周期
中断分类
可屏蔽中断
通过可拼比中断请求线INTR向CPU发出中断请求
CPU通过中断控制器设置屏蔽字来屏蔽,被屏蔽中断请求不送到CPU
不可屏蔽中断
不可屏蔽中断请求线NMI向CPU发出中断请求,通常是非常紧急硬件故障,如电源掉电等
中断和异常不同
1.缺页和溢出等异常事件由特定指令在执行过程中产生,中断不和任何指令关联,也不阻止任何指令完成
2.异常检测是CPU自身产生,不必由外部某个信号通知CPU
对于中断,CPU必须通过中断请求获取中断元信息,才能指定哪个设备发生中断