HyperTransport
HyperTransport匯流排技术,简称“HT总线”,以前曾被称作“闪电数据传输”(Lightning Data Transport,LDT),是一种電腦處理器的互聯技術。它是一種高速、双向、低延时、点对点(P2P)、串行或者并行的高带宽连接总线技术,最早在1999年由超微半導體提出並發起,並聯合NVIDIA、ALi、ATI、Apple、全美達、IBM、CISCO等多個硬體廠商組成HyperTransport開放聯盟,于2001年4月2日开始將此匯流排技術投入使用,並由HyperTransport联合会(The HyperTransport Consortium)负责改进和发展此技术。[1][2][3][4]
名稱
賣場中常有「HT匯流排」與日後英特爾「HT技術」的混淆,然而這兩個是截然不同的技術。HT一般指HyperTransport,或簡稱HT匯流排,一般情況下HyperTransport聯合會都是使用全稱「HyperTransport」以免造成歧義。而應用於奔騰4處理器、英特爾Nehalem微架構及其後續微架構之處理器的「HT技術」,英特爾的官方簡稱是HTT,Hyper-Threading Technology 或簡稱HT Technology(HT技術)。
概览
HyperTransport旨在提高个人计算机、服务器、嵌入式系统,以及网络和电信设备内集成电路之间的通信速度。该技术有助于减少系统之中的布线数量,从而能够减少系统瓶颈,让当前速度更快的微处理器能够更加有效地在高端多处理器系统中使用系统内存。英特爾在使用QPI以前常用的前端匯流排,與同時代的HyperTransport匯流排規格相比,後者擁有更高的頻寬以及記憶體存取速率,而英特爾的技術,要求不同的RAM存取速率範圍要有各自的連接界面,這種設計導致了若要減少匯流排頻寬瓶頸,勢必會增加主機板的佈線設計複雜度。HT匯流排的擴展HTX3.1在最高頻寬時,可以作為一個統一匯流排容納四根DDR4模組的所需頻寬,若需要容納更多的DDR4記憶體,則可能需要兩個或更多的HTX3.1匯流排控制器,然而這樣做會使每個控制器的傳輸值降低。
主要特性:
現時HT匯流排的一個擴展規格HTX3.1,相對於在2014年面世的高速DDR4記憶體以及較慢的TeraByte級(約1GB/s[5],與高階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的資料傳輸模式是雙向傳輸、各向獨占、同時進行的。[6]
HyperTransport支援自適應位元寬度,範圍從每鏈路2位元到32位元;每個HyperTransport控制器還有兩路單向鏈路。在HT3.1版本中,當運作於32位元每鏈路、以及HT3.1的最高規格的時脈時,理論傳輸值可達每個傳輸方向25.6GB/s(3.2GHz×每時鐘週期傳輸兩次×每鏈路32位元之位寬),或雙向共51.2GB/s的頻寬,幾乎比現有的個人電腦、工作站以及伺服器的匯流排標準都要高,同樣也是高效能運算及網路中最快的匯流排標準(注:QPI在英特爾的技術說明上不屬於匯流排,儘管它的頻寬最大可以超過HT匯流排之最高頻寬)。[7][8]
在單個系統中,它允許不同寬度的鏈路混合連接,比如一個系統中CPU使用16位元鏈路,8位元連接至記憶體而另外8位元連接外圍裝置;除此以外還支援鏈路拆分,不同位宽标准的总线可以变为同一位宽标准的总线(比如说,其中單個16位的鏈路可以拆分為兩个8位的鏈路),这就令Hypertransport既能满足CPU和内存之间的互联,也能满足周边设备之间的互联。而且HyperTransport拥有比其他的匯流排解決方案标准更低的延迟。此外,為滿足多個裝置的連接,HyperTransport還支援菊花鏈的手段實作之。[9]連接對象除了SMP系統中處理器與處理器、普通個人電腦的處理器與晶片組以外,還有路由控制晶片、晶片組的南北橋晶片、其它匯流排的控制器等等,只要連接對象擁有HyperTransport控制器,即可進行連接,無需中介界面。[2]
電信號制式上,HyperTransport使用類似於低電壓差分信號(LVDS)的1.2V運作電壓。[10]HT2.0加入post-cursor發射器去加重。HT3.0加入混雜和接收相位校準以及可選發射器前置去加重。[9]
資料封包
HyperTransport的資料傳輸基于資料封包/包裹(Packet)。在HT匯流排中,不管连接的物理位宽是多少,每个包裹总是由32位元的数据集合组成。命令消息总是放在包裹的最前面。如果一个包裹里面包含有地址,那么命令消息的最后8位元数据和下面的32位元数据就会串成一个40位元的地址。如果有64位寻址的需求,那么就会预先计划一个附加的32位元控制数据包。另外的32位元数据是有效数据(payload)。传输的数据不管实际长度是多少,总会被填充到某个32位元的倍数。[9][8]
HyperTransport的包裹以位次(bit times)的方式实现互联。所需要的位次的数量由互联设备之间的位宽决定。HyperTransport还能用于转换系统管理信息、发送中断、发送探针给邻近的设备或者处理器,以及充当一般I/O和数据的交换的桥梁。HyperTransport有两种不同类型的写命令,称作Posted和Non-Posted。Posted这种写方式不需要目标的回应,一般用于高带宽设备之间的互联。None-Posted的写方式,相反地,就需要目标以一种“target done”的方式回应。读取数据同样也会使目标发送读回应。[6]HT匯流排支援多重處理,和PCI相同的consumer/producer次序規則模型。[9]
電源管理
HyperTransport提供了比ACPI更加先进的电源管理系统。它可以根据处理器睡眠状态(C State)的变化发送改变设备状态(D state)的信号。比如说,当CPU进入睡眠状态时候,关闭硬盘。另外HyperTransport提供的是2.5V的低电压。HT3.0中新增新的電源功能,允許一個集中式電源管理控制器實現電源管理策略。
版本規格
HyperTransport 版本 |
發布年份 | 最大HT匯流排時脈 | 每鏈路最大位寬 | 最大頻寬(雙向) | 單向16位元位寬之最大頻寬(GB/s) | 單向32位元位寬之最大頻寬* (GB/s) |
---|---|---|---|---|---|---|
1.0 | 2001 | 800 MHz | 32-bit | 12.8 GB/s | 3.2 | 6.4 |
1.1 | 2002 | 800 MHz | 32-bit | 12.8 GB/s | 3.2 | 6.4 |
2.0 | 2004 | 1.4 GHz | 32-bit | 22.4 GB/s | 5.6 | 11.2 |
3.0 | 2006 | 2.6 GHz | 32-bit | 41.6 GB/s | 10.4 | 20.8 |
3.1 | 2008 | 3.2 GHz | 32-bit | 51.2 GB/s | 12.8 | 25.6 |
- 資料來源:[11][12][13]
- 注:超微速龍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的時脈規格)。[6]而HyperTransport自身最大的每鏈路32位元位寬的規格,任何AMD處理器都未完全利用。一些晶片組也沒有用到處理器提供的全部16位元鏈路,這些晶片組包括輝達nForce3 150、nForce3 Pro 150、ALi的M1689——它們的下行鏈路可以用到16位元,而上行鏈路則限制在8位元。[11]
應用
取代前端匯流排
HyperTransport最知名的應用,乃作為AMD的x86中央處理器產品[14]以及配套的晶片組的系統匯流排架構。[15]而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匯流排。[16]
AMD這樣做的是有鑒於CPU與記憶體溝通時,北橋的延遲問題做出解決方案,當將位於北橋內的記憶體控制器移動到CPU內部時,CPU便可直接與記憶體進行溝通,避開了北橋而讓整體頻寬大幅提升,減輕北橋的負擔,將整體效能拉升。這也就是為何當年AMD的CPU能夠與Intel抗衡的其中一個原因。[6]而這樣做,潛在的問題便是當記憶體規格有變動時,AMD將會非常頭痛。由於記憶體控制器內建在CPU裡面,當記憶體規格變動時,AMD便要重新設計內建新型記憶體控制器的CPU,重新量產新型CPU。考量到銷售問題,還必須要等到把前一代主流產品庫存銷售完,而這樣的問題在Socket 939過渡到Socket AM2時期非常明顯。所以當廠商開發新一代CPU時,除了需要把記憶體控制器內建在CPU裡面外,還必須要同時開發內建於CPU之中的「容許CPU使用北橋晶片內建的記憶體控制器的轉接器」,此方法不但有利於產品過渡,而且能夠吸引第三方設計廠商針對CPU平台共同設計系統晶片。同时,当使用独立显卡时,当显卡频繁调用系统主存中的纹理与顶点数据时,必须先通过北桥,再绕行CPU,才能访问系统主存。相對比於Intel CPU则因为外置内存控制器,可直接通过北桥链接内存,而获得更快的速度。這些因素也是英特爾的處理器在Nehalem微架構以前一直堅持使用前端匯流排的原因之一。
其它公司之使用
除AMD以外,全美达公司也把HyperTransport技术应用在自家的x86处理器上,如TM8000處理器。[17]除NVIDIA以外,併購ATI後的AMD、VIA和SiS也把它用于PC主板的芯片组。[11]
國際商業機器(IBM)以及蘋果公司也將HyperTransport技術用於Power Mac G5上,將處理器、PCI-X控制器、SATA控制器、乙太網路卡、USB控制器、FireWire控制器、光纖數位音訊等與兩組雙向的HyperTransport連結架構連接起來。甚至採用英特爾處理器的微軟XBox首代,其處理器也要透過NVIDIA的MCP以HyperTransport將GPU等連結。[9]PMC-Sierra、Broadcom(博通)和Raza Microelectronics则把它应用在MIPS微架構(一种RISC微处理器架构)微处理器上。
而英特爾卻從來沒有在它的產品中使用過HyperTransport,當年它继续选择使用一种共享的总线架构,繼續使用自有的匯流排/互聯界面標準,以照顧特殊的RAM級別。在Intel在新的Nehalem架構(如Core i7)中不僅採用全新的、效能更強的處理器互聯技術QPI與AMD主導的HT匯流排形成有力競爭,而且也內置了記憶體控制器,相較於以往的Intel平台效能有顯著的提升。[18]此外英特爾也在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匯流排規格以外,還發布了基於插座式連接埠的規格,以供外圍裝置直接連接至相應的微處理器或控制器等。這個規格被稱為HyperTransport eXpansion(縮寫:HTX)。HTX使用和PCI-E 16x相同的物理連接器(外加一個與PCI-E x1規格相同的連接器作為電源連接),HTX可使這些擴展卡支援與CPU的直接連接以及以DMA方式存取系統記憶體。最早使用HTX連接埠的擴展卡是QLogic的InfiniPath InfiniBand HCA。後來IBM、惠普電腦以及更多的公司陸續發布支援HTX的系統產品。
最初,HTX標準被限定在16位元,運作時脈800MHz。[19]
2008年8月,HyperTransport聯合會發布HTX3,其運作時脈達到了2.6GHz(5.2GT/s,10.7GTi,資料傳輸等效時脈5.2GHz,3MT/s的編輯速率),可向下相容原來的HTX標準。[20]
測試用途
定義「DUT」測試連接器來開啟標準化功能測試系統互聯。[21]
衍生版本
Infinity Fabric,是AMD於2016年公佈的一個基於HyperTransport擴充而來的互聯架構,用於CPU內部/之間、GPU內部/之間以及CPU和GPU之間的互聯,Infinity Fabric並不相容於HyperTransport。與HyperTransport不同的是,Infinity Fabric是AMD專有的智慧財產權核,其它廠商需要購買AMD的授權方可使用。[22]頻寬在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。[23]
使用HyperTransport匯流排的產品
- AMD基於AMD64和直接連結架構(Direct Connect Architecture)的中央處理器
- Broadcom開發的SiByte MIPS中央處理器
- PMC-Sierra開發的RM9000X2 MIPS中央處理器
- Raza Thread Processors
- 龙芯系列芯片
- 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[24]
- 來自HyperTransport Center of Excellence的數個開放原始碼專案核心
- Cisco QuantumFlow處理器
使用Infinity Fabric的產品
- Ryzen系列處理器
- AMD Radeon Vega 系列顯示核心
- EPYC系列處理器
參見
- 彈性界面匯流排
- 光纖通道
- 前端匯流排
- 快速通道互聯
- 電腦裝置頻寬列表
- PCI Express
- RapidIO
- AGESA
- Global Memory Interconnect
參考資料
- (新闻稿). HyperTransport Consortium. 2001-04-02 [2014-08-11]. (原始内容存档于2006-10-10).
- 濮元恺. . zol.com.cn. [2014-08-13]. (原始内容存档于2014-08-13).
- . wordpress.org.cn. [2014-08-13]. (原始内容存档于2015-06-01).
- . cpu-world.com. [2014-08-13]. (原始内容存档于2014-08-14).
- . [2014-08-11]. (原始内容存档于2014-08-07).
- . Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13).
- . [2014-08-13]. (原始内容存档于2014-08-13).
- . it168.com. [2014-08-13]. (原始内容存档于2015-04-15).
- 陳乃塘. . 新通訊. [2014-08-13]. (原始内容存档于2014-08-13).
- (PDF), Hyper transport, [2014-08-11], (原始内容 (PDF)存档于2011-07-16).
- . Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13).
- . Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13).
- . Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13).
- . AMD. [2014-08-13]. (原始内容存档于2014-08-14).
- NVIDIA. . NVIDIA. [2014-08-13]. (原始内容存档于2014-08-13).
- . hardwarecanucks.com. [2014-08-13]. (原始内容存档于2014-08-13).
- 廖專崇. . CTIMES. [2014-08-13]. (原始内容存档于2014-08-13).
- . [2014-08-27]. (原始内容存档于2014-09-03).
- Emberson, David; Holden, Brian. (PDF): 4. 2007-12-12 [2008-01-30].
- Emberson, David. (PDF): 4. 2008-06-25 [2008-08-17].
- Holden, Brian; Meschke, Michael ‘Mike’; Abu-Lebdeh, Ziad; D’Orfani, Renato. (PDF). [2014-08-13]. (原始内容 (PDF)存档于2006-09-03).
- Merritt, Rick. . EE Times. 13 December 2016 [17 January 2017]. (原始内容存档于2019-08-08).
- . 原載於PCWATCH上. [2017-06-06]. (原始内容存档于2017-06-13).
- Steve Jobs, Apple. . YouTube. 25 June 2003 [2009-10-16]. (原始内容存档于2012-07-08).
外部链接
- (home), [2005-07-12], (原始内容存档于2008-08-22).(英文)
- , HyperTransport.(英文)
- , HyperTransport, [2014-08-11], (原始内容存档于2008-08-22).(英文)
- , DE: Uni HD, [2014-08-11], (原始内容存档于2008-10-29).
- HyperTransport™ Technology: Simplifying System Design (英文)