文章目录
输入输出系统下(一)——程序中断方式
一、中断请求方式
1. 中断的概念
CPU在执行程序的过程中,如果遇到意外事件或特殊事件,CPU要中断当前程序的执行,转而去处理特殊事件。
通过执行中断服务程序的方式来处理,处理结束后,返回到被中断的程序断点处继续执行原来的程序。
- 如下图,CPU执行主程序,假设执行到了第K条指令,这时某一个外设要向主存输入数据,外部设备通过中断请求线,向CPU发出中断请求信号。
- CPU执行完第K个指令后,会查询有无中断请求,如果有,看能不能响应,可以响应的话,CPU就会中断掉当前正在执行的程序(中断的过程比较复杂,需要保存断点),断掉后就会去执行中断服务程序。
- 执行完这个中断服务程序后,根据保存的断点,程序的执行会返回到原程序的第K+1个指令处继续向下执行。
- 执行到第Q个指令时,外部设备又发出了中断请求,CPU去执行中断服务程序(和上一个可能是同一个也可能是不同的),执行结束后返回到第Q+1个指令处继续向下执行
2. IO中断的产生
中断由中断源产生
- CPU启动打印机后,打印机会进行准备工作,这时CPU与打印机是部分并行的
- 等打印机准备好了后,会向CPU发出中断请求,CPU就会响应中断请求,来向打印机传送数据
- 传送后CPU继续执行原程序,打印机接收到数据后开始打印
3. 程序中断方式的接口电路
除了包含IO接口电路部分,还需要:
- 中断请求标志,由外部设备对中断请求标志进行设置,表示有中断请求。
- 中断请求标志能否变成中断请求信号向CPU发出中断请求,还需要看这个中断请求标志会不会被屏蔽掉