您的位置: 首页 > 文章 > 为什么大部分ARM CPU(32位)的PC=当前执行指令地址+8呢? 为什么大部分ARM CPU(32位)的PC=当前执行指令地址+8呢? 分类: 文章 • 2025-03-04 09:29:05 1 为什么大部分ARM CPU(32位)的PC=当前执行指令地址+8呢 我们知道ARM是采取流水线结构的,比如ARM7为三级流水线:取指、译码、执行,ARM9为五级流水线:取指、译码、执行、缓存/数据、回写。 1.1 ARM7三级流水线 可以看出来,由于执行落后于取指两个周期,所以对于三级流水线来说PC=当前执行指令地址+8。 1.2 ARM9三级流水线 总结: 不管是ARM7还是ARM9,由于执行落后于取指两个周期(时钟周期),所以PC的值总是等于当前执行的指令地址加8。