Infinity_Fabric

**HyperTransport** 匯流排技術，簡稱「**HT 匯流排**」，以前曾被稱作「閃電資料傳輸」（**Lightning Data Transport**，**LDT**），是一種電腦處理器的互聯技術。它是一種高速、雙向、低延時、對等（P2P）、串行或者並列的高頻寬連接匯流排技術，最早在 1999 年由超微半導體提出並發起，並聯合 NVIDIA、ALi、ATI、Apple、全美達、IBM、CISCO 等多個硬體廠商組成 HyperTransport 開放聯盟，於 2001 年 4 月 2 日開始將此匯流排技術投入使用，並由 HyperTransport 聯合會（The HyperTransport Consortium）負責改進和發展此技術。

## 名稱

賣場中常有「HT 匯流排」與日後英特爾「HT 技術」的混淆，然而這兩個是截然不同的技術。**HT** 一般指 **H**yper**T**ransport，或簡稱 **HT 匯流排**，一般情況下 HyperTransport 聯合會都是使用全稱「HyperTransport」以免造成歧義。而應用於奔騰 4 處理器、英特爾 Nehalem 微架構及其後續微架構之處理器的「HT 技術」，英特爾的官方簡稱是 **HTT**，**H**yper-**T**hreading **T**echnology 或簡稱 **HT Technology**（**HT 技術**）。

## 概覽

HyperTransport 旨在提高個人電腦、伺服器、嵌入式系統，以及網路和電信裝置內積體電路之間的通信速度。該技術有助於減少系統之中的布線數量，從而能夠減少系統瓶頸，讓當前速度更快的微處理器能夠更加有效地在高端多處理器系統中使用系統記憶體。英特爾在使用 QPI 以前常用的前端匯流排，與同時代的 HyperTransport 匯流排規格相比，後者擁有更高的頻寬以及記憶體存取速率，而英特爾的技術，要求不同的 RAM 存取速率範圍要有各自的連接介面，這種設計導致了若要減少匯流排頻寬瓶頸，勢必會增加主機板的佈線設計複雜度。HT 匯流排的擴展 HTX3.1 在最高頻寬時，可以作為一個統一匯流排容納四根 DDR4 模組的所需頻寬，若需要容納更多的 DDR4 記憶體，則可能需要兩個或更多的 HTX3.1 匯流排控制器，然而這樣做會使每個控制器的傳輸值降低。

主要特性：

* 提供比現有技術高得多的頻寬
* 使用低延時回應和較少的引腳數
* 在保持與傳統電腦匯流排的相容性的同時，可以擴充到新的 SNA（系統網路架構）匯流排
* 對作業系統保持透明，對周邊裝置驅動程式的影響極小

現時 HT 匯流排的一個擴展規格 HTX3.1，相對於在 2014 年面世的高速 DDR4 記憶體以及較慢的 TeraByte 級（約 1GB/s，與高階 PCIe SSD 類似）ULLtraDIMM 快閃型隨機存取記憶體（RAM）技術，仍然在競爭中佔上風。

### 連接、傳輸率

HyperTransport 迄今推出了 4 個版本 ——1.x、2.0、3.0、3.1，它們之中運作頻率最低 200MHz，最高 3.2GHz（而 PCI 匯流排頻率為 33MHz 或 66MHz）。它也是一種雙倍資料速率（DDR）連接技術，意味著它可以在一個時鐘訊號的上行沿和下行沿各傳輸一次資料。HT3.1 當執行在 3.2GHz 時可以最高以 6400MT/s 傳遞資料。而且它具有自適應性，允許根據當前的運算需求，在晶片組（北橋）或處理器中確定自己的頻率。此外，HyperTransport 的資料傳輸模式是雙向傳輸、各向獨占、同時進行的。

HyperTransport 支援自適應位元寬度，範圍從每鏈路 2 位元到 32 位元；每個 HyperTransport 控制器還有兩路單向鏈路。在 HT3.1 版本中，當運作於 32 位元每鏈路、以及 HT3.1 的最高規格的時脈時，理論傳輸值可達每個傳輸方向 25.6GB/s（3.2GHz× 每時鐘週期傳輸兩次 × 每鏈路 32 位元之位寬），或雙向共 51.2GB/s 的頻寬，幾乎比現有的個人電腦、工作站以及伺服器的匯流排標準都要高，同樣也是高效能運算及網路中最快的匯流排標準（註：QPI 在英特爾的技術說明上不屬於匯流排，儘管它的頻寬最大可以超過 HT 匯流排之最高頻寬）。

