ARM的向量中斷和非向量中斷


   

    向量中斷就是不同的中斷有不同的入口地址,非向量中斷就只有一個入口地址,進去了在判斷中斷標誌來識別具體是哪個中斷。向量中斷實時性好,非向量中斷簡單。向量者,矢量也,即指方向,門路。
向量中斷------由硬件提供中斷服務程序入口地址;
非向量中斷------由軟件件提供中斷服務程序入口地址

   非向量中斷髮生後,VIC中的vecaddr中會存放一個默認中斷服務程序的地址,這個程序是被所有的非向量中斷公用的,他執行的作用就是判斷究竟是發生了那個非向量中斷,然後再轉向真正要被執行的中斷服務程序。

   向量中斷服務程序就沒有這麼麻煩,VIC的vecaddr中存放的就是真正的中斷服務程序的地址,直接取出來跳過去執行就可以了。所以向量中斷較快。

    其實,所有的非向量中斷可以看成是一個向量中斷。

    而快速中斷也可以看作是一個向量中斷,只不過不需要從VIC的vecaddr中取地址,而是直接跳到相應地址執行,可以看作是一個指定了向量地址的中斷。

原文地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章