关于ARM PC值

Posted cheyihaosky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ARM PC值相关的知识,希望对你有一定的参考价值。

PC值(Program Counter).

ARM采用流水线来提高CPU的利用效率, 对于三级流水线, 一条汇编指令的执行包括 取值,  译码, 执行三个阶段.

技术图片

当MOV指令的取指动作完毕后, 进入MOV指令的译码阶段, 同时开始ADD指令的取指动作.  由图中可以发现, 正在执行MOV指令时, 同时处于ADD的译码

阶段和SUB指令的取指阶段.

由于PC值总是指向正在"取指"的指令,  如上图, 正在执行的MOV指令时,  PC值指向正在取指的指令SUB.

这中间相隔了两条指令. 对于32位CPU来说, 一条指令占用四个字节, 所以   PC = 当前程序执行地址 + 8个字节.

以上是关于关于ARM PC值的主要内容,如果未能解决你的问题,请参考以下文章

关于总是阻止在verilog中实现ARM cpu

关于ARM的PC指针(什么时候PC+8,PC+4,PC-4,PC-8)

关于ARM 开发板

ARM指令中PC指针取址问题

ARM MOV PC加8

关于ARM型号的问题