ARMv8向后兼容ARMv7(Snapdragon 820 vs Cortex-A15)

问题描述 投票:3回答:1

我看到ARMv8只是ARMv7架构的扩展,所有在ARMv7上编译的代码都应该在ARMv8上运行。我对ARMv8向ARMv7的向后兼容感兴趣。在ARMv8上编译的代码是否会在ARMv7上运行?

我有一个特别感兴趣的案例:我想在comma.ai's Openpilot visiond binary(NVIDIA Cortex-A15 CPU)上运行为OnePlus 3 smartphone(Qualcomm MSM8996 Snapdragon 820 CPU)编译的Nvidia Jetson TK1。想象力会在Jetson上运行吗?

编辑:可能有更多的问题比CPU兼容性,因为visiond可能在该手机上大量使用GPU。可能取决于他们是否使用一些标准的并行化方式(OpenCL,NEON等)或者为Snapdragons GPU提供一些自定义代码。即使使用OpenCL,在不同的硬件上兼容的可能性也很低。

arm cpu-architecture backwards-compatibility binary-compatibility armv8
1个回答
2
投票

我相信aarch32 userland与ARMv7完全或非常高度向后兼容,即为ARMv7编译的用户态程序应该只在AArch32中工作,但我在ARM手册中找不到精确的引用。

aarch32确实在ARMv7上添加了新指令,但是大多数指令似乎是ARMv8添加的功能,设计人员决定在aarch32上公开。因此,aarch32与ARMv7不向前兼容,即为aarch32编译的程序可能无法在ARMv7上运行。

我不确定系统的土地。另见:Does ARMv8 AArch32 mode has backward compatible with armv4 , armv5 or armv6?

© www.soinside.com 2019 - 2024. All rights reserved.