MMX  (CPU命令)

ネタが無いんだ・・・


MMX  (CPU命令)

Intel Pentium MMX 233MHzプロセッサー。
Intel Pentium MMX 233MHzプロセッサー。

ペンティアムの後期から追加された「命令セット」にMMXというものがあります
搭載されたペンティアムは「MMXペンティアム」と呼ばれていました


登場の理由は、MPEG動画やMP3の音楽などの「PCでのメディア再生」が一般的になってきたことにあります
当時は「マルチメディア」という言葉が流行し、PCが家庭に一台の時代となった時代でした
単純な利用用途として「DVD再生」が挙げられていたのですが、残念ながら当時のパソコンでは力不足
以前に挙げた追加拡張ボードの「シネマスター」や動画再生機能を搭載したATI(当時)のグラフィックボードが無いと、コアマ落ち動画になることがありました

インテルはCPUのパワーアップには時間がかかるということで、「専用の命令を追加する」という手段をとりました
それが「MMX」です
(当初は「MultiMedia eXtensions」として雑誌などに取り上げられていましたが・・・一般的な用語でもあるので今は「特に意味はなし」となっています)

画像処理、動画処理に有効ということで、有名なソフトでは動画処理ソフトの「TMPGEnc」やMP3変換ソフトの「午後のこ~だ」が採用
使用すれば校則に処理できるとして話題になりました



元インテルPentium 2 MMX Insideステッカー19 x 24 mm [ 341 ]
元インテルPentium 2 MMX Insideステッカー19 x 24 mm [ 341 ]

さて・・・「使えば速い」ということですが、「そんな便利な機能を使わない理由があるの?」と思うかもしれません
それが実は当時のCPUの構造上の問題でした
常時使えるならそれでいいのですが、レジスタと呼ばれる回路部分の問題で、FPU(浮動小数点演算機能)と切り替え式にしなければならなかったのです
というか、「使うスペースが無いな~・・FPUあまり使わないからここと切り替え式にしよう」というイメージです
当時はFPUをあまり使わなかったからそれで良かったのですが・・・

その後、本格的な3Dポリゴン時代がやってきます
ワークステーションじゃなくPCで3Dポリゴンを表示します
3Dポリゴンではバリバリに浮動小数点の計算をするのでMMXが使えません
セガサターンやプレイステーションは発売されていましたが、セガと同様にポリゴンの時代は次の世代と考えていたと言うことでしょうね
3Dポリゴンのゲームではもちろんテクスチャの表示に画像処理をします
ゲームなので音声があります
両方使いたいわけです

インテルのライバル会社AMDでは、その隙を見て「3DNow!」という命令を搭載しました
こちらもFPUと切り替えするのですが、命令群の中に浮動小数点演算の命令を組み込むことで問題を解決しています
当時の雑誌でのプログラマーの感想では「ゲームに最適化した命令」とあったように、ポリゴンを使用したゲーム(セガのバーチャロンやバーチャファイター2)で「3DNow!対応パッチ」が追加配布されていました
その後、インテルもSSEという浮動小数点演算に対応した命令セットを追加したりと張り合ってましたが、さすがインテルは「ポリゴン画像の作成」を念頭に置いた命令など、事業用アプリケーションに合わせた内容だったため、SSEがデファクトスタンダードとなりました


その後も拡張命令の追加は続いてるのですが・・・・今では「AVX」というシリーズになってます
「対応してるアプリケーションでは速い」わけですが、「必須」でなければ問題なく使えるので気にする機会はあまりないのですけどね
エミュレーターの中には「必須」のものがたまにありますが、そういったものは最新機種なので、ソフトの吸い出しが難しかったりしますから機会自体が無いかもしれません

この記事へのコメント

この記事へのトラックバック