简析程序中断方式(参考唐朔飞教材)

程序中断方式属于I/O控制方式的一种,用于控制I/O设备输入输出数据。
在这里插入图片描述

这种方式的大致步骤是(以输入设备为例):当CPU通过I/O指令的地址码选中某设备后,由CPU向I/O接口发出启动I/O设备命令(B=1,D=0),此后CPU继续它的工作。I/O接口收到命令后启动相应设备,输入设备将数据送入数据缓冲寄存器,此时输入设备向接口发出设备工作结束信号(D=1,B=0),标志设备就绪。当D=1且MASK=0(设备未被屏蔽)时,在指令执行阶段结束时刻,由CPU发出中断查询信号。这时,设备中断请求触发器INTR=1,标志设备向CPU提出中断请求。与此同时,INTR送至排队器进行中断判优。若CPU允许中断(EINT=1),设备又被排队器选中,此时进入中断响应阶段,由CPU执行中断隐指令保护断点(PC和PSW内容),由中断响应信号INTA将排队器输出送至编码器形成向量地址。这条向量地址实际上是一条无条件转移地址,被送至PC执行后,将跳转至中断服务程序入口地址,进行中断服务(通过输入指令将数据缓冲寄存器的输入数据送至CPU寄存器再存入主存)。中断服务程序最后一条指令将返回原程序断点处。至此,一个完整的程序中断处理过程结束(中断周期结束)。

中断处理过程可概括为中断请求,中断判优,中断响应,中断服务,中断返回

一、中断请求

中断请求触发器(INTR):每台外部设备配置一个,用来向CPU提出中断请求。它的输出取决于中断屏蔽触发器(MASK)、完成触发器(D)和中断查询信号。
在这里插入图片描述

二、中断判优

当多个中断源同时向CPU提出中断请求,CPU需要对高优先级I/O进行响应(通过硬件方式如排队器,或软件方式)。
在这里插入图片描述

三、中断响应
CPU响应中断的条件是:①中断源有中断请求(INTR=1);②CPU开中断(CPU的允许中断触发器EINT=1;该触发器的值可由开/关中断指令设置);③一条指令执行完毕,且没有更紧迫的任务。
在CPU执行中断服务程序之前,需要先执行中断隐指令。这条指令负责①关中断②保存断点(PC和PSWR)③引出中断服务程序
CPU的中断响应信号连同INTP信号一起作为中断向量地址形成部件的输入,产生中断向量地址。这个地址的内容确定了中断服务程序的入口地址。
在这里插入图片描述
此处需要区分中断向量地址和中断服务程序入口地址(中断向量)这两个概念!

四、中断服务

保护现场(用户可见的工作寄存器内容)和屏蔽字(由各个屏蔽触发器MASK组合而成的屏蔽字寄存器的内容)

在执行中断服务程序的设备服务代码之前,根据是否允许中断嵌套,有以下不同:
在这里插入图片描述
这里的开中断允许更高级的中断请求响应。

1.CPU干预的时间段:
在这里插入图片描述
2.数据传送单位:每次读写一个字
3.数据流向:A.读:外部输入—I/O设备—CPU—主存
B.写:主存—CPU—I/O设备

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值