Iphone 的 MMX 说明

发布于 2024-07-17 20:32:41 字数 30 浏览 5 评论 0原文

iPhone处理器ARMV6支持MMX指令吗?

Does iphone processor ARMV6 supports MMX instructions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

人事已非 2024-07-24 20:32:41

简短的回答是否定的 - MMX 是一项英特尔技术。 更长的答案是 ARM 支持 Neon SIMD 指令集。 它的架构与 MMX 指令类似(即计算向量),但显然不一样。 ARM 附带库可帮助您生成 SIMD 代码(使用 OpenMAX 和 GCC 编译器内在函数)。

iPhone 包括不支持 NEON 的 ARMv6KZ,后来的型号包括基于 ARM Cortex-A8 内核且支持 Neon 的三星 S5PC100。 同样,为 iPad 提供动力的 Apple A4 是基于 Cortex-A8 的 SoC。

The short answer is no - MMX is an intel technology. The longer answer is that ARM Supports the Neon SIMD instruction set. It is a similar architecture to the MMX instruction (i.e. it computes vecors) but it is obvioulsy not the same. ARM ship libraries to help you generate SIMD code (Using OpenMAX and GCC compiler intrinsics).

The iPhone includes a ARMv6KZ which does not support NEON later models include a Samsung S5PC100 which is based on the ARM Cortex-A8 core and does support Neon. Similarly, the Apple A4 powering the iPad is a Cortex-A8 based SoC.

寄意 2024-07-24 20:32:41

MMX 是一个 SIMD x86 指令集。 iPhone 使用 ARM 处理器,因此无法使用 MMX。

MMX is a SIMD instruction set for x86. The iPhone uses an ARM processor so you can't use MMX.

無處可尋 2024-07-24 20:32:41

正如其他人在这里发布的那样,MMX 是用于 x86 架构的 Intel SIMD 技术。 所以不,iPhone本身不支持MMX。

iPhone 采用 ARM Coretex A8 CPU,特别是 Samsung SoC S5PC100,提供名为 NEON(ARM 相当于 MMX)。

虽然苹果尚未明确记录这一点,但工具链似乎支持它。 gcc 中有 NEON 的内在函数,因此您应该能够使用 NEON 编写 SIMD 代码。

请注意,此功能特定于 3GS,因此不向后兼容。 您需要确保您的应用程序被标记为表明它需要 3GS(我认为您无法访问状态寄存器以进行运行时检测)。

As others have posted here, MMX is the Intel SIMD technology for the x86 architecture. So no, the iPhone does not support MMX itself.

The iPhone features an ARM Coretex A8 CPU, specifically the Samsung SoC S5PC100 that provides a SIMD extension known as NEON (the ARM equivalent to MMX).

While this isn't explicitly documented by Apple yet, the toolchain seems to support it. There are instrinsics for NEON in gcc, so you should be able to write SIMD code using NEON.

Note that this feature is specific to the 3GS, so is not backward compatible. You would need to ensure your app was flagged to indicate it required the 3GS (I don't think you can access the status registers for runtime detection).

甜心 2024-07-24 20:32:41

可能有用的链接:ARM 处理器指令集架构

看起来 ARMV6 有一个某种 SIMD 单元...

Possibly helpful link: ARM Processor Instruction Set Architecture.

Looks like ARMV6 has a SIMD unit of some kind...

何以畏孤独 2024-07-24 20:32:41

ARM 具有一定程度的可配置性,因此,iPhone 中的 ARM 可能不具备可配置性
拥有这个。 真正报名参加该计划的人可能会回答,
如果保密协议允许。

如果你有一些必须工作的东西,我想你可以构建 bochs。 我的猜测是,您想使用 mmx 指令来提高速度,显然,这不会有太大帮助。 如果您有一些运行缓慢的算法,但是您无法对其进行逆向工程
在没有 mmx 指令的情况下运行 bochs 可能会解决问题。

ARMs are a bit configurable, so, it's possible that the ARM in the iPhone doesn't
have this. Somebody who's actually signed up for the program might be able to answer,
if the NDA allows.

If you have something that MUST work, you could, I guess, build bochs. My guess is that you want to use mmx instructions for speed, and, obviously, this won't help a whole lot. If you have some algorithm that could run slowly, but, you can't reverse engineer it to
run without mmx instructions bochs might solve the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文