xeon アーキテクチャーに関する比較分析 · インテル®...

22
インテルのフロントサイド・バス・ アーキテクチャーに関する比較分析 ホワイトペーパー インテル ® Xeon ® プロセッサー サーバー・パフォーマンス 技術分析 エンドユーザーに優れたパフォーマンスを提供する インテル ® サーバー・プラットフォームの設計について インテル ® Xeon ® プロセッサーおよび Itanium ® 2 ベースのプラットフォームは、パラレルなバ ス・アーキテクチャーを使用して、プロセッサー間やチップセットとプロセッサー間を接続して います。このバスは、通常、フロントサイド・バスまたは FSB と呼ばれています。このところ、 FSB アーキテクチャーは時代遅れのアーキテクチャーである、あるいはシステムのボトルネック であると批評されることが増えてきています。実際には、FSB は進化し続けている非常に能力の 高いバス・アーキテクチャーです。本資料では、FSB を含むシステム・アーキテクチャーが、 ユーザーのニーズを満たすべく、どのように進化し、また今後どのように進化していくかを解説 します。本資料で提供されている情報は、主にインテル® Xeon® プロセッサー・ベースのプラッ トフォーム上で FSB を使用した場合について (HyperTransport* バスを使用する AMD のプラット フォームと比較して) 解説していますが、本資料中の解説の多くは、Itanium® ベースのプラット フォームにも当てはまります。

Upload: others

Post on 24-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・

アーキテクチャーに関する比較分析

ホワイトペーパー

インテル® Xeon® プロセッサー

サーバー・パフォーマンス

技術分析

エンドユーザーに優れたパフォーマンスを提供する

インテル® サーバー・プラットフォームの設計について

インテル® Xeon® プロセッサーおよび Itanium® 2 ベースのプラットフォームは、パラレルなバ

ス・アーキテクチャーを使用して、プロセッサー間やチップセットとプロセッサー間を接続して

います。このバスは、通常、フロントサイド・バスまたは FSB と呼ばれています。このところ、

FSB アーキテクチャーは時代遅れのアーキテクチャーである、あるいはシステムのボトルネック

であると批評されることが増えてきています。実際には、FSB は進化し続けている非常に能力の

高いバス・アーキテクチャーです。本資料では、FSB を含むシステム・アーキテクチャーが、

ユーザーのニーズを満たすべく、どのように進化し、また今後どのように進化していくかを解説

します。本資料で提供されている情報は、主にインテル® Xeon® プロセッサー・ベースのプラッ

トフォーム上で FSB を使用した場合について (HyperTransport* バスを使用する AMD のプラット

フォームと比較して) 解説していますが、本資料中の解説の多くは、Itanium® ベースのプラット

フォームにも当てはまります。

Page 2: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

はじめに

インテル® サーバー・プラットフォーム・アーキテクチャーは、現代のコンピューター産業にとって欠か

せない存在です。これまでに、非常に多くのインテル サーバーが導入され、現在も使用されています。これ

らのシステムでは、プロセッサーとシステムのその他の部分 (I/O、メモリーなど) を接続するバスを中央に持

つ、プラットフォーム・アーキテクチャーを使用しています。このバスは、「フロントサイド・バス

(FSB)」と一般に呼ばれています。FSB と共に、プラットフォーム・アーキテクチャー全体が堅牢な設計であ

るだけでなく、拡張や変更が容易な設計になっています。本資料は、サーバーユーザーの増加する要望に応

えるべく、インテルがバスとプラットフォームをこれまでどのように進化させてきたかについて解説します。

また、競合する システム・ソリューション (AMD) との比較についても解説します。本資料に含まれる内容は

以下のとおりです。

- システムバスの比較: FSB と HyperTransport*

o 技術的な違い

o 帯域幅の違い

o バス・トランザクションの違い

- FSB の進化

o 周波数の増加によるバス帯域幅の増加

o マルチ FSB によるプラットフォーム帯域幅の増加

- FSB トラフィック削減プラットフォーム機能

o オンダイ・キャッシュ・サイズの増加

o スヌープフィルター

o インテル® I/O アクセラレーション・テクノロジー

2

Page 3: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

定義

バスの定義最初に、基本的なバスの定義から説明します。バスと

は、コンピューターのある部分から別の部分にデータを

転送する信号線の集合です。コンピューター内をデータ

が移動するための高速道路であると考えると良いでしょ

う。バスの「種類」を定義する主な属性は 5 つあります。

バス方向:

単方向: データは 一方向にのみ流れます (一方通行の

道を想像してください)。単方向バスは通常、各方向

に 1 つ、ペアで実装されます。

双方向: データは双方向に流れますが、通常は同時に

は流れません (進行方向が時間によって異なる一方通

行の道を想像してください)。

データ形式:

エンコードパケット: アドレスとデータの両方をエン

コードして一緒に送ります。受信側のエージェントで

デコードする必要があります。

個別 (非エンコード): アドレスは、データとは別にバ

ス上で送られます。

データやアドレスをエンコードする必要はあり

ません。

バス帯域幅:

バスを構成している信号線の数。信号線の数が

多ければ多いほど、各クロックでより多くの

データを転送することができます。

FSB 周波数 / 転送レート:

新しいパケット情報が転送される頻度。多くの

場合、バス周波数は実際のデータ転送レートよ

りも低くなります。より正確な値を表すため、

メガヘルツ (MHz) ではなく、1 秒当たりに転送

される数を 100 万単位で表した値 (MT/s) が使

用されます。

バス・エージェントの数:

バスに接続されているコンポーネントの数。2

エージェントはポイント・ツー・ポイント・バ

ス、3 つ以上のエージェントはマルチエー

ジェント・バスです。

バス属性 インテル® Xeon® プロセッサー インテル® Itanium® 2 プロセッサー

