RapidIO协议(1)
RapidIO协议
1.概述
1.1介绍
RapidIO是基于包交换互联协议,主要作为系统内部接口使用,如:芯片间、板间的通讯,速度能在GB/S数量级。如连接处理器、内存、内存映射的I/O设备。这些设备可能是网络设备、内存子系统或一般目的的计算。
RapidIO互连面向内存映射的分布式内存系统和子系统。这样的系统由多个独立的设备组成,它们之间使用DMA传输数据及设备间通过往后或往前传输信息以维护它们的一致性
RapidIO是系统互连的一个定义。系统的概念,比如处理器编程模型,Cache、系统复位、中断编程模型等超出了RapidIO架构的范畴,但是,这些功能可以使用RapidIO网络里提供的资源得以实现,比如,RapidIO架构提供必要的操作,以支持处理器编程模型,范围从整体存储有序化以维持严格的一致性到弱序化。在RapidIO架构规范里对这些方面的任何参考引用仅仅是为了描述,RapidIIO的后续规范可能会进一步定义这些系统功能。
虽然,这套RapidIO规范构建是基于分布式内存系统,未来的版本会扩展这些接口的能力和处理新的主题内容,比如串行物理层,全局共享内存,互相可操作性等,这些规范有满足本规范的自己独立的封装。
RapidIO采用三层架构:逻辑、通用传输层、物理层。
-
逻辑层:定义端点要求的操作协议,以及必要的交易包格式,通过这些协议进行目标操作。逻辑层不针对特定的传输或物理接口,因此,它们规定位流格式。为层架构里的较低层添加逻辑层的必要的位。因为应用程序使用不同的编程模型,所以,RapidIO结构为了支持它们,拆分成一些子协议,当前RapioIO逻辑层协议包括:
-
系统I/O协议规范:输入输出逻辑协议
-
消息传递协议规范。
-
在各自不同的封装下的附加逻辑层协议规范
-
-
传输层:公共传输层协议描述包路由寻址机制,以便将RapidIO包从一个端点传递到另一个端点,公共传输层是RapidIO所有的公共部分。
-
物理层:定义两个设备之间的接口和传包输机制、流控制、电气性能参数。
1.2 RapidIO特征集
RapidIO特征集和协议是基于通用计算和嵌入式应用做了很多考虑,每一层的特征可以分成三类:功能方面的特征、物理方面的特征和性能方面的特征。
1.2.1逻辑层特征
如果较大量的非相关数据封装在一个包里,消息传输和DMA设备能改善互联输效率,所以,RapidIO包格式支持不同尺寸的数据包,因为消息传递编程模型从本质上说是一个非相关非共享内存模型,在RapidIO设备里,内存空间某些部分仅能被一个处理器或一个控制消息传递接口的本地设备直接存取。
包头尽可能小以降低控制负荷并且包的组织、封装、拆解等操作更快更有效率。随着一个包中包含的数据增加,包的效率也增加。RapidIO支持数据负荷最大256字节,消息对嵌入式控制应用是非常重要的,所以,要支持大小数据域的变化和多包消息。
在系统里允许多次交易的并发传输,不仅能对单个设备进行流水交易,还能在多个设备之间分时使用接口。不具备这些特征,系统通过率的大部分会被浪费掉。
1.2.1.1功能特征
-
许多嵌入式系统是多处理器系统,而非多处理系统。为了支持分布式I/O和分布式处理等要求,特别在网络和路由市场,消息传递或基于软件的一致性编程模型优于传统的计算机类型的全局共享内存编程模型。RapidIO支持所有的这些编程模型。
-
无论是非常大还是非常小的系统,都支持同样的兼容的包格式,以满足将来的扩展和需求的变化。
-
读-修改-写原子操作对实现处理器之间,或者别的系统部件之间的同步是非常有用的。
-
RapidIO结构支持50-60bit的地址,也支持较小系统的34bit本地地址。
-
如果较大量的非相关数据封装在一个包里,消息传输和DMA设备能改善互联输效率,所以,RapidIO包格式支持变尺寸的数据包。
-
因为消息传递编程模型从本质上说是一个非相关非共享内存模型,RapidIO假设内存空间某些部分仅能被一个处理器或一个相对于那个内存空间是本地的设备直接存取。企图存取这一部分内存的远程设备必须通过一个控制消息传递接口的本地设备
1.2.1.2物理特征
-
RapidIO包的定义是独立于物理接口的宽度
-
协议和包的格式独立于物理互连结构,如点到点环节、总线型、多维交换网络、双串口连接等等
-
RapidIO不依赖于物理架构的带宽或延迟
-
协议处理失序的包发送和接收
-
在RapidIO里不要求地理寻址,设备的标识与它的地理位置无关,但是能通过其它方式分配标识符。
-
为了正确操作,某些设备有带宽和延迟要求,RapidIO不应该排除在系统实现时利用这些限制。
1.2.1.3性能特征
-
对网络应用,消息是非常重要的,所以为了提高效率,支持变化的大小数据域以及多包信息。
-
包头尽可能小,以降低控制代价,使得包的组织、封装、拆解效率更高。
-
多次交易允许并发,防止系统性能的浪费。
1.2.2传输层特征
1.2.2.1功能特征
-
系统尺寸可以很大也可以很小,但是都是一样的或兼容的包格式
-
因为RapidIO仅有一个传输协议,在不同的具体的实现中的兼容性是被假设存在的
-
传输协议是灵活的,所以,适应将来的应用。
-
包总是被假设从一个源到一个目的地。
1.2.2.2物理特征
-
传输层定义独立于物理接口的宽度。
-
在RapidIO里不要求地理寻址,设备的标识与它的地理位置无关,但是能通过其它方式分配标识符。
1.2.2.3性能特征
-
包头尽可能小,以降低控制代价,使得包的组织、封装、拆解效率更高。
-
广播和多播能够通过在互联结构中的解释传输信息来实现。
1.2.3物理层特征
1.2.3.1功能特征
-
RapidIO在通讯的设备之间提供流控制机制,因为任何设备都不可能实现无限长度的数据缓冲。
1.2.3.2物理特征
-
连接可以是:点到点单向、一进一出、8-bit或16bit端口
-
物理层协议和包格式在某种程度上独立于物理互联的拓扑结构,然而,物理结构假设是链式的
-
不依赖于物理结构的带宽或延迟
-
物理层协议处理失序和有序的包传输和接收
-
物理层协议容忍系统里因高频操作或过高噪声引起的瞬时错误
1.2.3.3性能特征
-
物理协议和包格式允许最小的到最大的数据符合尺寸
-
包头尽可能小。以减轻控制代价,使得包的组织、封装、拆解效率更高。
-
系统允许并发交易,以防止浪费系统潜在性能
-
电器特性允许最高可能的速度。以备将来。
转载自:http://blog.csdn.net/shanghaiqianlun/article/details/50513068
http://xilinx.eetrend.com/article/10510