Поддерживает ли процессор iphone ARMV6 инструкции MMX?Инструкции MMX для Iphone
ответ
Возможно, полезная ссылка: ARM Processor Instruction Set Architecture.
Похоже ARMv6 имеет в SIMD блок какой-то ...
ARM немного конфигурируемы, поэтому возможно, что у ARM в iPhone нет . Кто-нибудь, кто действительно подписался на программу, может ответить, , если разрешает NDA.
Если у вас есть что-то, что ДОЛЖНО работать, вы можете, я полагаю, построить боч. Я предполагаю, что вы хотите использовать команды mmx для скорости, и, очевидно, это не поможет. Если у вас есть алгоритм, который может работать медленно, но вы не можете его перестроить до без команд mmx. Bochs может решить проблему.
Короткий ответ - нет - MMX - это технология Intel. Более длинный ответ заключается в том, что ARM поддерживает Neon SIMD instruction set. Это аналогичная архитектура для команды MMX (т. Е. Она вычисляет векторы), но она не obvioulsy не то же самое. Библиотеки кораблей ARM, которые помогут вам сгенерировать код SIMD (с использованием OpenMAX и встроенных встроенных компиляторов GCC).
iPhone содержит ARMv6KZ, который не поддерживает модели NEON, в том числе Samsung S5PC100, который основан на ядре ARM Cortex-A8 и поддерживает Neon. Аналогичным образом, Apple A4 Powering iPad - это Cortex-A8 на базе SoC.
И, конечно же, время идет, и теперь iPhone 3Gs и третье поколение iPod Touch третьего поколения имеют Neon (и, вероятно, iPad тоже). –
спасибо. Обновленный основной комментарий, чтобы отразить это. –
ссылка не работает. –
Как и другие, размещенные здесь, MMX является технологией Intel SIMD для архитектуры x86. Так что нет, iPhone не поддерживает MMX.
iPhone оснащен процессором ARM Coretex A8, в частности Samsung SoC S5PC100, который обеспечивает расширение SIMD, известное как NEON (эквивалент ARM для MMX).
Хотя это явно не документировано Apple, инструментальная цепочка, похоже, поддерживает его. Для NEON в gcc есть instrinsics, поэтому вы можете писать код SIMD с помощью NEON.
Обратите внимание, что эта функция является специфической для 3GS, поэтому не имеет обратной совместимости. Вам нужно будет убедиться, что ваше приложение было помечено, чтобы указать, что ему требуется 3GS (я не думаю, что вы можете получить доступ к регистрам состояния для обнаружения во время выполнения).
Процессоры Intel ARM поддерживают MMX. Точнее: они поддерживают технологию MMX: Intel добавила инструкции SIMD к своим ARM-процессорам и назвала их «MMX», хотя они не имеют ничего общего с x86 MMX и никоим образом не совместимы. (Так же, как они реализовали SMT в Pentium4 и CMT в Itanium и назвали их как HyperThreading, хотя SMT и CMT - две совершенно разные вещи.) –
Intel не делает процессоры ARM. Они сделали процессоры StrongARM. –