《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > HT高速总线及其在嵌入式系统中的应用

HT高速总线及其在嵌入式系统中的应用

2008-12-08
作者:王 江

    摘  要: 介绍了HT总线的特点,并比较了其与传统PCI总线及竞争者PCIe总线的异同点,阐述了HT总线的优势,HT总线在嵌入式系统" title="嵌入式系统">嵌入式系统中的设计、应用和调试经验。 

    关键词: HT总线;  PCIe;  PCI 

 

 

    随着CPU频率的不断提升,CPU内核数目的不断增加,CPU与外设" title="外设">外设之间的连接——I/O" title="I/O">I/O总线的速度逐渐为阻碍计算机平台发展的瓶颈。例如,广泛应用于计算机内模块互连的PCI总线的速度已经成为木桶中的“短板”。PCI总线是一种共享式总线,一般工作频率" title="工作频率">工作频率为33MHz,当工作频率提升到66MHz时,外设的数目就屈指可数。HT总线正是为了克服这一瓶颈及追求更快的速度、更低的时延而诞生的。 

1 HT总线的特点 

    超高速HT(HyperTransport)总线是AMD公司主导推出的新一代总线技术。HT总线是点对点、低延时、高速可扩展总线,在软件上与原有的PCI总线完全兼容。HT总线采用DDR时钟,上下沿都可触发,在400MHz工作频率下,相当于800MHz的传输频率。HT总线的最低频率为200MHz,可以向300MHz、400MHz、500MHz、600MHz、800MHz、1GHz、1.2GHz、1.4GHz、1.8GHz、2.0GHz、2.4GHz扩展(最新的HT3.0标准支持2.6GHz时钟[1]);HT总线的单向数据宽度可以是2位、4位、8位、16位、32位;频率和数据宽度可以设置成收发不对称,最大带宽达到41.6GB/s。芯片之间采用HT总线的典型连接如图1所示。 

 

 

    HT总线采用改进的低电平差分信号(LVDS),接口电压为1.2V(传统LVDS电平为2.5V),改进的LVDS能降低功耗和噪声,每个方向有时钟(CLK)、控制(CTL)和数据(CAD)三类信号。CAD是复用信号,CTL决定了CAD承载的是控制包还是数据包。如果CTL为低电平,则CAD上就是数据包,否则是控制包。每8对CAD信号配备一个时钟信号。RESET和PWROK是低速信号,用于控制冷启动和热启动。另外,还有可选的LDTSTOP#信号和LDTREQ#信号,用于电源管理。 

    HT3.0标准将HT的应用范围从芯片级扩展到了板级和机箱级。它支持热插拔,并支持真正动态的频率和带宽(HT3.0之前的标准需要热启动以后才能使变更后的频率和带宽生效)调整。动态地改变频率和带宽可以使系统在数据量大时增加带宽并提高频率,而在数据量小时降低频率或减少带宽,从而降低了功耗和电磁辐射,体现了HT总线的灵活性和可扩展性。HT的带宽可以聚合和拆分,例如,16位宽的HT总线可以拆分成2条8位宽的HT总线,反之亦然。 

    HT总线另一大特点是:当数据位宽不是32位时,可以分批传输数据来达到与32位相同的效果。例如,如果数据位宽为16位,32位的数据则分两批传输;如果数据位宽为8位,32位数据则分四批传输。这种数据分包传输的方法,使HT总线在应用上具有更大的弹性空间。 

    目前有四类HT总线设备[2]

    (1) 主桥(Host)设备:类似PCI总线上的北桥。 

    (2) 终端(Cave)设备:HT总线的末端,例如具有一个HT接口的加密芯片。 

    (3) HT桥:类似PCI桥,从一条HT总线扩展出多条HT总线。 

    (4) 管道(Tunnel)设备:有2个HT接口,可扩展其他类型总线。管道设备两侧的总线号保持不变,这是它与HT桥的主要区别。 

    这些设备可以使设计师方便灵活地利用HT总线构建菊花链型、星型、网格型等多种拓朴结构。为了支持并行计算和多处理器" title="多处理器">多处理器(SMP)的发展,HT提供了二种原子操作指令:(1)数据读取并增加;(2)数据比较并交换。这些指令给多处理器操作系统中旋转锁和数据一致性操作的实现提供了极大的便利。 

