HyperTransport

處理器互連總線

HyperTransport总线技术,简称“HT总线”,以前曾被称作“闪电数据传输”(Lightning Data TransportLDT),是一种电脑处理器的互联技术。它是一种高速、双向、低延时、点对点(P2P)、串行或者并行的高带宽连接总线技术,最早在1999年由超微半导体提出并发起,并联合NVIDIAALiATIApple全美达IBMCISCO等多个硬件厂商组成HyperTransport开放联盟,于2001年4月2日开始将此总线技术投入使用,并由HyperTransport联合会(The HyperTransport Consortium)负责改进和发展此技术。[1][2][3][4]

名称

卖场中常有“HT总线”与日后英特尔“HT技术”的混淆,然而这两个是截然不同的技术。HT一般指HyperTransport,或简称HT总线,一般情况下HyperTransport联合会都是使用全称“HyperTransport”以免造成歧义。而应用于奔腾4处理器、英特尔Nehalem微架构及其后续微架构之处理器的“HT技术”,英特尔的官方简称是HTTHyper-Threading Technology 或简称HT TechnologyHT技术)。

概览

HyperTransport旨在提高个人计算机服务器嵌入式系统,以及网络和电信设备内集成电路之间的通信速度。该技术有助于减少系统之中的布线数量,从而能够减少系统瓶颈,让当前速度更快的微处理器能够更加有效地在高端多处理器系统中使用系统内存。英特尔在使用QPI以前常用的前端总线,与同时代的HyperTransport总线规格相比,后者拥有更高的带宽以及存储器访问速率,而英特尔的技术,要求不同的RAM访问速率范围要有各自的连接界面,这种设计导致了若要减少总线带宽瓶颈,势必会增加主板的布线设计复杂度。HT总线的扩展HTX3.1在最高带宽时,可以作为一个统一总线容纳四根DDR4模块的所需带宽,若需要容纳更多的DDR4存储器,则可能需要两个或更多的HTX3.1总线控制器,然而这样做会使每个控制器的传输值降低。

主要特性:

  • 提供比现有技术高得多的带宽
  • 使用低延时响应和较少的引脚数
  • 在保持与传统电脑总线的兼容性的同时,可以扩展到新的SNA(系统网络架构)总线
  • 操作系统保持透明,对周边设备驱动程序的影响极小

现时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及以后的微架构的OpteronAthlon 64Athlon IISempron 64Turion 64PhenomPhenom IIAMD FX处理器上,都用上了HT总线与北桥连接。不过现时AMD APUAMD RyzenAMD 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 Ryzen和AMD EPYC使用Infinity Fabric取代HyperTransport。

其它公司之使用

AMD以外,全美达公司也把HyperTransport技术应用在自家的x86处理器上,如TM8000处理器。[17]NVIDIA以外,并购ATI后的AMDVIASiS也把它用于PC主板芯片组[11]

国际商业机器IBM)以及苹果公司也将HyperTransport技术用于Power Mac G5上,将处理器、PCI-X控制器、SATA控制器、以太网卡、USB控制器、FireWire控制器、光纤数字音频等与两组双向的HyperTransport链接架构连接起来。甚至采用英特尔处理器的微软XBox首代,其处理器也要透过NVIDIA的MCP以HyperTransport将GPU等链接。[9]PMC-SierraBroadcom博通)和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 MicrosystemsIBM、和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制造商AlteraXilinx,它们的产品都可直接支持HyperTransport界面,并且有知识产权核(IP核)可供出售。而一些公司,像是XtremeData、DRC等,则以上述FPGA厂商的产品,开发出一种可供FPGA直接使用Opteron处理器插座的转接模块。

AMD在2006年9月21日公布并启动的名为Torrenza项目,致力于提升HyperTransport在插卡式设备与协处理器中的使用。开始将Socket F用于开放给像是XtremeData以及DRC有需要的公司使用。

扩展卡连接器

 
由上至下:HTX,PCI-Express x8,PCI-Express x16

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总线的产品

