新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > Rapid IO---成就高速互连之美

Rapid IO---成就高速互连之美

作者:时间:2008-06-06来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/258683.htm
Ack ID被接收方用作发送响应包的ID号,表明此包是否被接收端接收,或是需要重传。Rapid IO协议定义了两个bit位用于表示包的优先级,所以共有4个优先等级,0是最低的,3是最高的,优先级高的包将被交换器优先传送。


每一个数据包都会被物理层附加上一个或两个16bit的CRC字段,用于接收方判断接收到的数据包的完整性,小于80个字节的数据包只有一个CRC,大于80个字节的数据包除了在第80个字节后有第一个CRC字段后,还会在包的末尾再加上一个CRC字段,实现数据包的检错,自动纠错和自动重传的功能,保证数据包被对端完整正确的接收。第一个CRC字段可用于对大数据包包头的验证,这样就可以在整个数据包被接收下来之前就可以进行对数据包的处理,交换器的直通模式就是利用了这个特性,这样可以有效减少传送时延。ACKID并不包括在CRC的计算范围内,这几个bit位在计算CRC时用0代替,这样就保证了在每一个链路上CRC无须被重新计算,当然如果HOP_COUNT字节有变化时,CRC还是需要重新计算的。

传输层:


Rapid IO的第二层是传输层,实现Rapid IO数据包的路由、传送。所有的逻辑层协议均使用单一的传输层实体来实现,这样无论逻辑层怎么变化,或是采用何种方式来封装应用,都可以用单一的传输层实体来实现,即使有新的逻辑层规范出现,也可以用这个单一的传输层来实现。

Rapid IO的路由和交换是通过每个终端设备的ID号来实现的。每一个终端都会分配一个唯一的ID号,当一个终端发出一个数据包时,在它的包头中包含有目的终端的ID号和发送源端的ID号。每一个交换器在它的每一个端口上都有一个交换路由表,根据此表就可以决定此数据包由那一个端口送出。每个端口的路由表需要在系统初始化时进行配置,这与以太网相比,显得不是非常的灵活和智能,但正是如此,使得系统的路由实现变得非常简单。同样对于组播功能的实现也变得简单,只是由单一的传输层就可以实现了。

Rapid IO系统构成如左图,包括两类器件,一个是终端,产生数据包和接收数据包;另一类是交换器,实现数据包在各个端点间的路由和传送,且不对数据包做解释。


Rapid IO的传输层包头中的另一个字节是HOP_COUNT,是用来实现终端对交换器的初始化和路由配置,Rapid IO交换器的配置可以用任一个与之相连的终端进行配置,当交换器收到一个数据包时,它会首先判断收到包的HOP_COUNT值,如果此值是0则由此交换器终结此数据包,交换器利用此数据包的数据进行读写操作;如果此值不是0,则交换器将此值减一,然后按照目的ID值查路由表进行转发。如果是要对级连的多个交换器进行配置,可以在发送这些维护包时设置HOP_COUNT为0,1,2等对与之相连的第一个交换器,第二个交换器以及第三个交换器,以此类推。

逻辑层:


在Rapid IO的体系结构中定义了6种基本操作,用来执行相应操作的事务和对操作的描述。这6种操作包括:NREAD(读),NWRITE(写),NWRITE_R(写操作,但操作结束前需要等等一个响应);SWRITE(流写,面向大数据量DMA传送);Atomic(原子操作:读-修改-写);Maintenance(维护包,以Rapid IO专用寄存器为目标的事务,如:系统发现,初始化、配置以及系统维护)。

在消息传递系统中,经常使用两种机制将命令或数据从一个器件到另一个器件,一个是DMA(直接内存访问),另一个是messaging(消息)。使用消息传送时,发送端只须访问目标,而不需要象DMA方式那样,还需对目标的地址空间的可见性。

Rapid IO定义了两种不同的包格式用于消息事务,第10类包格式(door bell)和第11类包格式,doorbell非常适合传送8bit或16bit短信息,可以用于处理器的中断等。第11类消息数据所最大的载荷是4096字节,可以由16个消息事务组成,每个最大载荷是256字节。Rapid IO可以支持4个讯息信箱(mailbox),每个信箱可以最多装入4个信件,这样发送方可以同时发送4个信件到同一个目标信箱。


除此,Rapid IO也具备Data Streaming的逻辑层协议,为封装和传输通过Rapid IO交换器的数据流提供一种标准方法。支持独立流事务,通过SAR功能支持长度可变的PDU,且与内部的PDU协议无关,提供对虚拟流识别功能;Rapid IO流是由源ID、目的ID与传送链路组成的逻辑结构,为了支持固定、较小的包长,必须对较长PDU分段处理,数据流支持分段传输以及重组还原操作,在段落类型上主要有:开始(Start)、继续(Continuation)和结束(End), 当然可能会有多个继续段。虚拟流被定义为协议数据单元定序集,可以对各个数据流进行识别,在输入输出器件对之间可以只存在一个单独的流,系统也可以为每一用户和流量类型的组合分配一个单独的流,使用虚拟流标识最多可标识四百万个流,特定的流量级别可以提供基于优先级、延迟和吞吐率等因素的流量商定,可以根据中最高位的优先次序处理交换结构中的流量。


流量控制是任何互连技术的重要内容,Rapid IO提供了链路级的流量控制和端到端的流量控制两种方式,由于业务流与物理连接和系统拓朴结构相关,规定流量控制为Rapid IO物理层规范的内容,同时定义了重传、限速和基于信用三种流控方式,保证Rapid IO数据流的正确传送。除了链路级的流量控制处,同时Rapid IO也定义了端到端的流量控制机制,链路级流控管理紧相连的两个器件,但对于来自多个源,发往同一个或多个目的地的流量会很大程度上降低系统的性能,端到端的流量控制使用由交换或是端点器件产生的特殊拥塞包来控制流量,通过交换器件将拥塞控制包传回到源端,源端可根据收到的控制包暂停发送数据包一定时间,通过限制源头流量来达到流量控制的目的。单一的Rapid IO传输层结构使得拥塞数据控制包的传送变得非常简单,交换结构只是把他当作普通数据包进行传送,但包的优先级可能不同。


三、 Rapid IO在高速系统设计中的应用


目前,Rapid IO在无线基站系统中已经得到了广泛的应用,同样在视频处理,语音处理,高性能计算机及存储领域也会得到越来越多的应用。在实现芯片到芯片之间、板与板之间的高速互连上,Rapid IO所能带来的好处也越来越直观,对于简化系统设计、高带宽、低延时等特点也被开发人员广泛接受。


下一代的Rapid IO在应用上也要向机箱与机箱间的高速互连方向上发展,同时也会提供更高的传输速率,2.0规范中已经可以实现40Gbps的带宽。我们相信,随着越来越多的处理器支持Rapid IO接口,Rapid IO的应用前景会越来越光明。

作者简介:
姓名:裴济杰
工作单位:加拿大腾华半导体上海代表处
职务:资深技术支持工程
联系信息:地址:上海市人民路885弄淮海中华大厦1410室
电话:021-63114043 13501798266
邮编:200070


上一页 1 2 下一页

关键词: RapidIO 总线

评论


相关推荐

技术专区

关闭