計算機體系結構中的程式中斷型別有哪些?
程式中斷定義了程式控制從當前執行的程式轉移到另一個服務程式的過程,這是由外部或內部生成的請求引起的。服務程式執行完畢後,控制返回到初始程式。
程式中斷主要有以下三種類型:
外部中斷
外部中斷來自輸入輸出(I/O)裝置、計時裝置、監控電源的電路或任何其他外部來源。超時中斷可能是由於程式陷入無限迴圈而超過其時間分配造成的。電源故障中斷的服務例程可能是一個程式,它在電源中斷前幾毫秒內將CPU的完整狀態轉移到非破壞性儲存器中。
內部中斷
內部中斷是由指令或資料的非法或錯誤使用引起的。內部中斷也稱為陷阱。這些錯誤條件通常是由於指令執行過早終止而出現的。處理內部中斷的服務程式確定要採取的糾正措施。
內部中斷和外部中斷的主要區別在於,內部中斷是由程式本身引起的某些異常情況觸發的,而不是由外部事件觸發的。內部中斷與程式同步,而外部中斷是非同步的。如果程式重新執行,內部中斷每次都會出現在相同的位置。外部中斷取決於與當時正在執行的程式無關的外部條件。
軟體中斷
軟體中斷是由執行指令啟動的。軟體中斷是一種特殊的呼叫指令,其行為類似於中斷而不是子程式呼叫。程式設計師可以使用它在程式中任何所需點啟動中斷過程。
廣告