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
More questions in this forum
There are no posts to show. This could be because there are no posts in this forum or due to a filter.