2009年5月11日 星期一

中斷的類型

中斷的種類可分為軟體中斷及硬體中斷,而硬體中斷又可分為內部及外部,外部中斷還可分為不可遮罩式(non-maskable interrupt)和可遮罩式(maskable interrupt)兩種。

中斷的類型
1. 軟體中斷
2. 硬體中斷
2.1. 內部
2.2. 外部
2.2.1. 可遮罩式
2.2.2. 不可遮罩式

(1)軟體中斷(software interrupt)

由CPU執行一個中斷指令產生中斷要求,例如80×86CPU的INT ××指令。此種中斷雖然不是偶發性的,是由程式安排而產生,但是執行INT中斷指令時,CPU處理程序與硬體中斷相同,故仍歸類於中斷的類型。軟體中斷主要的用途是為了方便呼叫基本輸入輸出系統(Basic Input Output System, BIOS)和磁碟作業系統(Disk Operating System , DOS)中的公用服務程式,例如鍵盤取字,輸出字元到螢幕,讀取磁區等等。當BIOS版本更新時只要更改中斷向量表中的中斷程式起始位址,您就可不必在意這些程式的位址及內容,只需知道中斷編號××(中斷向量)就可以呼叫得到它們。

(2)硬體中斷(hardware interrupt)

硬體中斷是可以分為內部和外部的,內部的中斷發生於CPU演算時產生錯誤,例如除法時分母為零或宣告了溢位中斷服務等,內部的中斷也發生於除錯程式中的單步執行和中斷位址(中斷點)的設定(請參考3.1-3節,TF旗標的功能),這些中斷均由CPU內部硬體電路的狀態而產生。而外部的中斷是經由CPU的接腳輸入產生的,包括了重置(reset)輸入線、不可遮罩式中斷(non-maskable interrupt)和可遮罩式中斷(maskable interrupt)等輸入線。

參考資料:
中斷的類型

沒有留言: