CPU的结构和功能
CPU的结构和功能
7.1 CPU的结构
CPU的寄存器
- 用户可见的寄存器
- 通用寄存器
- 数据寄存器
- 地址寄存器
- 条件码寄存器
- 控制和状态寄存器
- MAR
- MDR
- PC
- IR
- PSW寄存器:存放程序状态字
控制单元CU和中断系统
- CU产生全部指令的微操作命令序列
- 组合逻辑设计方法(硬连线逻辑)
- 微程序设计方法(存储逻辑)
ALU
后续补
7.2 指令周期
- 定义:取出并执行一条指令所需的全部时间
- = 取指周期 + (间址周期) + 执行周期 + (中断周期)
7.3 指令流水
提高机器速度
- 提高器件性能
- 改进系统的结构,开发系统的并行性
- Cache、多体并行、流水……
系统的并行性
- 并发:两个或两个以上事件在同一时间段发生
- 同时:两个或两个以上事件在同一时刻发生
- 并行性的等级
- 过程级(粗粒度)
- 软件实现
- 指令级(细粒度)
- 硬件实现
- 过程级(粗粒度)
指令流水原理
- 部件空闲
影响指令流水线性能的因素
- 结构相关
- 不同指令争用同一功能部件产生资源冲突
- 解决方法:
- 停顿等待
- 指令存储器和数据存储器分开
- 指令预取技术
- 数据相关
- 不同指令因重叠操作,可能改变操作数的读/写访问顺序
- 解决方法:
- 后推法
- 定向技术(旁路技术)
- 控制相关
- 由转移指令引起
流水线性能
- 吞吐率
- 最大吞吐率 $T_{pmax}=\frac{1}{\Delta t}$
- 实际吞吐率 $T_p=\frac{n}{(m+n-1)\Delta t}$
- 加速比
- $S_{p}=\frac{nm}{m+n-1}$
- 效率
- $S_{p}=\frac{n}{m+n-1}$
流水线的多发技术
- 超标量技术
- 每个时钟周期内可并发多条独立指令
- 配置多个功能部件
- 超流水线技术
- 一个时钟周期内再分段
- 在一个时钟周期内一个功能部件使用多次
- 超长指令字技术
7.4 中断系统
- 引起中断的因素
- 人为设置的中断
- 程序性事故
- 硬件故障
- I/O设备
- 外部事件
- 中断的分类
- 内部异常
- 故障(Fault)
- 自陷(Trap)
- 终止(Abort)
- 外部中断
- 不可屏蔽中断
- 可屏蔽中断
- 内部异常
中断请求标记和中断判优逻辑
- 中断请求标记(INTR)
- 中断源有请求,设置INTR为1
- INTR可分散在各个中断源的接口电路中,也可集中在CPU的中断系统内(中断请求标记寄存器)
- 中断判优逻辑
任何一个中断系统,在任一时刻,只能响应一个中断源的请求
- 硬件实现(排队器)
- 分散在各个中断源的接口电路——>链式排队器
- 集中在CPU内
- 软件实现
- 硬件实现(排队器)
中断服务程序入口地址的寻找
- 硬件向量法
- 无条件转移指令
- 设置向量地址表
- 软件查询法
中断响应
- 响应条件
- EINT = 1
- 响应时间
- 指令执行周期结束时刻由CPU 发查询信号
- 中断隐指令
- 保护程序断点
- 寻找服务程序入口地址
- 向量地址——>PC
- 中断识别程序
- 硬件关中断
保护现场和恢复现场
- 保护现场
- 断点:由中断隐指令完成
- 寄存器内容:由中断服务程序完成
- 恢复现场
- 由中断服务程序完成
中断屏蔽技术
- 单重中断
- 多重中断
- 屏蔽技术
- 屏蔽触发器
- 屏蔽字
- 响应优先级
- 不可改变
- 处理优先级
- 可改变(通过重新设置屏蔽字)
This post is licensed under CC BY 4.0 by the author.