DMA 中断和查询三者的区别

来源:互联网 发布:网络准入系统 编辑:程序博客网 时间:2024/05/07 19:16
1:
DMA(DIRECT MEMORY ACCESS)
即直接存储器存取,是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。 


要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程序查询或中断方式。利用中断进行数据传送,可以大大提高CPU的利用率。 


2:
中断传送
是由CPU通过中断服务程序来传送,每次要保护断点,保护现场需要多条指令,每条指令要有取指和执行时间。为了充分利用CPU的高速性能和实时操作的要求,一般中断服务程序要求是尽量的简短,所以当要实现大量数据交换的情况,如从磁盘调入程序或图形数据,如果采用中断传送方式,必然会引起频繁中断的情况,需要执行很多与数据传送无关的中断指令,所以会大大降低系统的执行效率,无法提高数据传送速率。对于一个高速I/O设备,以及批量交换数据的情况,只能采用DMA方式,才能解决效率和速度问题。DMA在外设与内存间直接进行数据交换,而不通过CPU,这样数据传送的速度就取决于存储器和外设的工作速度。


3:查询方式:主要用于CPU不太忙且传送速度不高的情况下。无条件传送方式作为查询方式的一个特例,主要用于对简单I/O设备的控制或CPU明确知道外设所处状态的情况下。 
(2) 中断方式:主要用于CPU的任务比较忙的情况下,尤其适合实时控制和紧急事件的处理 
(3) DMA方式(直接存储器存取方式):主要用于高速外设进行大批量数据传送的场合。




◆中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理
◆DMA方式则是以数据块为单位传输的,在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数
◆中断方式的数据传送是由设备到CPU再到内存,或者相反。
◆DMA方式的数据传送则是将所传输的数据由设备直接送入内存,或是由内存直接送到设备。
0 0
原创粉丝点击