Iphone的MMX说明

时间:2009-04-26 14:51:52

标签: iphone assembly neon

iphone处理器ARMV6是否支持MMX指令?

5 个答案:

答案 0 :(得分:6)

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

iPhone包含一个不支持NEON的ARMv6KZ,后来的型号包括一个基于ARM Cortex-A8内核的Samsung S5PC100,它支持Neon。同样,为iPad供电的Apple A4是基于Cortex-A8的SoC。

答案 1 :(得分:3)

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

答案 2 :(得分:3)

正如其他人在此发布的那样,MMX是x86架构的英特尔SIMD技术。所以不,iPhone不支持MMX本身。

iPhone配备ARM Coretex A8 CPU,特别是Samsung SoC S5PC100,提供称为NEON的SIMD扩展(ARM等效于MMX)。

虽然Apple尚未明确记录,但工具链似乎支持它。在gcc中有NEON的内在函数,所以你应该能够使用NEON编写SIMD代码。

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

答案 3 :(得分:1)

可能有用的链接:ARM Processor Instruction Set Architecture

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

答案 4 :(得分:0)

ARM有点可配置,因此,iPhone中的ARM可能没有 拥有这个。实际报名参加该计划的人可能会回答, 如果NDA允许的话。

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