SSE2/SSE最適化モジュール


【関連リンク集】

 本ページは、コンピューターやソフトウェア技術に深く関係する内容です。
以下ページにてだいたいの背景が理解できます。
・Streaming SIMD Extensions


【最適化版とは】

 従来からリリース版の実行モジュール本体(TRYCUT.EXE) はマイクロソフトが提供しているVC++6.0というコンパイラにより実行コードを 生成してきました。
 このモジュールで実行する命令コードはx86系チップの基本的なものに限られ るためAMDやIntelがPC向けに出荷した全ての32ビット系CPUにおいて動作 可能です。(多くのWindows系ソフトも同様です)

 ところがMMXテクノロジーや PentiumVのSSE、さらにPentium4以降のCPUに実装されているSSE2といった高速化を 実現するための新しい命令コードを利用していないことや、それぞれのチップに最適な 処理コードを生成していないこともあり、CPUの潜在能力が十分に発揮されていない という懸念が生まれてきました。

 Pentium4などは、これまでのPentium系チップとアーキテク チャーの面で大幅に異なっており。同じ土俵でスピードを評価すること自体おかしい と言われているのですが、実際Pentium4においては最適な実行コードでなけれ ば、その高速性が発揮されないのも事実のようです。リリース版TRYCUT2000 でも同様のことが確認されています。

 では最適化を行ったところでどれだけ効果が得られるのかということ になるのですが、処理の正確にも依存しますが、CPU占有率の高いオフセット処理 にて比較テストを行ってみましたところ、標準リリース版にくらべPentium4 最適化版は約36%高速になりました。これだけの違いが出て くるとやはり無視はできない。ということで最適化版をリリースしてきました。
 またこの機会にPentium4ほどの効果は得られませんが、 SSE(PentiumV)においても約24%高速になる最適化版を 同時公開しています。


PentiumV(SSE命令付)最適化版

 PentiumVに最適なSSEコード生成を行っています。またMMX,CMOV,FCMOV,SSE命令 が含まれていますのでPentiumVやPentium4上で動作します。最近のCPUであれば、まず問題なく 動作するはずです。 今までの実績では、ある時期に出荷されたAMDのK6やDuronでは動作しませんでした。


Pentium4(SSE/SSE2命令付)最適化版

 Pentium4に最適なSSE2コード生成を行っています。2007年以降に出荷されているIntel/AMD両社のCPUであれば 全て対応されているとお考え下さい。お使いのCPUが古い場合にSSE2命令コードに対応できているか否かの一番簡単な 確認方法は、強引ではありますが本モジュールを一度実行し、ウィンドウが開けば対応できているというこ とになります。


※それぞれ、リリース版より200KB程サイズは大きくなりますが、 全く同等機能のものです。


トップページへ