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