第八章、CPU的结构和功能
8.1、CPU的结构
8.1.1、CPU的功能
1、控制器的功能
1、取指令 :指令控制
2、分析指令 :操作控制
3、执行指令,发出各种操作命令 :时间控制
4、控制程序输入及结果的输出
5、总线管理 :处理中断
6、处理异常情况和特殊请求 :数据加工
2、运算器的功能
1、实现算术运算和逻辑运算
8.1.2、CPU结构框图
1、CPU与系统总线

8.1.3、CPU的寄存器
1、用户可见寄存器
1、通用寄存器
1、存放操作数,可作为某种寻址方式所需的专用寄存器
2、数据寄存器
1、存放操作数(满足各种数据类型)
2、两个寄存器拼接存放双倍字长数据
3、地址寄存器
1、存放地址,其位数应满足最大的地址范围
2、用于特殊的寻址方式、段基值、栈指针
4、条件码寄存器
1、存放条件码,可作程序分支的依据
2、如正、负、零、溢出、进位等
2、控制和状态寄存器
1、控制寄存器
1、MAR:主存地址寄存器
2、M主存储器
3、MDR:主存数据寄存器
4、图示

5、控制CPU
6、其中MAR、MDR、IR是用户不可见
7、PC:用户可用
2、状态寄存器
1、和条件码寄存器类似
2、PSW:程序状态字寄存器;用于存放程序状态字
3、为了让程序中断,正确跳转到子程序,还有回复程序中断的断点;需要保存的主程序线程和断点的保存,都存放在一个寄存器中,但是n多个程序中断的现场和断点无法过多保存,计算机设计者就让软硬件状态寄存器,集合为一个程序状态字;就完成程序现场的切换
8.1.4、控制单元CU和中断系统
1、CU产生全部指令的为操作命令序列
1、要保证微操作命令的先后顺序,所以为序列
2、组合逻辑设计:硬连线逻辑
3、微程序设计:存储逻辑(在第十章介绍)
4、中断系统(在8.4讲解)
8.1.5、ALU(在第六章就详细介绍过)
8.2、指令周期
8.2.1、指令周期的基本概念
1、指令周期
1、取出并执行一条指令所需的全部时间
2、完成一条指令(取指、分析;执行)
①取指、分析:取出一条指令:把指令从内存单元取出放到IR寄存器,然后对指令的操作码,寻址方式进行分(取指周期)
②执行:完成指令要求的全部操作(执行周期)
3、完整指令周期

2、每条指令的指令周期不同
1、有的只包括取指周期,不包括执行周期。 (例子NOP)
2、有的两个周期都包括,且周期时间相同 (例子ADD menm)
3、有两个周期都包括,但取指周期和执行周期的时间不相同 (NUL mem)
3、具有间接寻址的指令周期
1、图示

4、带有中断周期的指令周期

5、指令周期流程

6、CPU工作周期的标志
1、CPU访存有四种性质
1、取 指令 (取指周期)
2、取 地址 (间接周期)
3、存取操作数或结果 (执行周期)
4、存 程序断点 (中断周期)
5、CPU的4个工作周期

8.2.2、指令周期的数据流
1、取指周期数据流
1、PC通过数据总线找到存储器中需要的操作指令,然后返回给MDR寄存器,给IR进行解析
2、为了方便下一条指令的执行,CU把PC中的指令+1然后又赋给了PC,方便读取下一条指令
3、图示

2、间址周期数据流
1、指令是在MDR和IR中
2、把MRD中指令的操作数地址赋给MAR,让MAR通过地址总线去存储器中取出地址
3、CU发出读取信号,通过地址总线读取地址给数据总线,数据总线再把地址码给MRD
4、这样MDR就找到操作指令真正的地址,然后进行操作
5、图示

3、执行周期数据流
1、不同指令的执行周期数据流不同
2、在第九章中详细讲解
4、中断周期数据流
1、三部分:保存断点、形成中断服务程序的入口地址,硬件关中断
2、此图只分析了:前两部分
3、保存断点
①保存程序断点,把程序断点保存在某一内存单元中,CU来得知断点保存在哪个地址单元中
②把CU数据传给MAR,让MAR通过地址总线找到存储器
③保存断点是写操作,CU发出写命令通过地址执行写入断点命令到存储器
④PC保存中断后的下一条指令,PC送给MDR,再通过总线送诶存储器
4、形成中断访问程序的入口地址
①CU给出入口地址,让后把地址送给PC
②就完成了,因为PC是下一条要完成的指令
5、图示
