首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
高速串行总线技术发展与应用分析
来源:本站整理  作者:佚名  2010-02-24 15:46:21





PCIe数据包支持基于地址的读写语义。在PCIe系统中,发起读或写的实体必须知道系统的全局存储器映射图中的目标地址,这对控制平面应用而言是很自然的一种方法。然而,这种对全局地址映射图的依赖性也会导致难以发展的紧耦合软件系统。

PCIe协议也支持通过消息TLP的消息传送。不过消息TLP只支持有限数量的功能,如中断和复位信号。这点与以太网和RapidIO消息包有很大的不同,后者可用于进程间通信。

   与PCIe 不同,建立在以太网物理层之上的软件协议只支持消息语义。在发送消息时,发送者只需知道接收地址。寻址机制一般是分层的,因此没有哪个节点必须知道所有的地址。地址可能会随系统发展而改变,支持软件单元实现相互间的松散耦合。这些属性对数据平面应用来说是必要的。

  RapidIO同时支持读/写和消息语义。除了明显的架构优势和系统灵活性外,对读/写和消息处理的支持允许单路互连同时用于控制和数据平面。RapidIO系统因此要比必须结合PCIe和以太网的系统来得更简单,从而具有降低功耗和成本的优势。

  PCIe不可能在其数据包定义中合并进程间通信消息语义,因为与传统PCI和PCI-X总线的操作相冲突。PCIe是围绕根联合体概念设计的,这个联合体只包含系统中的处理器。在这个范例中,没有消息处理是在PCIe到其它软件实体上完成的,因此消息语义没有价值。

   人们对以太网通过远程直接存储器访问(RDMA)协议支持读写语义尚存争议,该协议支持设备间进行直接存储器拷贝。然而,RapidIO(和PCIe)读写语义的效率要比RDMA高得多。RDMA协议建立在其它以太网协议之上,如TCP,并且每个数据包都需要大量的包头开销。与RapidIO读/写事务处理相比,RDMA实现在时延和带宽方面付出的代价都要大得多。虽然一些RDMA能帮助卸载已有引擎的负担,但很难想象将RDMA用于控制平面功能,例如对寄存器进行编程。

  消息语义的一种可能应用是其它协议的封装。RapidIO拥有封装各种协议的标准。这种封装能力给系统设计人员提供了许多优势,包括未来将要证明的RapidIO背板。任何未来、传统或专有协议都可以用标准的RapidIO组件进行封装和传送。例如,用于以太网封装的现有 RapidIO规范就允许设计人员在基于RapidIO的系统中使用基于以太网的软件。

  以太网也支持封装,并且有多种封装标准可以选择。RapidIO的封装效率要比以太网高,因为以太网协议层需要更多的头部开销。

  曾经有个组织试图对在PCIe类结构上的各种协议封装进行标准化。但几年前这个组织宣告失败,因为过程太过复杂。由于与传统总线相关的要求,很难将PCIe扩展成适合嵌入式系统的结构。

可靠性和可用性

  大多数系统对可靠性和/或可用性都有要求。有可靠性和/可用性要求的系统需要误码检测、误码提醒、故障元件分析与隔离以及恢复机制。从高层看,PCIe、RapidIO和以太网在所有这些方面都要相似的功能。不过在备份策略以及快速隔离系统使之免受故障元件影响的功能方面有很大差别。

  起初,互联网使用网络层的软件协议,在可能会经历严重损伤的网络上提供可靠的通信。因此以太网的原始误码管理功能主要用于检测、隔离和避免网络中的新漏洞,而不是用于单个系统的鲁棒性。系统可靠性通过网络元件的复制来实现。后来的性能增强则增加了标准化的误码捕捉和误码提醒机制来简化网络管理。

   RapidIO具有与以太网类似的备份、误码捕捉和误码提醒功能。PCIe支持有限的备份策略,因为它的传输层仅限于树状结构。上文提及的PCIe非透明桥接(NTB)允许两个或多个树状结构进行通信,足以实现1+1备份(也称为1:1备份)。NTB很难拓展到采用N+M备份机制的系统。理论上多根I/O虚拟化(MRIOV)可以用来在PCIe系统中支持N+M备份,其中N+M的总数量不超过8。然而,由于MRIOV系统中的子树无法相互通信,从故障恢复可能要求系统中断运行,目的是重新配置系统,以便隔离故障元件,并采用新的元件。

与PCIe和RapidIO相比,以太网的误码检测机制通常比较慢,因为以太网是针对全球范围内分布的网络设计的。PCIe和RapidIO都有误码检测和提醒机制,其时延要比以太网小得多。

虽然PCIe和RapidIO都保证数据包的发送,但在误码条件下它们会弃包,以防止故障元件造成致命拥塞。然而,PCIe误码条件机制是不可配置的。当链路必须再学习时数据包通常会被丢弃。另外,PCIe隔离机制只在几个毫秒后就被激活。这些并不是所有系统都理想的行为。

相反, RapidIO标准允许对误码作出特殊系统响应,如链路再学习。当误码发生时,系统会立即开始弃包,或者它会保留包,并允许拥塞发生。RapidIO使用 '漏桶'式误码计数方法,并有两个可配置门限。DEGRADED门限能尽早提醒系统管理软件链路上正在发生误码。FAILED门限用于触发丢包以实现用户定义的误码率。RapidIO误码管理的灵活性反映了嵌入式系统设计人员的不断变化需求。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:264,222.70000 毫秒