輕松分配板卡資源
中斷是計算機處理特殊問題的一個過程,當計算機執行程序的過程中出現某個特殊情況時,會暫時中止現行程序,轉去執行這一事件的程序,處理完畢之後再回到原來程序的中斷點繼續執行的整個過程叫做中斷。
什麼是IRQ
那麼,什麼是IRQ(中斷請求)呢?中斷請求是由某個設備發出並同時請求CPU產生中斷的一個請求響應信號。通常情況下,計算機是根據中斷請求的優先級來決定究竟應當首先響應哪一個設備的中斷請求的(中斷請求IRQ0~1RQ15中,IRQ0的優先級別最高,IRQ15最低)。原則上,計算機中每個設備自身只有惟一的一個中斷請求通道,即IRQ值(又叫IRQ號)。當兩個硬件設備同時使用同一個中斷通道(IRQ值)時,就會發生IRQ沖突,因為這個時候處理器已經無法准確判斷收到的中斷請求究竟來自於哪個設備了。
IRQ的分配與沖突產生的原因
表1 各irq在bios中所對應的硬件設備
irq編號
設備名稱
用途
irq0
time
電腦系統計時器
irq1
keyboard
鍵盤
irq2
redirect irq9
與irq9相接,mpu-401 mdi使用該irq
irq3
com2
串口設備
irq4
com1
串口設備
irq5
lpt2
建議聲卡使用該irq
irq6
fdd
軟驅傳輸控制用
irq7
lpt1
打印機傳輸控制用
irq8
cmos alert
即時時鐘
irq9
redirect irq2
與irq2相接;可設定給其他硬件使用
irq10
reversed
建議網卡使用該irq
irq11
reversed
與irq10相同,都是保留給pci硬件使用,建議分配給顯卡
irq12
ps/2mouse
接ps/2鼠標,若無,也可設定給其他硬件使用
irq13
fpu
協處理器用,例如fpu(浮點運算器)
irq14
primary ide
主硬盤傳輸控制器(1號)
irq15
secondary ide
從硬盤傳輸控制器(2號)
在我們使用的計算機中,大都是由一個中斷控制器8259來控制系統中每個硬件的IRQ值。目前共有16組IRQ,去掉其中用來做“橋接”的一組IRQ,實際上只有15組IRQ可供硬件使用。這15組IRQ,在基本輸入輸出系統(BIOS)中通常都有自己所對應的硬件設備(見表1 )。而我們日常所用的操作系統,對於IRQ的分配也不盡相同,所以在安裝新硬件的時候,系統往往並不能自動給設備分配正確的IRQ值,這樣,難免就會造成此硬件設備或是原來的舊硬件出現不能正常工作的現象。其實,這是由於操作系統誤將該硬件使用的IRQ又同時分配給了另一個硬件設備所造成的。產生IRQ沖突後,沖突硬件便不能正常工作。一般來說,遇到這種情況,只要將產生沖突的兩個硬件的IRQ值以手動方式調開或在BIOS中進行相應的調整,就可以解決問題。
如何解決IRQ沖突
1、硬件“挪移”法:此方法主要用來解決中斷沖突造成的死機和較難排除的IRQ沖突。即在主板BIOS默認的IRQ資源分配下,通過調整板卡(聲卡、Modem、網卡、電視卡、顯卡等)於插槽的安裝位置來避開IRQ沖突。采取這種方法時,需要用戶掌握主板BIOS默認狀態下的IRQ資源分配情況,然後在此基礎上調整板卡的位置,從而避開IRQ沖突。 //本文來自腳本之家www.dnjsb.com轉載請注明
表2 某主板bios默認狀態下的irq資源分配表件設備
插槽
int a
int b
int c
int d
pci插槽1
共享
pci插槽2
pci插槽3
共享
pci插槽4
共享
pci插槽5
共享
pci插槽6
共享
agp插槽
共享
主板聲卡
共享
usb控制器
共享
下面我們舉例來說明,表2為某主板BIOS默認狀態下的IRQ資源分配情況,可以看到該主板在BIOS默認的情況下,PCI-1與AGP共用一個中斷請求(通常是IRQ11),PCI-3、PCI-5、板載聲卡共用一個中斷資源,PCI-4、PCI-6及USB控制器共用一個中斷資源。了解了上述IRQ分配情況,那麼在安裝板卡的時候,我們就可以以表3的方式來進行板卡的安裝,以避開IRQ沖突。
表3 建議采用的安裝方式
配件
安裝位置
默認的irq自動配置
agp顯卡
agp插槽
與pci 插槽 1共享irq
pci顯卡
pci 插槽1
與agp插槽共享irq
電視卡
pci 插槽2
獨立使用irq(不共享irq)
聲卡
pci 插槽 3或插槽 5
與主板上的ac97聲卡共享irq
網卡、內置modem
pci 插槽 4或插槽 6
與主板上的usb控制器共享irq
這樣分配的理由是:很少有人會同時使用AGP顯卡與PCI顯卡,因此與之對應的中斷資源(IRQ11)就處於獨享狀態。分配PCI-2插槽給電視卡,這是由於PCI-2本身就獨享一個中斷資源。而使用單獨的聲卡時,由於我們從主板上屏蔽了板載聲卡,因此無論聲卡插在PCI-3或PCI-5上,均不會與其他硬件發生中斷沖突。同樣,網卡、內置Modem皆可按此方法進行安裝。
2、主板BIOS、操作系統的“軟配置”法:對於不太嚴重的中斷沖突(不死機),我們可以通過手動調整BIOS和操作系統中的IRQ值來避開IRQ沖突。下面以筆者的升技BH6主板為例來說明:
1)進入操作系統,依次打開“控制面板→設備管理器→屬性”,查看各硬件的IRQ的分配情況。當硬件產生IRQ沖突和驅動程序安裝錯誤時,通常以“!”號或“?”來標識。
2)以Windows Me為例,依次選擇“開始→程序→附件→系統工具→系統信息→硬件資源→IRQ”,從信息欄中,我們可以非常直觀的了解IRQ資源的分配情況。
3)從圖1中筆者發現IRQ3(COM2)處於閒置狀態(在IRQ資源緊張之時,可以在BIOS中屏蔽COM2以節約出一個IRQ),聲卡與顯示卡共用IRQ11,從而導致聲卡與顯示卡IRQ沖突,本來應該分配給聲卡使用的IRQ5卻分配給電視卡(Bt848 Video Capture Device)。下面,筆者將通過調整BIOS中的“PNP/PCI Configuration”設置項,重新分配IRQ資源,以避開IRQ沖突。
圖1 IRQ資源的分配情況
4)重新啟動計算機,進入CMOS設置菜單,選擇“PNP/PCI Configuration”(如圖2),將“PNP OS Installed(即插即用操作系統安裝)”定義為“Yes”,將“Resources Controlled By(資源控制)”定義“Auto(自動)”。
圖2 “PNP/PCI Configuration”控制項可以讓用戶自由分配IRQ資源
5)將“PIRQ_0 USE IRQ No:”(PCI-1)設定為“Auto”(這個PCI插槽實際上是空著的)。
6)將“PIRQ_1 USE IRQ No:”(PCI-2)設定為“10”(這個PCI槽由Modem使用著)。
7)將“PIRQ_2 USE IRQ No:”(PCI-3)設定為“5”(這個PCI槽由PCI聲卡使用著)。
8)將“PIRQ_3 USE IRQ No:”(PCI-4)設定為“3”(這個PCI槽由電視卡使用著)。
9)保存並退出CMOS設置程序。
通過對IRQ的調整,筆者將原本十分緊張的IRQ資源節省出了一個IRQ3,並將其重新分配給了電視卡。而原來占用著IRQ5的電視卡又將該IRQ資源還給了聲卡。這樣,聲卡就獲得了IRQ5的控制權。之後,電視卡使用IRQ3、聲卡使用IRQ5、顯示卡使用IRQ11、Modem使用IRQ10(表3)。通過合理的IRQ資源重新分配,各硬件終於可以和平相處了。