新聞中心

ARM9中斷與PC

作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
1, 假設(shè)當(dāng)前是PC,PC-4,PC-8。當(dāng)前"取指PC"=當(dāng)前PC,當(dāng)前"譯碼PC"=當(dāng)前PC-4,

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

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

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

3, 進(jìn)入中斷服務(wù)程序

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

5, 返回

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



關(guān)鍵詞: ARM9中斷P

評論


技術(shù)專區(qū)

關(guān)閉