(Translated by https://www.hiragana.jp/)
MMX - Wikipedia

MMXは、インテル同社どうしゃPentiumプロセッサけに開発かいはつしたSIMDかた拡張かくちょう命令めいれいセットである。56命令めいれいふくむ。MMXは、MultiMedia eXtensions[注釈ちゅうしゃく 1]りゃくであるとのせつがあったが[1][2][3]、インテルは、略語りゃくごではないひとつのかたりであるとしている。

MMX Pentium プロセッサ
(166MHz)

概要がいよう

編集へんしゅう

MMXは、x87 FPUレジスタ転用てんようし、1つの命令めいれい同時どうじ複数ふくすう整数せいすう演算えんざんあつかSIMDかた命令めいれい拡張かくちょうである。MMXレジスタはFPUレジスタを共有きょうゆうするため、浮動ふどう小数点しょうすうてん演算えんざん命令めいれいとは排他はいたてき使用しようしなければならない。オペレーティングシステム (OS) がプロセス(スレッド)のコンテキスト保存ほぞんするさいには、MMX命令めいれい使用しようするプロセスはFPU命令めいれい使用しようしているものと同様どうようえ、同様どうようにレジスタを保存ほぞんすればい。デジタルシグナルプロセッサ (DSP) の得意とくい分野ぶんやである音声おんせい画像がぞう動画どうがなどのマルチメディア関係かんけい処理しょりを、CPUであつかさい性能せいのう向上こうじょう期待きたいされたが、アプリケーションソフトウェアがわがMMXをもちいるようにプログラムされていなければ、MMXによる性能せいのう向上こうじょう恩恵おんけいけられない。

のちに、専用せんようのレジスタを使つかSSE命令めいれいセットが拡張かくちょうされ、より複雑ふくざつなデータ処理しょり浮動ふどう小数点しょうすうてん演算えんざんにも対応たいおうした。さらにSSE2では128ビット整数せいすう演算えんざん命令めいれい追加ついかされた。実質じっしつてきにMMXは不要ふようとなったため、インテルではアプリケーション開発かいはつ最適さいてきにあたってMMXの使用しようけることを推奨すいしょうしている[4]。SSE命令めいれい搭載とうさい以降いこう命令めいれい種類しゅるい処理しょり能力のうりょくおとるMMX命令めいれいは、おも過去かこ資産しさんとの互換ごかんせいのみを目的もくてき実装じっそう提供ていきょうされている。

インテルはまず、すでにリリースしていたPentiumしんバージョン (開発かいはつコードネーム P55C) にMMXを搭載とうさいPentium Processor with MMX Technologyしょうして発売はつばいした。一般いっぱんにはMMX Pentiumという呼称こしょう浸透しんとうした。インテルは、これ以降いこう発売はつばいしたIA-32アーキテクチャのプロセッサのおおくに、MMXを搭載とうさいしている。また、のメーカーのIA-32互換ごかんプロセッサのいくつかにも搭載とうさいされている。たとえば、AMDK6などである。インテルは他社たしゃがMMXという名称めいしょう使用しようしていることにたいし、これを停止ていしするようもと訴訟そしょう発展はってんしたが、最終さいしゅうてきには各社かくしゃあいだ和解わかいした。

性能せいのう限界げんかい

編集へんしゅう

MMXは元々もともと、(当時とうじの)一般いっぱんてきなアプリケーションにおいて常用じょうようされることのすくない浮動ふどう小数点しょうすうてん演算えんざんのレジスタの有効ゆうこう利用りよう観点かんてんから発想はっそうされた。x87命令めいれいとMMX命令めいれいとを混在こんざいさせる場合ばあい最初さいしょのMMX命令めいれい実行じっこう必要ひつよう初期しょき自動じどうおこなわれるが、そのでまたx87命令めいれい実行じっこうする場合ばあい、そのまえにEMMS命令めいれい実行じっこうして状態じょうたいをクリアする必要ひつようがある。EMMS命令めいれいはPentiumではすうじゅうサイクルをようした。それぞれの実行じっこうにおける、レジスタの状態じょうたい維持いじ保存ほぞんはされない。他方たほうあらたに専用せんようレジスタをやさず既存きそんのx87のレジスタを流用りゅうようしたため、コンテキストスイッチごとの新設しんせつレジスタのセーブなどのOSによるサポートを必要ひつようはなかった。

また、MMXによって高速こうそくできるのは整数せいすう演算えんざん処理しょりかぎられ、浮動ふどう小数点しょうすうてん演算えんざん処理しょり多用たようする3Dグラフィックス関連かんれん処理しょり能力のうりょく向上こうじょう期待きたいできない。インテルと競合きょうごうするAMDは、さきんじて浮動ふどう小数点しょうすうてん演算えんざんあつかえるSIMD拡張かくちょう命令めいれいセット3DNow!発表はっぴょうし、同社どうしゃK6-2プロセッサに搭載とうさい。インテルはAMDより浮動ふどう小数点しょうすうてんようのSIMD命令めいれいセットの提供ていきょうおくれをとった。インテルの浮動ふどう小数点しょうすうてんSIMD演算えんざんによる高速こうそくPentium III以降いこう搭載とうさいされるSSEつこととなる。

対抗たいこう競合きょうごう機能きのう登場とうじょう
  • 1998ねん 5月: AMDが浮動ふどう小数点しょうすうてん演算えんざん処理しょり高速こうそくする3DNow!搭載とうさいK6-2プロセッサを発表はっぴょう
自社じしゃによる後継こうけい機能きのう発表はっぴょう

脚注きゃくちゅう

編集へんしゅう

注釈ちゅうしゃく

編集へんしゅう
  1. ^ Multimedia Extensionsという用語ようごMicrosoft Windowsにおいて実在じつざいするが別物べつものであり、そちらはMMEとりゃくされる。

出典しゅってん

編集へんしゅう

関連かんれん項目こうもく

編集へんしゅう