バス方向: 双方向 双方向

データ形式: 個別 (アドレスとデータで別) 個別 (アドレスとデータで別)

バス帯域幅: アドレス: 36-40 ビット

データ: 64 ビット

(ECC を含めると 72)

アドレス: 50 ビット

データ: 128 ビット

(ECC を含めると 144)

バス周波数 (転送レート): アドレス: 200 – 667MT/s

データ: 400 – 1333MT/s (実装に依存)

アドレス: 400 – 800MT/s

データ: 400-800MT/s(実装に依存)

バス・エージェントの

最大数:

2、3 、または 5

(実装に依存)

3 または 5

(実装に依存)

表 1: インテル® プロセッサーの FSB 実装の詳細

3

Page 4: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する分析

FSB の説明

前述の定義に関して、インテル® プロセッサーにおける FSB 実装の詳細を表 1 に示します。この表からわ

かるように、FSB の一部の属性は特定の実装に依存しており、時が経つにつれて変わっていきます。このよ

うな変化に対応できることは、FSB アーキテクチャーの利点の 1 つです。

HyperTransport* の説明

比較のため、HyperTransport* バスが AMD Opteron* プロセッサー上でどのように実装されているかを次に

示します。

バス属性 HyperTransport*

バス方向: 単方向

データ形式: エンコードパケット

バス帯域幅: 16 ビット

(各方向)

バス周波数: 1600 – 2000MT/s

(実装に依存、周波数が徐々に高くなると予測)

バス・エージェントの最大数: 2

表 2: HyperTransport* バス実装の詳細

4

Page 5: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

FSB の進化: プラットフォームのニーズに対応

FSB がどのように進化してきたか、最初に FSB の周波数から解説します。

FSB 周波数 / 転送レート

プラットフォームで要求される帯域幅の増加に伴い、FSB 周波数 (転送レート) も高くなってきました。

次の図から、FSB の周波数 (転送レート)、つまり帯域幅は過去 4 年間で 3 倍以上にもなっていることがわか

ります。一方、CPU コアの周波数は 2 倍にも達していません (’02 年前半は 2.2GHz で、’06 年前半は 3.8GHz)。

3.2

4.3

6.4

8.5

10.6

0

2

4

6

8

10

12

FSB

Ban

dwid

th (G

B/s

)

400MT/s 533MT/s 800MT/s 1066MT/s 1333MT/s

