マルチメディア命令
読み:マルチメディアめいれい
外語:MMI: MultiMedia Instruction
画像処理や音声処理など、同様の演算を繰り返すような処理の効率を向上させるために拡張されたプロセッサーの命令。
目次
概要
特徴
実装手法
該当技術
x86
ARM
補足
概要
画像処理や音声処理では、「異なる数値で同じ演算」を延々と繰り返す。この処理の需要に対応するために作られたものがマルチメディア命令である。
一つの命令で同時に複数のデータを処理できることが特徴で、ベクトル演算、ブロードキャスト演算、一括比較などがある。
また一括処理用のデータを生成するためのパッキング命令や、
飽和演算
、最大値、最小値といった特殊な機能が搭載されていることもある。
特徴
実装手法
処理効率や処理速度を考慮すると、命令数が無駄に増えたり、命令長が無駄に長くなることは避ける必要がある。
そこで現在では、複数の値に対する演算を1回の命令でまとめて処理する設計方法「
SIMD
」(単一命令複数データ処理)が
CISC
/
RISC
/
DSP
などを問わずに一般化している。
これは長いレジスターに複数の値を格納し、これを一度に処理して結果をレジスターに戻すものである。
該当技術
x86
x86系で使われているもの。†はもはやレガシーなものである。
Intel
MMX
†
SSE
SSE2
SSE3
SSE4
SSE 4.1
SSE 4.2
AVX
AMD
3DNow!
†
Enhanced 3DNow!
†
3DNow! Professional
†
ARM
NEON
補足
x86
では、当初は
FPU
レジスターを活用する
MMX
が作られ、その後は専用レジスターを使う
SSE
に移行した。
現在においてMMXはレガシーである。OSによっては、x87命令と共にタスクスイッチング高速化のために対応を中止することもありうる。
現時点では実行に移されていないが、AMD64 ISA/Intel 64向けWindowsの64ビットモードでは当初、x87/3Dnow!/MMXの対応を外す計画があったようである。
再検索