新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 什么是IRQ中斷

        什么是IRQ中斷

        作者: 時間:2016-11-18 來源:網絡 收藏
          IRQ(Interrupt Request)的作用就是在我們所用的電腦中,執行硬件中斷請求的動作,用來停止其相關硬件的工作狀態。比如我們要打印一份文件,在打印結束時就需要由系統對打印機提出相應的中斷請求,來以此結束這個打印的操作。

          產生中斷請求的設備或者事件被稱為中斷源,中斷源可分為兩類:一類是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留給鼠標使用。利用相同的原理,合理分配各硬件設備的中斷號,將使你的系統性能佳。



        關鍵詞: IRQ中斷默認配

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宜章县| 同仁县| 新晃| 营口市| 永定县| 新乡县| 邻水| 高淳县| 巫山县| 佛坪县| 右玉县| 西平县| 当雄县| 炉霍县| 禄丰县| 乌审旗| 健康| 那曲县| 方城县| 沂南县| 手游| 仁寿县| 淄博市| 牙克石市| 新河县| 达日县| 海阳市| 巴林右旗| 县级市| 琼海市| 梅河口市| 沙洋县| 英吉沙县| 沈阳市| 新密市| 阿克苏市| 灵丘县| 广德县| 永兴县| 商城县| 五莲县|