
HyperTransport ( HT ) は、以前はLightning Data Transportとして知られていた、コンピュータプロセッサを相互接続するための技術です。これは、双方向シリアル/パラレル高帯域幅、低遅延のポイント ツー ポイント リンクであり、2001 年 4 月 2 日に導入されました。[ 1 ] HyperTransportコンソーシアムは、HyperTransport 技術の普及と開発を担当しています。
HyperTransportは、 Athlon 64からAMD FXまでのAMD製CPUおよび関連するマザーボードチップセットのシステムバスアーキテクチャとして最もよく知られています。HyperTransportは、 IBMやAppleのPower Mac G5マシン、そして数多くの最新のMIPSシステムでも使用されています。
現在の仕様であるHTX 3.1は、2014年の高速(2666および3200 MT /s、つまり約10.4 GB/sおよび12.8 GB/s) DDR4 RAMと低速(約1 GB/s)DDR4 RAMに対して競争力を維持しています。 ハイエンドのPCIe SSDに似たULLtraDIMMフラッシュ RAM) テクノロジーは、Intel のフロントサイド バスよりも幅広い RAM 速度を共通の CPU バスで実現します。Intel テクノロジーでは、RAM の各速度範囲ごとに独自のインターフェースが必要となるため、マザーボードのレイアウトは複雑になりますが、ボトルネックは少なくなります。26 GB/s の HTX 3.1 は、提案されている最速の速度で動作する最大 4 枚の DDR4 スティックの統合バスとして機能します。それ以上の DDR4 RAM では、2 つ以上の HTX 3.1 バスが必要になる場合があり、統合トランスポートとしての価値が低下します。
HyperTransportには、1.x、2.0、3.0、3.1の4つのバージョンがあり、動作周波数は200MHzから3.2GHzまでです。また、DDR(ダブルデータレート)接続であり、クロック信号の立ち上がりエッジと立ち下がりエッジの両方でデータを送信します。これにより、3.2GHzで動作させた場合、最大6400MT/sのデータレートを実現できます。現在のコンピューティングでは、動作周波数はマザーボードのチップセット(ノースブリッジ)と自動的にネゴシエートされます。
HyperTransportは、リンクあたり2~32ビットの自動ネゴシエートビット幅をサポートし、 HyperTransportバスごとに2つの単方向リンクがあります。バージョン3.1の登場により、 32ビットリンクをフルに使用し、HyperTransport 3.1仕様の動作周波数を最大限に活用することで、理論上の転送速度は、方向あたり25.6 GB /s(3.2 GHz × クロックサイクルあたり2回の転送 ×リンクあたり32ビット)、または合計スループット51.2 GB/sとなり、PCワークステーションやサーバー向けの既存のバス規格のほとんどよりも高速であるだけでなく、高性能コンピューティングやネットワーク向けのバス規格のほとんどよりも高速です。
異なる帯域幅のリンクを単一のシステム構成内で混在させることが可能です。例えば、16ビットリンクを別のCPUに接続し、8ビットリンクを周辺機器に接続するといった構成が考えられます。これにより、CPU間の相互接続は広帯域幅に、周辺機器への相互接続は低帯域幅に、状況に応じて柔軟に対応できます。また、リンク分割にも対応しており、1つの16ビットリンクを2つの8ビットリンクに分割することも可能です。さらに、オーバーヘッドが少ないため、他のソリューションに比べてレイテンシが低いという特長も備えています。
電気的には、HyperTransportは1.2Vで動作する低電圧差動信号(LVDS)に似ています。[ 2 ] HyperTransport 2.0ではポストカーソル送信機ディエンファシスが追加されました。HyperTransport 3.0では、スクランブリングと受信機位相アライメント、およびオプションの送信機プレカーサーディエンファシスが追加されました。
HyperTransportはパケットベースであり、各パケットはリンクの物理的な幅に関係なく、 32ビットのワードのセットで構成されます。パケットの最初のワードには必ずコマンドフィールドが含まれます。多くのパケットには40ビットのアドレスが含まれます。64ビットのアドレス指定が必要な場合は、追加の32ビット制御パケットが先頭に追加されます。データペイロードは制御パケットの後に送信されます。転送データは、 実際の長さに関係なく、常に32ビットの倍数になるようにパディングされます。
HyperTransport パケットは、ビットタイムと呼ばれるセグメントでインターコネクトに入ります。必要なビットタイムの数は、リンク幅によって異なります。HyperTransport は、システム管理メッセージング、割り込みのシグナリング、隣接デバイスまたはプロセッサへのプローブの発行、I/Oトランザクション、および一般的なデータ トランザクションもサポートしています。サポートされている書き込みコマンドには、ポスト済みとポストされていない 2 種類があります。ポスト済みの書き込みでは、ターゲットからの応答は必要ありません。これは通常、ユニフォーム メモリ アクセストラフィックやダイレクト メモリ アクセス転送などの高帯域幅デバイスで使用されます。ポストされていない書き込みでは、受信側から「ターゲット完了」応答の形式で応答が必要です。読み取りでも、読み取りデータを含む応答が必要です。HyperTransport は、PCI コンシューマー/プロデューサー オーダー モデルをサポートしています。
HyperTransportは、Advanced Configuration and Power Interface仕様に準拠しているため、電源管理も容易にします。つまり、プロセッサのスリープ状態(C状態)の変化によってデバイスの状態(D状態)が変化する可能性があり、例えばCPUがスリープ状態になったときにディスクの電源をオフにするといったことが可能です。HyperTransport 3.0では、集中型電源管理コントローラが電源管理ポリシーを実装できる機能がさらに追加されました。
HyperTransportの主な用途は、Intelが定義するフロントサイドバスを置き換えることです。このフロントサイドバスは、Intelプロセッサの種類ごとに異なります。例えば、PentiumプロセッサはPCI Expressバスに直接接続することはできず、システムを拡張するためにアダプタを経由する必要があります。独自のフロントサイドバスは、 AGPやPCI Expressなどの各種標準バス用のアダプタを介して接続する必要があります。これらは通常、それぞれのコントローラ機能、すなわちノースブリッジとサウスブリッジに組み込まれています。
一方、HyperTransportは複数の企業からなるコンソーシアムによって公開されたオープンな仕様です。単一のHyperTransportアダプタチップは、幅広いHyperTransport対応マイクロプロセッサと連携して動作します。
AMDは、Opteron、Athlon 64、Athlon II、Sempron 64、Turion 64、Phenom、Phenom II、およびFXファミリーのマイクロプロセッサにおいて、フロントサイドバス をHyperTransportに置き換えました。また、 Athlon 64 X2、Athlon II、Phenom、Phenom II、およびFXファミリーのマイクロプロセッサにおいて、バックサイドバスをHyperTransportに置き換えました。
HyperTransportのもう一つの用途は、 NUMAマルチプロセッサコンピュータのインターコネクトとしてです。AMDは、OpteronおよびAthlon 64 FX(デュアルソケットダイレクトコネクト(DSDC)アーキテクチャ)プロセッサラインのダイレクトコネクトアーキテクチャの一部として、独自のキャッシュコヒーレンシ拡張機能を備えたHyperTransportを使用しました。EPYCサーバーCPUで使用されるInfinity Fabricは、HyperTransportの上位互換です。NewisysのHORUSインターコネクトは、このコンセプトをより大規模なクラスタに拡張します。3Leaf SystemsのAquaデバイスは、CPU、メモリ、およびI/Oを仮想化して相互接続します。
HyperTransportは、ルーターやスイッチのバスとしても使用できます。ルーターやスイッチは複数のネットワークインターフェイスを備えており、これらのポート間でデータを可能な限り高速に転送する必要があります。たとえば、4ポート、1000 Mbit /sのイーサネットルーターは、最大8000 Mbit/sの内部帯域幅(1000 Mbit/s × 4ポート × 2方向)を必要としますが、HyperTransportはこのアプリケーションに必要な帯域幅を大幅に上回ります。しかし、4 + 1ポートの10 Gbルーターでは、100 Gbit/sの内部帯域幅が必要になります。これに802.11ac 8アンテナとWiGig 60 GHz規格(802.11ad)を加えると、HyperTransportはより実現可能になります(必要な帯域幅のために20~24レーンが使用されます)。
CPUとコプロセッサ間のレイテンシと帯域幅の問題は、これまで実用化における大きな障害となってきました。HyperTransportバスにアクセスでき、マザーボードに統合可能なFPGAなどのコプロセッサが登場しました。主要メーカー(AlteraとXilinx)の現行世代FPGAは、HyperTransportインターフェースを直接サポートし、IPコアも利用可能です。XtremeData社やDRC社などの企業は、これらのFPGA(DRC社の場合はXilinx製)を用いて、FPGAをOpteronソケットに直接接続できるモジュールを開発しています。
AMDは、プラグインカードやコプロセッサへのHyperTransportの利用をさらに促進するため、2006年9月21日にTorrenzaというイニシアチブを開始しました。このイニシアチブにより、XtremeDataやDRCなどのプラグインボードが同社の「Socket F」に対応できるようになりました。

