This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

In ARM7 and ARM9 PC=current + 8, but in the cortex-A7(8-stage pipeline) the PC is also the same value(PC=current +8), how does this work?

In ARM7 and ARM9 PC=current + 8, but in the cortex-A7(8-stage pipeline) the PC is also the same value(PC=current +8), how does this work?

I think the cortex-A7 has 8-stage pipeline, the PC value is also current+8(this is back-forward for old design), but how it works?

Parents
  • It's probably best to see all core registers as "virtual registers". What happens in the core and its pipeline is not the same that what you see in you asm code. This might have been the case long time ago when cores were simple - and that is where the PC+8 thing comes from. Since then ARM has kept is for compatibility and you just have to get along with this. Don't try to make too much sense of it on a Cortex core.

Reply
  • It's probably best to see all core registers as "virtual registers". What happens in the core and its pipeline is not the same that what you see in you asm code. This might have been the case long time ago when cores were simple - and that is where the PC+8 thing comes from. Since then ARM has kept is for compatibility and you just have to get along with this. Don't try to make too much sense of it on a Cortex core.

Children