外设和内存之间的数据传送控制方式
程序直接控制方式就是CPU告诉外设“我要读了”,然后外设开始准备。CPU这时候停下手中的工作,不停的问外设“好了没有”,一旦外设说“好了”,CPU就从外设读一个字,再往内存写一个字,然后再告诉外设“我要继续读”,就这么重复直到完成。 所以在读的过程中CPU别的什么也干不了。
中断方式就是CPU告诉外设“我要读了”,然后就不管了,继续干自己的事。这时候外设开始准备,等准备好了就主动告诉CPU“我好了”,CPU这时候停下手里的工作开始从外设读一个字,然后往内存写一个字。 写完了就告诉外设“我要继续读”,说完了就继续干刚才被打断前的事,等外设再准备好以后再通知CPU,直到完成。中断方式的好处...全部
程序直接控制方式就是CPU告诉外设“我要读了”,然后外设开始准备。CPU这时候停下手中的工作,不停的问外设“好了没有”,一旦外设说“好了”,CPU就从外设读一个字,再往内存写一个字,然后再告诉外设“我要继续读”,就这么重复直到完成。
所以在读的过程中CPU别的什么也干不了。
中断方式就是CPU告诉外设“我要读了”,然后就不管了,继续干自己的事。这时候外设开始准备,等准备好了就主动告诉CPU“我好了”,CPU这时候停下手里的工作开始从外设读一个字,然后往内存写一个字。
写完了就告诉外设“我要继续读”,说完了就继续干刚才被打断前的事,等外设再准备好以后再通知CPU,直到完成。中断方式的好处就是CPU在外设准备的时候不用不停地问,可以做自己的事,提高了利用率。
DMA方式就是CPU告诉外设“你把XXX个字的内容写到内存的XXX位置去吧”,然后就不管了,等外设准备好了就通知CPU“我准备好了”,然后CPU让出一个节拍的总线使用权,外设就可以直接把数据送入内存,然后再通知CPU说“我传完了”,然后CPU进行一些清理工作就可以了。
DMA比中断方式又有提高,因为中断方式中,数据从外设输入内存依然要CPU参与,而DMA在大量数据读入的时候不需要CPU参与,这就节约了CPU的时间。
通道就是相当于有一个处理器专门来管数据传送,只要CPU把指令告诉通道,通道就可以完成一切数据传输任务,所以CPU的利用率更高。
收起