程序控制i/o的方法中,缺点在于cpu必须等待i/o系统完成数据的传输任务,在此期间cpu需定期查询i/o系统的状态,以确认传输是否完成。利用中断的方式完成数据的输入、输出过程为:当i/o系统与外设交换数据时,cpu无需等待也不必去查询i/o状态,可以抽身做其他事情,当i/o系统准备好以后,发出中断信息通知cpu,cpu接收到信息后,保存正在执行的程序现场,转入i/o中执行程序,然后再返回被打断的程序继续执行。
(1)多中断信号线法:每个中断源都有属于自己的一根中断请求信号线向cpu提出中断请求
(2)中断软件查询法:当cpu检查到一个中断信号后,会到中断服务程序去轮询每个中断源以确定是谁发的信号
(3)菊花链法:所有i/o模块共享一根共同点中断请求线,中断确认信号以链式在各模块中相连,当cpu检测到请求信号时,发出中断确认信号,中断确认信号在所有模块中一次传递,直到发出请求的模块,该模块把他的ID送到cpu读取
(4)总线仲裁法:一个i/o设备发出中断请求之前,会获取总线控制权,由总线仲裁机制来裁定谁可以发出中断请求信号,当cpu发出中断响应信号后,设备把自己id发往数据线
(5)中断向量表法:当i/o设备发出请求后,由中断控制器确定其中的中断号,并且根据中断号在中断向量表中找到对应服务的地址,再把中断请求信号一桶交给cpu