FSB Tra r time)(1H '02) (2H '02) (1H '04) (1H '06) (2H '06)

nsfer Rate (ove

FSB

帯域

幅 (G

S/s)

(’02 前半) (’02 後半) (’04 前半) (’06 前半) (’06 後半)

FSB 転送レート

図 1: FSB 帯域幅の増加

プロセッサーへのシステム帯域幅

最初は、システムには 1 つの FSB しかありませんでしたが、プラットフォームの性能を全体的に向上させ

るため、FSB の周波数を高くするだけではなく、複数の FSB が利用できるようにプラットフォーム・アーキ

テクチャーも進化してきました。2006 年 7 月頃から、インテルのプラットフォームは、プロセッサーごと

に 1 つの FSB が装備されはじめる予定です。これにより、プロセッサーからシステム全体への帯域幅もさら

に増加します。図 2 および図 3 は、2002 年以降、プロセッサーごと、およびプラットフォーム全体で利用

できる FSB の帯域幅が大幅に増加していることを示しています。2007 年には、MP プラットフォーム (4 プ

ロセッサー) は、プラットフォーム・レベルと各 CPU レベルの両方で FSB 帯域幅が 10 倍に増加する予定で

す。DP プラットフォーム (2 プロセッサー) は、これよりも短期間で、ほぼ 7 倍に増加することがわかりま

す。

5

Page 6: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

0.83.2

34.1

0

5

10

15

20

25

30

35

FSB

Ban

dwid

th (G

B/s)

400MT/s 02

MP Pl(1H ' )

FSB

帯域

幅 (G

S/s)

(’02 前半)

M

図 2: MP

1.63.2

0

5

10

15

20

25

FSB

Band

wid

th (G

B/s)

400MT/s 5

DP P(1H '02) (

la

FSB

帯域

幅 (G

S/s)

(’02 前半) (’0

D

図 3: DP

6

2.6

10.7

667MT/s H '05)

atform FSB Tran(1

BW Per CPU CPU ごとの BW

(’05 後半)

P プラットフォーム

プラットフォ

2.14.3

3.

33MT/s 800M2H '02) (1H

tform FSB Tran

U Total PプラットフォW

2 後半) (’04

P プラットフォーム

プラットフォ

Total Platform BWプラットフォーム全体の BW

3.2

12.8

8.5

800MT/s H '06)

1066MT/s 007)

sfer Rate (over time)(1 (2 (’06 前半) (‘07)

FSB 転送レート

ーム帯域幅の増加

latform BWーム全体の BW

BW Per CP CPU ごとの B

2

6.48.5

17

10.7

21.3

T/s 1066MT/s 1333MT/s

r time)'04) (1H '06) (2H '06)

sfer Rate (ove前半) (’06 前半) (’06 後半)

FSB 転送レート

ーム帯域幅の増加

Page 7: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

インテル® プラットフォーム全体の進化

プラットフォーム全体への高い評価に応え続けるため、FSB の進化に加えて、インテル® プラットフォー

ムの他の部分も進化し続けてきました。さまざまなプラットフォーム・コンポーネントに対する強化により、

FSB の有効性が高まり、可能な限り速く、データを必要な場所に効率的に転送できるようになりました。

キャッシュサイズ

インテル® プロセッサーには、同等クラスの AMD プロセッサーと比較して通常 2 倍の容量のオンダイ L2

(レベル 2) キャッシュと L3 (レベル 3) キャッシュが搭載されています。キャッシュのサイズが大きくなると、

アプリケーションで必要なデータがより多くプロセッサーに置かれ、メモリーアクセスがさらに少なくなり

ます。この結果、平均レイテンシーが削減され、システムバスに必要な帯域幅も削減されます。実装の異な

る L1 命令キャッシュを直接比較することは困難なため、L1 キャッシュのサイズは比較していません。具体

的には、AMD プロセッサーにはデコードされていないアセンブリー・レベルの命令を格納する従来の L1 命

令キャッシュがあり、 Intel NetBurst® マイクロアーキテクチャー・ベースのインテル® プロセッサー

(2002 ~ 2005 年頃) には、マイクロオペレーション・レベルにデコードされた命令トレースを含むキャッ

シュが実装されています。

図 4 と図 5 はそれぞれ、デュアル・プロセッサー・システムおよびマルチプロセッサー・システム用に設

計されたインテル® プロセッサーと AMD プロセッサーのキャッシュサイズを示しています。これらの図から

インテルの DP (デュアル・プロセッサー) の L2 + L3 キャッシュサイズは、これまで常に AMD プロセッサー

と同じかまたはそれ以上であることがわかります。また、本資料で述べているように、AMD プロセッサーは

L3 キャッシュをこれまで実装したことがありません。

0

512

1024

1536

2048

2560

Cac

he S

ize

(KB

)

2001 20

I heI

0

512

1024

1536

2048

2560

2001 20 ‘01 ‘0

Cac

he S

ize

(KB

)

I heIイイ

キャ

ッシ

ュサ

イズ

(KB

)

図 4: デュアル・

ntel L2 Cachentel L3 Cachentel L2 Cachentel L3 Cacheンテル L3 キャッシュ

ンテル L2 キャッシュ

02 1H '03 2H '0302 1H '03 2H '032 ’03 前半 ’03 後半

プロセッサー CPU のキ

AMD L2 CacAMD L2 CacAMD L2 キャッシュ

1H '04 2H '04 1H '051H '04 2H '04 1H '05 ’04 前半 ’04 後半 ’05 前半

ャッシュサイズ (インテル vs. AMD)

7

Page 8: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

マルチプロセッサー対応 CPU では、オンダイキャッシュの量の違いはさらに大きく (インテル® Xeon® プロ

セッサー MPなど、4 プロセッサー以上への対応) なります。オンダイキャッシュが大きくなると、より多く

のデータをプロセッサーの近くに格納できるため、必要な FSB またはシステム・バス・トランザクションが

より少なくなります。(注: AMD は MP 対応プロセッサーを 2003 年以降に出荷)

0123456789

Cac

he S

ize

(MB

)

0123456789

B)

Cac

he S

ize

(Mキ

ャッ

シュ

サイ

ズ (M

B)

図 5: MP プロセ

キャッシュ・コヒーレンFSB 周波数が高くなると、バス当

FSB が装備されていると、プラット

す。これは、各プロセッサーがそれ

が増加して起こります。データの読

タはプロセッサーの 1 つのキャッ

ジェント共有 FSB では、1 つのスヌ

要求を受け取り、要求されたデー

(オンチップキャッシュに存在)。こ

8

Intel L3 CacheIntel L3 Cacheインテル L3 キャッシュ

2002 2003 2

Intel L2 Cache

2002 2003 2

Intel L2 Cache A インテル L2 キャッシュ

ッサー CPU のキャッシ

シー・トラフィッたりのエージェントの数

フォーム全体の帯域幅

ぞれのバス上にあるた

み出し要求がチップセッ

シュに存在するか、メ

ープ要求がバスに行わ

タの最も新しいコピー

のため、読み出し要求ご

MD L2 キャッシュ

004 2005

AMD L2 Cache

004 2005

AMD L2 Cache

ュサイズ (インテル vs. AMD)

は減ります。各プロセッサーにそれぞれ 1 つの

が増加した場合、性能が低下する可能性がありま

めにキャッシュ・コヒーレンシー・トラフィック

ト経由で I/O デバイスから行われた場合、デー

インメモリーに存在します。従来のマルチエー

れます。すべてのプロセッサーは同時にスヌープ

がどのプロセッサーにあるかをチェックします

とに 1 つのスヌープ要求が行われます (図 6)。

Page 9: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

図 6: 2 つのプロセッサーで FSB を共有 図 7: 2 つの 複数の FSB を持つプラットフォーム (図 7) では、1 つのスヌープ要求をシ

に送ることはできません。代わりに、個別のスヌープ要求を FSB のすべての

ます。この場合、2 つのスヌープ要求が行われます (2 プロセッサー・システム

サー・システムの場合は 4 つ)。 つまり、プロセッサーの 1 つが最も新しいデータを戻して応答すれば良い

み存在し、プロセッサーのオンチップキャッシュに存在しない場合は、応答

つの読み出し要求は 2 つのスヌープ要求になります。この「不必要な」スヌ

ス/結果バスで利用可能な帯域幅が削減されます。この不必要なスヌープ

ションの種類と各プロセッサーのキャッシュの状態によって異なります。例え

現在共有されているキャッシュラインへの書き込みトランザクションは、すべ

バス・トランザクションのままになります。

この問題に対処するため、インテルの最も新しいデュアル・プロセッ

Greencreek† では、「スヌープフィルター」と呼ばれる機能を装備しました。 スヌープフィルターは、システム上の各プロセッサーのオンチップキャッシ

キャッシュラインの状態 (Modified、Exclusive、Shared または Invalid のいずれ

す。スヌープフィルターは、次のように動作します:

I/O からプロセッサー、またはあるプロセッサーから別のプロセッサーへのデ

れると、スヌープフィルターは要求されているアドレスを確認して、スヌープ

します (タグ配列には各プロセッサーのキャッシュに現在存在しているメモリ

† 開発コード名

チップセット MCH

CPU

CPU

メイン

メモリー

チップセット MCH

CPU

CPU

メイン

メモリー

I/O 読み出し要求

プロセ

ステム

プロセ

の各

(デー

する必

ープ要

要求の

ば、

ての

サー対

ュに現

か) のル

ータの

フィル

ーアド

2 つの別々の

スヌープ要求

1 つの同時 スヌープ要求

I/O 読み出し要求

ッサーで別の FSB

のすべてのプロセッサー

ッサーに送る必要があり

FSB で 1 つ、4 プロセッ

タがメインメモリーにの

要がない) 場合でも、1

求のために、FSB アドレ

数はバス・トランザク

すべてのプロセッサーで

プロセッサー・バス上の

応チップセットである

在存在するすべての

ックアップテーブルで

読み出し要求が作成さ

ターのタグ配列と比較

レスが含まれています)。

9

Page 10: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

読み出し要求が 1 つのプロセッサーのアドレスとのみ一致 (キャッシュヒット) した場合、スヌープフィル

ターはデータが存在するその 1 つのプロセッサーにのみ要求を転送します。スヌープフィルターは、要求が

他のプロセッサーのキャッシュで「ミス」しているため (キャッシュミス)、要求を他のプロセッサーに転送

しません。指定されたプロセッサーのキャッシュをミスする要求を「フィルター」することで、FSB アドレ

ス/リクエスト帯域幅が不必要なスヌープ要求によって減少することはなくなります (図 8)。

CPU

CPU CPU CPU

0 のスヌープ 要求

1 つのスヌープ要

図 8: スヌープ

(単一キャッシ

要求されているデー

要求は作成されず、代

あり、実際の動作はバス

スヌープフィルターを

は非常に限定的な条件

ステムがバス要求を生

後の「スヌープフィル

ヌープ応答は、通常のス

ルター・ルックアップ

イン化されるため、遅延

性能に関してはどうで

トラフィックを削減す

が向上します。1) 負荷

高い場合について説明し

チップセット チップセット

MCH

メイン

メモリー

スヌープフィルター

メインメモリーへ の 1 つの要求

チップセット チップセット

MCH

スヌープフィルター メイン

メモリー

10

I/O 読み出し要

フィルターの動作

ュヒットの場合)

タがどのプロセッサーのキャッシ

わりに要求は直接メインメモリー

要求の種類によって異なります

使用すると、各トランザクショ

でのみ発生します。インテル® チ

成する能力と同じ割合でルックア

ター詳細」セクションを参照)。

ヌープ応答よりも 2 バスクロッ

で遅延が発生します。以降のスヌ

が発生することはありません。

しょうか? スヌープフィルター

ることです。アドレス/リクエスト

が非常に高い場合。2) 大量の I

ます。

I/O 読み出し要求

図 9: スヌープフィルターの動作

(キャッシュミスの場合)

ュにも存在しない場合 (キャッシュミス)、スヌープ

に送られます (図 9)。これらは読み出し要求の例で

ンで遅延が発生することはないのでしょうか? 遅延

ップセットに実装されたスヌープフィルターは、シ

ップ要求を受け取る能力があります (詳細は、この

このため、能力的な遅延はありませんが、実際のス

ク後に FSB に返されるため、最初のスヌープ・フィ

ープ・フィルター・ルックアップは通常、パイプラ

の目的は、FSB アドレス/リクエストバスの不必要な

・トラフィックが減ると、次の 2 つの場合に性能

/O トラフィックがある場合。最初に、負荷が非常に

Page 11: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

負荷が非常に高い場合: アドレス/リクエストバスのトラフィックが多い場合、アドレス/リクエストバス

はシステム性能のボトルネックになります。この場合、スヌープフィルターによって不必要なスヌープトラ

フィックを減らすと、システム全体の性能が向上します (実際のシステムトラフィックが増えてスヌープト

ラフィックが減るため)。高いアドレス/リクエストバス要求は、負荷が非常に高いシステムや多くのプロ

セッサー (または多くのプロセッシング・コア) を搭載しているシステムで発生します。プロセッシング・コ

アが多くなると、コア間で生成されるキャッシュ・コヒーレンシー・トラフィックも増加します。

大量の I/O トラフィック: スヌープフィルターが性能向上に役立つその他の構成としては、大量の I/O ト

ラフィックがある場合です。これは、I/O によって使用されるデータは通常、プロセッサーのキャッシュに

は存在しないのですが、I/O によって要求されるデータは最も新しいコピーであるので、それを保証するた

めに、キャッシュは必ずスヌープされます。この結果、プロセッサーへの I/O スヌープ要求のほとんどは結

果として不必要で、FSB に不必要なスヌープ要求が作成されます。スヌープフィルターがあると、I/O 要求

はメインメモリーに直接送られ、不必要な FSB スヌープは生成されません。スヌープ・フィルター・ルック

アップはプロセッサーのキャッシュをスヌープする時間よりも速いため、通常の「クリーンな」スヌープ・

フィルター・ルックアップでは、I/O レイテンシーも削減されます。スヌープフィルターがないと、不必要

なスヌープが生成されることになります。

スヌープフィルターは負荷が非常に高い場合に最適に動作するため、その能力は大規模なサーバーやハイ

エンド・ワークステーション・アプリケーションのワークロードに最も適しています。

スヌープフィルター詳細

前述したように、システム全体の性能にスヌープフィルターが与える影響は、バス・トラフィックの量と

種類によって異なります。スヌープフィルターは、システムのすべての FSB が開始できる要求とほぼ同じ割

合でルックアップを行うことができるので、負荷が非常に高い場合に最適に動作します。各プロセッサーは、

2 バスクロック (BCLK) ごとにバスに新しい要求を出すことができます。スヌープフィルターを含むデュア

ル・プロセッサー・チップセットでは、BCLK につき 1 つの割合でルックアップを行うことができます (交互

のクロックで各バスから 1 つの要求)。1066MT/s FSB では BCLK 周波数は 266MHz です。データバスは「ク

アッドパンプ」で、実際の BCLK 周波数の 4 倍で動作します。アドレス/リクエストバスは「ダブルパンプ」

で、実際の BCLK 周波数の 2 倍で動作します。

11

Page 12: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

アドレス/リクエストバスの帯域幅だけがシステム性能を制限する要因ではないため、これらのトラ

フィックが少ない場合、スヌープフィルターを使用しても性能はほとんど向上しません。バス・トラフィッ

クが非常に少ない場合、スヌープフィルター要求はパイプライン化されず、前述した最初の要求だけでなく、

より多くの要求に 2 サイクルのレイテンシーが追加されます。したがって、負荷が非常に少ない条件では、

スヌープフィルターはシステムの性能を多少低下させる可能性があります。

インテル® I/O アクセラレーション・テクノロジー

インテル® I/O アクセラレーション・テクノロジー(以降インテル® I/OAT)は、プロセッサーからチップ

セットにネットワーク・トラフィックの負荷を移動する新しいテクノロジーです。インテル® I/OAT は CPU

の使用率を最大 20-30% 削減できるので、FSB トラフィックも同じかまたはそれ以上削減されます。この

CPU 使用率と FSB トラフィックの削減は、チップセットに内蔵されたインテリジェント DMA エンジンに

よって実現されます。DMA エンジンは、オペレーティング・システムが保持するメモリー空間から、データ

を要求しているアプリケーションが保持するメモリー空間へ、メインメモリーにある必要なネットワーク

データをコピーします。DMA エンジンがない場合、CPU がデータをコピーし、 FSB を通過してメモリーの

ある場所から別の場所にデータを移動する必要があります (図 10)。DMA エンジンがあると、データは FSB

を通過しないため、貴重な FSB サイクルを節約することができます (図 11)。DMA エンジンは、インテルの

Blackford† および Greencreek† チップセットに内蔵されています。また、今後のほとんどのインテル DP/MP

サーバー用チップセットにも搭載される予定です。

次の 2 つの例は、FSB トラフィックにおける効果を示しています。図 10 は、インテル® I/OAT がない場合

のネットワークからアプリケーションへ送られる典型的なネットワーク・パケットの主なステップを示して

います。図 11 は、インテル® I/OAT がある場合のネットワーク・パケットの主なステップを示しています。

あまり重要でないステップについては省略しました。

† 開発コード名

12

Page 13: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

図 10: 典型的なネットワーク・トランザクシ

典型的なネットワーク・パケットのステップ (インテル® I/OAT

ステップ 1: パケットがネットワークから MCH (メモリー・

ステップ 2: パケットペイロードが OS が所持するメモリー

ステップ 3: データペイロードが (プロセッサーによって)

からアプリケーションが所持するメインメ

ションによってデータが実際に使用される位置

には、ペイロードデータは以下の条件を満たす

ステップ 3a: OS メモリーからプロセッサー

ステップ 3b: プロセッサーからアプリケー

チップセット

MCH

LAN

1

ネッ

トワ

ーク

2 3a 3b

App メモリー

OS メモリー

FSB

CPU

メインメモリー

PCI-E

13

ョン (I/OAT なし)

なし):

コントローラー・ハブ) に送られる

に書き込まれる

OS が所持するメインメモリー 位置

モリー位置 (要求するアプリケー

) に移動される。この移動を行う

必要がある。

にコピーされる

ション・メモリーにコピーされる

Page 14: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

図 11: 典型的なネットワーク・トランザクシ

インテル® Core™ マイクロアーキテクチャー

現世代のインテルのデスクトップ・プロセッサーおよびサーバー

マイクロアーキテクチャーをベースにしています。Intel NetBurst® マ

速で実行するように設計されています。この高速で実行する「エン

NetBurst® マイクロアーキテクチャーは多くのデータを投機的に要求

まな原因によって、一部のデータは実際には使用されません。マイ

のすべてを使用するとは限らないということは、プロセッサーがそ

りもさらに高い FSB 帯域幅が必要になることを意味します。

チップセット

MCH

ネッ

トワ

ーク

LAN

DMA

1 3a 3b 2

OS メモリー

App メモリー

14

FSB

CPU

メインメモリー

PCI-E

ョン (I/OAT あり)

典型的なネットワーク・パケットのステップ (インテル® I/OAT あり):

ステップ 1: パケットがネットワークから MCH (メモリー・コントローラー・ハブ) に送られる

ステップ 2: パケットペイロードが OS が所持するメモリーに書き込まれる

ステップ 3: データペイロードが (チップセットの DMA エンジンによって) OS が所持するメインメ

モリー位置からアプリケーションが所持するメインメモリー位置 (要求するアプリ

ケーションによってデータが実際に使用される位置) に移動される。この移動を行う

ため、ペイロードデータは FSB を使用しないでメモリーのある位置から別の位置に単

純に移動される。

ステップ 3a: OS メモリーから MCH にコピーされる

ステップ 3b: MCH からアプリケーション・メモリーにコピーされる

・プロセッサーは、主に Intel NetBurst®

イクロアーキテクチャーは、非常に高

ジン」をビジーにするため、Intel

しますが、分岐予測ミスを含むさまざ

クロアーキテクチャーが要求したデータ

の要求に対して効率的に動作した場合よ

Page 15: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

対照的に、現世代のインテルのモバイル・プロセッサー (インテル® Pentium® M プロセッサーおよび

インテル® Core™ Duo プロセッサー) は、異なるマイクロアーキテクチャーを使用しています。このアーキテ

クチャーは、より低いクロック周波数で動作しますが、要求したデータの使用においてはるかに効率的で、

より多くのデータを使用するため、必要な FSB 帯域幅はより低くなります。

インテルは 2006 年中に、すべての x86 プロダクトライン (デスクトップ、サーバー、およびモバイル) を、

Intel NetBurst® マイクロアーキテクチャーとインテルのモバイル・マイクロアーキテクチャーの利点を兼ね

備えたインテル® Core™ マイクロアーキテクチャーに移行する予定です。インテル® Core™ マイクロアーキ

テクチャー・ベースのプロセッサーは、優れた電力効率と高性能を両立するように設計されています。この

2 つを実現する機能の 1 つは、指定されたワークロードで使用されるデータ要求の割合を高め、FSB トラン

ザクションを少なくするための変換を行う、より効率的でよりインテリジェントなプリフェッチャーです。

FSB 帯域幅を低くするということは、プロセッサーを常に効率的に使用する必要があることを意味します。

FSB と HyperTransport*

インテルの FSB と AMD の HyperTransport* バスを比較する場合、各バスの帯域幅を比較するのは一般的

な方法の 1 つでしょう (図 12 を参照)。

0

2

4

6

8

10

12

I

図 12: (システ注: 上の図は、2006 年後半に

本資料の執筆時点では、具体

Tota

l Ban

dwid

th P

er B

us (G

B/s

)

2H '05

H

800

MT/

s

0

2

4

6

8

10

12

GB

/s)

I

Tota

l Ban

dwid

th P

er B

us (

2H '05

H

800

MT/

s

バス

ごと

の合

計帯

域幅

(GB

/s)

’05 後

ntel FSBntel FSBインテル FSB

ムバスごとの) バス帯域幅 (FSB vs. HyperTransport*)

HyperTransport* バスの周波数が 1.4GHz (2.8GT/s) になると予測しています。

的な数値は AMD から公表されていません。

1H '06 2H '06

yperTransport*

1066

MT/

s

1333

MT/

s

2000

MT/

s

2000

MT/

s

2800

MT/

s (e

stim

ated

)

1H '06 2H '06

yperTransport*

1066

MT/

s

1333

MT/

s

2000

MT/

s

2000

MT/

s

2800

MT/

s (e

stim

ated

)

半 ’06 前半 ’06 後半

15

Page 16: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

しかし、バス・アーキテクチャーと全体的なプラットフォーム・アーキテクチャーは異なるため、バス帯

域幅の値を比較してもどちらのバスが優れているかという比較にはなりません。これには、次の 2つの理由

があります。

1) 個別アドレスバスと共有アドレスバス

2) プラットフォーム・アーキテクチャーの違いにより、バス・トラフィックの組み合わせと量が異なる

それぞれの理由について以下に説明します。

個別アドレスバスと共有アドレスバス

インテルの FSB ベース・プラットフォームは、アドレスとデータでバスが個別になっていますが、図 10

で示されているインテルの FSB の帯域幅は、利用可能なデータバスの帯域幅のみを示しています。FSB には

追加のアドレスピンがあるため、アドレスとコントロール情報を渡すために追加のバス帯域幅を利用できま

す。しかし、HyperTransport* バスベースのプラットフォームでは、1 つのバスがデータだけでなく、すべ

てのアドレス、コントロール、およびエラーチェック情報を渡すためにも利用されます。このため、

HyperTransport* ベースのプラットフォームでデータ転送に利用できる合計帯域幅は、図 12 の値よりも実際

には小さくなります。

どの程度小さくなるのでしょうか? アプリケーションに依存しますが、一般的に、アドレス/コントロー

ル・バスにはデータに必要な帯域幅の約半分の帯域幅が必要です。この仮定は、インテル FSB ベースのプ

ラットフォームでは、アドレス/コントロール帯域幅がデータ帯域幅のほぼ半分であるという事実に基づい

たものです (下記の計算を参照)。このインテル® プラットフォームは、アドレスバスの帯域幅で制限される

こともあり、またデータバスの帯域幅で制限されることもあるように、非常にバランスがとれています。

1

インテル FSB の計算: アドレスとデータ帯域幅の比率

- バス転送レート

o インテルのアドレスバス転送レート = インテルのデータバスの転送レートの ½

- 転送当たりのバイト数

o アドレスバス: ~9 バイト**

o データバス: 8 バイト

データ・バス・クロック当たりのアドレスバイト数 = ½ * 9 バイト = 4.5 バイト/データ・バス・クロック

データ・バス・クロック当たりのデータバイト数 = 1 * 8 バイト = 8 バイト/データ・バス・クロック

- データバス帯域幅へのアドレスは ~ 4.5 から 8 または ~1/2

** 上記の計算に含まれているアドレス/コントロール・バス信号:

A[39:3], BPRI#, BR[3:0], DEFER#, RS[2:0]#, RSP# , TRDY#, ADS#, AP[1:0]#, BNR#, DBSY#, DP[3:0]#, DRDY#, BPM[5:0]#, HIT#, HITM#, A20M#, LINT0/INTR, LINT1/NMI, SMI#, SLP#

アドレス/コントロール信号に必要な帯域幅が少なめになるように、リセット、ストロボ、およびエ

ラー信号のような、ほとんど使用されていない一部のコントロール信号は計算に含まれていません。

6

Page 17: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

HyperTransport* バスのデータサイクルのアドレス/コントロール比率がインテル FSB (アドレス帯域幅が

データ帯域幅の半分) に似ていると仮定すると、HyperTransport* バスで利用可能なデータバス帯域幅は、バ

スの合計帯域幅の ~2/3 になります (アドレス/コントロールで 1/3、データで 2/3)。HyperTransport* バスで

実際に利用可能なデータ帯域幅はワークロードによって異なりますが、ほぼこの比率になります。

上記の仮定を使用すると、データ転送に利用可能な帯域幅は (2000MT/s で動作している) HyperTransport*

バスでは ~5.33GB/s、1066MT/s で動作している FSB では 8.4GB/s になります (図 13)。また、

HyperTransport* バスでは 一方向で最大帯域幅が上記の値の半分になるのに対して、FSB ではどちらの方向

でも帯域幅を 100% 利用できる点にも注意してください。

図 13: (バスごとの

0

2

4

6

8

10

12

Ava

ilabl

e B

andw

idth

For

Dat

a (G

B/s

)

2H

800

MT/

s

0

2

4

6

8

10

12

Ava

ilabl

e B

andw

idth

For

Dat

a (G

B/s

)

2H

800

MT/

s

HyperTransport* バスの計算: データが利用可能な帯域幅

- バス転送レート (アドレスおよびデータ)

o 2000MT/s (1000MHz HyperTransport* バス)

- 転送当たりのバイト数 (アドレスおよびデータ)

o アドレスおよびデータ: 2 バイト

- 合計のバス帯域幅 (アドレスおよびデータ)

o 一方向: 2000MT/s * 2 バイト = 4GB/s

o 両方向: 2 * 4GB/s = 8GB/s

- データの帯域幅 (HyperTransport* バス)

o 一方向: 2/3 * 4GB/s = 2.67 GB/s

o 両方向: 2/3 * 8GB/s = 5.33 GB/s

B

デー

タ転

送に

利用

可能

なバ

ス帯

域幅

(GB

/s)

’05

Intel FSBIntel FSBインテル FS

)

'

ted)

'

ted))

