srio 01 学习
介绍
RapidIO是一种高性能、 低引脚数、 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯,可作为嵌入式设备的背板(Backplane)连接。
层次划分
逻辑层
其中逻辑层位于最高层.定义全部协议和包的格式,它们为端点器件发起和完成事务提供必要的信息。
传输层
传输层规范位于中间层,定义了RapidIO地址空间和在端点器件间传输包所需要的路由信息。
物理层
物理层规范在整个分级结构的底部,包括器件级接口的细节,如包传输机制、流量控制、电气特性和低级错误管理等功能。
Rapid IO分为并行Rapid IO标准和串行Rapid IO标准,串行RapidIO是指物理层采用串行差分模拟信号传输的RapidIO标准。在Xilinx的一部分FPGA里面已经集成了GTP,GTX或GTZ等高速串行收发电路,这些是FPGA实现RapidIO高速传输的物理层基础。
协议
包与控制符号
RapidIO操作是基于请求和响应事务的。
包是系统中端点器件间的基本通信単元。发起器件或主控器件产生一个请求事务,该事务被发送至目标器件。目标器件于是产生一个响应事务返回至发起器件来完成该次操作。 RapidIO事务被封装在包中,而包则包含确保将事务可靠传送至目标端点的所有必需的位字段。通常不会将RapidIO端点相互直接连在一起,而是通过介于其间的交换结构(fabric)连接。名词“交换结构”指的是提供系统互连的单个或多个交换器件的集合。
控制符号用于管理RapdIO物理层互连的事务流,也用于包确认、流量控制信息和维护功能。
事务类型及编码
查手册
消息传递
当数据必须被系统中的多个处理器件共享时,必须由协议维护和管理多个器件对共享数据的临时占用,许多嵌入式系统用软件机制实现该协议。如果存储器空间可被多个器件访问,可以使用锁或者信号量来保证器件间正确的访问次序。在其他情况下,处理部件可能只有访问本地存储器空间的权利,在这些“非共享”的系统中,需要一种机制把数据从一个处理器件传递到另一个器件。使用消息传递(Message Passing)信箱(Mailbox)可以实现这种机制。
RapidIO提供了一种有用的消息传递机制, RapidlO消息传递协议描述了支持信箱和门铃通信的事务。RapidIO信箱是一个端口,器件间可通过它发送消息。接收器件在消息到达后对其进行处理。RapidIO消息的长度从0到4096字节不等。一个接收器件有1~4个可寻址消息队列来捕获输人的消息。
RapidIO门铃 (Doorbell )是一种基于端口的轻量级事务,可用于带内(in-band)中断。门铃消息包括一个由软件定义的16位字段,该字段可用来在两个器件间传达多种不同意图的消息。
全局共享存储器
支持全局共享的分布式存储器系统是RapidIO协议的扩展功能之一。这意味着可以把存储器放到系统中不同的物理位置上, 可以正确地在不同处理器件间缓存。
RapidIO制定了一种基于目录的一致性解决方案来支持这种方法。使用这种方法,每个存储器控制器都有责任跟踪每个数据元素的当前副本在系统中位于什么位置,为一致域中的每个器件维护一个目录,跟踪每个器件的修改、共享、位置(MSL)等简単的一致性状态。
流量控制
流量控制是任何互连技术的重要内容。流量控制是指在任意时间互连技术采用某些规则和机制,根据这些规则和机制决定任意时间从可能获得的若干事务中选择哪一事务进行发送。流量控制的目的是使器件完成系统中的事务,避免被其他事务阻塞。基于总线的互连技术使用仲裁算法来确保器件进行恰当的转发操作,确保高优先级的事务优先于低优先级的事务得到转发。采用交换的互连技术,事务从系统的不同位置进入,从而无法使用集中式的仲裁机制。这就需要一种管理系统中的事务流的方法。RapidIO使用若干补充机制来获得系统中平稳的数据流并避免系统死锁。
srio 02 手册笔记
Input/Output Logical
Overview
IO逻辑层定义了互联的协议和包格式,这一层包含了事务执行结束的必要信息。
逻辑层不考虑具体传输方式和物理接口,所以以比特流格式指定,传输所需要的编码在其他层实现。
RapidIO是系统连接的定义,处理器编程模型和内存一致性模型不需要考虑。
输入输出规范
功能特性:DMA读写、尺寸考虑扩展并支持长度变化范围大、支持50~66位变化……
物理特性:不依赖物理连线的延迟和带宽……
性能特性:包头必须很小以减少控制消耗……
System models
介绍RapidIO系统中一些可能的设备,几种应用模型
- 处理器-内存
- 集成式处理器-内存(集成agent进入处理器
- 仅内存(只有内存控制器):用于外部内存
- 仅处理器
- ……
System Issues
RapidIO中事务传输顺序和系统死锁的考虑执行系统
一些任务要求事件按照特定顺序执行,需要系统规则来保证操作顺序,顺序主要式具体的源和目标对之间。
在某些情况下,c发出处理元素对两个操作序列之间的完成顺序没有要求,也可能希望一个操作序列比另一个操作序列具有更高的优先级。“transaction request flow”被定义为这些操作序列之一。
transaction request flow被定义为从源到目标
参考链接
- https://blog.csdn.net/qq_22168673/article/details/102955594
- https://www.cnblogs.com/liujinggang/p/9925859.html
- 本文作者: Zheng Yuchen
- 本文链接: https://zycccccc.top/2021/07/13/外设/srio01/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!