使用Infinity Fabric的产品

参见

参考资料

  1. ^ API NetWorks Accelerates Use of HyperTransport Technology With Launch of Industry's First HyperTransport Technology-to-PCI Bridge Chip (新闻稿). HyperTransport Consortium. 2001-04-02 [2014-08-11]. (原始内容存档于2006-10-10). 
  2. ^ 2.0 2.1 濮元恺. 八年光荣与梦想 AMD历史经典Athlon回忆录. zol.com.cn. [2014-08-13]. (原始内容存档于2014-08-13). 
  3. ^ HyperTransport总线. wordpress.org.cn. [2014-08-13]. (原始内容存档于2015-06-01). 
  4. ^ HyperTransport technology. cpu-world.com. [2014-08-13]. (原始内容存档于2014-08-14). 
  5. ^ SanDisk announces ULLtra DIMMS_ Terabytes of low-latency flash storage directly off the RAM channel. [2014-08-11]. (原始内容存档于2014-08-07). 
  6. ^ 6.0 6.1 6.2 6.3 Everything You Need to Know About the HyperTransport Bus (Page 1). Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13). 
  7. ^ HyperTransport總線技術 是什麽. [2014-08-13]. (原始内容存档于2014-08-13). 
  8. ^ 8.0 8.1 HyperTransport. it168.com. [2014-08-13]. (原始内容存档于2015-04-15). 
  9. ^ 9.0 9.1 9.2 9.3 9.4 陈乃塘. 解說HyperTransport 飆速介面的案例探索之旅(五). 新通信. [2014-08-13]. (原始内容存档于2014-08-13). 
  10. ^ Overview (PDF), Hyper transport, [2014-08-11], (原始内容 (PDF)存档于2011-07-16) .
  11. ^ 11.0 11.1 11.2 Everything You Need to Know About the HyperTransport Bus (Page 2). Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13). 
  12. ^ Everything You Need to Know About the HyperTransport Bus (Page 3). Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13). 
  13. ^ Everything You Need to Know About the HyperTransport Bus (Page 4). Hardware Secrets. [2014-08-13]. (原始内容存档于2014-08-13). 
  14. ^ AMD HyperTransport™ Technology. AMD. [2014-08-13]. (原始内容存档于2014-08-14). 
  15. ^ NVIDIA. NVIDIA nForce® Professional 媒體通訊處理器(MCP). NVIDIA. [2014-08-13]. (原始内容存档于2014-08-13). 
  16. ^ The A55 & A75 Fusion Controller Hub (FCH). hardwarecanucks.com. [2014-08-13]. (原始内容存档于2014-08-13). 
  17. ^ 廖专崇. 全美達新晶片採用HyperTransport匯流排. CTIMES. [2014-08-13]. (原始内容存档于2014-08-13). 
  18. ^ 反击HT总线 Intel新总线技术08年出炉. [2014-08-27]. (原始内容存档于2014-09-03). 
  19. ^ Emberson, David; Holden, Brian. HTX specification (PDF): 4. 2007-12-12 [2008-01-30].  [失效链接]
  20. ^ Emberson, David. HTX3 specification (PDF): 4. 2008-06-25 [2008-08-17]. [失效链接]
  21. ^ Holden, Brian; Meschke, Michael ‘Mike’; Abu-Lebdeh, Ziad; D’Orfani, Renato. DUT Connector and Test Environment for HyperTransport (PDF). [2014-08-13]. (原始内容 (PDF)存档于2006-09-03). 
  22. ^ Merritt, Rick. AMD Clocks Ryzen at 3.4 GHz+. EE Times. 13 December 2016 [17 January 2017]. (原始内容存档于2019-08-08). 
  23. ^ AMD 芯片基石:Infinity Fabric解析. 原载于PCWATCH上. [2017-06-06]. (原始内容存档于2017-06-13). 
  24. ^ Steve Jobs, Apple. WWDC 2003 Keynote. YouTube. 25 June 2003 [2009-10-16]. (原始内容存档于2012-07-08). 

外部链接