ハイパートランスポート・コンソーシアムは、スロットベースの周辺機器がハイパートランスポート・インターフェースを使用してマイクロプロセッサに直接接続できるようにするコネクタ仕様をリリースしました。これはハイパートランスポート・エクスパンション(HTX)として知られています。16レーンのPCI Expressスロットと同じメカニカルコネクタを反転させたもの(電源ピン用のx1コネクタも含む)を使用することで、HTXはCPUへの直接アクセスとシステムRAMへのDMAをサポートするプラグインカードの開発を可能にします。このスロットの最初のカードはQLogic InfiniPath InfiniBand HCAでした。IBMやHPなどがHTX準拠システムをリリースしています。
オリジナルのHTX規格は16 ビットと 800MHzに制限されている。[ 3 ]
2008年8月、HyperTransport ConsortiumはHTX3をリリースした。これはHTXのクロックレートを2.6GHz (5.2GT /s、10.7GTi 、5.2実効データレート、3MT /s編集レート)に拡張し、下位互換性を維持している。[ 4 ]
「DUT」テストコネクタ[ 5 ]は、標準化された機能テストシステムの相互接続を可能にするために定義されています。
* AMD Athlon 64、Athlon 64 FX、Athlon 64 X2、Athlon X2、Athlon II、Phenom、Phenom II、Sempron、Turionシリーズ以降は、1 つの 16 ビット HyperTransport リンクを使用します。AMD Athlon 64 FX ( 1207 )、Opteron は、最大 3 つの 16 ビット HyperTransport リンクを使用します。これらのプロセッサ リンクの一般的なクロック レートは、800 MHz ~ 1 GHz (754/939/940 リンクの古いシングル ソケット システムおよびマルチ ソケット システム) および 1.6 GHz ~ 2.0 GHz (AM2+/AM3 リンクの新しいシングル ソケット システム - ほとんどの新しい CPU は 2.0 GHz を使用) です。HyperTransport 自体は 32 ビット幅のリンクに対応していますが、現在、どの AMD プロセッサもその幅を使用していません。ただし、一部のチップ セットは、プロセッサが使用する 16 ビット幅さえ使用していません。それらには、Nvidia nForce3 150、nForce3 Pro 150、およびULi M1689が含まれます。これらは16ビットのHyperTransportダウンストリームリンクを使用しますが、HyperTransportアップストリームリンクは8 ビットに制限されています。
HyperTransportを指すHTと、後に一部のPentium 4ベースおよび新しい Nehalem および Westmere ベースのIntel Coreマイクロプロセッサに搭載されたIntelのHyper-Threading機能を指すHTの使用に関して、マーケティング上の混乱が生じています。Hyper-Threading は正式には Hyper-Threading Technology (HTT) または HT Technology と呼ばれています。このような混乱の可能性を考慮し、HyperTransport Consortium は常に「HyperTransport」という表記を使用しています。
Infinity Fabric ( IF ) は、AMD が 2016 年に自社の GPU と CPU の相互接続として発表した HyperTransport の上位互換です。内部で使用される場合は、グローバル メモリ インターコネクト(GMI) と呼ばれます。[ 7 ]また、CPU と CPU、GPU と GPU、または CPU と GPU (異種システム アーキテクチャの場合) 間の通信のためのチップ間相互接続としても使用でき、この構成はInfinity Architectureとして知られ、リンクは外部グローバル メモリ インターコネクト(xGMI) として知られています。[ 8 ] [ 9 ] [ 10 ] [ 11 ]同社は、Infinity Fabric は 30 GB/s から 512 GB/s まで拡張可能で、その後 2017 年にリリースされたZenベースの CPU とVega GPUで使用されると述べていました。
Zen およびZen+ CPUでは、「SDF」データ相互接続は DRAM メモリクロック (MEMCLK) と同じ周波数で動作します。これは、クロック速度の違いによって生じるレイテンシを解消するための決定です。結果として、より高速な RAM モジュールを使用すると、バス全体が高速になります。リンクは HT と同様に 32 ビット幅ですが、元の 2 回と比較して、1 サイクルあたり 8 回 (128 ビットパケット) の転送が行われます。電力効率を高めるために電気的な変更が加えられています。[ 12 ] Zen 2およびZen 3 CPUでは、IF バスは別のクロック (FCLK) で動作し、統合メモリコントローラ (UCLK) も同様です。UCLK は、DRAM クロック (MCLK) に対して 1:1 または 2:1 の比率です。これにより、デスクトップ プラットフォームで最大 DRAM 速度が実際には IF 速度によって制限されていた制限が回避されます。バス幅も 2 倍になりました。[ 13 ] FCLK が UCLK と同期していない場合、レイテンシ ペナルティが発生します。[ 14 ] Zen 4以降のCPUでは、IFバスはDRAMと非同期クロックで動作することができ、DDR5が実現可能なより高いクロック速度を可能にする。[ 15 ]
AMD GPU のプロフェッショナル/ワークステーション モデルには、ホスト PCIe バスをバイパスして GPU の Infinity Fabric バス同士を接続する Infinity Fabric Linkエッジ コネクタが含まれています。Link 「ブリッジ」 デバイス自体は、2 つまたは 4 つの対応するスロットを備えたプリント基板です。 [ 16 ]各 GPU ファミリーは異なるコネクタを使用しており、ブリッジ/リンクは通常、同じモデルの GPU 間でのみ機能します。そのため、 NVLinkのプラグイン ボード バージョンに似ています。
Zen 5ベースの Epyc CPU は、コアあたり36 GB/s の内部 Infinity Fabric 接続を備えています。各 IO ダイは、PCIe 物理層を再利用した多機能 PCIe 5.0/Infinity Fabric シリアライザ/デシリアライザ (SerDes) 上に外部 Infinity Fabric 接続を備えています。これは、2 ソケット システムでのプロセッサ間通信に使用され、 それぞれ 64 GB/s のリンクを 3 つまたは 4 つ提供します。[ 7 ]
各 Instinct MI250 には、 xGMI プロトコルを実行するメッシュ相互接続用の 50 GB/sの Infinity Fabric Link レーンが 4 つあります。これは、PCIe Gen 4 x16 または PCIe PHY 上の Infinity Fabric を介してホストに接続します。複数のリンクからの帯域幅は、異なる中間 GPU を通過することで集約できます。[ 17 ]実際に達成可能なパフォーマンス数値については、Schieffer et al. (2024) を参照してください。[ 18 ]
UALinkは、共有メモリプロトコルの1つとしてInfinity Fabric/xGMIを利用しています。[ 19 ]
Broadcomは、xGMIをサポートするPCIeスイッチとネットワークインターフェイスカードを製造しています。[ 20 ] [ 21 ]