ARM的向量中斷和非向量中斷
向量中斷------由硬件提供中斷服務程序入口地址;
非向量中斷------由軟件件提供中斷服務程序入口地址
非向量中斷發(fā)生后,VIC中的vecaddr中會存放一個默認中斷服務程序的地址,這個程序是被所有的非向量中斷公用的,他執(zhí)行的作用就是判斷究竟是發(fā)生了那個非向量中斷,然后再轉向真正要被執(zhí)行的中斷服務程序。
向量中斷服務程序就沒有這么麻煩,VIC的vecaddr中存放的就是真正的中斷服務程序的地址,直接取出來跳過去執(zhí)行就可以了。所以向量中斷較快。
其實,所有的非向量中斷可以看成是一個向量中斷。
而快速中斷也可以看作是一個向量中斷,只不過不需要從VIC的vecaddr中取地址,而是直接跳到相應地址執(zhí)行,可以看作是一個指定了向量地址的中斷。
評論