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