在單個系統中，它允許不同寬度的鏈路混合連接，比如一個系統中 CPU 使用 16 位元鏈路，8 位元連接至記憶體而另外 8 位元連接外圍裝置；除此以外還支援鏈路拆分，不同位寬標準的匯流排可以變為同一位寬標準的匯流排（比如說，其中單個 16 位元的鏈路可以拆分為兩個 8 位元的鏈路），這就令 Hypertransport 既能滿足 CPU 和記憶體之間的互聯，也能滿足周邊裝置之間的互聯。而且 HyperTransport 擁有比其他的匯流排解決方案標準更低的延遲。此外，為滿足多個裝置的連接，HyperTransport 還支援菊花鏈的手段實作之。連接物件除了 SMP 系統中處理器與處理器、普通個人電腦的處理器與晶片組以外，還有路由控制晶片、晶片組的南北橋晶片、其它匯流排的控制器等等，只要連接物件擁有 HyperTransport 控制器，即可進行連接，無需中介介面。

電訊號格式上，HyperTransport 使用類似於低電壓差分訊號（LVDS）的 1.2V 運作電壓。HT2.0 加入 post-cursor 發射器去加重。HT3.0 加入混雜和接收相位校準以及可選發射器前置去加重。

### 資料封包

HyperTransport 的資料傳輸基於資料封包 / 包裹（Packet）。在 HT 匯流排中，不管連接的物理位寬是多少，每個包裹總是由 32 位元的資料集合組成。命令訊息總是放在包裹的最前面。如果一個包裹裡面包含有位址，那麼命令訊息的最後 8 位元資料和下面的 32 位元資料就會串成一個 40 位元的位址。如果有 64 位元定址的需求，那麼就會預先計劃一個附加的 32 位元控制封包。另外的 32 位元資料是有效資料（payload）。傳輸的資料不管實際長度是多少，總會被填充到某個 32 位元的倍數。

HyperTransport 的包裹以位次（bit times）的方式實現互聯。所需要的位次的數量由互聯裝置之間的位寬決定。HyperTransport 還能用於轉換系統管理資訊、傳送中斷、傳送探針給鄰近的裝置或者處理器，以及充當一般 I/O 和資料的交換的橋梁。HyperTransport 有兩種不同類型的寫命令，稱作 Posted 和 Non-Posted。Posted 這種寫方式不需要目標的回應，一般用於高頻寬裝置之間的互聯。None-Posted 的寫方式，相反地，就需要目標以一種「target done」的方式回應。讀取資料同樣也會使目標傳送讀回應。HT 匯流排支援多重處理，和 PCI 相同的 consumer/producer 次序規則模型。

### 電源管理

HyperTransport 提供了比 ACPI 更加先進的電源管理系統。它可以根據處理器睡眠狀態（C State）的變化傳送改變裝置狀態（D state）的訊號。比如說，當 CPU 進入睡眠狀態時候，關閉硬碟。另外 HyperTransport 提供的是 2.5V 的低電壓。HT3.0 中新增新的電源功能，允許一個集中式電源管理控制器實現電源管理策略。

## 版本規格

* 資料來源：
* 註：超微速龍 64、速龍 64 FX、速龍 64 X2、速龍 X2、速龍 II、羿龍、羿龍 II、閃龍、炫龍 / 銳龍系列以及以後的系列型號使用單 16 位元 HyperTransport 鏈路。而速龍 64 FX（Socket F 版本）、皓龍則是使用多達三條 16 位元寬度的 HyperTransport 鏈路。這些處理器中較老型號的 HT 匯流排時脈在 800MHz 至 1GHz（多見於 Socket 754/939/940 插座的單 / 多處理器平台），較新型號的則可達 1.6GHz、2.0GHz 等時脈規格（使用 Socket AM2+/AM3 插座的單處理器平台，一般使用 2.0GHz 的時脈規格）。而 HyperTransport 自身最大的每鏈路 32 位元位寬的規格，任何 AMD 處理器都未完全利用。一些晶片組也沒有用到處理器提供的全部 16 位元鏈路，這些晶片組包括輝達 nForce3 150、nForce3 Pro 150、ALi 的 M1689—— 它們的下行鏈路可以用到 16 位元，而上行鏈路則限制在 8 位元。

