• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:命令セットについて)

命令セットについて

このQ&Aのポイント
  • 拡張命令セットとしてMMX,SSE1,2,3、エンハンスド3D now!がありますが、MMX、SSEはでてからずいぶん時間が経つと思うで、ほとんどのソフトが対応してると思うんですが、pentium4が得意とするSSE2対応のソフトは今どれくらいあるのでしょうか?
  • AMDのAthlonは3Dゲームに強いといわれていますが、これはゲームがエンハンスド3D now!に対応しているからでしょうか?またはAthlonのCPU単体の能力が優れているからなのでしょうか?ほとんどのゲームが3D nowに対応していると考えてもいいのでしょうか?AMDは3D now professionalでSSE,SSE2をサポートしざる得なくなったことから3D nowは捨てられたとおもっていたのですが、
  • 複数の命令セットに対応したソフトがありますが、複数の命令セットを同時に使うことはできるんですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • parts
  • ベストアンサー率62% (6366/10151)
回答No.1

1については、2002年より登場しているソフトウェアの8~9割以上が対応しています。現在はほぼ100%が対応するでしょう。(フリーソフトウェアを除く)特に、DirectX API対応のソフトでWindowsにDirect8,0a以上がインストールされている環境ではDirectX対応アプリはSSE2に自ずと対応します。SSE2は特に、倍精度演算ができることで映像関連のソフトやゲーム、オーディオソフトで当たり前のように使われています。SSE3はまだあまり普及していませんが・・・命令内容からしてSSE3はプロセッサがマルチコアになれば普及するでしょう。 2は、Enhanced 3DNow!はあまり関係ありません。これは、K7、K8 Processor Architectureそのものが、効率的な処理を目指しているためで、Pentium4のように無理に周波数を向上するために、20~31段にも及ぶパイプラインを実装するようなことをせずに、16~17段に抑えたためです。 パイプラインが深いほど、周波数の向上は可能ですが、目的別の処理回路の数が増えるためそれだけどの処理をどの回路に入れれば適正な処理をするかという分岐予測が難しくなるため、結果として処理に失敗する回数が増えます。処理ミス後に処理やり直し回数が多くなると、周波数の向上分の性能も失うことになります。 これが、Pentium4の性能を落とす原因となり、これはゲームに限らずPentium4最適化をしてなければ、Athlon64やXPに劣ることもしばしばあります。 特にゲームではALUによる処理を多く行う傾向にあり、分岐ミスが多くFPUによる処理に最適化され、ALUの弱い*Pentium4にはマイナスに働きます。 *Pentium4のALUは極めて弱く倍速(コアの2倍のクロックで動作する)ユニットを2つも実装していながら、Pentium3のALUに同じ周波数では劣る傾向があります。そのため、ゲームに限らずオフィス処理、データ処理は苦手とします。要はこれまでパソコンが普通にこなしてきた処理が苦手なのです。 その代わり、マルチメディア、マルチタスクなどのより高度な処理にはそれなりの能力を発揮します。 ちなみに、ゲームに限らず3DNOWはほとんどのソフトウェアでサポート済みで、これは前質問と同じでDirectXに対応するアプリはDirectX6,0以上がインストールされた環境で3DNOWに対応します。 複数の命令セットの利用については、可能です。ただすべてを同時に使えばそれだけ速いという訳ではありません。 著作権を本人が有していなければ4は、記載や設定がなければ確認できないかな?。コンパイルされたアプリケーションがどのように最適化されているかを見るのは、不正行為(ライセンス違反)ですからね。 アプリケーションソフトの開発元に訪ねるのが妥当です。ただ、DirectX対応アプリケーションの場合は、DirectXの最新版を入れることで最新の拡張命令に対応します。(最新のDirectXは下位互換APIですが、APIはドライバなどと密接な関係を持つ重要な関数群であるため、すべてのアプリが正常動作する保証はできません) となります。

AthlonXP
質問者

お礼

命令セットについてわかりやすい説明ありがとうございます。directxによって変るのですね。 directX6とかなり古いながらも3D!nowはいきていたのですね?Athlonって命令セットがたくさんありいいですね。それにしてもかなりお詳しいですね。どこでこのような情報を得たのですか? 絶大な効果がある命令セットについて新たな疑問が生じたのですが 1.directは下位互換が完全ではないので、古いdirectx6に関連する3D!nowは過去のものになっている(今はほとんど使われない)と考えてもいいのですか? 2.WindowsXPにはSSE2が使われているようですが、 ほとんど同じ構造である2000には使われているんですか? 3.directxはバージョンアップすることができますが、 バージョンアップすることによりSSE2とかSSE3(directx8以上ですよね?)などの新たな命令セットに対応できるんですか? 4.directx対応アプリってフリーソフトを除くほとんどのソフトが対応していると考えてよろしいですか?

AthlonXP
質問者

補足

>3.directxはバージョンアップすることができますが、 バージョンアップすることによりSSE2とかSSE3(directx8以上ですよね?)などの新たな命令セットに対応できるんですか? DirectX対応アプリケーションの場合は、DirectXの最新版を入れることで最新の拡張命令に対応します。 回答に書いてあるにもかかわらずに、見落としていました。すみませんでした。

関連するQ&A

専門家に質問してみよう