Intel QuickPath Interconnect(QPI)[1] [2]は、 Intelが開発したスケーラブルなプロセッサ 相互接続であり、2008年以降、 Xeon、Itanium 、および一部のデスクトッププラットフォームのフロントサイドバス(FSB)に代わるものです。QPIは、スケーラビリティと利用可能な帯域幅を向上させました。名称が発表される前は、IntelはCommon System Interface(CSI ) [3]と呼んでいました。 以前のバージョンはYet Another Protocol(YAP)およびYAP+として知られていました。
QPI 1.1は、 Sandy Bridge-EP(Romleyプラットフォーム)で導入された大幅に改良されたバージョンです。[4]
QPIは、 LGA 3647ソケットベースのSkylake -SP XeonプロセッサではIntel Ultra Path Interconnect(UPI)に置き換えられました。[5]
QPIは「バス」と呼ばれることもありますが、動的ルーティング機能を備えたスケーラブルな相互接続ファブリックです。 2003年頃からAdvanced Micro Devices(AMD)が使用していたHyperTransportに対抗するために設計されました。 [6] [7] Intelは、マサチューセッツ・マイクロプロセッサ・デザイン・センター(MMDC)において、かつてコンパックとHPから買収したAlpha開発グループ(元々はDigital Equipment Corporation(DEC)から分社化)のメンバーによってQPIを開発しました。[8] その開発は2004年には既に報告されていました。[9]
インテルは、2008年11月にIntel Core i7-9xxおよびX58 チップセットに初めてデスクトッププロセッサ向けIntel Core i7-9xxを実装しました。その後、2009年3月にXeonプロセッサ(コードネームNehalem)に、2010年2月にItaniumプロセッサ(コードネームTukwila)にそれぞれ実装されました。[10]
2017年からXeon Skylake-SPプラットフォームではIntel Ultra Path Interconnectに置き換えられました。[11]

QPIは、IntelがQuickPathアーキテクチャと呼ぶシステムアーキテクチャの要素であり、IntelがQuickPathテクノロジーと呼ぶものを実装しています。[12]シングルプロセッサのマザーボード上の最も単純な形式では、単一のQPIを使用してプロセッサをIOハブに接続します(たとえば、Intel Core i7をX58に接続します)。アーキテクチャのより複雑なインスタンスでは、個別のQPIリンクペアがマザーボード上のネットワークで1つ以上のプロセッサと1つ以上のIOハブまたはルーティングハブを接続し、すべてのコンポーネントがネットワークを介して他のコンポーネントにアクセスできるようにします。HyperTransportと同様に、QuickPathアーキテクチャはプロセッサに統合メモリコントローラがあることを前提としており、非均一メモリアクセス(NUMA)アーキテクチャを有効にします。
各QPIは、2つの20レーンのポイントツーポイント・データリンク(全二重)で構成され、各方向に1つずつ、合計42の信号があります。各信号は差動ペアであるため、ピンの総数は84です。20のデータレーンは、それぞれ5レーンの4つの「象限」に分割されています。転送の基本単位は80ビットフリットで、8ビットがエラー検出用、8ビットが「リンク層ヘッダー」用、64ビットがデータ用です。1つの80ビットフリットは2クロックサイクルで転送されます(20ビット転送が4回、1クロックティックあたり2回)。QPI帯域幅は、各方向に2クロックサイクルごとに64ビット(8バイト)のデータ転送を計算することでアドバタイズされます。[8]
初期の実装では単一の4象限リンクが使用されていましたが、QPI仕様では他の実装も許可されています。各象限は独立して使用できます。高信頼性サーバーでは、QPIリンクは縮退モードで動作できます。20+1個の信号のうち1個以上に障害が発生した場合、インターフェースは残りの10+1個または5+1個の信号を使用して動作し、クロックに障害が発生した場合はクロックをデータ信号に再割り当てします。[8] Nehalemの初期実装では、完全な4象限インターフェースを使用して25.6 GB/秒(6.4GT/秒 × 1バイト × 4)を実現しました。これは、X48チップセットで使用されるIntelの1600 MHz FSBの理論上の帯域幅のちょうど2倍です。
一部のハイエンド Core i7 プロセッサは QPI を公開していますが、シングル ソケット ボード向けのその他の「主流」の Nehalem デスクトップ プロセッサおよびモバイル プロセッサ ( LGA 1156 Core i3、Core i5、 Lynnfield / Clarksfieldおよび後継ファミリのその他の Core i7 プロセッサなど) は、マルチ ソケット システムに参加することを目的としていないため、QPI を外部に公開しません。
しかし、これらのチップではQPIが内部的に使用され、メモリコントローラ、CPU側PCI Express 、GPU(存在する場合)を含むチップの一部である「アンコア」と通信します。アンコアはCPUコアと同じダイ上にある場合とそうでない場合があります。たとえば、WestmereベースのClarkdale / Arrandaleでは別のダイにあります。[13] [14] [15] [16] : 3
Lynnfield、Clarksfield、Clarkdale、Arrandale 以降の 2009 年以降のシングル ソケット チップでは、従来のノースブリッジ機能がこれらのプロセッサに統合されているため、より低速のDMIおよび PCI Express インターフェイスを介して外部と通信します。
したがって、プロセッサソケットを介して(以前の)フロントサイドバスインターフェースを公開するための費用を負担する必要はありません。[17]
コア-アンコアQPIリンクはデスクトップおよびモバイルのSandy Bridgeプロセッサには存在しませんが(たとえばClarkdaleでは存在していました)、オンダイコア間の内部リング相互接続も、少なくともキャッシュコヒーレンスに関する限り、QPIの原理に基づいています。[16] : 10
QPIは同期回路であるため、2.4GHz、2.93GHz、3.2GHz、3.6GHz、4.0GHz、または4.8GHzのクロックレートで動作します(3.6GHzと4.0GHzはSandy Bridge-E/EPプラットフォームで、4.8GHzはHaswell-E/EPプラットフォームで導入されました)。特定のリンクのクロックレートは、リンクの両端にあるコンポーネントの性能と、プリント基板上の信号パスの信号特性に依存します。エクストリームではないCore i7 9xxプロセッサは、標準リファレンスクロックで2.4GHzの周波数に制限されています。
ビット転送はクロックの立ち上がりエッジと立ち下がりエッジの両方で発生するため、転送速度はクロック速度の 2 倍になります。
Intelは、データスループット(GB/秒)を、各80ビットフリット内の64ビットデータペイロードのみをカウントして説明しています。しかし、Intelは単方向の送信リンクと受信リンクのペアが同時にアクティブになる可能性があるため、この結果を2倍にしています。そのため、Intelは3.2GHzクロックの20レーンQPIリンクペア(送信と受信)のデータレートを25.6GB/秒と説明しています。クロックレートが2.4GHzの場合、データレートは19.2GB/秒になります。より一般的には、この定義によれば、2リンク20レーンQPIはクロックサイクルごとに8バイト(各方向に4バイトずつ)を転送します。
レートは次のように計算されます。
QPIは、物理層、リンク層、ルーティング層、トランスポート層、プロトコル層がそれぞれ独立した5層アーキテクチャとして規定されています。 [1] Core i7-9xxやXeon DPプロセッサなど、転送機能のないポイントツーポイントQPIのみを目的としたデバイスでは、トランスポート層は存在せず、ルーティング層は最小限に抑えられています。
{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)