ARM v7 ISA向ARM v2 ISA的向后兼容性

时间:2014-07-28 19:46:53

标签: arm isa

我目前处于学校项目的早期阶段,涉及分析不同类型处理器核心的功耗。我想比较硬核和软核处理器的相对功率和性能测量;不幸的是,我在找到后面的例子之一时遇到了一些麻烦。我在opencores.org上发现了Amber项目,但我不确定我是否可以使用它。

原因,也就是我的问题是:我目前可以访问的开发板是Zedboard,Zynq-7000 SoC又包含ARM Cortex A9处理器。 A9支持ARM v7 ISA,而Amber项目仅支持ARM v2 ISA。 v7架构是否有可能向后兼容v2架构,如果是这样,有人会知道我在哪里可以找到一些资源吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

在v3之前,系统架构存在一些显着差异:

  • 只有一个26位的地址空间,以及一个超出此范围的地址异常(从以后的架构中的"未使用的"向量位于0x14)。
  • 仅有4种处理器模式。
  • 没有PSR,相应没有MSR / MRS指令(标志/模式存储在r15的未使用位中,并且有特殊指令可以在不干扰PC的情况下编写这些指令)。

此外,v6引入了许多重要的内存模型差异(中止处理,未对齐访问,独占等),这也破坏了与早期行为的兼容性。

虽然"系统"代码需要相当不同才能解决所有这些问题,理论上你可以共享相同的非特权应用程序"两者之间的代码,只要它被仔细写入指令和行为的公共子集。

与往常一样,规范引用是ARM Architecture Reference Manuals - 请注意,ARMv5 ARM是最后一个包含26位体系结构文档的文档。