電腦硬件由于各個部件生產(chǎn)廠家不一樣,發(fā)生硬件沖突的情況非常之多??赡茉谫徺I硬件的時候渾然不知,用一段時間之后你就開始出現(xiàn)這樣那樣一大推的錯誤提示信息,碰到這樣的情況相信都會抓狂了。為什么電腦硬件會產(chǎn)生沖突呢,硬件沖突到底是怎么一回事?筆者給大家做一個具體的解答。
解析系統(tǒng)資源
一個計算機設(shè)備要能正常工作,必須要通過一定的系統(tǒng)資源與主機進行通信。但當(dāng)新的板卡裝入計算機后,往往會與已有的計算機設(shè)備發(fā)生資源沖突,而不能正常工作。最常見的也是最輕易出現(xiàn)的資源沖突就是IRQ、DMA和I/O沖突。首先,讓我們了解一下IRQ、DMA和I/O的概念。
IRQ(Interrupt ReQuest)
意為中斷請求,每一個設(shè)備都有一個IRQ,用以向CPU發(fā)送服務(wù)請求,稱為中斷。一般來說,計算機有16個中斷線與各種需要用中斷方式工作的不同外設(shè)相連(每個中斷線有一個標(biāo)號也就是中斷號),當(dāng)一條中斷線被激活后,CPU就會立即停下當(dāng)前的工作,裝載一定的中斷處理子程序(中斷服務(wù)程序),這個程序執(zhí)行完成以后,系統(tǒng)回到剛才的斷點,繼續(xù)原來的工作。假如兩個設(shè)備擁有一個中斷號計算機系統(tǒng)中的某些部分就會停止工作,甚至?xí)?dǎo)致整個計算機系統(tǒng)崩潰。
DMA(Direct Memory Address)
直接存取通道。主機與外設(shè)之間的數(shù)據(jù)傳送,一共有兩條途徑:一是用CPU來治理的數(shù)據(jù)的傳送;二是用專門的芯片完成數(shù)據(jù)的傳送。所謂DMA,就是不經(jīng)CPU,外設(shè)同內(nèi)存之間相互傳送數(shù)據(jù)的通道,在這種方式下,外設(shè)利用DMA通道直接將數(shù)據(jù)寫入存儲器或?qū)?shù)據(jù)從存儲器中讀出,而不用CPU參與,系統(tǒng)的速度會大大增加。在PC機內(nèi)部,DMA通道的分配如下。
I/O(INPUT/OUTPUT)
輸入/輸出端口,計算機外設(shè)與主機(CPU和內(nèi)存)進行通信時,是通過接口來進行的,這個接口就叫做端口。每個端口賦與一個端口號稱為地址。每一個端口都包含一組寄存器(數(shù)據(jù)寄存器、命令寄存器和狀態(tài)寄存器)。每一個想和CP U通信的外設(shè)都有不同的I/O地址,在PC機內(nèi)部一共有1024個地址。
Windows的即插即用
計算機的所有IRQ號、DMA通道和I/O端口等系統(tǒng)資源均被操作系統(tǒng)接管,并由其根據(jù)情況進行智能的分配,這就是我們常說的即插即用。然而這種即插即用是有前提條件的:要求有即插即用的BIOS、即插即用的設(shè)備和即插即用的操作系統(tǒng),三者缺一不可,否則可能會引發(fā)設(shè)備沖突。
在實際安裝時,由于存在非即插即用設(shè)備和即插即用設(shè)備混合安裝等情況,而且即插即用設(shè)備品種規(guī)格越來越多,新設(shè)備層出不窮,而Windows并非一個很完善的即插即用操作系統(tǒng),經(jīng)常不能正確檢測和處理有關(guān)設(shè)備的資源情況,非凡是在安裝設(shè)備較多的情況下,由于各種板卡的中斷、DMA通道、I/O地址大部分都有自己的缺省值,假如碰巧兩個板卡使用了同樣的資源,操作系統(tǒng)又無法正常處理就會引起沖突,這就是設(shè)備發(fā)生沖突的重要原因之一。
此外有些板卡由于設(shè)計上有非凡之處(比如耗電過大),或者選料不嚴(yán)、制作工藝不精甚至固件代碼編寫不完善等問題,也可能與另外的板卡或其他設(shè)備難以和平共處。