dma通道,DMA通道冲突故障的预防和对策

DMA通道冲突故障的预防和对策 - 电脑诊所 - 电脑教程网

DMA通道冲突故障的预防和对策

日期:2007-09-26   荐:

DMA通道冲突故障的预防和对策

 

    DMA的字面意思是直接内存访问,它是相对于PIO(程序输入/输出)而言的。

    传统的程序输入/输出方式要求CPU在获取信息前,必须先向磁盘控制器发出指令,磁盘控制器对此做出响应,然后将所需信息提供给CPU,CPU每次通过I/O地址读取两个字节传送给RAM,同时判断后两个宇节的存放位置,再请求两个字节,依此循环。显然,这种方法的工作效率不高。事实上,在CPU发出指令后,外设可以通过总线上的DMA请求线请求直接访问内存总结,而CPU可以通过总线上的DMA确认线来进行响应,这样,外设和内存之间就可进行直接“对话”,这种对话的通道,就是DMA通道。

    1.常见DMA用法

除了DMA2是为软盘控制器专门保留的以外,其它通道均可为外设使用,常见的DMA用法如下:

DMA

用法

DMA

用法

0、1

可用

4

DMA控制器

2

软驱

5、7

可用

3

一般为声卡

6

有时为声卡

    2.解决DMA通道冲突的方法

    虽然DMA看上去比较好,但为了保证DMA的向下兼容性。所以DMA的工作频率相当低。而且如果两个外设之间要进行数据传输,DMA必须先把数据传输到RAM,再由RAM传输到另一个外设,所以现在大多数的外设间的数据传输都通过总线来实现。总线能够绕过CPU和RAM,直接实现两个外设间的数据传输。并且,对于现在的PC机来说,主频一般都能达到33MHz以上,用频率极低的DMA通道传输数据有时并不能达到省时的目的。在现在的外设中,除了声卡外,大多数板卡都禁用或不用DMA。因此,DMA冲突发生的几率很小,只要记住让16位板卡用DMA4—7(因为它们只供16位的板卡用),把DMA3为8位的板卡让出来,一般都不会发生冲突。

(出处:http://www.sheup.com)




标签: