MMXは
浮動小数点演算用の
レジスタを整数演算用のSIMDレジスタとして転用することで、同時に複数のデータを扱うことで処理能力を向上させる技術である。元々は普段はあまり使用される事のないx87レジスタの有効利用的な観点から発想された。よって、浮動小数点演算とMMX命令を同時に使用する事は不可能である。浮動小数点演算とMMX命令を切り替えるときにはあらかじめレジスタや例外フラグなどを初期化する必要がある場合が多く、切り替え前のレジスタ内の情報は維持されない。これまで別途
デジタルシグナルプロセッサ (DSP) に頼らなければ処理できなかった
音声、
画像、
動画などの
マルチメディア関係の処理をCPUのみで扱うことができるようになった。なお、
アプリケーションソフトウェア側がMMXに対応していなければ性能の向上を望むことはできない。
現在はSSE命令が拡張され整数演算にも対応するなど、
x86アーキテクチャにも本格的なSIMD処理機構が導入された事により、x87レジスタを間借りする形で実装されたMMX命令は既にその役割を終えている。現在では、新規ソフトウェア開発においてMMX命令が使用される事はなく、過去に開発されたソフトウェアの互換性のみを目的に実装されている。