什么是IRQ中斷
產(chǎn)生中斷請求的設(shè)備或者事件被稱為中斷源,中斷源可分為兩類:一類是CPU內(nèi)部中斷,即執(zhí)行軟件中斷指令I(lǐng)NT或遇到軟件陷阱而產(chǎn)生的中斷,它們的中斷類型號已由CPU規(guī)定好;另一類中斷是由CPU以外的I/O設(shè)備產(chǎn)生的中斷,又稱硬件中斷,硬件中斷可分為不可屏蔽中斷NMI和可屏蔽中斷INTR,NMI用于緊急情況的故障處理,如RAM奇偶校驗錯等,INTR則用于外部依靠中斷來工作的硬件設(shè)備。網(wǎng)卡使用的就是INTR,下面我們對IRQ進行更深入的了解。
本文引用地址:http://www.ex-cimer.com/article/201611/315567.htm一、中斷類型號和IRQ
外部設(shè)備的中斷請求是通過中斷控制器8259A的INT引腳輸入到CPU的INTR引腳向CPU提出中斷申請的,并送去一個中斷類型號,這是一個8位的二進制數(shù)。
一片8259A能負責(zé)整個外部設(shè)備的中斷請求(1RQ0-IRQ7),每個外設(shè)對應(yīng)一個中斷請求號。
圖為:中斷類型號與中斷請求號
二、IRQ的優(yōu)先級和默認配置
一般計算機只能支持16個IRQ,也就是提供16個硬件設(shè)備的中斷請求,16個IRQ是用兩個8259A通過級聯(lián)來實現(xiàn)的。
圖為:主從8259A連接圖
主中斷控制器8259A的IRQ2與從中斷控制器8259A的INT引腳相連,因此從8259A上的中斷請求優(yōu)先級(Priority)享受主8259AIRQ2上的優(yōu)先分級。所謂優(yōu)先級是指當(dāng)有多個中斷源提出中斷請求時,CPU先為優(yōu)先權(quán)高的中斷請求服務(wù)。再為優(yōu)先權(quán)低的中斷服務(wù)。主8259A中IRQ0~IRQ7中的IRQ0優(yōu)先權(quán)最高,IRQ7最低;從8259A中以IRQ8最高,IRQl5最低。
由于兩個8259A的連接關(guān)系,從8259A的IRQ8~IRQ15的優(yōu)先權(quán)低于主8259A的IRQ0~IRQl,而高于主8259A的IRQ3~IRQ7。
圖為:中斷優(yōu)先級順序
計算機中有些IRQ有默認的配置,這些默認的配置都是些常用設(shè)備,一般的默認配置。
圖為:1RQ的默認配置使用情況
現(xiàn)在的Windows操作系統(tǒng)已經(jīng)運用PNP技術(shù),這種“即插即用”的功能可以將中斷進行自動分配,大大簡化了用戶的操作。不過這種PNP技術(shù)也有它的弱點,那就是如果不能認出要安裝的新設(shè)備,那么自動分配中斷時就會產(chǎn)生沖突。我們?nèi)粘K玫挠布τ贗RQ的設(shè)置也不盡相同,所以在安裝新硬件的時候,系統(tǒng)往往并不能自動檢測正確的IRQ來分配給所有調(diào)用的硬件,這就會造成此硬件設(shè)備或是原來的舊硬件出現(xiàn)不能正常工作的現(xiàn)象?,F(xiàn)在新的硬件產(chǎn)品層出不窮,各種產(chǎn)品又相互兼容,功能類似,這就導(dǎo)致了操作系統(tǒng)常常不能正確檢測出新設(shè)備,中斷沖突也就不可避免了。其實這是因為系統(tǒng)自動將該硬件的IRQ分配給了其他與此IRQ相同的硬件上,從而發(fā)生沖突使硬件不能正常工作。一般如果遇到這種情況,只要將新舊兩個硬件的IRQ配置手動調(diào)開就可以解決了。手動配置IRQ時,最好檢查有無保留中斷(IRQ),不要讓其他設(shè)備使用該中斷號,以免引起新的中斷沖突,造成系統(tǒng)死機。另外從表2還可以看出,COM1端口設(shè)置為IRQ4,而COM2端口設(shè)置為IRQ3,即COM2比COMl中斷優(yōu)先權(quán)高,所以為保持通信的傳輸質(zhì)量通常將COM2端口接調(diào)制解調(diào)器,而把COM1留給鼠標使用。利用相同的原理,合理分配各硬件設(shè)備的中斷號,將使你的系統(tǒng)性能佳。
評論