I/O中断
中断:计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行。
I/O中断技术产生的原因
- I/O设备工作速度低无法与CPU匹配,中断技术可以让CPU只在I/O设备请求服务时执行服务程序,适应I/O设备工作速度低的问题。
- 应付突发事件
- 为了在实时控制时及时响应外来信号
中断源
引起中断的事件,即发出中断请求的来源。
种类:外中断,内中断,软中断
程序中断方式的接口电路
中断请求触发器(INTR):当其为“1”时,表示该设备向CPU提出中断请求,通过“开中断”或“关中断”指令来置位、复位。进入中断服务程序后自动“关中断”
中断屏蔽触发器(MASK):当其为“1”时,表示被屏蔽,即封锁其中断源的请求,中断分为可屏蔽中断和非屏蔽中断
排队器:处理设备优先权
中断向量地址形成部件(设备编码器):输出中断向量,通过中断向量找到对应中断服务程序入口地址
I/O中断处理过程
- 关中断:进入不可再次响应中断的状态,此时CPU不再响应中断
- 保存断点和现场:在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。现场信息一般是程序状态字,中断屏蔽寄存器和CPU某些寄存器的内容
- 判别中断源
- 开中断:允许更高级中断请求得到响应,实现中断嵌套
- 执行中断服务程序
- 退出中断
其中进入中断执行的关中断和保存断点等操作由硬件实现的,称为“中断隐指令”。