## 應用

### 取代前端匯流排

HyperTransport 最知名的應用，乃作為 AMD 的 x86 中央處理器產品以及配套的晶片組的系統匯流排架構。而 HyperTransport 的一個主要用處，就是用作取代英特爾定義的前端匯流排，使用 HT 匯流排的 x86 處理器不同於英特爾的處理器。比如，奔騰及其相容處理器產品不能直接控制使用 PCIe 匯流排。為了擴展系統，專有、專用的前端匯流排必須連接至各種標準匯流排控制器的適配器上，這些標準匯流排有 AGP、PCIe 等。而這些標準匯流排控制器，按速率、頻寬、功能分別整合至北橋晶片及南橋晶片上。

而相反，HyperTransport 則是由多個公司組成的協會公佈並開放規格。一個包含一個 HyperTransport 適配器的晶片可與一顆開啟 HyperTransport 的微處理器運作於更高的頻寬上。

#### 超微半導體

AMD 在 K7 微架構開始，就隨 AMD64 技術一併使用了 HyperTransport 取代前端匯流排。K7 及以後的微架構的 Opteron、Athlon 64、Athlon II、Sempron 64、Turion 64、Phenom、Phenom II 及 AMD FX 處理器上，都用上了 HT 匯流排與北橋連接。不過現時 AMD APU、AMD Ryzen、AMD EPYC 內建了北橋晶片，CPU 與 FCH 的連接則是使用基於 PCIe 匯流排技術的 UMI 匯流排。

AMD 這樣做的是有鑒於 CPU 與記憶體溝通時，北橋的延遲問題做出解決方案，當將位於北橋內的記憶體控制器移動到 CPU 內部時，CPU 便可直接與記憶體進行溝通，避開了北橋而讓整體頻寬大幅提升，減輕北橋的負擔，將整體效能拉升。這也就是為何當年 AMD 的 CPU 能夠與 Intel 抗衡的其中一個原因。而這樣做，潛在的問題便是當記憶體規格有變動時，AMD 將會非常頭痛。由於記憶體控制器內建在 CPU 裡面，當記憶體規格變動時，AMD 便要重新設計內建新型記憶體控制器的 CPU，重新量產新型 CPU。考量到銷售問題，還必須要等到把前一代主流產品庫存銷售完，而這樣的問題在 Socket 939 過渡到 Socket AM2 時期非常明顯。所以當廠商開發新一代 CPU 時，除了需要把記憶體控制器內建在 CPU 裡面外，還必須要同時開發內建於 CPU 之中的「容許 CPU 使用北橋晶片內建的記憶體控制器的轉接器」，此方法不但有利於產品過渡，而且能夠吸引第三方設計廠商針對 CPU 平台共同設計系統晶片。同時，當使用獨立顯示卡時，當顯示卡頻繁呼叫系統主記憶體中的紋理與頂點資料時，必須先通過北橋，再繞行 CPU，才能存取系統主記憶體。相對比於 Intel CPU 則因為外置記憶體控制器，可直接通過北橋連結記憶體，而獲得更快的速度。這些因素也是英特爾的處理器在 Nehalem 微架構以前一直堅持使用前端匯流排的原因之一。

AMD Ryzen 和 AMD EPYC 使用 Infinity Fabric 取代 HyperTransport。

#### 其它公司之使用

除 AMD 以外，全美達公司也把 HyperTransport 技術應用在自家的 x86 處理器上，如 TM8000 處理器。除 NVIDIA 以外，併購 ATI 後的 AMD、VIA 和 SiS 也把它用於 PC 主機板的晶片組。

國際商業機器（IBM）以及蘋果公司也將 HyperTransport 技術用於 Power Mac G5 上，將處理器、PCI-X 控制器、SATA 控制器、乙太網路卡、USB 控制器、FireWire 控制器、光纖數位音訊等與兩組雙向的 HyperTransport 連結架構連接起來。甚至採用英特爾處理器的微軟 XBox 首代，其處理器也要透過 NVIDIA 的 MCP 以 HyperTransport 將 GPU 等連結。PMC-Sierra、Broadcom（博通）和 Raza Microelectronics 則把它應用在 MIPS 微架構（一種 RISC 微處理器架構）微處理器上。

