输入输出控制方式
一、程序控制方式
1、程序查询
要求CPU不断使用指令检测方法来获取外设工作状态,造成CPU的运行效率极低。
2、程序中断
1、某一外设的数据准备就绪后,它“主动”向CPU发出中断请求信号,请求CPU暂时中断目前正在执行的程序转而进行数据交换;
2、当CPU响应这个中断时,便暂停运行主程序,自动转去执行该设备的中断服务程序;
3、当中断服务程序执行完毕(数据交换结束)后,CPU又回到原来的主程序继续执行。
4、而当低速的外围设备准备自己的数据时,CPU则照常执行自己的主程序。
所以:从这个意义上说,CPU和外设的一些操作是异步并行进行的,因而与串行进行的程序查询方式相比,计算机系统的效率的确是大大提高了。
注意:
1、CPU只有在当前一条指令执行完毕后,即转入公操作时,才会受理外围设备的中断请求。
2、保存现场与恢复现场, 从堆栈中恢复PC内容和CPU状态,以便从断点处继续执行主程序。
3、中断过程类似于子程序调用
多级中断
二、硬件控制方式
1、DMA方式
DMA方式是一种由硬件执行I/O交换的工作方式。
DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在主存和I/O设备之间进行。
优点:
速度快, CPU不参加传送操作,省去了CPU取指令、取数、送数等操作,也没有保存现场、恢复现场之类的工作。