中斷和異常,陷阱的區別和聯絡

劍西樓發表於2017-02-20


對於中斷,異常和陷阱的各種關係,總結如下:

表 2.1. 中斷,異常和陷阱的區別和聯絡

  對CPU來說是 和當前CPU所執行的指令的關係 CPU接下來的事情 程式設計師和使用者的態度
中斷 被動的 非同步的 沒關係 跳轉到對應的ISR 希望有對應的中斷,以使得CPU可以響應對應的中斷,執行對應的ISR
異常 被動的 同步的 有關係,因為就是當前指令執行出問題,才有的異常 跳轉到對應的異常處理 不希望出現異常,如果出現了,那往往是指令執行出現某些錯誤了
陷阱 主動的 同步的 有關係,就是執行當前軟中斷指令,才進入的軟中斷 執行對應的軟中斷處理函式 對於想要實現除錯功能的程式設計師,有需要此陷阱的必要,其他人不用關心此點

下面,用圖表總結了,中斷,陷阱和異常的區別:

圖 2.1. 中斷,陷阱和異常的區別

中斷,陷阱和異常的區別

[注意] 注意

無論是中斷,還是異常和陷阱,對應的處理函式,一般都可以稱其為中斷服務程式ISR,都只是一個函式

具體函式裡面要做什麼事情,是由你寫程式的人決定的

比如中斷中處理對應的事情,異常中自己決定如何響應出現的異常,陷阱中決定做什麼事情。

相關文章