インテルは、インテル製品の販売または使用に関して、明示的または黙示的保証を行いません。同じテクノロジーをサポートするシステム、チップセット、BIOS、OS が必要です。パフォーマンスは使用するハードウェアとソフトウェアによって異なります。 HTテクノロジーをサポートするプロセッサの情報など、詳しくはhttp://www.intel.co.jp/jp/info/hyperthreading/をご覧ください。
マルチコアとハイパースレッディング・テクノロジー 8-1
64 ビット・モードのコーディング・ガイドライン 9-1
アプリケーションのチューニング
対象領域の分析と特定に役立つツールです。このツールは、インテル® Core™ i7 プロセッサー、インテル® Core™2 Duo プロセッサー、インテル® Core™ Duo プロセッサー、およびインテル® Pentium® 4 プロセッサーで動作します。
本書について
Intel® Atom™ マイクロアーキテクチャを対象としたマイクロアーキテクチャおよびソフトウェア最適化技術。
参考情報
インテル® Pentium® M プロセッサーは、パフォーマンスのバランスをとったエネルギー効率の高いマイクロアーキテクチャを備えています。インテル® Xeon® LV デュアルコア・プロセッサー、インテル® Core™ Solo プロセッサー、およびインテル® Core™ Duo プロセッサーは、改良されたインテル® Pentium® M プロセッサー・マイクロアーキテクチャーを使用しています。インテル® Core™ 2 プロセッサー・ファミリー、インテル® Core™ 2 Extreme プロセッサー・ファミリー、クアッドコア プロセッサー ファミリーのインテル® Core™ 2 プロセッサーおよびインテル® Xeon® プロセッサー シリーズは、エネルギー効率に優れた高性能のインテル プロセッサーです。
インテル ® マイクロアーキテクチャー Sandy Bridge
- インテル ® マイクロアーキテクチャー Sandy Bridge のパイ プラインの概要
- レガシー・デコード・パイプライン
- 分岐予測
- マイクロオペレーション(µOP)キューおよびループストリーム検出器
レガシーデコードパイプラインによってデコードされた命令キャッシュ c.デコードされた命令キャッシュをウォームアップしています。
LSD)
リネーマー
マイクロオペレーションのソースと宛先 (μOP) の名前をマイクロアーキテクチャのソースと宛先に変更します。リソースをマイクロオペレーション (μOP) に割り当てます。たとえば、ロード バッファ、セーブ バッファなどです。
スケジューラー
実行後、送信ポートと結果のデータ型に応じて、ライトバック バスに書き戻されます。異なる遅延を伴う同じポート上で送信されるマイクロオペレーション 表 2-3 ディスパッチ ポートと実行スタック。
キャッシュ階層
- ロード操作とストア操作の概要
- L1 D キャッシュ
- リング・インターコネクトとラストレベルキャッシュ
以下の場合、ストレージはロードに転送できません。 次の条件が満たされる場合、ロード操作によってデータのプリフェッチがトリガーされます。
インテル ® Core™ マイクロアーキテクチャーと拡張 版インテル ® Core™ マイクロアーキテクチャー
- フロントエンド
- インテル ® アドバンスト・メモリー・アクセス
- データ・プリフェッチ・ロジック
- メモリー・ディスアンビゲーション
- ロード
- ストア
命令フェッチとプリデコード命令キュー 128 ビット命令の実行は、待ち時間が長く、スループットが低くなります。
インテル ® マイクロアーキテクチャー Nehalem
- マイクロアーキテクチャー・パイプライン
- キャッシュとメモリー・サブシステム
- REP 文字列の強化
- システム・ソフトウェアの強化
命令デコーダは、それぞれ 1 つずつの 3 つのデコーダ ユニットで構成されます。インテル マイクロアーキテクチャ Nehalem は、64 ビット モードでもマクロのマージをサポートするようになり、次の命令シーケンスをサポートします。
Intel NetBurst ® マイクロアーキテクチャー
- 設計目的
- パイプライン
- デコーダー
- 分岐予測
- 実行コアの詳細
- 実行ユニットと発行ポート
- キャッシュ
- データ・プリフェッチ
実行トレース キャッシュからデコードされた命令を提供するアウトオブオーダー スーパースカラー実行コア。
インテル ® Pentium ® M プロセッサー・マイクロアー キテクチャー
- フロントエンド
- データ・プリフェッチ
- アウトオブオーダー・コア
アライメント: ストア操作はキャッシュ ラインの境界を越えることはできません。ロード操作のリニア アドレスもストア操作のリニア アドレスと同じである必要があります。
インテル ® Core™ Solo プロセッサーとインテル ® Core™ Duo プロセッサーのマイクロアーキテク
- マイクロアーキテクチャー・パイプライン、HT テクノロジー
- 実行コア
- リタイアメント
アーキテクチャの状態は論理プロセッサごとに複製されます。アーキテクチャ ロジック プロセッサは、次の理由によりパイプライン ステージを利用できない場合があります。
マルチコア・プロセッサー
- マイクロアーキテクチャー・パイプラインとマルチコア・プ ロセッサー
- インテル ® Core™ Duo プロセッサーの共有キャッシュ
インテル® Core™ Duo プロセッサーには、L2 キャッシュと単一のバス インターフェイスが備わっています。 Core™ Duo プロセッサの 2 つのコアで実行される 2 つのスレッドは、L2 キャッシュを共有します。
インテル ® 64 アーキテクチャー
新しいキャッシュ ライン用のスペースを確保するために、変更されたキャッシュ ラインを削除する必要がある場合があります。変更されたキャッシュ ラインは、新しいデータのフェッチと並行して削除されるため、追加の遅延は必要ありません。ただし、データがメモリに書き戻されるとき、ドレインにはキャッシュ帯域幅とバス帯域幅が使用されます。変更されたキャッシュ ラインが短期間に削除されるようなキャッシュ ミスが複数回発生した場合、全体的なキャッシュ ミスの応答時間は低下します。所有権の読み取りは、完了としてマークされる前に完了する必要があります。所有権の読み取りとデータ ストアは命令のリタイア後に発生し、リタイアの順序に従います。 Busbutik のレイテンシは、実際のショップの指示には影響しません。ただし、一部の順次ストアでは待ち時間が蓄積し、パフォーマンスに影響を与える可能性があります。
SIMD 技術
- SIMD テクノロジーのまとめ
- インテル ® MMX ® テクノロジー
- ストリーミング SIMD 拡張命令
- ストリーミング SIMD 拡張命令 2
- ストリーミング SIMD 拡張命令 3
- ストリーミング SIMD 拡張命令 3 補足命令
- SSE4.1
- SSE4.2
パッケージ化された混合を簡素化するための 6 つの指示。 AES キー スケジュールの生成手順をサポートする 2 つの命令が含まれています。
AVX)
パフォーマンス・ツール
- インテル ® C++ コンパイラーとインテル ® Fortran コンパイ ラー
- インテル ® VTune™ パフォーマンス・アナライザー
プロファイル駆動最適化 (PGO) テクニック コンパイラーの最適化とベクトル化の比率。
プロセッサーの相違
- スレッディング手法とハードウェア・マルチスレッディン グ・サポート
CPUID 命令が機能シート 4 (キャッシュ パラメーター シート) をサポートしている場合、このシートは、キャッシュ階層の各レベルのレポート パラメーターをキャッシュするインテル® 64 プロセッサー ファミリと IA-32 プロセッサー ファミリ間の上位互換性のある方法です。特定のキャッシュ レベルのパラメーターに依存するエンコードの場合、キャッシュ パラメーターを使用して、エンコード技術が将来の世代のインテル® 64 プロセッサーおよびプロセッサーと互換性があることを確認できます。
コーディング規則、推奨事項、チューニングのヒント
現在および将来の世代のインテル® 64 および IA-32 プロセッサーの場合、ハードウェア マルチスレッドの潜在的なパフォーマンスを最大限に活用するには、アプリケーション設計中にスレッドを使用する必要があります。さらに、マルチスレッド ソフトウェアは、さまざまなコンピュータに対応できるように、ハードウェアのマルチスレッド サポートがなくても、単一のプロセッサ上で適切に動作する必要があります。また、単一の論理プロセッサ上の非スレッド ソフトウェアと同等のパフォーマンスを発揮する必要があります (比較が可能な場合)。一般に、これを実現するには、スレッド同期のオーバーヘッドを最小限に抑えるようにマルチスレッド アプリケーションを設計する必要があります。マルチスレッドの詳細なガイドラインは、第 8 章「マルチコアおよびハイパースレッディング テクノロジ」に記載されています。
フロントエンドの最適化
- 分岐の排除
- 静的予測
- 分岐タイプの選択
- ループのアンロール
- レングス変更プリフィクス( LCP )
- インテル ® マイクロアーキテクチャー Sandy Bridge における LSD マイ クロオペレーション( µOP )拡散帯域幅の活用
- インテル ® Pentium ® M プロセッサーのデコーダーのスケジューリング規 則
受け入れられない間接分岐を予測します。デコードされた命令キャッシュ モードでの 2 つの分岐。
実行コアの最適化
- 命令の選択
- INC 命令と DEC 命令の使用
- 整数除算
- LEA 命令の使用
- インテル ® マイクロアーキテクチャー Sandy Bridge における ADC およ び SBB
- ビット単位のローテーション
- アドレス計算
- 比較
- NOP の使用
- SIMD データタイプの混在
- スピル・スケジューリング
- 実行コアでのストールの回避
- 実行ドメイン間のバイパス
- パーシャル・フラグ・レジスター・ストール
- 浮動小数点 /SIMD オペランド
- 代替パック手法
インテル® マイクロアーキテクチャでは、命令のパフォーマンス属性を持つ 1 つの UNPCKHPD 命令のシーケンスを常に使用する必要があります。
メモリーアクセスの最適化
- インテル ® マイクロアーキテクチャー Sandy Bridge でのロード帯域幅の 利用
- インテル ® マイクロアーキテクチャー Sandy Bridge における L1D キャッシュ・レイテンシー
- レジスタースピルの軽減
- スペキュレーティブ・エグゼキューションとメモリー・ディ スアンビゲーションの拡張
例 3-34 L1D キャッシュ バンクの競合と解決策の例 16 ビット データを整列された 4 バイト ワード内に収まるように整列させます。