具有相同内核的两个 ARM SoC 之间是否存在很大差异(在性能方面)?
例如,可以预期在以下之间有哪些差异(除了那些可归因于不同时钟速率的差异):
- Apple A5,基于 1GHz 双核 ARM Cortex-A9
- 三星 Exynos GT-I9100,基于 1.2 GHz 双核 ARM Cortex-A9
某些具有相同内核的 ARM SoC 是否比其他的更好?(如果是,为什么?)
具有相同内核的两个 ARM SoC 之间是否存在很大差异(在性能方面)?
例如,可以预期在以下之间有哪些差异(除了那些可归因于不同时钟速率的差异):
某些具有相同内核的 ARM SoC 是否比其他的更好?(如果是,为什么?)
核心有转数,并且可以发挥作用。有时您可以通过 32 位 AXI 接口或 64 位 AXI 接口来获得它们,这对性能起着重要作用。此外,当然,对于 Cortex-A,您可能想要添加 L2 缓存,这将位于内核和东西之间,这会花费您一些时钟。我认为您不需要购买像 L2 这样的核心项目。
是的,您可以看到购买相同内核的供应商之间的差异。核心本身的性能可能与其家族成员或同名成员非常相似。了解 ARM 停在核心或缓存或其他 ARM 附加组件的边缘。芯片供应商必须将 AXI 或 AMBA 总线转换为内部的东西,在 Cortex-A 等可能位于芯片外部的情况下(例如用于系统内存的 DRAM)。这将因芯片供应商而异,并且可能会有很大差异。例如,如果芯片支持 DDR DRAM,他们可能会从另一家供应商那里购买 IP 来实现 DDR 接口,并且每个芯片和芯片供应商都可以自由选择他们想要在其芯片中植入的任何 IP。
如果你留在核心,说 L1 和 L2 内存系统,如果它有 L2,你可能会看到相似但不一定精确的性能(假设你以相同的时钟频率运行你的两个示例),一旦它超出手臂进入其余部分芯片的所有赌注都没有了,我预计会有明显的性能差异。根据接口,一个芯片会赢得一场性能竞赛,然后换成另一个接口,另一个芯片可能会做得更好。
更好的核心一词是一个加载的问题。你必须决定你认为“更好”是什么意思。一个可能具有快速的 I/O 的良好混合,另一个可能具有很好的芯片上的东西,但具有可怕的外部接口。一个人可能会提供一个真正的网络接口,另一个人可能只是给你usb,你必须把它变成网络、存储、视频等。除了你之外,任何人都无法回答你的这部分问题。如果您对您的产品有非常详细的要求规范,那么可以肯定,社区可以达成一致意见,但根据您的要求和竞赛功能的相似性,可能会导致平局。
我不知道你的项目/目标是什么,但如果你需要推动信封,你应该为每个参赛者购买或建造评估板,并将你的应用程序放在所有参赛者上,看看会发生什么。唯一重要的性能基准是您的应用程序在其他应用程序上运行的速度。
Snapdragon在这里尤其不同。高通没有授权该架构,而只授权了 ARM 的指令集,只是为了保持与其他人的二进制兼容。
他们声称它更像 A9 而不是 A8,但不幸的是,Snapdragon 在主要的 Coretex-A SoC 中属于最差的。
请注意,Apple 的 A 系列和三星的 Hummingbird/Exynos 总体上是该联盟中表现最好的。
因此,如果您正在使用优化的例程在 iPhone 上进行一些基准测试,请注意它很可能在具有不同 SoC 的其他平台上表现不佳。取决于基准算法的性质,差异可能是微不足道的或显着的。
此外,大多数与 MMU 相关的指令(如 PLD/PLI)一直都是可选的,不过我不确定是否使用 ARMv7。
干杯