而英特爾卻從來沒有在它的產品中使用過 HyperTransport，當年它繼續選擇使用一種共享的匯流排架構，繼續使用自有的匯流排 / 互聯介面標準，以照顧特殊的 RAM 級別。在 Intel 在新的 Nehalem 架構（如 Core i7）中不僅採用全新的、效能更強的處理器互聯技術 QPI 與 AMD 主導的 HT 匯流排形成有力競爭，而且也內建了記憶體控制器，相較於以往的 Intel 平台效能有顯著的提升。此外英特爾也在 2001 年的英特爾開發者論壇上公佈與 HT 匯流排競爭、基於 PCI 技術的 3GIO，由 AWG 制定標準並於 2002 年移交 PCI-SIG 進行稽核和管理，成為現今的 PCI-E 匯流排。

### 多處理器互聯

HyperTransport 的另一主要應用是非均勻存取模型（NUMA）電腦系統中多處理器的互聯。

AMD 使用 HyperTransport 配合快取一致性擴展組件（包含於 AMD 自家的直接連接架構（Direct Connect Architecture）中）來實作，擁有該特性的處理器有 Opteron 以及 Quad FX 平台上的 Athlon 64 FX 產品線。

Newisys 還基於 AMD 的技術，發展出 HORUS 連接器，用於高效能大型運算叢集。3Leaf Systems 的 Aqua 裝置利用 HyperTransport 進行虛擬化下 CPU、記憶體以及輸出 / 輸入的連接。

除此以外惠普、Sun Microsystems、IBM、和 IWill 把它用於伺服器領域；克雷公司和 QLogic 把它用於高效能計算上。

### 取代路由器 / 網路交換器的匯流排

HyperTransport 也可用作路由器和網路交換器的內部匯流排。路由器和交換器有多重網路介面，並且需要在這些介面上盡可能快地快速轉發資料。舉個例子，4 個 1Gbps 的乙太網路連接埠若需要全速連接則需要 8Gb/s 的內部頻寬（1Gb/s×4 連接埠 × 兩個傳輸方向），而 HyperTransport 匯流排可以輕鬆滿足這個頻寬要求。然而一個 4+1 連接埠的 10Gb/s 級路由器則要求 100Gb/s 的內部頻寬。802.11ac 8 天線、WiGig 60GHz（802.11ad）標準，配合 HyperTransport 等高頻寬匯流排，會變得更具可行性（但任何地點需使用 20 至 24 通道以滿足所需頻寬）。最早是 CISCO Systems（思科）把 HyperTransport 用於路由器領域。

### 協處理器的互聯

中央處理器和協處理器之間的延時和頻寬問題，在實作中一直是它們之間的通信效能的絆腳石。而目前像是現場可程式邏輯閘陣列（FPGA）的協處理器，可以支援 HyperTransport 匯流排。現時主要的 FPGA 製造商 Altera 和 Xilinx，它們的產品都可直接支援 HyperTransport 介面，並且有智慧財產權核（IP 核）可供出售。而一些公司，像是 XtremeData、DRC 等，則以上述 FPGA 廠商的產品，開發出一種可供 FPGA 直接使用 Opteron 處理器插座的轉接模組。

AMD 在 2006 年 9 月 21 日公佈並啟動的名為 Torrenza 專案，致力於提升 HyperTransport 在插卡式裝置與協處理器中的使用。開始將 Socket F 用於開放給像是 XtremeData 以及 DRC 有需要的公司使用。

### 擴展卡連接器

HyperTransport 聯合會除了發布片上和板上使用的 HyperTransport 匯流排規格以外，還發布了基於插座式連接埠的規格，以供外圍裝置直接連接至相應的微處理器或控制器等。這個規格被稱為 **H**yper**T**ransport e**X**pansion（縮寫：**HTX**）。HTX 使用和 PCI-E 16x 相同的物理連接器（外加一個與 PCI-E x1 規格相同的連接器作為電源連接），HTX 可使這些擴展卡支援與 CPU 的直接連接以及以 DMA 方式存取系統記憶體。最早使用 HTX 連接埠的擴展卡是 QLogic 的 InfiniPath InfiniBand HCA。後來 IBM、惠普電腦以及更多的公司陸續發布支援 HTX 的系統產品。

