1 CPU的结构---运算器+控制器
1.1 控制器的功能
指令控制---操作控制---时间控制---处理中断
取指令;分析指令;执行指令,发出各种操作命令;控制程序输入及结果的输出;
总线管理;处理异常情况和特殊请求
1.2 运算器的功能---数据加工
实现算术运算和逻辑运算
1.3 CPU结构框图
1.4 CPU的寄存器
1、用户可见寄存器
(1)通用寄存器:存放操作数,可作某种寻址方式所需的专用寄存器
(2)数据寄存器:存放寄存器(满足各种数据类型)两个寄存器拼接存放双倍字长数据
(3)地址寄存器:存放地址,其位数应满足最大的地址范围,用于特殊的寻址方式,段基值,栈指针
(4)条件码寄存器:存放条件码,可作程序分支的依据
2、控制和状态寄存器
3、控制单元CU和中断系统
(1)CU---产生全部指令的微操作命令序列
组合逻辑设计---硬连线逻辑;微程序设计---存储逻辑
(2)中断系统
4、ALU
2 指令周期
2.1 指令周期的基本概念
1、指令周期---取出并执行一条指令所需的全部时间
2、每条指令的指令周期不同
3、具有间接寻址的指令周期
4、带有中断周期的指令周期
5、指令周期的流程---仅仅完成一条指令的流程
6、CPU工作周期的标志
CPU访存的四种性质:不同周期完成不同工作
2.2 指令周期的数据流
1、取指周期数据流---IR指令存储器
2、间址周期数据流
3、执行周期数据流---不同指令的执行周期数据流不同
4、中断周期数据流
3 指令流水
3.1 提高机器速度
1、提高访存速度---高速芯片 Cache 多体并行
2、提高I/O和主机之间的传送速度---中断 DMA 通道 I/O处理机 多总线
3、提高运算器速度---高速芯片 改进算法 快速进位链
提高整机处理能力:高速器件;改进系统结构,开发系统的并行性
3.2 系统并行性
1、并行的概念
2、并行性的等级
过程级(程序、进程)---粗粒度---软件实现;
指令级(指令之间、指令内部)---细粒度---硬件实现
3.3 指令流水原理
1、指令的串行执行
2、指令的二级流水
3、影响指令流水效率加倍的因素
(1)执行时间>取指时间
(2)条件转移指令对指令流水的影响
必须等上条指令执行结束才能,确定下条指令的地址,造成时间损失
3.4 影响指令流水线性能的因素
1、结构相关 不同指令争用同一功能部件产生资源冲突
解决办法:停顿;指令存储器和数据存储器分开;指令预取技术(适用于访存周期短的情况)
2、数据相关 不同指令因重叠操作,可能改变操作数的读/写访问顺序
解决办法:后推法;采用旁路技术(计算出来立即转入第二条指令)
3、控制---条件转移造成
3.5 流水效率---流水线中个功能段的利用率
3.6 流水线的多发技术
1、超标量技术
(1)每个时钟周期内可并发多条独立指令,
配置多个功能部件
(2)不能调整指令的执行顺序
2、超流水线技术
在一个时钟周期内再分段(3段);在一个时钟周期内一个功能部件使用多次(3次)
3、超长指令字技术(每次取出很多条指令)
3.7 流水线结构
1、指令流水线结构
完成一条指令分6段,
每段需一个时钟周期
2、运算流水线
浮点加减运算可分:
对阶---尾数求和---规格化
分段原则:每段操作时间尽量一致
4 中断系统
4.1 中断因素
(1)人为设置的中断;(2)程序性事故 溢出、操作码不能识别、除法非法
(3)硬件故障;(4)I/O设备;(5)外部事件 用键盘中断现行程序
4.2 中断请求标记和中断判优逻辑
1、中断请求标记 INTR
2、中断判优逻辑
(1)硬件实现(排队器)
分散在各个中断源的接口电路中;集中在CPU内
(2)软件实现(程序查询)
4.3 中断服务程序入口地址的寻找
(1)硬件向量法
(2)软件查询法
4.4 中断响应
(1)响应中断的条件---允许中断触发器EINT=1
(2)响应中断的时间---指令执行周期结束时刻由CPU发查询信号
5、中断隐指令---不是指令,硬件自动执行的指令
(1)保护程序断点---断点存于特定地址(0号地址)内;断点进栈
(2)寻找服务程序入口地址
向量地址->PC(硬件向量法);中断识别程序入口地址M->PC(软件查询法)
(3)硬件关中断
6、保护现场和恢复现场
4.5 多重中断
4.6 屏蔽技术
屏蔽触发器MASK,MASK=0(未屏蔽),
INTR能被置“1”
程序断点存入“0”地址的断点保护