新设备安装时资源冲突

Author: 重庆 张 序 Date: 1996-01-12

        一个计算机设备要能正常工作,必须能主机正常通信。但插卡装入计算机后,往往与已有的设备发生了资源冲突,而不能与主机通信。最常见也最容易引起冲突的主机资源就是IRQ、DMA和I/O地址。了解这方面的知识,将有助于你解决以上问题。
        一、IRQ,即常说的硬中断,也就是硬件引起的中断请求。计算机大多使用中断方式与外围设备通信,在286以上机,IRQ中断线有16条,需要采用中断方式与CPU通信的设备一个占用一条线。当一条被激活后,CPU就停下当前工作,载入一特定的处理该中断的子程序,即中断服务程序,处理完后再继续停下的工作。IRQ线数字越小,中断级别越高,就越先被响应。比如IRQ1一般为键盘占用,鼠标许多占用的是IRQ4(COM1)。假设键盘与鼠标被同时按下,都向CPU发出了中断请求,而CPU则只会响应键盘的请求。如果同一条IRQ线被不同的两个设备占用,这就意味着两个设备谁也别想工作。
        二、DMA通道,即直接存储器存取通道,外转设备利用DMA通道直接把数据写入或读出存储器,不用CPU干预,以加快计算机速度。286以上机通常有八个DMA通道(0-7)。市面上许多插卡或其它设备都能利用DMA加快速度,如果碰巧两个设备都偏偏选中同一个DMA通道工作(事实上这样的事经常发生),你猜会有会什么后果,这是引起资源冲突的主要原因之一。
        三、I/O地址,即输入输出地址,是外围设备同CPU传递数据的中转站。CPU能够象存取存储器地址一样存取I/O地址。每个想和CPU通信的外围设备都要被指定一个I/O地址范围。PC实现了1024个地址,每个不同的设备都有不同的I/O地址。如果键盘控制器占用I/O地址60-64(可把它看作一个信箱),当键盘有数据传给系统时, 把数据放在这个信息箱里。CPU要读键盘时,就读这个信箱里的内容。因此,I/O地址也不能产生冲突。IBM为一些常见的设备指定了I/O地址,如键盘、显示卡等。但1024个地址中仍有不少空闲地址。问题就出在这儿,这些地址对每一个外围设备制造商来说都是“空闲”的。比如你的计算机中安有某种网卡,I/O地址利用了空闲的330,后来你又把计算机升级成多媒体,安装了声霸卡和光驱,I/O 330对声霸卡制造商来说当然也是“空闲”的,于是声霸卡中的MPU-MIDI也占用了330。于是,计算机就不能工作了。
        一旦发生资源冲突也用不着惊慌,因为大多数此类冲突都能解决。平时就应该知道原有设备用了哪些IRQ线、DMA通道和I/O地址,用DOS下MSD、NU中的SYSINFO和PCTOOLS中的SI都可能得到比较详细的信息,建议都记在本子上,当安上新设备不能工作时,应先想想有无设备冲突。目前许多设备都允许用户安装时改变上述占用,方法是安装驱动程序时人工选择你要占用的上述项目的具体数值,或通过设备DIP开关、跳线改变。当然,一般情况下使用其默认设备即可。如果不行,再按上述方法改变资源占用,确保不同设备之间互不相犯。