灵活的互连设计

来源: 作者: 时间:2009-06-02 19:41

     本文探讨了几种主导总线接口的特性,包括PCI、PCI-X、PCI-Express、HyperTransport、并行RapidIO和串行RapidIO,将它们进行了逻辑和物理层面的对比。 在许多用于电信、存储和数据网络的系统总线方案中,芯片设计师面临着必须为多种接口提供支持的发展趋势,以满足当前和未来的互连要求。这一点对于广泛应用于上述领域中的高速微处理器等设备来说尤为明显。设计中选用内部数据表示法和外部总线驱动器的特性,将有助于向多种系统总线演进。本文探讨了几种主导总线接口的特性,包括PCI、PCI-X、PCI-Express、HyperTransport、并行RapidIO和串行RapidIO,将它们进行了逻辑和物理层面的对比。比较的逻辑属性包括字段长度、信息语义和所支持的服务质量。通过比较,我们认为内部接口表示法适合支持其中任一接口。文中对物理总线属性和总线的拓朴结构也进行了比较,而且体现了PHYsolutions灵活的特性。本文还对应用于连网空间的互配场景进行了讨论。 简介 最近出现的几种互不兼容的通用系统互连方式为芯片供应商创造了机会,同时也带来了困难。在本文中,我们将对几种系统互连方式的属性进行分析,并集中于对电信和数据连网的要求。通过认识这些互连方式之间所共有的逻辑和物理属性,我们可以制定具有简单设计和互配性能的实施方案。 我们认为,新兴的系统互连方式包括PCI-Express、HyperTransport和RapidIO。为便于比较,我们还对PCI和PCI-X总线进行了研究。这些新兴的互连方式在很大程度上提供了类似的能力,但是由于它们在逻辑层、数据链接层和物理层上均有所不同,因此互不直接兼容。由于这些互连方式和总线的应用领域并未清晰地划分,因此可能会根据客户的体系结构和设计选择,要求电信和数据通讯芯片对任一方式提供支持。对于既需要访问控制层面也需要访问数据层面的通信、且广泛部署于各种体系结构中的微处理器器件来说,这一点尤为明显。 芯片设计师们必须时刻将这些要点牢记在心,以应对在互操作性方面的要求。为此可以采用的策略包括: 1、桥接,用一个外部器件执行通信协议和物理转换; 2、可灵活配置的接口,用一个能够进行配置的器件来支持一种以上的互连方式或总线; 3、一个器件拥有多种型号,芯片制造商根据需要发布芯片来支持不同的接口。 互配的范例如下所示。在这一示例中,一个高速内置微处理器拥有一个并行HyperTransport(HT)互连,经过优化后具有低延迟现象和高带宽的特点。通过PCI-Express(PCI-Ex)或RapidIO(RIO)通信协议,采用一个并行转串行的桥接将该处理器连接至一个串行背板。 桥接和其它互配策略可以通过明确这些互连和总线间的核心功能来进行简化。在有些情况下,接口参数可以选择,以便将逻辑和物理层的差异降至最低,以此简化和降低不同互连之间达到互操作的成本。 这些系统总线和互连的通用特性如表1所示。在这些接口中,PCI总线是一种完善的具有中等性能的通用总线。PCI总线自从在个人计算机业界出现以来,就广泛应用于许多通信中的控制层面和低端数据层面的应用和其它内置应用中。PCI-X是PCI总线的拓展,遵循了PCI总线的主要结构,但在逻辑和电气方面有所增强,有助于减少在带宽和效率方面的限制。但是,在高速处理器中,PCI-X受限于其点对点的总线类型,这是由于PCI所定义的电气连接不支持高速共享总线配置。虽然PCI-X广泛应用于服务器,但却无望在通信平台中获得主导地位,而通信平台无需对PCI总线进行全面向下兼容。 表1:互连和总线的通用特性 相比而言, PCI-Ex、HT和RIO包含一系列新型的系统互连,可能会引起电信和数据通信供应商的兴趣。这些互连设计采用了具有灵活性和良好分层的逻辑结构、可扩展的带宽、以及具有高速和高效引脚的差别化输入/输出。这些特性使它们成为内置应用,如通信和数据通信应用的候选方案,而通信和数据通信的要求包括高带宽、在最小的延迟内发送各种类型的数据、以及范围从芯片至芯片到背板的配置。 图1所示为代表这些互连中的一种端点实现方式。PCI-Ex、HT和RIO的分层十分清晰,在很大程度上遵循了类似的结构;并根据相应的交易层、数据链接层和物理(PHY)层来制订结构的实现方式。在图1中,通向应用层的FIFO接口将交易层分组数据包在终点应用层与互连块之间进行传输。在互连块内,采用了交易层信息如报头CRC纠错和序列编号,以及数据链路流的控制。在物理(PHY)层,分组数据包被转换成一个字节或位序列,然后进行编码和其它操作。 图 1 互连块结构图 通常这些互连之间的交易层语义相当简单,可以通过将其与系统互连接口的逻辑参数进行限制,对应用客户提供的接口细节进行隐藏。在物理(PHY)层,PCI-Ex总线和串行RIO总线均使用了基于SERDES的接口。HT和并行RIO采用了一种类似的并行数据总线、分离的时钟信号和不同的电气信号。 交易层与数据链路层的比较 现在,我们要对这些总线的交易层和数据链路层进行比较。它们之间有着显著的不同,也存在可实现灵活配置接口的惊人相似性。 未完成交易的数量 任何接口的一项重要特性就是其所支持的未完成交易的数量。这一数值越高,对于编程者可供采用的系统并发性就越高(其代价是缓冲的增加)。未完成交易的数量依不同的通信协议而不同。较为合理的设计方案是可以支持16至32个未完成的请求。这一数值可以适用于所有这些总线和互连,并可在相对合理的缓冲开销下为编程者提供较好的灵活性。
    
     多重优先的支持
    
     这些系统互连方式所共有的另一项功能是在互连结构内支持多重通信优先权或多个类别的能力。虽然具体的机制和目的存在着明显不同,但所有的这些互连均支持两种通信类别。而且,交换结构的实现方式可能不支持全套的虚拟通道。考虑到这些因素,灵活配置互连的设计者可能希望支持一种对应用只存在两级优先权(高和低)的模式。 (*)表示在要求PCI桥接的情况下,RIO的优先权必须用于读/写交易映射。 给定源目的的各对互连中的多种数据流 对于直接在通信协议中给定源目的的各对互连中的多种数据流,PCI-X和HT总线支持对这些数据流进行重新排序,以增加并发性和减少这些数据流的阻塞。(而RIO的FlowID概念在一定程度上是相似的,其数值的限制是由于逻辑FlowID标签要转换成仅有的4个优先级中的1个)。建议应用这些机制来增强性能,而在考虑设计一个灵活配置的内部总线通信协议无需这些机制时,也可以提供低性能的模式。
    
     排序模式
    
     加载-存储总线所支持的排序模式对于总线的应用来说非常重要。在PCI传统2.3版中附录E中所描述的生产者-消费者模式是最为广泛接受的模式。它提供的模式使处于系统任何位置的生产者和消费者均可以在相互之间进行通信,而且在遵循特定规则的条件下,该通信的结果是切实可靠的。PCI-Ex和HT总线支持完整的生产者-消费者模式。对于RIO总线,在PCI技术规格中所描述的“标志位”和“数据”可能需要在桥接的同一侧处于同一位置,从而可能限制系统设计师的灵活性。
    
     与此相关的问题是总线的技术规格是否支持专用的后置请求通道。在PCI传统2.3版的附录E中,第5条和第7条中确实存在可导致死锁的情况,而且这种情况仅在最少3个已经连接的桥接条件下方会发生。HT1.05附录C.5.1和C.5.3中提供了一项替代性的描述。对于本文中所考虑的5种总线,只有RIO不支持后置请求通道。因此,RIO的应用可能限制在桥接复杂度较低的条件下。 我们建议内部总线接口的设计支持PCI-X的排序模式,包括后置书写通道和交易通过规格。这样,在不同的接口间进行连接和桥接时,就具备了相当大的灵活性。
    
     连贯性的支持
    
     I/O连贯性的支持对于系统软件的简化来说至关重要。一个具备良好性能的I/O连贯性机制能够将软件设计师从必须协调整个系统数据流的任务中解放出来。所有的通信协议在具体的机制上均存在很大的差异,但是每一种协议都能很好地支持I/O连贯性。在设计一个可灵活配置的内部总线接口时,合理的方式是假设I/O连贯性存在,并且可以在各项交易的基础上进行选择。 数据链路层特性 虽然在数据链路层存在许多的相同性,但PCI-Ex、HT和RIO之间的数据链路层还是有着显著的不同。虽然灵活互连的分层结构隐含了许多细节,但是数据链路层的某些方面会影响到在交易层和应用层之间可配置内部接口的设计。 例如,数据链路层中最大数据包的大小还会影响到交易层。可配置接口的设计师必须考虑到最大数据包的尺寸可以变化,而且这一数值在每种技术规格中各有不同。但是,64-512字节是一个较为合理的支持范围,这样可以降低缓冲开销,并能表现出良好的性能。 防止出错和链路控制机制也根据技术规格的差异而有所不同,但是能够实现可配置内部接口的结果中必须有一个阵列能够应付一系列的严重错误或非严重性错误。这个阵列包括一个无错误回应和一个表明链接断开的指示。 流量控制机制在这些总线之间也有所差异,但是通常不会影响到内部总线接口。特别是对RIO总线,建议不要使用控制RIO流效率较低的Rx控制版本,而应采用Tx控流选项。这一选项与PCI-Ex和HT总线的机制相同。
    
     物理接口对比
    
     在物理(PHY)层,2种串行互连(PCI-Ex和串行RIO)以及2种并行互连(HT 和并行RIO)之间均存在很大的相同性。在每种情况下,共享的物理层设计都是可行的,虽然仍需要对互连提出某些特定的要求。 可配置的串行物理接口 串行互连设计用于引脚数量较少以及范围包括从背板到芯片至芯片的灵活的拓朴结构。PCI-Ex 和RIO总线的关键物理(PHY)层的属性 如下所述。对于每种属性,都提出了特定的值或特定范围。注意 PCI-Ex的物理层引入了几项以PC空间,例如电源管理和即插即用性能为目标的特色。我们认为,这些特色对于以电信/数据通信应用为目标的可配置的串行物理层来说是不必要的。
    
     1、扰频
    
     为降低电磁干扰, PCI-Ex总线在8B/10B编码层之前采用了扰频。与此相反, RIO总线采用了类似XAUI的空闲数据型式的随机化处理,以实现同样的目标。但是不利之处在于,这些技术是完全不同的,因此需要各自单独执行。
    
     2、8B/10B编码和控制(K)字符的使用 PCI-Ex和RIO总线采用了8B/10B编码连接。8B/10B编码能够确保足够的位数传递密度,以恢复数据时钟。因此,不使用单独的时钟信号。 在串行8B/10B 接口中,特殊的“K字符”应用在链接和维护、位和字节的校准、多通道抗偏斜、时钟补偿、数据包限定和其它目的。具体使用的这些特定字符是各不相同的。K字符的不同用法示例如下:K28.5字符中包含“逗号”序列,在PCI-Ex和RIO中都用于位和字节的同步。但是,在PCI-Ex中,K28.5栏还用于通道校准,而在RIO中通道校准采用的是K27.7字符;K28.0字符在PCI-Ex中用于SKP(时钟补偿)目的。但是,在RIO中,出于同样的目的采用的却是K29.7字符。 从此处可以明显看出,可配置串行物理结构一个必备的能力是对K字符集进行可编程处理。幸运的是,在某些可编程的SERDES芯片中,都具备了这项功能。
    
     3、连接速率和带宽 PCI-Ex在当前版本中使用了2.6Gbaud的信号速率。以后的版本可能支持更高的速率。 RIO目前支持1.25、2.5和3.125 Gbaud的信号速率,将有可能包括支持更高速率的SERDES。RIO在3.125Gbaud下的主要电气参数与XAUI(也在3.125Gbaud下)相近,而更低的RIO速率实际上属于XAUI可扩展波特率的版本。 速率灵活的SERDES技术覆盖了1.25-3.125 Gbaud的范围,因此,所有目前使用的PCI-Ex和RIO速率都是可配置串行物理结构的一个主要方面。 在PCI-Ex下可采用多种通道,RIO将通道的宽度限制在x1和x4。而具备x1和x4 能力的物理结构有可能在这些互连的电信/数据通信领域内得到广泛的应用。
    
     4、信号摆幅和预加重 PCI-Ex和串行RIO的信号摆幅在一定程度上有所不同。但是,两者的范围可以通过可编程进行完善(主要是在CML中进行完善)。 PCI-Ex在当前的版本中采用了称为去加重的预加重方法,赋予转换位的幅度比后续位更大。而预加重属于RIO总线的一个选项。但是,在这两种接口的背板应用中,预加重功能具有明显的益处,因此推荐采取对其支持的功能。在芯片至芯片的应用中,预加重可能体现不出自己的优势。因此,推荐在可配置的物理解决方案中,对预加重的使用及程度进行配置。 5、时钟和抖动 传输抖动和接收抖动允许的误差在PCI-Ex和RIO总线之间是相当一致的。0.3UI(Tx)和.65UI(Rx)的重叠范围属于物理层的互操作属性。 PCI-Ex规定的时钟允许误差为+/- 300 ppm;在串行RIO中的回应要求为+/- 100 ppm。PCI-Ex要求与PC业界所公用的扩频技术保持一致。对于电信/数据通信应用来说,不带扩频时钟的+/-100 ppm范围应该可以满足要求。 6、电源管理和即插即用 在PC机应用中,PCI-Ex的电源管理和即插即用支持形成了一套能够允许物理层在链路空闲的低功率备用模式下运行的能力。此外,即插即用功能要求发送器能够检测到带电接收器的存在。这些PC业界特殊的应用要求致使通信业中SERDES在一般情况下不支持物理层特性: 发送器所使用的BEACON信号,用于“唤醒”处于“休眠”状态的接收器; 发送器所使用的“接收器检测”信号,用于检测带电的接收器; 接收器运行在直流公用模式电压为0V下的技术要求便于对接收器的检测; 由接收器执行的空闲状态结束的检测功能,用于检测脱离低功耗状态的转换; 主动状态电源管理(ASPM)可以自动地将链接在主动和电源降低状态之间进行转换。 对于全面兼容PCI-Ex的可配置物理层解决方案要求具备所有这些功能,对于不需要这些功能的内置通信/数据通信应用,PCI-Ex可能被普遍采用。但现在下定论尚为时过早,我们认为恰当的通信/数据通信业的可配置串行物理层解决方案就无需这些特性。除去这些特性,可以想象PCI-Ex总线将如同串行RIO总线,能够使用2.5Gbps下的工业标准SERDES 技术。 并行互连的可配置物理层解决方案 并行互连、HT和并行RIO均针对低延迟高带宽的芯片至芯片接口应用进行了优化。这些总线均采用了相似的源同步接口,其中接口具有可扩展的带宽,并附带独立的时钟信号和少量的频段外控制信号。其主要的电气属性如下所示。从电气方面来看,这些接口的设计所具备的灵活性是相当可行的。 在电气方面,这些接口均采用了基于LVDS的信号发送方案。但是,HT采用了修订后的摆幅电平和共用模式的电压范围。在两个接口的信号摆幅之间拥有足够宽的重叠区域,因此LVDS摆幅(用在RIO)的标准应该能够很好地应用在这两种总线中。但为共用模式寻找一个适合的重叠部分则较为困难。HT采用了较低的共用模式电压,以优化来自1.2V电平级的操作。而由于功率耗散和低电压设备的使用问题,不宜移至RIO公用模式所要求的较高电平级。可行的解决方案是在HT共用模式的驱动电压下运行RIO驱动器。由于RIO(LVDS)接收器的允许电压范围很宽,能够适应发送器和接收器之间很大的地电位差值,所以这种方式能够取得良好的效果。因此在采用并行RIO和HT总线时,这些地电位差值通常在芯片至芯片的应用中是可以忽略不计的。 HT允许在表中所示的带宽内实现自动协商的数据通路。在通常情况下,HT和并行RIO总线用作高速内置处理器的互连,其中采用的是8位或16位的数据。对于这些应用而言,多余的HT数据带宽是没有必要的。在HT和并行RIO总线,8位和16位的数据带宽均分别需要1个和2个时钟信号。 HT和RIO总线均需要频带外的控制信号来区别控制和数据序列。可配置的物理层解决方案应用支持这类控制信号;要求引脚的逻辑控制是可编程的。最终,HT总线采用4个单端引脚,以支持应该得到支持的复位和电源管理功能。 结论 在本文中,我们回顾了5种接口:PCI、PCI-X、PCI-Express、HyperTransport和 快速I/O(RIO)的特性。这些接口在内置应用中采用明显不同的方式达到了差不多同样的效果。通过识别共有的接口特性,我们针对可配置总线互连的设计提供了一些具体的建议,这种总线和互连能够实现这些接口之间前景看好且易于实现的互配性能。 备用资料 加载/储存 接口与总线之间的比较 认识到系统互连方式和其它通信的具体接口之间的差异是很有帮助的。许多通信系统的接口均有赖于数据包和单元接口,例如光纤网际工作论坛(OIF)提出的SPI-4.2、SPI-3以及IEEE的XAUI接口。这些经过高度优化的接口主要设计用于点对点之间传输数据包和单元,并且具备高效、低开销和点对点的流量控制特点。它们采用“流语义”的方式,通过通道发送信息。 与这些数据通信总线相比, PCI-Ex、HT、和RIO具有更大的通用性。它们采用的是“加载-储存语义”,通常情况下支持处理器与内存或外设之间不同地址间的读写。其中还包括各种概念的交换和桥接,以实现许多设备连接到相同的物理和/或逻辑总线上。它们还可支持更高层的析取功能,例如生产者-消费者排序模式,这一模式能够使分布在各处的设备组(共享资源?)采用复杂的方式解决可以预见结果的问题。 另一方面,这些总线存在高开销的情况,这些开销体现在报头字段、配置和枚举操作步骤、排序规则的维护、出错恢复步骤以及其它领域。通常,为这种灵活性所付出的代价是:较低的确定性通信量、可变的延迟性和更为复杂的软件维护。与通信专用接口相比,它们应用于可靠性较高的系统中是较为困难的,这是因为它们大大增加了需要进行储存和管理的状态信息的数量。 在选择适当的接口时,系统设计师还必须考虑到数据通信的特性。前文所述的这些系统互连,主要采用的是加载/储存语义。如果不需要这些语义,则单元或数据包接口所具有的简洁和强大的性能相对来说是更好的选择。
    
    

相关文章

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子