我们能希望它在未来所有基于ARM架构的移动设备(包括NVIDIA Tegra)中都得到支持吗?
发布于 2014-05-07 20:05:02
与某些其他ISA作者公司不同,ARM对向后兼容性没有硬性承诺。作为ARM核心的主要市场,移动设备是独一无二的,而且是异构的,以至于拥有一个稳定的ISA不会有太大的不同。ARM还针对低功耗应用程序,这意味着希望排除不需要的功能并保持指令集较小,仅使用目标应用程序可以利用的功能。因此,ARM体系结构的给定版本是ISA系列的联合,这些ISA系列共同定义了功能丰富的系统,而不需要的指令族相对较少。
在不同版本之间改变指令集的一个(不完整的)论点是,ISA不再被视为程序员的抽象,而特定于芯片的编译器的任务是为程序员提供稳定的语言。当然,编译器只擅长将C语言压缩成多余的指令,而特定于体系结构的指令(以及手工编写的汇编代码段)在效率要求高的库中仍然很常见。
虽然多年来我们看到的一些ISA扩展被证明是广泛有用的ISA特性(霓虹灯似乎就是其中之一-128位SIMD很方便!)虽然比其他扩展更可靠地持久存在,但似乎不能保证任何特定的ISA扩展都是未来兼容的。
在回答最初的问题时,霓虹灯在所有Cortex-A8设备中都是强制的,但在Cortex-A9设备中是可选的。ARM的商业模式允许公司许可Cortex-A9核心,并省略非强制性扩展。Tegra 2似乎排除了霓虹灯(但通过提供图形处理器形式的"SIMD"-ish协处理器来弥补这一点)。
发布于 2015-08-27 04:06:50
理论上,在实现ARM v7架构(例如基于Cortex-A9的SoC)的ARM处理器中,霓虹灯是可选的。在实践中,大多数现代SoC确实有霓虹灯。
另一方面,在基于ARMv8架构的ARM处理器(支持64位的处理器)中,霓虹灯是强制性的。
https://stackoverflow.com/questions/23516995
复制相似问题