计算机组成原理笔记——程序查询方式和程序中断方式

程序查询方式的流程
在这里插入图片描述
1.测试指令,用来查询I/O设备是否准备就绪
2.传送指令,当I/O设备已准备就绪时,执行传送指令。
3.转移指令,若I/O设备未准备就绪,执行转移指令,转至测试指令,继续测试I/O设备的状态。
在这里插入图片描述
程序中断方式
打印机中断的产生
在这里插入图片描述
一次中断处理过程大致分为:中断请求,中断判优,中断响应,中断服务和中断返回等五个阶段。

程序中断方式的接口电路
1.配置中断请求触发器和中断屏蔽触发器
INTR为“1”时,表示该设备向CPU提出中断请求。但是设备如果要提出中断请求,其设备本身必须准备就绪,即接口内的完成触发器D的状态必须为“1”。
MASK为中断屏蔽触发器,如果是“1”,中断会被屏蔽掉,封锁中断源的请求。
仅当设备准备就绪(D=1),且该设备未被屏蔽(MASK=0)时,CPU的中断查询信号可将中断请求触发器置“1”。
在这里插入图片描述
2.排队器
多个中断源同时向CPU提出请求时,CPU按中断源的优先级进行排队。就I/O中断而言,速度越高的I/O设备,优先级越高,因为若CPU不及时响应高速I/O的请求,其信息可能会立即丢失。
硬件处理:在CPU内或在接口电路中(链式排队器)
软件处理:用查询方法,在第八章。
在这里插入图片描述

3.中断向量地址形成部件(设备编码器)
寻找中断服务程序的入口地址:由软件产生,硬件向量法。
硬件向量法,由硬件产生向量地址,再由向量地址找到入口地址。
中断向量地址形成部件的输入是来自排队器的输出INTP,它的输出是中断向量,其位数与计算机可以处理中断源的个数有关,即一个中断源对应一个向量地址。
在这里插入图片描述
在这里插入图片描述
通过向量地址来寻找入口地址。

4.程序中断方式接口电路的基本组成
在这里插入图片描述

I/O中断处理过程
CPU响应中断的条件和时间
条件
允许中断触发器EINT=1
用开中断指令将EINT置“1”
用关中断指令将EINT置“0"或者硬件自动复位。
时间
当D=1且MASK=0时
在每条指令执行阶段的结束前,CPU发中断查询信号(将INTR置”1“)

I/O中断处理过程
1、由CPU发启动I/O设备命令,将接口中的B置”1“,D置”0“。
2、接口启动输入设备开始工作。
3、输入设备将数据送入数据缓冲寄存器。
4、输入设备向接口发出“设备工作结束”信号,将D置“1”,B置“0”,标志设备准备就绪。
5、当设备准备就绪(D=1),且本设备未被屏蔽时(MASK=0)时,在指令执行阶段的结束时刻,由CPU发出中断查询信号。
6、设备中断请求触发器INTR被置“1”,标志设备向CPU提出中断请求。与此同时,INTR送至排队器,进行中断判优
7、若CPU允许中断(EINT=1),设备又被排队选中,即进入中断响应阶段,由中断响应信号INTA将排队器输出送至编码器形成向量地址。
8、向量地址送至PC,作为下一条指令的地址。
9、由于向量地址中存放的是一条无条件转移指令,故这条指令执行结束后,即无条件转至该设备的服务程序入口地址,开始执行中断服务程序,进入中断服务阶段,通过输入指令将数据缓冲寄存器的输入数据送至CPU的通用寄存器,再存入主存相关单元。
10、中断服务程序的最后一条指令是中断返回指令,当其执行结束时,即中断返回至原程序的断点处。至此,一个完整的程序中断处理过程即告结束。

中断服务程序过程简单的归纳为中断请求、中断判优、中断响应、中断服务和中断返回五个阶段。

中断服务程序的流程
保护现场、中断服务、恢复现场、中断返回
1、保护现场
程序断点的保护:由中断隐指令完成
寄存器内容的保护:由中断服务程序完成、进栈指令
2、中断服务
对不同的I/O设备具有不同内容的设备服务。
3、恢复现场
出栈指令
4、中断返回
中断返回指令

单重中断和多重中断
单重中断 不允许中断现行的中断服务程序
在这里插入图片描述
多重中断 允许级别更高的中断源中断现行的中断服务程序
在这里插入图片描述
主程序和服务程序抢占CPU示意图
在这里插入图片描述
宏观上CPU和I/O并行工作
微观上CPU中断现行程序为I/O服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值