2 HT总线与PCI总线的比较 

    因为HT总线发展的初衷是取代PCI等低速I/O总线,提高计算机平台的整体性能,所以在软件上,HT总线的驱动和配置方式与PCI兼容。这样,可以充分利用现有及广泛使用的PCI软件,如果硬件平台升级成HT互连方式,操作系统和相关驱动软件可以保持不变。 

    在硬件上,HT总线与PCI不同之处: 

    (1)速度快:HT总线采用了点对点互连,并采用了LVDS信号,速度可达2.6GHz;而PCI基于波反射原理的共享式总线,要兼顾各个设备的走线阻抗匹配,速度最高为66MHz(PCI-x能达到533MHz)。共享式总线增加一个设备不但会影响整条总线的电气特性,而且使平均设备带宽急剧下降。 

    (2) HT总线的频率动态可调,而PCI总线需要额外的电路才能调节频率,并且需要重启总线才能生效。 

    (3) HT总线收发信号完全分开,两个方向的频率和数据宽度可不对称,扩展性强,而PCI总线无此特性。 

    (4) HT总线的数据宽度动态可调,PCI总线不可调。 

    (5) HT总线是在确保对端设备具有反应能力的前提下,才发起操作,是低延时可靠传输;PCI总线则不然,延时较大。 

    (6) PCI总线需要仲裁信号,而HT是点对点连接,不需要仲裁信号。 

    (7) PCI总线有报错信号,而HT是依靠控制包来报错。 

    (8) PCI总线有中断信号,而HT是依靠控制包来管理中断。 

    总体而言,与PCI相比,HT的信号类型少,许多功能由控制包来完成。 

    业界常用平均每引脚吞吐量来衡量I/O总线的性价比: 

    (1)运行在频率为66MHz的PCI总线,平均每引脚吞吐量约为:6.95MB/s(264MB/s [66MHz×4B]/38引脚 [32根数据线+5根控制线+1根时钟线]) 

    (2)而运行在最低频率200MHz下的HT总线的平均每引脚吞吐量约为:22MB/s(1600MB/s [200MHz×2DDR×4B]/74引脚[32个CAD信号对+4个时钟信号对+1个CTL信号对]) 

    由此可见,HT总线与PCI/PCI-x总线相比占有明显优势。 

3 HT总线与PCIe总线的比较 

    PCIe是Intel公司主导推出的连接外设的I/O总线,它在软件上完全向下兼容传统的PCI总线,是HT总线的主要竞争者,两者都是点对点连接。PCIe的传输包分为三层:协议层、链路层和物理层。前两层都在纯数据上增加头信息,协议层的头占12~16字节,链路层的头占8字节,物理层进行8b/10b转换,增加了20%的数据量。而HT的数据包头只占8~12字节,所以HT能够获得比PCIe更高的传输效率。表1列出了两者的吞吐量比较,其中PCIe考虑到了20%的转换损耗。 

 

 

    由于PCIe的8b/10b转换需要SerDes模块,所以耗能较多。而HT采用了独一无二的优先请求插入(PRI)技术来提高带宽利用率,即控制包可以插入到一个数据包的传输过程中。一个数据包在传输过程中可以被打断或称为暂停,插入一个控制包后,这个数据包中的剩余数据被继续传输。PRI特性非常有用,尤其是控制包传送的是“读请求”,对端不需要等待当前数据包完全接收后就已经接收到了控制包,并准备或者已经把数据发送回去了。 

