什么是DMA和IRQ?它们在GPIB中作用是什么?



硬件: GPIB

问题: 什么是DMA和IRQ?它们在GPIB中作用是什么?

解答:

DMA即直接内存访问。个人计算机上装有DMA控制器(DMAC)用于直接在设备和计算机内存之间传送数据。National Instruments GPIB产品可以对DMAC编程用于从内存直接读取和写入数据。在使用GPIB时DMA并不是必要的,可以在GPIB配置工具中禁用DMA。

在禁用了DMA时,National Instruments产品使用可编程I/O来实现GPIB数据传输。可编程I/O轮询检测板卡上的状态寄存器来决定传输的状态,这种传输是基于byte的。而且,每当GPIB准备好处理下一个byte的数据时,CPU都可以被控制器(handler)中断用于数据的读取或写入。

使用DMA的好处在于DMAC可以被用来传输数据。而且在整个数据的传输过程中,CPU并不需要被占用。注意到CPU需要对DMAC进行编程,因此这里存在一个折中——一般来讲DMA有利于大量数据的传输(比可编程I/O更快)。

IRQ即中断请求。中断常用于自动的串行轮询和异步(后台)数据传输中。当SRQ线被使用之后,控制器(handler)会在总线上对所有的设备串行轮询。如果禁用了中断而使能了自动串行轮询,控制器(handler)仅在调用GPIB时进行轮询设备。如果禁用了中断,异步传输将被视为同步模式。虽然Windows NT需要板卡使用中断模式,但是就如同DMA一样,使用GPIB时中断并不是必要的。


相关链接: Product Manuals: LabVIEW 8.5 Help - Allow DMA Transfers
Developer Zone Tutorial: DMA
Developer Zone Tutorial: IRQ

附件:





报告日期: 02/06/1996
最近更新: 09/26/2008
文档编号: 0I5924EO