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

Difference between co-processor registers and System registers

Hi all,

In ARMv-7 the co-processor register is used to configure the TCM, cache, MMU, MPU, etc.

In ARMv-8 the co-processor logic is removed and integrated as the system register. Is there any performance difference by doing that ?

Parents
  • Hi,

    There is no performance penalty associated with the change of mechanism here. In ARMv7 (and all earlier architectures which used the CP15 mechanism), CP15 was never a "real" coprocessor anyway. The registers and their associated functionality was implemented as part of the core itself. So the use of coprocessor instructions and registers is really only an instruction encoding scheme for making these operations available. The fact that these operations are achieved via separate instructions and named registers in ARMv8 does not affect how the underlying hardware handles them at all.

    Note that the architecture does not mandate any particular timing or performance behaviour for these operations (nor for any other instructions, for that matter), so timing may vary from core to core.

    Hope this helps.

    Chris

Reply
  • Hi,

    There is no performance penalty associated with the change of mechanism here. In ARMv7 (and all earlier architectures which used the CP15 mechanism), CP15 was never a "real" coprocessor anyway. The registers and their associated functionality was implemented as part of the core itself. So the use of coprocessor instructions and registers is really only an instruction encoding scheme for making these operations available. The fact that these operations are achieved via separate instructions and named registers in ARMv8 does not affect how the underlying hardware handles them at all.

    Note that the architecture does not mandate any particular timing or performance behaviour for these operations (nor for any other instructions, for that matter), so timing may vary from core to core.

    Hope this helps.

    Chris

Children
No data