IRQ衝突怎麼辦
IRQ是“中斷請求”的簡稱。如果CPU需要獲取資料,那麼它必須將此請求送到I/O地址1然後等待外設返回所需資料,在等待的這段時間裡,CPU實際上處於空閒狀態。為了高效利用CPU,人們設計了一種在外設與CPU之間執行的電路,稱之為中斷請求或IRQ。這樣CPU在向外設發出請求後,可以繼續處理別的資料,外設準備好資料後,通過中斷來“通知”CPU,CPU立刻將當前工作“掛起”,在處理完外設的資料後,再返回到被中斷前的工作。如果有兩個或以上的中斷請求同時發生,那麼中斷號較小的請求會優先得到處理,稱為優先順序。
同I/O地址一樣,IRQ也必須是一一對應的。如果有兩個或兩個以上外設同時使用了同一個IRQ設定,它們就會發生衝突,都將會不可用。
一般來說,在PC機中,中斷號的分配是:
0一系統時鐘(不可用);
1一鍵盤(不可用);
2一系統的第二個中斷請求控制器(IRQ9-15);
3一序列口2(可用);
4一序列口1(可用);
5一併行口2(可用)(一般用來設定音效卡);
6一軟盤(不可用);
7一併行口l(一般用作印表機);
8一實時時鐘(不可用);
9一可用;
10一可用;
11一常用於顯示卡;
12一PS/2mouse:
13一數學協處理器;
14一IDEl控制器通道;
15一IDE2控制器通道(可用)。
由上面列出的IRQ用法可以看見,目前為止我們能用到的外設IRQ值基本上都是確定的,而且Windows9x也能自動配置外設的IRQ值。因此Windows9x的'使用者只需讓作業系統自動偵測,一般都可以正確進行分配。一旦出現衝突,只需按調整I/O地址的方法對IRQ進行調整即可,Windows9x會自動列出外設可使用的所有中斷號以供選擇。
以下技巧是解決IRQ衝突或是進行IRQ設定的關鍵:
1、任何情況下都不要使用中斷2,因為它是中斷8~15的統一入口。
2、儘量使用中斷5、10、11、15,因為這幾個中斷是最安全的。
3、如果使用者為外設設定了中斷9,那麼必須要更改I/O地址。從Windows9x裝置屬性中的資源項中,將其“基本配置”設為0002,因為中斷2和中斷9在優先順序上是一致的,只有選擇了基本配置0002,才能保證音效卡不和其他使用了中斷8~15的外設發生衝突。