#topicpath
-----
*MMX [#o8d85978]
MMX は、Intel 社が開発したマルチメディアに特化した新しい命令群です。

特徴としては以下の通り。

-''64-bit レジスタによる SIND 整数演算''~
MMX は 64-bit のレジスタを使用します。この 64-bit を 8-bit/16-bit/32-bit に分割し、各々演算させることで 1 命令辺りの処理数を増やします。例えば 32-bit レジスタの場合、1 命令に対し 2 処理をこなす事が出来ますし、8-bit の場合、1 命令に対し 8 処理分こなす事が出来ます。~
一度の演算に対し、複数の処理をこなす手法を SIMD(Single Instruction Multiple Data)と言います。マルチメディア系の演算は同じ命令を多用することが多いので SIMD によるパフォーマンス向上が期待されます。元々この技術は DSP で多用されていた手法だそうです。
-''新たに 57 個の命令を追加''~
x86 系の命令に対し、新たに 57 個の命令を追加しています。MMX をサポートしていない CPU で MMX 命令を実行した場合、一般保護エラーが発生しますので、MMX 命令を使用する前に、CPU が MMX に対応しているか確認する必要があります。
x86 系の命令に対し、新たに 57 個の命令を追加しています。MMX をサポートしていない CPU で MMX 命令を実行した場合、一般保護エラーが発生しますので、MMX 命令を実行する前に、CPU が MMX をサポートしているか確認する必要があります。
-''浮動小数点演算用のレジスタを流用''~
MMX のレジスタは浮動小数点演算のレジスタを流用しています。よって、MMX 演算と浮動小数点演算を併用する場合、タスク切り替え等によるパフォーマンス低下が指摘されています。~
この辺の実装は AMD 社の CPU では状況が少し違うようです。

-''MMX Pentium/Pentium II より採用''~
Pentium II 以降の Intel 社 CPU では MMX を実装しつづけています。

*関連情報 [#x7bef771]
**用語 [#k703000b]
-[[wikipedia:MMX]]
-[[en.wikipedia:MMX]]
-[[wikipedia:SIMD]]

-[[Insider's Computer Dictionary [MMX]:http://www.atmarkit.co.jp/icd/root/65/390991665.html]] (@IT)
-[[MMX:http://www.watch.impress.co.jp/pc/docs/article/980120/key14.htm#mmx]]  ([[鈴木直美の「PC Watch先週のキーワード」:http://pc.watch.impress.co.jp/docs/article/backno/keyword.htm]])
-[[e-Words:MMX]]