玩電腦的朋友很多都有過這樣的經(jīng)歷: 當(dāng)你在電腦加上某個(gè)新的板卡后, 常會(huì)導(dǎo)
致整個(gè)電腦使用不正常。于是往往抱怨所買板卡的質(zhì)量不好, 其實(shí)此類問題也許
并不與新卡的質(zhì)量有關(guān), 而是因?yàn)樗碗娔X上其它設(shè)備之間產(chǎn)生了設(shè)備沖突。???
??? 一個(gè)計(jì)算機(jī)設(shè)備要能正常工作, 必須要通過一定的系統(tǒng)資源與主機(jī)進(jìn)行通
信。但當(dāng)新的板卡裝入計(jì)算機(jī)后, 往往會(huì)與已有的計(jì)算機(jī)設(shè)備發(fā)生資源沖突, 而
不能正常工作。最常見的也是最容易出現(xiàn)的資源沖突就是IRQ、DMA 和I/O 沖
突。首先, 讓我們了解一下IRQ、DMA 和I/O 的概念。???
??? 1、IRQ( Interrupt ReQuest)
??? 意為中斷請(qǐng)求, 每一個(gè)設(shè)備都有一個(gè)IRQ, 用以向CPU 發(fā)送服務(wù)請(qǐng)求, 稱
為中斷。一般來說, 計(jì)算機(jī)有16 個(gè)中斷線與各種需要用中斷方式工作的不同外
設(shè)相連( 每個(gè)中斷線有一個(gè)標(biāo)號(hào)也就是中斷號(hào)) , 當(dāng)一條中斷線被激活后, CPU
就會(huì)立即停下當(dāng)前的工作, 裝載一定的中斷處理子程序( 中斷服務(wù)程序) , 這個(gè)
程序執(zhí)行完成以后, 系統(tǒng)回到剛才的斷點(diǎn), 繼續(xù)原來的工作。如果兩個(gè)設(shè)備擁有
一個(gè)中斷號(hào)計(jì)算機(jī)系統(tǒng)中的某些部分就會(huì)停止工作, 甚至?xí)?dǎo)致整個(gè)計(jì)算機(jī)系統(tǒng)崩潰。一般來說, 在我們常用的個(gè)人PC 機(jī)中, 中斷號(hào)的分配是這樣的:???
??? IRQ 0系統(tǒng)時(shí)鐘( 系統(tǒng)保留) IRQ 1 鍵盤( 系統(tǒng)保留)
??? IRQ 2系統(tǒng)的第二個(gè)中斷請(qǐng)求控制器( IRQ8- 15)???
??? IRQ 3 串行口2( 可用)?? IRQ 4 串行口1( 可用)?
??? IRQ 5 并行口2( 可用) ( 一般用來設(shè)置聲卡)???
??? IRQ 6 軟盤( 系統(tǒng)保留)???? IRQ 7并行口1( 一般用作打印機(jī))
??? IRQ 8 實(shí)時(shí)時(shí)鐘( 系統(tǒng)保留)???? IRQ 9 可用 IRQ 10 可用
??? IRQ 11常用于顯示卡 IRQ12 PS/2 mouse( 可用) IRQ13 數(shù)學(xué)協(xié)處理器
??? IRQ14 IDE1 控制器通道 IRQ15 IDE2 控制器通道( 可用)
??? 此外還有NMI 非正常中斷( 不可屏蔽中斷) , 如校驗(yàn)錯(cuò)。???
??? 2、DMA( Direct Memory Address)???
??? 直接存取通道。主機(jī)與外設(shè)之間的數(shù)據(jù)傳送, 一共有兩條途徑: 一是用CPU
來管理的數(shù)據(jù)的傳送; 二是用專門的芯片完成數(shù)據(jù)的傳送。所謂DMA, 就是不
經(jīng)CPU, 外設(shè)同內(nèi)存之間相互傳送數(shù)據(jù)的通道, 在這種方式下, 外設(shè)利用DMA
通道直接將數(shù)據(jù)寫入存儲(chǔ)器或?qū)?shù)據(jù)從存儲(chǔ)器中讀出, 而不用CPU 參與, 系統(tǒng)
的速度會(huì)大大增加。在PC 機(jī)內(nèi)部, DMA 通道的分配如下:???
??? DMA0? 可用?? DMA1? ECP 打印口( 如果設(shè)置的話) DMA2? 軟盤控制
器???
??? DMA3? 8 位數(shù)據(jù)傳送???? DMA4? 級(jí)聯(lián)DMA 控制器?? DMA5? 可用???
??? DMA6? 可用?? DMA7? 可用???
??? 3、I/O( INPUT/OUTPUT)
??? 輸入/輸出端口, 計(jì)算機(jī)外設(shè)與主機(jī)( CPU 和內(nèi)存) 進(jìn)行通信時(shí), 是通過接
口來進(jìn)行的, 這個(gè)接口就叫做端口。每個(gè)端口賦與一個(gè)端口號(hào)稱為地址。每一個(gè)
端口都包含一組寄存器( 數(shù)據(jù)寄存器、命令寄存器和狀態(tài)寄存器) 。每一個(gè)想和
CP U 通信的外設(shè)都有不同的I/O 地址, 在PC 機(jī)內(nèi)部一共有1024 個(gè)地址。
??? 從Win95 開始計(jì)算機(jī)的所有IRQ 號(hào)、DMA通道和I/O 端口等系統(tǒng)資源均被
操作系統(tǒng)接管, 并由其根據(jù)情況進(jìn)行智能的分配, 這就是我們常說的即插即用。
然而這種即插即用是有條件的: 要求有即插即用的BIOS、即插即用的設(shè)備和即
插即用的操作系統(tǒng), 三者缺一不可, 否則可能會(huì)引發(fā)設(shè)備沖突。在實(shí)際安裝時(shí),
由于存在非即插即用設(shè)備和即插即用設(shè)備混合安裝等情況, 而且即插即用設(shè)備品
種規(guī)格越來越多, 新設(shè)備層出不窮, 而WINDOWS 95/98 并非一個(gè)很完善的即插
即用操作系統(tǒng), 常常不能正確檢測(cè)和處理有關(guān)設(shè)備的資源情況, 特別是在安裝設(shè)
備較多的情況下, 由于各種板卡的中斷、DMA 通道、I/O 地址大部分都有自己
的缺省值, 如果碰巧兩個(gè)板卡使用了同樣的資源, 操作系統(tǒng)又無法正常處理, 就
會(huì)引起沖突。這就是設(shè)備發(fā)生沖突的重要原因之一。
??? 此外有些板卡由于設(shè)計(jì)上有特殊之處( 比如耗電過大) , 或者選料不嚴(yán)、制
作工藝不精甚至固件代碼編寫不完善等問題, 也可能與另外的板卡難以“和平”
評(píng)論
查看更多