• 検索結果がありません。

IA-32 インテル ®

2.3. SIMD 命令

IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル 上巻:基本アーキテクチャ

2-12

ROB

)は、完了したμ

ops

をバッファに入れる、アーキテクチャ・ステートを順序 どおりに更新する、例外の順序を管理するなどの機能を持つ、プロセッサ内のユニッ トである。また、リタイアメント部は、分岐を監視し、更新された分岐ターゲット情

報を

BTB

に送信する。次に、

BTB

は不要になったプリフェチされたトレースをパー

ジする。

IA-32インテル® アーキテクチャの概説

2

以下も参照のこと。

・ 5.4.

節「

MMX®

命令」および第

9

章「インテル

® MMX®

テクノロジによるプログ ラミング」

・ 5.5.

節「SSE」および第

10

章「ストリーミング

SIMD

拡張命令(SSE)によるプロ グラミング」

・ 5.6.

節「

SSE2

」および第

11

章「ストリーミング

SIMD

拡張命令

2

SSE2

)による プログラミング」

・ 5.7.

節「

SSE3

」および第

12

章「ストリーミング

SIMD

拡張命令

3

SSE3

)による プログラミング」

IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル 上巻:基本アーキテクチャ

2-14

図2-3. SIMD 拡張命令、レジスタのレイアウト、データ型

SSE

SSE2/SSE3

SIMD 拡張命令 レジスタのレイアウト データ型

MMX テクノロジ

MMX レジスタ

8個のパックドバイト整数 4個のパックドワード整数 2個のパックド・ダブルワード整数 クワッドワード

MMX レジスタ

8個のパックドバイト整数 4個のパックドワード整数 2個のパックド・ダブルワード整数 クワッドワード

XMM レジスタ

4個のパックド単精度浮動小数点値

MMX レジスタ

2個のパックド・ダブルワード整数 クワッドワード

XMM レジスタ

2個のパックド倍精度浮動小数点値 16個のパックドバイト整数 8個のパックドワード整数 4個のパックド・ダブルワード整数

2個のクワッドワード整数 ダブル・クワッドワード

IA-32インテル® アーキテクチャの概説

2

2.3.1.

ハイパー・スレッディング・テクノロジ

ハイパー・スレッディング(HT)テクノロジは、マルチスレッドのオペレーティン グ・システムおよびアプリケーション・コードや、マルチタスク環境におけるシング ルスレッド・アプリケーションを実行する際の IA-32 プロセッサの性能を向上するた めに開発された。このテクノロジを利用すると、単一の物理プロセッサ上で複数の異 なるコード・ストリーム(スレッド)を同時に実行できる。

アーキテクチャ面で見ると、

HT

テクノロジに対応した

IA-32

プロセッサは複数の論 理プロセッサからなり、それぞれが個別の

IA-32

アーキテクチャ・ステートを持って いる。各論理プロセッサは、

IA-32

データレジスタ、セグメント・レジスタ、コント ロール・レジスタ、デバッグレジスタで構成され、

MSR

の大半も含まれている。さら にそれぞれが、個別の

Advanced Programmable Interrupt Controller

APIC

)を備えている。

2-4.

では、

HT

テクノロジ対応プロセッサ(論理プロセッサを

2

つ搭載)と、従来の デュアルプロセッサ・システムを比較している。

個別の物理

IA-32

プロセッサを複数搭載した従来の

MP

システム構成と異なり、

HT

テ クノロジ対応

IA-32

プロセッサ内の論理プロセッサは、物理プロセッサのコアのリ ソースを共有する。このリソースには、実行エンジンやシステムバス・インターフェ イスも含まれる。電源投入および初期化後、各論理プロセッサに対して別々に、指定 されたスレッドの実行、割り込み、停止を命令できる。

図2-4. HT テクノロジ対応 IA-32 プロセッサと従来のデュアルプロセッサ・システムとの比較

プロセッサ・コア プロセッサ・コア プロセッサ・コア

AS AS AS AS

従来のマルチ・プロセッサ MP システム HT テクノロジ対応

IA-32 プロセッサ

AS = IA-32 アーキテクチャ・

ステート

IA-32 プロセッサ IA-32 プロセッサ 2つの論理プロセッサ

が1つのコアを共有

各プロセッサは個別 の物理パッケージ IA-32 プロセッサ

OM16522

IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル 上巻:基本アーキテクチャ

2-16

HT

テクノロジは、単一のチップ上に複数の論理プロセッサを設ければ、先進的なオ ペレーティング・システムや高性能アプリケーションにおけるプロセスレベルおよび スレッドレベルの並列処理を活用している。この構成では、各物理プロセッサ上で同 時に複数のスレッド3を実行できる。各論理プロセッサはアプリケーション・スレッ ドの命令実行時に、プロセッサ・コア内のリソースを使用する。コアは、アウトオブ オーダー命令スケジューリングによってクロックサイクルごとの実行ユニット使用 率を最大限に高めながら、各スレッドを同時に実行する。

2.3.1.1. 導入時の注意事項

すべての

HT

テクノロジ構成は、以下の要素を必要とする。

・ HT テクノロジに対応したプロセッサ

・ HT テクノロジに対応したチップセットおよび BIOS

最適化されたオペレーティング・システム

詳細は、http://www.intel.co.jp/jp/info/hyperthreading/ を参照のこと。

ファームウェア(BIOS)レベルでは、

HT テクノロジ対応プロセッサ内の論理プロセッ

サを初期化するための基本的な手順は、従来の DP プラットフォームや MP プラット フォーム4

と同じである。

『Multiprocessor Specification, Version 1.4』で説明されている、

MP システムの物理プロセッサに電源を投入し初期化するためのメカニズムが、 HT テ

クノロジ対応プロセッサ内の論理プロセッサにも適用される。

従来の

DP

プラットフォームまたは

MP

プラットフォーム上で運用するように設計さ れたオペレーティング・システムは、

CPUID

を利用して、

HT

テクノロジ対応

IA-32

プロセッサの有無と、同プロセッサが持つ論理プロセッサの数を判断する。

従来のオペレーティング・システムやアプリケーション・コードも

HT

テクノロジ対 応プロセッサ上で正しく動作するが、最大限のメリットを得るには、コードを一部修 正することが推奨される。修正方法については、『

IA-32

インテル®アーキテクチャ・

ソフトウェア・デベロッパーズ・マニュアル、下巻』の第

7

章「マルチ・プロセッサ 管理」の「必要なオペレーティング・システムのサポート」の項を参照のこと。

3.本書では以後、「プロセス」および「スレッド」の総称として「スレッド」を用いる。

4. MP 初期化アルゴリズムに対する比較的簡単な修正が必要。

IA-32インテル® アーキテクチャの概説

2