新聞中心

ARM9中斷與PC

作者: 時間:2016-11-22 來源:網絡 收藏
1, 假設當前是PC,PC-4,PC-8。當前"取指PC"=當前PC,當前"譯碼PC"=當前PC-4,

當前"執(zhí)行PC"=當前PC-8。例如,如下圖所示,當前“取值PC”=16,當前“解碼PC”=12,當前“執(zhí)行PC”=8。

本文引用地址:http://www.2s4d.com/article/201611/320028.htm

2, 發(fā)生IRQ異常,執(zhí)行保護操作,LR中保存由于FIQ或IRQ占先而沒有被執(zhí)行完的指令的地址的下一條地址(LR中保存的是當前PC的值,也就是取值的指令地址),即LR指向了指令地址=16的指令,但指令地址=12的指令還沒有執(zhí)行完,中斷返回后還要繼續(xù)執(zhí)行

3, 進入中斷服務程序

4, 中斷返回前,對LR處理,LR=LR-4,指向之前已譯碼但沒被執(zhí)行的指令的地址(如果返回的時候直接返回PC,那么中間就有一個指令沒有執(zhí)行)

5, 返回

注:ARM9是五級流水,圖中只畫出了三級流水。



關鍵詞: ARM9中斷P

評論


技術專區(qū)

關閉