gpt4 book ai didi

Android ARMv6/v7 和 VFP/NEON

转载 作者:IT老高 更新时间:2023-10-28 23:10:22 28 4
gpt4 key购买 nike

我想了解更多 Android 手机上使用的 CPU。原因是我们正在构建 C 库,它具有我们可以设置的某些 CPU/数学处理器架构标志。

  1. 到目前为止,我们发现所有 Android 设备的 CPU 都是 ARM 设计的,或者是 ARMv6(旧设备、低端、华为、中兴、小 SE)或 ARMv7(Honeycomb 平板电脑和所有更昂贵的设备,几乎都具有 WVGA 或更高的分辨率)我检查了大约 20 台设备,并且都有这种类型的处理器。那是对的吗?还有其他的吗?

  2. 现在谈到多媒体和数学运算,我认为有两个单元很重要——用于浮点运算的 VFP 和 SIMD - NEON。在测试了上面提到的一组设备后,我发现几乎所有设备都支持 VFP,而 NEON 不支持。对此有何评论?

  3. 我不知道 ARMv6 和 ARMv7 的区别到底是什么(除了一般的速度)。现在我们正在构建一个多媒体 C 库,它有几个用于构建的标志。我的问题是如何在一侧定位最多数量的设备,以及如何让更好设备的用户使用他们的硬件。我的建议是准备 3 个不同的版本:ARMv6/VFP、ARMv7/VFP 和 ARMv7/VFP/NEON。其他建议?

  4. 我认为 ARMv6/VFP 应该在所有配置上运行,但缺少 VFP 的设备除外(例如旧的 HTC Wildfire),但仍不受支持。

这是一个好方法吗?欢迎任何意见。

问候,斯滕

最佳答案

  1. 没错。目前有两种类型 - ARMv6 和 ARMv7。最有可能在最近的将来会有另外的 x86 目标。最新的 NDK 已经支持构建它。

  2. VFP 在 ARMv7 上是强制性的,但在 ARMv6 上不是。 NEON 是可选的,并非所有设备都支持它。最明显的例子是 Nvidia Tegra 2。它部署在大多数高端平板电脑和手机上,但不支持 NEON。 Nvidia Tegra 3 支持 NEON。

  3. 我认为你应该坚持使用带有浮点仿真的 ARMv6、ARMv7+VFP、ARMv7+NEON。

  4. 完全正确 - 并非所有 ARMv6 设备都支持 VFP。所以根本不要在那里使用它。默认情况下,NDK 构建用于 ARMv6 设备且不使用 VFP 的 armeabi 目标。 armeabi-v7a 为 ARMv7 构建并使用 VFP。

关于Android ARMv6/v7 和 VFP/NEON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397065/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com