2

I'm currently in the early stages of a school project that involves analyzing the power draw of different types of processor cores. I'm looking to compare the relative power and performance measurements of a hardcore and softcore processor; unfortunately, I'm having a bit of trouble finding one of the latter examples. I've discovered the Amber project at opencores.org, but I'm not certain I can use it.

The reason, and hence my question, is this: the development board I currently have access to is a Zedboard, with a Zynq-7000 SoC that in turn includes an ARM Cortex A9 processor. The A9 supports the ARM v7 ISA, while the Amber project only supports the ARM v2 ISA. Is there any chance that the v7 architecture is backwards compatible to the v2 architecture, and if so, would anyone know where I might find some resources on that?

Thank you!

tonysdg
  • 58
  • 6

1 Answers1

0

Prior to v3, there were some significant differences in the system architecture:

  • Only a 26-bit address space, and an address exception for going outside this (from whence the "unused" vector at 0x14 on later architectures).
  • Only 4 processor modes.
  • No PSRs, and correspondingly no MSR/MRS instructions (flags/mode are stored in the unused bits of r15, and there are special instructions to write just these without disturbing the PC).

Furthermore, v6 introduced a number of significant memory model differences (abort handling, unaligned access, exclusives, etc.) which also break compatibility with earlier behaviour.

Whilst the "system" code would need to be rather different to account for all that, you could in theory share the same unprivileged "application" code between the two, provided it was carefully written to the common subset of instructions and behaviour.

As always, the canonical reference is the ARM Architecture Reference Manuals - note that the ARMv5 ARM is the last one with any documentation of the 26-bit architectures.

Notlikethat
  • 20,095
  • 3
  • 40
  • 77