HyperTransport* (estimaHyperTransport* (estimaHyperTransport* (予測

データ転送に利用可能なバス帯域幅 (FSB vs. HyperTransport*)

05 1H '06 2H '06

d

1066

MT/

s

1333

MT/

s

2000

MT/

s

2000

MT/

s

2800

MT/

s (e

stim

ated

)

05 1H '06 2H '06

d

1066

MT/

s

1333

MT/

s

2000

MT/

s

2000

MT/

s

2800

MT/

s (e

stim

ated

)

後半 ’06 前半 ’06 後半

17

Page 18: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

プラットフォーム・アーキテクチャーの違い

インテル FSB ベース・システムと、AMD HyperTransport* ベースのシステムにおけるトラフィックの種類

と量は本質的に異なります。これらの違いは、主にシステム内のメモリー (および I/O) の位置の違いによる

ものです。インテル FSB ベースのシステムでは、システムのすべてのプロセッサーから等しい距離で単一の

メモリー配列が配置されています。この種のシステム・アーキテクチャーは、一般的に SMP (Symmetric

Multi-Processing - 対称マルチプロセッシング) と呼ばれています (図 14 を参照)。

チップセット

MCH

CPU

CPU

CPU

PCI-E バス I/O へ

FSB

バス

メイン メモリー

メモリー

FSB

CPU

図 14: インテル FSB SMP システム・アーキテクチャー

AMD HyperTransport* ベースのシステムでは、システムの各プロセッサーにローカルメモリーが配置され

ています。この種のシステム・アーキテクチャーは、NUMA (非均一メモリーアクセス) と呼ばれています

(図 15)。 HyperTransport*

ローカル

ローカル メモリー

ローカル メモリー

図 15: AMD H

18

メモリー

CPU CPU メモリー

バス

HyperTransport* HyperTransport*

ローカル

メモリー

CPU CPU メモリー

バス

HyperTransport*

HyperTransport* バス I/O

yperTransport* NUMA システム・アー

メモリー

バス

メモリー

バス

キテクチャー

Page 19: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

メモリー・レイテンシーの現実

NUMA システムでは、メモリーは複数の場所にあり、それぞれの場所にアクセスする時間が異なるため

(非均一)、OS がアプリケーションのメモリーアクセスを、そのアプリケーションが実行されているプロセッ

サーのローカルメモリーに制限する場合には適しています。ほとんどのアクセスをローカルメモリーに対し

て行うことができれば、メモリーアクセスの平均レイテンシーを低く保つことができます。しかし、NUMA

システムで平均メモリー・レイテンシーを低く保つには、次の 3 つのポイントに注意する必要があります。

1. アクセスはすべてローカルメモリーに対して行われると考えることは非実用的である (特にメモ

リーを多く必要とするアプリケーション)。

2. メモリー要求がローカルメモリーに対して行われた場合でも、システムの他のキャッシュがすべて

スヌープされるまで (他のキャッシュがより新しいデータのコピーを持っているかどうか確認する

まで)、アプリケーションはデータを使用できない。このため、ローカル・メモリー・レイテンシー

よりも、(4 プロセッサー・システムでは 2 ホップ離れる) 最も遠いプロセッサーへのスヌープ・レ

イテンシーが重要である。

3. データがローカルメモリーにない場合、データを (1 または 2 ホップして) 非ローカルメモリーから

フェッチする必要があるため、平均メモリー・レイテンシーが高くなる。

AMD では、ローカルメモリーへのレイテンシーが低いだけではなく、スヌープ・レイテンシーと遠いメモ

リーへのレイテンシーも十分低いため、キャッシュ・スヌープ・ペナルティーと遠いメモリーへのアクセス

のペナルティーを考慮する必要はないと説明しています。しかし、平均メモリー・レイテンシーには、オン

ダイキャッシュへのレイテンシーも含める必要があります。一般的に、プロセッサー・キャッシュのレイ

テンシーは、近い将来にプロセッサーによって要求されるコードやデータにアクセスする場合に最も低くな

ります。キャッシュのヒットレート (例えば、要求されたデータが既にキャッシュにある場合のアクセス数

とメモリーアクセス総数の比率) が高くなると、メモリーへの平均レイテンシーは低くなります。前述した

ように、インテルのより大きなキャッシュは、キャッシュのヒットレートを非常に高くし、平均メモリー・

レイテンシーを最小限に保つことができることを意味します。

メモリー・レイテンシーは、次に取得する命令またはデータを予測するプロセッサーの能力によっても影

響される点にも注意が必要です。プロセッサーの分岐予測とプリフェッチ機能は、キャッシュ要求が発生す

る前にデータをキャッシュにフェッチできるため、メインメモリーのレイテンシーを削減または除去できま

す。インテル® プロセッサーには、強化された分岐予測とプリフェッチ機能が備わっているため、キャッ

シュ・ヒット・レートを高く保つことができます。

19

Page 20: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

バス・トラフィックの違い

SMP と NUMA アーキテクチャーの違いにより、2 つのシステム・アーキテクチャーのバス・トラフィック

は、次の表に示すような違いがあります。

トラフィックの種類 インテル FSB AMD HyperTransport*

メモリー すべて 非ローカルのみ

I/O すべて すべて

キャッシュ・コヒー

レンシー (スヌープ)

すべて すべて

表 3: 典型的なシステムバスのトラフィック (FSB vs. HyperTransport*)

これまでに説明したように、AMD HyperTransport* ベースのシステムではメモリーがローカルにあるため、

生成される全体的なバス・トラフィックは少なくなります (例えば、CPU からローカルメモリーに存在する

データへのアクセスには HyperTransport* バスは使用されません)。「非ローカル」メモリー (例えば、異な

る CPU に存在するメモリー) にあるデータへのアクセスにのみ HyperTransport* バスが使用されます。しか

し、インテルの FSB ベースのシステムには、表 4 に記述されているような、「システムバス」のトラフィッ

クを削減する機能があります。

トラフィックの種類 インテル FSB トラフィック削減機能

メモリー より大きなオンダイキャッシュ (通常、AMD のキャッシュサイズの 2 倍)

I/O インテル® I/O アクセラレーション・テクノロジー (Q2 ’06)

キャッシュ・コヒー

レンシー (スヌープ)

スヌープフィルター (Q2 ’06)

表 4: FSB トラフィック削減機能

最終的な結論は、こういった異なるプラットフォーム・アーキテクチャーを評価する場合、単なるバス帯

域幅の値のみで比較するべきではありません。どのプラットフォームがベストなのかを判断する場合、プ

ラットフォームの他の部分の特徴についても必ず考慮してください。

まとめ

これらの 2 つのプラットフォームは異なったシステム設計アプローチを取っています。アーキテクチャー

が異なるため、どちらが優れているか個々の項目だけを比較して判断することはできません。プラット

フォームのすべての機能に目を通して、それらが全体的なプラットフォームのパフォーマンス向上にどう役

20

Page 21: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

立っているかどうかを判断する必要があります。IA ベースのサーバー・プラットフォームと FSB システム・

アーキテクチャーは、ユーザーのニーズを満たすために、今後も多くの新しい機能を追加し (表 5)、高性能

かつ堅牢なサーバーシステムを提供していきます。

新しいプラットフォームの機能 プラットフォームへの影響

FSB 周波数の増加 FSB 帯域幅の増加

プラットフォームごとにより多くの FSB 合計の FSB 帯域幅の増加

FSB トラフィック増加の可能性 (スヌープ)

より大きなオンダイキャッシュ FSB トラフィックの削減

スヌープフィルター スヌープ・トラフィック増加の最小化

インテル® I/O アクセラレーション・テクノロジー FSB トラフィックの削減

次世代のマイクロアーキテクチャー FSB トラフィックの削減

表 5: 最新の FSB の改良とプラットフォームへの影響

「良い」システム・アーキテクチャーを決めるための最高の基準は、個々の機能ではなく、アプリケー

ションのパフォーマンスです。インテルのサーバー・プラットフォームは、より優れたパフォーマンスを提

供するように設計されています。

出典:

1. プロセッサーのデータシートおよび関連資料: www.intel.com または www.amd.com

2. インテル: 出荷前の製品を含む

著者紹介

Scott Huck インテルのエンタープライズ事業本部でコンペティティブ・アーキテクトを担当

21

Page 22: Xeon アーキテクチャーに関する比較分析 · インテル® サーバー・プラットフォームの設計 ... o バス・トランザクションの違い - FSB の進化

インテルのフロントサイド・バス・アーキテクチャーに関する比較分析

本資料は情報伝達のみを目的として作成されたものです。本資料は現状のまま提供されるものであり、いかなる保証(商品性に

関する保証、知的所有権を侵害していないことへの保証、特定目的への適合性、およびその他いかなる提案、仕様、サンプルか

ら発生するその他の保証を含む)に関して一切責任を負わないものとします。インテルは、本資料内に誤りがあっても、その責

を負うものではなく、本資料を利用したことによって、またそれと関連して発生するいかなる損害に対しても義務や責任を負う

ものではありません。明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のラ

イセンスを許諾するためのものではありません。すべての期間、日付、および製品は、予告なく変更されることがあります。

インテル株式会社

〒300-2635 茨城県つくば市東光台5-6

http://www.intel.co.jp/

Intel、インテル、Intel ロゴ、Intel Core、Intel NetBurst、Itanium、Pentium、Xeon、Xeon Insideは、アメリカ合衆国およびその他

の国における Intel Corporation またはその子会社の商標または登録商標です。

* その他の社名、製品名などは、一般に各社の商標または登録商標です。

© 2006 Intel Corporation. 無断での引用、転載を禁じます。

2006 年 3 月 第 1.1 版

22