DMA惹的祸

Author: 朱建军 Date: 2001年 11期

    朋友的机子是赛扬366 CPU,HY 64MB  PC-100内存,VIA Apollo PRO芯片组主板,Acer 40×光驱,一年来运行一直很稳定,但最近这只Acer 40×光驱突然变得非常“木讷”,就连读正版光盘也会“叹息”好一阵子,尤其是放VCD时,马赛克特别多,有时还会死机。
      首先怀疑是设置有问题,右击“我的电脑”,选中“设备管理器”,设备列表中没有黄色“?”号,说明没有冲突。依次选择“性能/文件系统/CD-ROM”,发现已经将光驱性能设置为最佳状态。用专用清洁盘清洗光驱的激光头,问题依旧。拆开机箱,检查数据、电源线,接触良好,尝试把光驱设置为主盘(master),不行。用Windows优化大师优化光驱性能,还是不行。朋友装的是Windows Me,用“系统还原”功能还原到15天以前的状态,仍然不行。软硬兼施之下,问题仍未解决,似乎只能解释为光驱老化。该朋友当然很不甘心,他说公司的机子也是Acer 40×,用了近两年都没问题,他才用了一年,况且一个月前还安装了VIA Service Pack 4.16,再加上Windows Me,驱动程序应该都是最新的。
      VIA Service Pack 4.16,难道问题在这里?迫不及待地打开“设备管理器”,查看光驱的属性,发现没有“DMA”这一项,应该已被“VIADMATool”接管了,在程序组中打开VIADMATool,如图所示(^11030802a^),硬盘和光驱果然已选择了DMA工作模式。尝试去掉“ATIPI CD-ROM DRIVE 40× MAXIMUM”前面的钩,选择“Reboot”重新启动。意想不到的是,光驱竟然回复了“生机”,放VCD 90分钟,画面非常流畅,再也没有死机。
      回过头再看这个所谓的“直接内存访问”,即DMA,它可以使计算机系统的整个数据传输过程在“DMA控制器”的控制下进行而不通过CPU,CPU只在数据传输开始和结束时做一些处理。按理说,DMA的启用应该能大大提高计算机的工作效率。但这块主板显然不支持该光驱的DMA工作模式,究其原因,一方面估计是BIOS太旧,需要升级,一方面不排除杂牌主板兼容性太差的缘故。以前朋友使用的是主板自带的老驱动程序,光驱默认不以DMA模式工作,朋友一直没去改动它,当安装VIA Service Pack 4.16时,不经意中把它设为DMA了,问题便由此产生。
      没想到搞了半天,竟是DMA惹的祸。