一、 CPU 功能
- 控制器部分的功能
- 运算器部分的功能
1.运算器功能
算术运算、逻辑运算
2.控制器功能
- 指令控制:取指令、顺序执行
- 操作控制:分析指令、执行指令
- 时间
二、结构
PC 完成指令控制CU 完成操作控制、时间控制
ALU 完成数据加工
中断系统完成中断处理
1. CPU的寄存器
(1)用户可见寄存器
通用寄存器:存放操作数,也可作为满足某种寻址方式所需的寄存器。
数据寄存器:存放操作数,允许用两个连续寄存器存放双倍字长的值。
地址寄存器:存放地址
条件代码寄存器:存放条件码(对用户部分透明),做程序分支的依据。
(2)控制和状态寄存器
控制寄存器:MAR、MDR、PC(用户可见)、IR
状态寄存器:PSW
2.控制单元 CU 和中断系统
(1)CU
功能:提供完成机器全部指令操作的s微操作命令序列(产生并保证时间先后)实现方法:组合逻辑设计法(硬件实现)、微程序设计方法(软件实现)
(2)中断系统
三、指令周期
CPU 每取出并执行一条指令所需全部时间叫指令周期。指令操作功能不同,指令周期也不相同。
1.指令周期
基本形式:
无条件转移指令:
加法指令:
乘法指令:
间接寻址的指令:
带有中断的指令:
2.CPU 访存的不同性质
CPU 访存的性质 对应指令周期
取指令 取指周期
取地址 间址周期
存取操作数或结果 执行周期
保存程序断点 中断周期
四、指令流水
为提高系统处理能力,改进系统结构,开发系统并行性。并行性等级:
粗粒度并行性:作业级、程序级、进程级(软件实现)
细粒度并行性:指令之间或指令内部(硬件实现)
1.指令流水原理
(1)指令串行执行
由于取指令部件和执行机构不同,因此 CPU 执行过程中,总有一个处于空闲状态。(2)二级流水
由于指令取指时间远小于执行时间,且遇到条件转移指令时,下一条指令未知,因此降低了二级流水潜在效率。(3)多级流水
将指令周期细分,实现多级流水,如 6 级流水将一个指令周期分为 6 个阶段。
2.流水线性能
(1)吞吐率
(2)加速比
(3)效率
3.影响性能的因素
(1)访存冲突
不同指令争夺同一功能部件解决方法:
设置两个独立寄存器分别存放操作数和指令
采用指令预取技术(适用于访存周期很短的情况)
停顿
(2)相关问题
控制相关:由转移指令引起
数据相关:不同指令因重叠操作,可能改变其读写顺序
4.流水线多发技术
(1)超标量技术
在每个时钟周期内,同时并发执行多条独立指令。(2)超流水线技术
一个时钟周期内再分段(3)超长指令字技术
挖掘指令间潜在并行性,将多条指令组合为一条具有多个操作码字段的超长指令。五、中断系统
1.引起中断的因素
人为设置的中断
程序性事故
硬件故障
I/O 中断请求
外部事件(如,用户通过键盘中断进程)
2.中断请求标记(INTR)、判优逻辑
3.中断隐指令
功能:保护程序断点
寻找服务程序入口地址
硬件关中断
4.保护现场、恢复现场
(1)保护现场
保护断点:中断隐指令完成
保护寄存器内容:中断服务程序完成
(2)恢复现场:中断服务程序完成