流程图:
最关键的部分在于CPU读取IO状态,如果IO设备状态为未准备就绪,CPU就将反复读状态,直到IO准备就绪。
由于IO设备的速度远远低于CPU速度,采用这种方式会导致CPU效率很低。
IO设备准备数据的过程中,CPU不查询IO设备状态;当IO设备准备好后,CPU中断服务程序(保护现场)进行数据传输,数据传输往后返回原来的中断的程序(恢复现场)
这样的控制方式避免了踏步等待现象。
程序中断方式比程序查询方式进步的一点在于,避开了IO设备的数据准备阶段,但仍然需要CPU参与IO设备与内存的数据传输
DMA方式由于主存和IO设备之间存在一条数据传输通道,将CPU从数据传输中解放出来,使得CPU和IO能并行工作。
原文:https://www.cnblogs.com/SValley/p/14779222.html