4 HT总线在嵌入式系统中的应用 

    因为HT总线最初是AMD公司在1999年提出的一种总线技术,随着AMD 64位平台的发布和推广,HT在PC平台中的应用越来越广泛,也越来越被人们所熟知。目前,HT联盟已经包括了Broadcom、Cisco、PMC、Sun、Agilent、Apple、Altera、Cadence、Dell、HP、IBM、Xilinx等众多芯片厂商和设备、工具制造商。HT接口已经广泛集成到各类功能芯片之中。HT总线在嵌入式系统领域也正在逐步取代PCI等传统I/O总线。 

    图2是利用HT总线构建的一个高性能嵌入式系统,可用于网络处理、路由、复杂计算等高端应用。HT如同一条主干道,连接了主桥、HT管道设备、网络处理器等器件。HT桥扩展了主桥的HT接口,HT-PCI管道器件将HT口转换到PCI接口,用于连接传统的PCI设备;HT-GE管道器件扩展出千兆以太网口。HT终端设备可以是网络处理器(NPU)、安全处理器(IPSec)、南桥等器件。这些具有HT接口的器件都可以在市场上找到。例如,RMI公司的XLR732就是一种具有HT接口的网络处理器。 

 

 

    HT还可用于处理器间的互连,建立并行计算平台。例如,Broadcom的BCM1480是高性能4内核MIPS处理器[3],具有三个HT接口。HT总线可以将多个BCM1480互连,组成分布式超高性能的计算平台,如图3所示。HT总线的原子操作特性方便多处理器操作系统中自旋锁的实现,并支持内核、一级缓存、二级缓存、内存和HT设备之间的数据一致性。

 

 

4.1 HT接口的初始化 

    HT总线定义了冷启、热启和链接初始化三个启动步骤。当HT器件的电源和时钟正常后,PWROK信号必须保持低电平并至少维持1ms。当PWROK信号变高后,RESET信号也必须维持至少1ms低电平。RESET信号变高后,HT两端的器件通过控制包协商频率和带宽,这完全由硬件完成,其频率默认为200MHz,而带宽由双方器件窄的一侧决定,但最宽不超过8位。硬件协商的结果能够保证HT总线两端建立起正常安全的通信,但性能不是最优的。然后,启动代码或驱动软件负责优化HT配置,通过读取两侧器件的带宽能力和频率能力配置寄存器,决定双方都能接受的最大带宽和最高频率。 

    HT配置空间中有一个寄存器可以触发热启。热启和冷启的区别在于,热启后HT器件的实际带宽、频率和寄存器不变,而冷启后都恢复为默认配置。 

4.2 HT总线的调试 

    因为HT总线的信号类型少,所以调试比PCI简单。首先是测量接口电压;然后测量PWROK信号和RESET信号的时序,确保满足规范的要求。如果是非对称配置,则还需测量不用的CAD信号是否端接正常。发送侧不用的信号可以悬空,但接收侧必须接地;最后查看配置空间的链接寄存器,如果硬件协商成功,则其“初始化完成”位将置1。还可以触发CRC测试来检查链路是否正常。 

    在默认配置的HT总线工作正常后,可以逐步增加带宽、提高频率、结合CRC链路测试来优化HT总线配置。在调试中除了焊接问题外,经常遇到的问题:一是遗忘对无用CAD信号的端接,二是频率提不到双方允许的最大值。后者往往由于差分走线不等长、不平行、阻抗不匹配等高速布线方面的缺陷而引起。 

    实时性和低延迟一直是现代通信系统追求的目标,特别是以计算为中心的IMS(IP多媒体子系统)标准对通信设备提出了更高的要求。芯片互连速度直接影响了设备和系统的性能,尤其是基于IP的下一代网络的质量。目前新涌现出的I/O总线,如HT、PCIe、RapidIO,在相互竞争中不断发展完善。由于PCI使用广泛使得这些总线在软件上兼容PCI是一大优势(RapidIO在软件上并不兼容PCI总线),作为新秀中的佼佼者,HT总线为CPU与CPU之间、CPU与外设之间的互连提供了最低的时延和最高的带宽,并且简化了系统设计,应用范围从计算机逐渐向嵌入式系统、电信设备、仪器仪表、汽车电子等领域扩展,具有广阔的发展前景。 

参考文献 

[1] HyperTransport Technology Consortium. HyperTransportTM I/O link specification revision 3.0. 2006.  

[2] ANDERSON D, TRODDEN J. HypertransportTM system architecture. MindShare, Inc., 2003. 

[3] Broadcom Inc. BCM1480 User’s Manual. 2003.
本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。