iphoneプロセッサARMV6はMMX命令をサポートしていますか?
5 に答える
簡単に言うとノーです。MMX はインテルのテクノロジーです。より長い答えは、ARM がNeon SIMD 命令セットをサポートしているということです。これは MMX 命令に似たアーキテクチャ (ベクトルを計算する) ですが、明らかに同じではありません。ARM は、SIMD コードの生成に役立つライブラリを出荷しています ( OpenMAXおよび GCC コンパイラ組み込み関数を使用)。
iPhone には、NEON をサポートしない ARMv6KZ が含まれており、それ以降のモデルには、ARM Cortex-A8 コアに基づいて Neon をサポートする Samsung S5PC100 が含まれています。同様に、iPad に搭載されている Apple A4 は Cortex-A8 ベースの SoC です。
他の人がここに投稿したように、MMX は x86 アーキテクチャ用の Intel SIMD テクノロジです。いいえ、iPhone は MMX 自体をサポートしていません。
iPhone は ARM Coretex A8 CPU、具体的にはNEON (MMX に相当する ARM)として知られる SIMD 拡張を提供するSamsung SoC S5PC100を備えています。
これはまだ Apple によって明示的に文書化されていませんが、ツールチェーンはそれをサポートしているようです。gcc には NEON の組み込み関数があるため、NEON を使用して SIMD コードを記述できるはずです。
この機能は 3GS 固有のものであるため、下位互換性がないことに注意してください。3GS が必要であることを示すために、アプリにフラグが設定されていることを確認する必要があります (ランタイム検出のためにステータス レジスタにアクセスできないと思います)。
MMXはx86 用のSIMD命令セットです。iPhone は ARM プロセッサを使用しているため、MMX は使用できません。
おそらく役立つリンク: ARM Processor Instruction Set Architecture。
ARMV6にはある種のSIMDユニットがあるようです...