SRIO RapidIO (SRIO)协议介绍(-)
1 导读
1.1 与PCIe的差异
典型的PCIe结构定义了一个以单个中央处理器为核心的计算机系统,比如我们常见的工控机、PXIe机箱控制器、服务器内的IO设备。从系统架构来看,这个结构的优势在于可有统一的软件驱动,软件模型,设备间具备优异的兼容性。兼容性才是王道,厂商就可以用一个标准包打天下。

图 1‑1 PCIe 互联架构
PCIe 的帧格式如下图所示。帧由 1 字节的帧起始、2 字节的序列号、16 或 20 字节的报头、0 到 4096 字节的数据字段、0 到 4 字节的 ECRC 字段、4 字节的 LCRC、和 1 字节的帧结束。数据字段中传输的位数越少,开销就越大。零字节数据字段会导致 100% 的开销,因为没有传输数据。

图 1‑2 帧格式
1.2 RapidIO
RapidIO定义了一种高性能、分组交换互连技术,用于在微处理器、DSP、通信和网络处理器、系统内存和外围设备之间传递数据和控制信息。RapidIO 适用于点对点的设备间通讯,不需要经过一个中央处理器进行调度,就可以完成设备间的通讯,并且包长度简单,效率相对于PCIe要更高,有效数据传输速度更快。但是RapidIO没有定义标准的软件模型,这就导致厂家之间的设备大概率无法兼容,从而只能在某些领域进行部署,不易推广。

图 1‑3 RapidIO 互联架构
RapidIO 由于比PCIe更简单、更高效、延迟更低等特点,已经在嵌入式领域、图像处理、通讯系统、军工航天有了大量的应用。
我们来看一个应用场景,在医学影像等图像处理领域,经常需要扩展单块DSP、FPGA的计算能力,这时候需要将多个DSP或者FPGA通过高速串口进行互联,此时RapidIO就是当前互换性最好的一个最佳选择,因为PCIe太过复杂,Xilinx的Auraro效率也不满足要求,并且互换性不好。
我们来看一下在RapidIO之前,实现多个DSP系统互联的方法:

图 1‑4 多个DSP设备通过网络互联

图 1‑5 多个DSP设备可以通过RapidIO 实现任意互联通讯
2 可用的验证硬件
目前具备SRIO接口的硬件不多,我们推荐2类可用的开发板:
1、创龙科技开发的TI DSP开发板 https://tronlong.com/Product/show/9.html ,也可用于评估EMIF等接口
2、Xilinx 的KC705等具备高速GTX/GTP接口的开发板,Xilinx提供了兼容SRIO 2.2的IP可供评估;
SRIO RapidIO (SRIO)协议介绍(-)的更多相关文章
- TCP/IP 协议介绍
转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...
- 第二章 ZAB协议介绍
ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...
- JSON-RPC轻量级远程调用协议介绍及使用
这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用.jsonrpc4j使用Jackson类库实现Java对象与JSON对象之间的相互转换.jsonrpc4j包含一个JSON- ...
- [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP ...
- Python基础教程之udp和tcp协议介绍
Python基础教程之udp和tcp协议介绍 UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但 ...
- 常用音频协议介绍&&有关音频编码的知识与技术参数
(转载)常用音频协议介绍 会议电视常用音频协议介绍及对比白皮书 一.数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线.通常人耳可以听到的频率在20 ...
- 各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT_转
转自:各种开源协议介绍 BSD.Apache Licence.GPL V2 .GPL V3 .LGPL.MIT 现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的 ...
- OSPF协议介绍及配置 (上)
OSPF协议介绍及配置 (上) 一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加 ...
- VRRP协议介绍--转
http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...
随机推荐
- (2)_引言Introduction【论文写作】
- 菜鸟的谷歌浏览器devtools日志分析经验
1 别管什么性能,尽可能输出详细的必要日志.(除非你明显感觉到性能变低,而且性能变低的原因是由于日志输出太多而引起的) 2 不要总是使用console.log,试试console.info, cons ...
- H5: 表单验证失败的提示语
前言 前端的童鞋在写页面时, 都不可避免的总会踩到表单验证这个坑. 这时候, 我们就要跪了, 因为要写一堆js来检查. 但是自从H5出现后, 很多常见的表达验证, 它都已经帮我们实现了, 让我 ...
- VueJs项目笔记
======================知识点总结=========================== 一.keep-alive(实现页面的缓存) 二. 移动端固定定位的解决方案 三. Vue表 ...
- python-正整数的因子展开式
[题目描述]编写程序,输出一个给定正整数x(x>1)的质因子展开式. [输入格式]请在一行中输入整数x的值. [输出格式]对每一组输入的x,按以下格式输出x的质因子展开式(假如x的质因子分别为a ...
- 01 | 堆、栈、RAII:C++里该如何管理资源?(极客时间笔记)
基本概念 堆,英文是 heap,在内存管理的语境下,指的是动态分配内存的区域.这个堆跟数据结构里的堆不是一回事.这里的内存,被分配之后需要手工释放,否则,就会造成内存泄漏. C++ 标准里一个相关概念 ...
- Blazor 生命周期
执行周期 1. SetParametersAsync 2. OnInitializedAsync(调用两次) 和 OnInitialized: 3. OnParametersSetAsync 或 On ...
- JavaWeb学习day6-Response初学
web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpSevletRequest对象,代表响应的一个HttpSevletResponse 如果要获取客户端请求过来的数据, ...
- Java学习day27
今天跟着做了一个模拟龟兔赛跑的程序 只有一条赛道,乌龟和兔子在同一条赛道上比赛,使用了多线程 为了实现兔子睡觉,在run方法内增加了当前奔跑者是否是兔子的判断且当前奔跑步数是否是10的整数倍的判断,如 ...
- gin框架使用【1.Hello World】
package mainimport ( "github.com/gin-gonic/gin")func main() { router := gin.Default() rout ...