コンピュータソフトウェアを作る上で、パフォーマンスが重要な分野はまだまだあります。
しかしパフォーマンス向上には、少なからずコストがかかります。
コストがかかると言う事は、かかるコストに対する効果を示せなければ、実際に実行に移す事が難くなります。
経験と感ではなく、統計と理論によりパフォーマンス向上させる事を、パフォーマンスエンジニアリングと呼びます。
2012年4月18日水曜日
2010年9月13日月曜日
マルチスレッドによるマルチコア
2010年9月5日日曜日
よりコントロールされた並列処理のSIMD
今までの説明の中で、プログラマが意識しない場所で、並列化による高速化が行われてきた事を、説明しましたが、プログラマが書いたソースコードが並列化に向かない書かれ方がされている状況では、CPUが勝手に高速化するのにも限界があります。
その中でプログラマがコントロール可能な並列処理として登場したのが、SIMD(Single Instruction Multiple Data)です。
その中でプログラマがコントロール可能な並列処理として登場したのが、SIMD(Single Instruction Multiple Data)です。
アウトオブオーダとスケジューリング
前回パイプラインの細分化が命令実行時のペナルティーを高める話しをしましたが、CPUの設計及びCPUの命令を作成するコンパイラが何も対策をしていない訳では在りません。
パイプラインに投入される命令に依存関係があった場合は、命令の実行を一時的に内部に留めて置き、後に投入される命令の実行に依存関係の無い命令を先に実行する仕組みがCPUに搭載されています。これをアウトオブオーダー実行といいます。
パイプラインに投入される命令に依存関係があった場合は、命令の実行を一時的に内部に留めて置き、後に投入される命令の実行に依存関係の無い命令を先に実行する仕組みがCPUに搭載されています。これをアウトオブオーダー実行といいます。
2010年9月4日土曜日
今までもCPUの処理速度向上の戦いは並列化との戦いだった
登録:
投稿 (Atom)