CPU的结构和功能
指令周期
复习回顾
MAR
用于存放将被访问的存储单元的地址 MDR
用于存放欲存入存储器中的数据或最近从存储器中读出的数据 PC
用于存放现行指令的地址,通常具有计数功能 IR
用于存放当前欲执行的指令 CU
控制器,发出读写指令,并控制PC的内容加1等等 指令周期
取指周期间址周期执行周期中断周期
指令流水
将指令的处理过程细分
流水线的性能
吞吐率
加速比
效率
举个栗子
中断系统
引起中断的各种因素
人为设置的中断 如 转管指令程序性事故 溢出、操作码不能识别、除法非法硬件故障I/O 设备外部事件 用 键盘中断 现行程序 中断系统需解决的问题
1 各中断源如何向CPU提出请求 ?
一个请求源 一个INTR中断请求标记触发器
当 INTR状态为1时 表明中断源有请求 2 各中断源同时提出请求怎么办 ?
中断判优逻辑 各中断源的优先顺序是根据该中断源若得不到及时响应,致使机器工作出错的严重程度而定的
硬件排队
链式排队器 软件排队
程序实现 3 CPU什么条件、什么时间、以什么方式响应中断?
CPU响应I/O中断的条件是允许中断触发器EINT为“1”
当EINT=1,且有中断请求(即INTR=1),CPU可以响应中断 CPU总是在指令执行周期结束后,响应任何请求源的请求。若有中断,则进入中断周期;若无中断,则进入下一条指令的取指周期
CPU会在执行周期结束后,统一向所有请求源发出中断查询信号。此时,CPU才能获知哪个中断源有请求 4 如何保护现场?
断点 中断隐指令完成 程序断点(或者说PC的内容)存于特定地址(0号地址),即断点进栈寄存器内容 中断服务程序完成 5 如何寻找入口地址?
不同中断源对应不同的中断服务程序,故准确找到服务程序的入口地址是中断处理的核心问题硬件向量法
利用硬件产生向量地址(排队器的输出作为硬件的输入),再由向量地址找到中断服务程序的入口地址向量地址–>PC 软件查询法
程序实现中断识别程序入口地址M–>PC 6 如何恢复现场,如何返回?
恢复现场由 中断服务程序完成 7 处理中断的过程中又出现新的中断怎么办? 硬件+软件
提前设置开中断指令优先级别高 的中断源 有权中断优先级别低 的中断源 8 保护断点 寻找入口地址 关中断 都是中断周期内由一条中断隐指令完成的
关中断实际上就是 中断屏蔽 中断屏蔽技术
在不改变CPU响应中断的次序下,通过改变屏蔽字可以改变CPU处理中断的次序举个栗子
假设CPU中断源的优先级为 A->B->C->D降序排列,现在改变屏蔽字,即改变了处理次序
转载请注明原文地址:https://ipadbbs.8miu.com/read-5265.html