arm 流水线和pc值
生活随笔
收集整理的這篇文章主要介紹了
arm 流水线和pc值
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ?“然后PC=PC+1”,老師經(jīng)常這么說(shuō)。
? ? ? ?這不完全正確,PC自增一的情況指出現(xiàn)在無(wú)流水(non-pipeline)的情況下,這個(gè)時(shí)候取指,譯碼,執(zhí)指都是順序執(zhí)行的而在有流水的情況下就比較復(fù)雜了這里用arm7為例。
? ? ? ?流水線使用三個(gè)階段,因此指令分為三個(gè)階段執(zhí)行:1.取指(從存儲(chǔ)器裝載一條指令);2.譯碼(識(shí)別將要被執(zhí)行的指令);3.執(zhí)行(處理指令并將結(jié)果寫回寄存器)。
? ? ? ?而R15(PC)總是指向“正在取指”的指令,而不是指向“正在執(zhí)行”的指令或正在“譯碼”的指令。一般來(lái)說(shuō),人們習(xí)慣性約定將“正在執(zhí)行的指令作為參考點(diǎn)”,稱之為當(dāng)前第一條指令,因此PC總是指向第三條指令。當(dāng)ARM狀態(tài)時(shí),每條指令為4字節(jié)長(zhǎng),所以PC始終指向該指令地址加8字節(jié)的地址,即:PC值=當(dāng)前程序執(zhí)行位置+8。
總結(jié)
以上是生活随笔為你收集整理的arm 流水线和pc值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 诺依曼体系结构、哈佛体系结构与改进型哈佛
- 下一篇: ARM中C和汇编混合编程及示例