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
RapidIO协议(1)的更多相关文章
- 【高速接口-RapidIO】1、RapidIO协议概述
一.RapidIO背景介绍 RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能. 低引脚数. 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放 ...
- 1.RapidIO协议概述
转自https://www.cnblogs.com/liujinggang/p/9925859.html 一.RapidIO背景介绍 RapidIO是由Motorola和Mercury等公司率先倡导的 ...
- RAPIDIO高速串行协议
RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能. 低引脚数. 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准.RapidI ...
- 【高速接口-RapidIO】6、Xilinx RapidIO核仿真与包时序分析
提示:本文的所有图片如果不清晰,请在浏览器的新建标签中打开或保存到本地打开 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:Vivado2015.4.2 ...
- 【高速接口-RapidIO】5、Xilinx RapidIO核例子工程源码分析
提示:本文的所有图片如果不清晰,请在浏览器的新建标签中打开或保存到本地打开 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:Vivado2015.4.2 ...
- 【高速接口-RapidIO】4、Xilinx RapidIO核详解
一.RapidIO核概述 RapidIO核的设计标准来源于RapidIO Interconnect Specification rev2.2,它支持1x,2x和4x三种模式,每通道的速度支持1.25G ...
- 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程
一.引言 前几篇文章已经谈到RapidIO的协议,串行物理层与控制符号. RapidIO协议包括读事务(NREAD),写事务(NWRITE),流写事务(SWRITE),有响应的写事务(NWRITE_R ...
- 【高速接口-RapidIO】2、RapidIO串行物理层的包与控制符号
一.RapidIO串行物理层背景介绍 上篇博文提到RapidIO的物理层支持串行物理层与并行物理层两种,由于Xilinx 部分FPGA内部已经集成了串行高速收发器,所以用FPGA实现RapidIO大多 ...
- 2.RapidIO串行物理层的包与控制符号
转自https://www.cnblogs.com/liujinggang/p/9932150.html 一.RapidIO串行物理层背景介绍 上篇博文提到RapidIO的物理层支持串行物理层与并行物 ...
随机推荐
- 1353表达式括号匹配(stack)
[题目描述] 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”:否 ...
- 【原创】项目管理软件之争,禅道和JIRA大对比
本文摘要: 一. 产品介绍 二. 界面设计 1. 界面颜色设计 2. 布局结构 三. 功能区别 四. 价格对比 五. 后期服务 六. 优缺点 七. 总结 说到项目管理软件,不得不提的是禅道和JIRA. ...
- [BZOJ 1305] 跳舞
Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1305 Solution: 发现res是否可行具有单调性,二分答案 容易看出每次check ...
- POJ 2345 Central heating(高斯消元)
[题目链接] http://poj.org/problem?id=2345 [题目大意] 给出n个开关和n个人,每个人可以控制一些开关,现在所有的开关都是关着的 一个指令可以让一个人掰动所有属于他控制 ...
- 【数论】【素数判定】CODEVS 2851 菜菜买气球
素数判定模板. #include<cstdio> #include<map> using namespace std; ],ans=-,l,r,n,sum[]; bool is ...
- 【博弈论】poj2348 Euclid's Game
假设当前b>a. 一.b%a==0 必胜 二.b<2*a,当前我们没有选择的余地,若下一步是必胜(最终能到情况一),则当前必败:反之,当前必胜. 三.b>2*a,假设x是使得b-ax ...
- easyui-validatebox 的简单长度验证
验证: 页面代码: <form id="invoiceEdit"> <input id="fpdm" name="fpdm" ...
- Android 拍照、从相册获取及裁剪的相关实现
首先这些功能都是通过Intent去启动系统的服务去实现的,所以自然就有相应的Action.相关Actiong如下: 拍照——MediaStore.ACTION_IMAGE_CAPTURE (" ...
- LVM分区管理和扩展
一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它 ...
- C# 中 in,out,ref 的作用与区别
In:过程不会改写In的内容 Out和out:传入的值不会被过程所读取,但过程可以写 ref:传入的值,过程会读,也会写 就象你把布料送到裁缝的一个收料箱(裁缝用这个区别是哪家客户) IN:这块布料, ...