HyperTransport(HT)とは
HyperTransport(ハイパートランスポート、HT)は、AMDが提唱したPoint to Point式の汎用接続技術です。以前はLightning Data Transport (LDT) と呼ばれていました。双方向、
シリアル/パラレル、広帯域、低遅延を特徴とするコンピュータバスであり、
2001年4月2日に導入されました。
この技術は、x86プロセッサではAMDとトランスメタ、MIPSアーキテクチャではPMC-Sierra、Broadcom、Raza Microelectoronics、PC
チップセットではAMD、
NVIDIA、VIA、SiS、ULi/ALi、HP、
サーバではHP、
サン・マイクロシステムズ、
IBM、IWill、ストレージでは、Network Appliance、ハイパフォーマンスコンピューティングではクレイ、Newisys、PathScale、
ルーターでは
シスコシステムズが用いています。
HyperTransport
コンソーシアムがHyperTransportテクノロジの普及と開発に努めています。
HyperTransportの概要
HyperTransportには4つのバージョンがあります。1.x、2.0、3.0、そして3.1です。これらは200MHzから3.2GHzまでで動作します。このバスはDDR(Double Data Rate)接続されており、クロック信号の立ち上がりと立ち下りの両方でデータを送信します。これにより、3.2GHz動作時に最大毎秒64億回送信が可能です。この周波数は自動的に調整されます。
HyperTransportは、2つの2bitラインから2つの32bitラインまであり、ビット幅を自動的に調整する機能をサポートしています。HyperTransport 3.1の場合、フルサイズ、フルスピードで双方向に32bit接続すると、51.2 GB/s (3.2 GHz/links
2 bit/Hz 32 links
1 byte / 8) の送信速度が出ます。これは多くの既存の標準バスよりもかなり高速です。また、一つのシステム内で様々なバス幅を混在させることができます(例えば1x16の代わりに2x8など)。これにより、メインメモリとCPU間にはより高速な接続を用い、周辺機器同士にはより遅い接続を用いることができます。また、HyperTransportは他のバスと比較してかなり低遅延です。
HyperTransportはパケットベースであり、物理的な接続幅にかかわらず、それぞれのパケットは32ビットワードの組み合わせで構成されています。パケットの1ワード目は常にコマンドワードです。もしパケットにアドレスが含まれていたならば、コマンドワードの最後の8ビットは次の32ビットワードとつながって40ビットアドレスを構成します。64ビットアドレッシングが必要な時には、追加の32bitコントロールパケットによって可能になります。1パケット内の32ビットワードはデータペイロードです。転送は実際の長さにかかわらず、常に複数の32ビットにパディングして行われます。
HyperTransportパケットはbit timeとして知られるセグメント内に入れられます。パケットが必要とするbit timeの数は相互接続のバス幅に依存します。HyperTransportはシステム管理メッセージを発生、シグナル割り込み、デバイスやプロセッサを調整するためのプローブ発行、汎用I/Oやデータトランザクションに使うことができます。また、posted writeとnon-posted writeの2つの異なるwriteコマンドを使うことができます。Posted writeはターゲットからのレスポンスを必要としないwriteコマンドです。これはUMAトラフィックやDMA転送のような広帯域のデバイスに通常用いられます。Non-posted writeは受信側から「ターゲット動作完了」のレスポンスを受け取ることを必要とします。読み出しもまた受信側がreadレスポンスを発生させます。
また、HyperTransportはACPIに準拠することでパワーマネジメントを強くサポートしています。これにより、プロセッサのスリープ状態 (C state) が変化することによって、デバイスの状態 (D state) を変化させる信号を出すことができます。すなわちCPUがスリープしたらディスクの電源を切ることができます。
電気的には、HyperTransport/LDTは2.5V動作のLow voltage differential signaling (LVDS) に似ています。
HyperTransportを省略してHTと呼称することも多いですが、これはインテルCPUに実装されているHyperThreading Technologyの略称と混同されやすいです。この潜在的な間違えやすさのために、HyperTransportコンソーシアムは常に「HyperTransport」として表記するようにしています。
HyperTransportの適用例
HyperTransportの主要な用途はフロントサイドバスの置き換えです。フロントサイドバスは現在すべてのマシン(もしくはそれらのシステムのいくつか)で異なっています。システムを拡張するために、フロントサイドバスはAGPやPCIのような様々な標準バス用のアダプタを通して接続しなければなりません。これらは普通各々のコントローラの機能の中に含まれていて、ノースブリッジやサウスブリッジとして呼ばれています。
理論上、HyperTransportで実装された大方のコンピュータは、処理速度が速いと同時に柔軟性に富んでいます。PCIとHyperTransportを変換するチップはHyperTransportを使用可能などのマイクロプロセッサでも動作できるでしょうし、これらのプロセッサでPCIカードを用いることも可能です。例えば、NVIDIAのnForceチップセットはノースブリッジとサウスブリッジを接続するのにHyperTransportを用いています。
マルチプロセッサ間接続
HyperTransportの別の用途として、NUMAマルチプロセッサのチップ間接続があります。AMDはOpteronとAthlon 64のプロセッサ商品群にDirect Connect Architectureの一部として独自のキャッシュコヒーレンシー拡張を持つHyperTransportを使用しています (cc-NUMA)。NewisysのHORUS接続はこの考えをより大きなクラスターマシンに拡張したものです。
ルーターないしスイッチバスの置き換え
また、HyperTransportはルーターやスイッチ内でバスとしても用いられます。ルーターやスイッチは複数の接続ポートを持ち、できる限り速くポート間でデータをやりとりしなければなりません。例えば、4つの100MBit/sのポートを持つイーサネットルーターは800MBits/sより速いバスが必要です(100MBit/s 4ポート
2 方向)。HyperTransportはこの用途に必要とされる帯域よりもはるかに高速です。
HTXとコプロセッサ間接続
CPUとコプロセッサとの間の帯域の問題は、実用的な実装を行う際の悩みでした。この問題に対し、近年導入されたHyperTransportインタフェースを用いて設計された拡張用は、HyperTransport eXpansion (HTX) として知られています。16レーンのPCI Expressスロットと同じ機構のコネクタを用いており、HTXは挿入されたカードがCPUへの直接アクセスとシステムRAMへのDMAアクセスができるように開発されました。近年、HyperTransportバスにアクセスできるFPGAが現れており、コプロセッサはマザーボード上での最優遇住人となってきています。主要なメーカー(AlteraとXilinx)の両方が出している現世代のFPGAはHyperTransportを直接サポートしており、IPコアも使うことができます。
しかし、HTXの仕様では、HyperTransportデバイスはHTXコネクタを通してHyperTransportの最大スループットのたった1/4しか通信できません。これは、32ビット、2.8GHzで動作可能な初期のSamtecコネクタにもかかわらず、16ビットのPCI Expressコネクタを使って1.4GHzにクロックを落として使っているようなものです。
実装例
AMD AMD64とDirect Connect Architectureをベースとしている
CPU
OpenCoreプロジェクト(MPLライセンス)からリリースされているht_tunnel
AMD プロセッサ向けのATI Radeon Xpress 200
NVIDIA nForce Professional MCP(メディアおよび通信プロセッサ)
ServerWorks HT-2000 HyperTransport SystemI/Oコントローラ
Apple Power Mac G5シリーズ, iMac G5シリーズで使われているIBM PowerPC 970シリーズとコントローラU3, U4
周波数の仕様
AMD Opteron と、 Athlon 64 を含むそれ以降の CPU は 16 ビット幅でリンクしています。古いタイプの Opteron あるいは Athlon 64 は 800 MHz から 1 GHz で接続していて、比較的新しい(Socket AM2+ の規格)では、2.6 GHz までで接続されています。HyperTransport は 32 ビット リンクが可能ですが、その帯域幅を AMD は現在使用していません。
外部リンク
HyperTransport Consortium (英語)
HT Overview (英語)
HT Link Specifications (英語)