インテル QuickPath インターコネクト

インテル QuickPath インターコネクト (QPI) について



インテル QuickPath インターコネクト(QPI)は、インテルが開発したプロセッサ間の接続技術で、従来のフロントサイドバス(FSB)に代わるものです。QPIは、プロセッサ間のデータ転送を高速化するために、ポイントツーポイント接続を採用しています。かつてはCommon System Interface (CSI) と呼ばれ、さらに以前はYAPやYAP+として知られていました。

開発の背景



QPIの開発は、DECのAlpha開発グループからインテルに移籍したメンバーによって、インテルのMMDC(Massachusetts Microprocessor Design Center)で行われました。この技術は、デスクトップ、XeonItaniumプラットフォームのFSBを置き換えることを目的としています。

QPIの概要



QPIは、QuickPathアーキテクチャの中核をなす技術であり、最もシンプルな構成では、1つのQPIリンクがプロセッサとI/Oハブを接続するために使用されます。より複雑な構成では、複数のQPIリンクがプロセッサ同士やI/Oハブ、ルーティングハブを相互に接続し、ネットワークを形成します。これにより、各プロセッサが持つローカルメモリをNUMA(Non-Uniform Memory Access)として利用できるようになります。

シングルプロセッサシステムでは、最低1つのQPIリンクが必要です。デュアルプロセッサやマルチプロセッサシステムでは、2つ以上のQPIリンクが必要です。例えば、クアッドCPU構成では、1つのCPUは他の3つのCPUと通信するために3つのQPIリンクを使用し、さらにI/Oハブとの接続にもQPIリンクを使用します。

QPIの構造



各QPIリンクは、全二重の20レーンデータリンクと、各方向で独立したクロックで構成され、合計42個の信号を伝送します。各信号は平衡接続されており、ピンの総数は84本です。20個のデータレーンは、5レーンずつ4つの「象限」に分割されます。

データの基本単位は80ビットの「フリット (Flit)」で、2クロックで転送されます。フリットは、8ビットのエラー検出用、8ビットのリンクレイヤヘッダー、64ビットのデータで構成されます。QPIの帯域幅は、2クロックごとに各方向64ビットを転送することで計算されます。

初期の実装では単一の4象限リンクを使用しますが、QPIの仕様では他の実装も可能です。各象限は独立して使用でき、信頼性が求められるサーバーでは、QPIリンクは劣化モードで動作できます。例えば、20+1の信号のうち一部が故障した場合、10+1または5+1の信号で動作を継続できます。

QPIの周波数と帯域幅



QPIは通常、2.4GHzまたは3.2GHzのクロック速度で動作します。実際のクロック速度は、接続先のコンポーネントの機能やプリント基板の特性によって異なります。Core i7 920や940では、2.4GHzの基準クロックに制限されます。

データの転送はクロックの立ち上がりと立ち下がりの両方で行われるため、転送速度はクロック速度の2倍になります。インテルは、80ビットのフリットのうち64ビットのデータペイロードのみを計算に入れ、双方向の転送を考慮して、データスループットを算出します。例えば、3.2GHzのクロックを持つ20ビットのQPIリンクでは、25.6GB/秒のデータ転送速度となります。

計算例:



3. 2GHz 2 (転送速度) 20 (レーン幅) (64/80) (データ/フリット) 2 (双方向) / 8 (ビット/バイト) = 25.6 GB/s

QPIのプロトコルレイヤ



QPIは、物理、リンク、ルーティング、トランスポート、プロトコルの5つのレイヤーで構成されます。ポイントツーポイント接続のみを目的としたデバイスでは、トランスポートレイヤーは存在せず、ルーティングレイヤーは最小限になります。

物理層



物理層は、実際の配線、差動トランスミッター、レシーバー、および転送と受信を行うロジックで構成されます。物理層の単位は20ビットの「phit」です。20レーンが使用可能な場合は、シングルクロックで転送されます。

リンク層



リンク層は、80ビットのフリットの送受信を行います。各フリットは、4つの20ビットのphitとして物理層に送信されます。フリットには、リンク層のトランスミッタが生成した8ビットのCRCが含まれており、エラー検出に使用されます。リンク層は、フロー制御のために貸方/借方の手法を使用します。

ルーティング層



ルーティング層は、8ビットのヘッダーと64ビットのペイロードからなる72ビットのユニットを転送します。ヘッダーには、宛先とメッセージタイプが含まれます。ルーティングテーブルを参照し、ユニットが宛先に到着したかどうかを判断し、必要に応じてルーティングします。

トランスポート層



トランスポート層は必須ではなく、ポイントツーポイント接続のみのデバイスには存在しません。このレイヤーは、QPIネットワークを介してデータを送受信し、データが完全であることを確認します。

プロトコル層



プロトコル層は、デバイスのパケットを送受信し、キャッシュの一貫性を維持するためのメッセージを送受信します。

QPIの主な採用例



QPIは、Intel Core i7XeonItaniumプロセッサに採用されており、2008年11月にIntel Core i7デスクトッププロセッサとIntel X58チップセットで初めて採用されました。その後、2009年3月には、NehalemマイクロアーキテクチャベースのXeon5500にも使用されました。

まとめ



インテルQuickPathインターコネクト(QPI)は、プロセッサ間の高速なデータ転送を実現するための重要な技術です。その構造や動作原理、各レイヤーの詳細を理解することで、より高度なコンピュータシステムの設計や開発に役立てることができます。

関連項目



HyperTransport
FSB
DMI
Core i7
Xeon

外部リンク



Intel® QuickPath Architecture | Intel.com - Video / Audio Center
後藤弘茂のWeekly海外ニュース いよいよベールを脱ぐIntelの次期CPU「Nehalem」
[IDF]インテルの新プロセサ群「Nehalem」、設計変更で性能向上狙う
インテル® X58 Express チップセット概要
後藤弘茂のWeekly海外ニュース Intelの次期CPUインターコネクト「QPI」

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。