マルチメディア命令
読み:マルチメディアめいれい
外語:MMI: MultiMedia Instruction

 画像処理や音声処理など、同様の演算を繰り返すような処理の効率を向上させるために拡張されたプロセッサーの命令。
目次

概要
 画像処理や音声処理では、「異なる数値で同じ演算」を延々と繰り返す。この処理の需要に対応するために作られたものがマルチメディア命令である。
 一つの命令で同時に複数のデータを処理できることが特徴で、ベクトル演算、ブロードキャスト演算、一括比較などがある。
 また一括処理用のデータを生成するためのパッキング命令や、飽和演算、最大値、最小値といった特殊な機能が搭載されていることもある。

特徴

実装手法
 処理効率や処理速度を考慮すると、命令数が無駄に増えたり、命令長が無駄に長くなることは避ける必要がある。
 そこで現在では、複数の値に対する演算を1回の命令でまとめて処理する設計方法「SIMD」(単一命令複数データ処理)がCISC/RISC/DSPなどを問わずに一般化している。
 これは長いレジスターに複数の値を格納し、これを一度に処理して結果をレジスターに戻すものである。

該当技術

x86
 x86系で使われているもの。†はもはやレガシーなものである。

ARM

補足
 x86では、当初はFPUレジスターを活用するMMXが作られ、その後は専用レジスターを使うSSEに移行した。
 現在においてMMXはレガシーである。OSによっては、x87命令と共にタスクスイッチング高速化のために対応を中止することもありうる。
 現時点では実行に移されていないが、AMD64 ISA/Intel 64向けWindowsの64ビットモードでは当初、x87/3Dnow!/MMXの対応を外す計画があったようである。

再検索