PC值=當前程式執行位置+8
阿新 • • 發佈:2018-11-30
ARM處理器使用流水線來增加處理器指令流的速度,這樣可使幾個操作同時進行,並使處理與儲存器系統之間的操作更加流暢,連續,能提供0.9MIPS/MHZ的指令執行速度。 PC代表程式計數器,流水線使用三個階段,因此指令分為三個階段執行:
1.取指(從儲存器裝載一條指令);
2.譯碼(識別將要被執行的指令);
3.執行(處理指令並將結果寫回暫存器)。
而R15(PC)總是指向“正在取指”的指令,而不是指向“正在執行”的指令或正在“譯碼”的指令。一般來說,人們習慣性約定將“正在執行的指令作為參考點”,稱之為當前第一條指令,因此PC總是指向第三條指令。當ARM狀態時,每條指令為4位元組長,所以PC始終指向該指令地址加8位元組的地址,即:PC值=當前程式執行位置+8;
週期1 週期2 週期3 週期4 週期5 週期6
PC-8 取指 譯碼 執行
PC-4 取指 譯碼 執行
PC 取指 譯碼 執行
---------------------