最初，HTX 標準被限定在 16 位元，運作時脈 800MHz。

2008 年 8 月，HyperTransport 聯合會發布 HTX3，其運作時脈達到了 2.6GHz（5.2GT/s，10.7GTi，資料傳輸等效時脈 5.2GHz，3MT/s 的編輯速率），可向下相容原來的 HTX 標準。

### 測試用途

定義「DUT」測試連接器來開啟標準化功能測試系統互聯。

## 衍生版本

**Infinity Fabric**，是 AMD 於 2016 年公佈的一個基於 HyperTransport 擴充而來的互聯架構，用於 CPU 內部 / 之間、GPU 內部 / 之間以及 CPU 和 GPU 之間的互聯，Infinity Fabric 並不相容於 HyperTransport。與 HyperTransport 不同的是，Infinity Fabric 是 AMD 專有的智慧財產權核，其它廠商需要購買 AMD 的授權方可使用。頻寬在 30GB/s 至 512GB/s 之間，根據組態需求而定，Zen 微架構處理器、代號「Vega」的 AMD GPU 都由 Infinity Fabric 實作其內聯的產品。

Infinity Fabric 分為兩部分，一個是 Infinity Scalable Data Fabric（SDF），負責資料的傳輸；而另一個部分是 Infinity Scalable Control Fabric（SCF），負責傳輸控制命令。SDF 的傳輸協定、記憶體一致性和快取一致性基於 HyperTransport 的修改而來，不過實際上由於這些的大幅修改，與原來 HyperTransport 的相容變得不可能。除此以外，SDF 還可根據不同的處理器系統進行修訂，例如，GPU、APU 以及 CPU 所用的 SDF 是不一樣的，伺服器平台上 SDF 甚至可運行於 PCIe 匯流排上。不過，Infinity Fabric 也就僅限於主機板範圍內的使用，以主機板為一節點，節點之間的連線，AMD 則是採用開放標準的 Gen-Z。

## 使用 HyperTransport 匯流排的產品

* AMD 基於 AMD64 和直接連結架構（Direct Connect Architecture）的中央處理器
* Broadcom 開發的 SiByte MIPS 中央處理器
* PMC-Sierra 開發的 RM9000X2 MIPS 中央處理器
* Raza Thread Processors
* 龍芯系列晶片
  * 龍芯 3 號系列中央處理器
  * 龍芯 7 系列橋片
* ht\_tunnel from OpenCores project (MPL licence)
* ATI Radeon Xpress 200 晶片組
* Nvidia nForce 晶片組
  * nForce Professional MCP（Media and Communication Processor，媒體和通訊處理器）
  * nForce 4 系列
  * nForce 500 系列
  * nForce 600 系列
  * nForce 700 系列
* ServerWorks（現 Broadcom 所有）的 HyperTransport 系統 I/O 控制器
  * HT-2000
  * HT-2100
* The IBM CPC925 and CPC945 PowerPC 970 北橋，與蘋果電腦共同開發並用於 Power Mac G5
* 來自 HyperTransport Center of Excellence 的數個開放原始碼專案核心
* Cisco QuantumFlow 處理器

### 使用 Infinity Fabric 的產品

* Ryzen 系列處理器
* AMD Radeon Vega 系列顯示核心
* EPYC 系列處理器

## 參見

* 彈性介面匯流排
* 光纖通道
* 前端匯流排
* 快速通道互聯
* 電腦裝置頻寬列表
* PCI Express
* RapidIO
* AGESA
* Global Memory Interconnect

## 參考資料

## 外部連結

* HyperTransport Consortium (home), [2005-07-12], （原始內容存檔於 2008-08-22） .（英文）
* Technology, HyperTransport .（英文）
* Technical Specifications, HyperTransport, [2014-08-11], （原始內容存檔於 2008-08-22） .（英文）
* Center of Excellence for HyperTransport, DE: Uni HD, [2014-08-11], （原始內容存檔於 2008-10-29） .
* HyperTransport™ Technology: Simplifying System Design （英文）