
串行rapidio在多dsp系统中的应用初探.pdf
4页总第226期 2008年第8期计算机与数字工程 Computer 如果采用拓宽总线得方法来提升传输速率,也因为同 样的原因会降低系统的最高频率,同时宽总线也会 占据更多芯片管脚和电路板面积,从而增加了设备 的开销,同时降低了可提供的连接数目;在多点接 入的共享总线中电能耗损巨大:增加节点数会增大 电容,在所需的频率下,需增大电压才能驱动总线;另外,传统的互连结构还有诸如安全性差、 容错性 差等一系列问题总之,他们都不适合多处理器大 规模信号处理系统中DSP之间的高速数据传输DSP阵列需要通过一种特殊的方式互联,以支持更高 的带宽,同时进行低延时的双工通信现在,设计师正把目光转向点对点高速串行连 接(带嵌入式时钟和数据) ,以期能够解决多DSP 互连发展过程中遇到一系列问题这些串行连接 的特点包括:3收稿日期: 2008年4月3日,修回日期: 2008年5月27日作者简介:王帆,硕士研究生,研究方向:计算机系统结构,高速串行通信等刘云,研究员,硕士生导师,研究方向: 计算机系统结构,并行计算方向等相关领域的研究与开发工作第36卷(2008)第8期 计算机与数字工程 1)窄总线宽度:窄总线接口能减小信号偏移,为提高系统时钟频率提供了前提条件,降低了信号 线等长的限制,减小布线难度;2)源同步:参考时钟信号嵌入数据,能实现长 距离高频传输;3)点对点:为每一块设备分配独享通道带宽,允许不同器件并发传输,充分保障了各设备的宽带 资源传输效率;4)物理层基于低电压差分信号:在1米距离 内可传输高速信号,低摆幅高速信号使系统功耗降 低,采用紧耦合差分信号,降低电磁干扰( EM I, E2lectro M agnetic Interference) ,可高效、 准确传输高 速信号。
由此不难看出,未来高速I/O的方向正逐步 转向高速串行传输技术:以串行I/O取代源同步 并行I/O,以差分方式取代单端方式,以Point-to-Point(点对点)方式代替B ig Pipe方式,以Sw2tich Fabric (交叉开关结构)替代共享总线目前, 国外著名设计厂商提出的高速串行传输系统主要 有RapidIO、PC I Express、HyperTransport、Infini2Band、Fibre Channel等3 RapidIO技术介绍RapidIO是由M otorola等公司率先倡导的一 种新型高性能、 低引脚数、 基于数据包交换的互连 体系结构,是为满足现在和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准RapidIO主要着眼用于紧耦合系统内部互连, 支持芯片到芯片、 板到板间的通讯其协议支持信 息传递编程模式和可选全局共享公布式存储编程 模式这样它能在同一协议下同时进行一般情况下的多进程处理和分布式IO处理RapidIO有两 种互连方法:一种是支持高性能微处理器和系统互 连的并行接口;另一种是用于串连底板、DSP及其 串行控制平台的串行接口RapidIO互连规范同 时包含的兼容于系统架构的并联和串联体系使RapidIO的串口到并口的转换不需要任何协议。
RapidIO互连与其它各种市场上的连接技术 共存且兼容但是其它的连接很少能在支持的广 泛性上(支持芯片间连接及背板连接)、 功能上和 性能上与RapidIO相比:以太网作为系统间互连很好,但它的协议处理开销,以及“ 尽最大努力传输 ” 的特性,高带宽带来的高成本使它在系统内互连时 缺乏吸引力;先进交换互连(ASI)只是面对Ra2pidIO面向的一小部分子市场,而且ASI缺乏可扩展性,不适合大的交换架构,因为它只支持8级流量控制; PC I Express并非面向嵌入式应用,它在其 树形拓扑结构层次的基础上上使用以中央DMA 映射寻址编程模式限制了它在分布式计算模式中 的应用,在这种模式中多喜欢用点对点对等通讯 对嵌入式系统尤其是无线基础设施,串行RapidIO是最佳的互连技术:1)它的管脚最少,可充分利用板上的空间2) RapidIO技术对软件透明,允许任何数据协 议运行它同时通过提供自建的纠错机制和点对 点架构来排除单点故障,满足嵌入式设计的可靠性需求3)理解嵌入式系统的需求,今天的嵌入式设 备通常采用分布式处理模式的SOC元件,这些情 况与台式计算机的应用不同PC I Express这样的 互连用分层的单地址空间模式足够支持台式机应用但并不一定能够满足SOC在嵌入式应用中独特 需求。
4) RapidIO将软件透明度、 可升级性和芯片尺 寸最小化放在优先考虑的位置, RapidIO在设计开 始就考虑了成本、 性能和可靠性,可以为未来的分布式、 高度可用性、 容错的存储系统提供系统级互 联;为背板到芯片,芯片到芯片提供可拓展的基础 设施5) RapidIO还提供了很强的错误处理和恢复 功能此外,高达10gb /s的带宽、 低时延和低软件复 杂度满足了飞速发展的通信技术对性能的苛刻需 求;串行差分模拟信号技术满足了系统对引脚数量 的限制,及对背板传输的需求;灵活的点对点对等 互连、 交换互连,和可选的1.25G /2.5G /3.125G三种速度能满足多种不同应用的需求311 RapidIO网络的基本构成 通常, RapidIO系统是围绕交换机来组织的 如图1所示,除了交换机( sw itches)以外, RapidIO 网络的另外一个基本结构是端点( end points) ,端点(endpoints)是数据包的源发送者和接收者;交换 机(sw itches)用来在端口之间传送数据包,但对这 些数据包并不进行解析3.2 RapidIO协议结构和包格式RapidIO协议分为三层:逻辑层、 传输层和物理层。
· 逻辑层:最高层说明在RapidIO中应用程 序是如何通信的定义全部协议和包的格式,为端 点器件发起和完成事务提供必要的信息RapidIO502王 帆等:串行RapidIO在多DSP系统中的应用初探第36卷图1 一个小型基于交换的RapidIO网络支持的逻辑层事务主要是直接IO /DMA和消息传递两种 · 传输层:中间层定义RapidIO的地址空间 并为包在端点设备间传输提供必要的路由信息RapidIO传输层既支持小网络也支持大网络,小网 络只需要8位源ID和8位目的ID (256个独立端点的地址)最多有6.4万个独立端点的大网络 则需要16位源ID和16位目的ID,交换器件根据 包的目地器件ID进行包的转发 · 物理层:最底层描述设备间接口的细节, 明确说明包传输机制、 流控机制、 电气特性和底层错误处理物理层包括8位/16位并行接口标准 和1x /4x串行接口标准RapidIO采用差分交流 耦合信号传输数据,并使用8b /10b编码方案和CRC校验码来进行流量控制和错误管理 这种层次划分便于在逻辑层增加新的事务类型而无需更改传输层和物理层规范 像以太网一样, RapidIO也是基于包交换的互 连技术。
如图3所示, RapidIO包由包头、 可选的 载荷数据和16位CRC校验组成包头的长度因 为包类型不同可能是十几到二十几字节每包的载荷数据长度不超过256字节,这有利于减少传输 时延,简化硬件实现图2 RapidIO的包格式上述包格式定义兼顾了包效率及组包/解包的 简单性RapidIO交换器件仅需解析前后16位, 以及源/目地器件ID,这简化了交换器件的实现3.3 RapidIO的流控机制流量控制是互连系统的重要功能,它的目标是 保证数据在系统内传输时不发生拥塞传统总线 机制的互连系统使用一个仲裁机构来保证数据传输的先后顺序,让那些对时间敏感的数据先传,对时间不敏感的数据后传然而,基于交换机构的互 连体系中没有一个集中的仲裁中心,这就使得必须 寻找另外的流控方法RapidIO系统一般采用基于交换的拓扑结构, 采用源路由和标记事务优先级等方法有效预防报文阻塞每个RapidIO报文均带有事务优先级信 息,每种事务优先级均与一种事务请求流相对应, 目前已定义了三种事务请求流事务请求流允许 高优先级的请求超越低优先级的请求RapidI O支持 三种流控机制,即重传、 节流和基于信用的流控1)重传机制是硬件错误恢复的一部分,它不 仅用于流控,还用于硬件错误恢复。
当由于数据包 的丢失和差错使目标器件不能收到正确的数据包 时,目标器件可以响应一个重传控制符给源地址器 件,要求它重新传输该数据包2)节流机制使用空闲控制符,发送报文时可 以在报文当中插入空闲控制符,以便发送方在报文 中插入等待状态另一方面,接收方也可以通过向 发送方发送一个节流控制符,通知发送方通过插入 空闲控制符来减慢流速3)基于信用的流控机制可供带有事务缓冲池 的设备(尤其是交换机)使用该策略使用特定的 控制符指明接收方每种事务流对应的缓冲池现状, 发送方只有在得知接收方有可用的缓冲空间时才 发送报文,若接收方没有足够的缓冲空间时,发送方将停止发送数据包根据信用信息交换机可以 发现下游的阻塞情况从而可以作出更好的报文输 出选择3.4 RapidIO的错误管理RapidIO互连的设计目标是高性能、 高可用性的嵌入式基础设施,因此RapidIO规范对错误处理 给予了高度重视这些应用需要系统各方面性能 都保持稳定且可靠,这包括位错误、 丢包、 序列包顺 序错误和设备工作不正常等许多方面在嵌入式 基础设施应用中,系统平均故障间隔时间和平均修复时间通常是重要的考虑因素,多数的RapidIO错 误恢复是通过物理层规范来实现的,这样系统能够 在最短的中断时间内从错误中恢复过来,而且根据 物理环境支持不同的错误管理策略,不会对其他规 范层产生影响。
在RapidIO的链路层除错过程中,使用了循环 冗余校验码来检测包错误,通过发送控制符号及其 反码检测控制符号错误使用ACKID字段,以严 格的顺序进行包的传送与确认,通过将祯信号视为602第36卷(2008)第8期 计算机与数字工程 不归零NRZ信号,覆盖意外造成的信号跳变错误此外,串行RapidIO物理层还运用8b /10b编码机 制进行错误检测 当发现数据包的校验出错时,设备会发送控制 符来验证发送和接收双方是否仍然同步,同时用重 传包控制符号通知发送方尝试再次发送一个数据包如果通信中止,看门狗就会出现超时,自动恢 复状态机则会试图重新进行同步,并再次传送当 接口发生严重故障时,其硬件就很难获得合理的恢 复在这一极端条件下, RapidIO硬件会发出中断 信号,让系统软件介入,启动更高层次上的错误纠正协议,直至查询维护寄存器来重新设置接口当前 状态并试图用带内器件复位控制符号来重起接口4 串行RapidIO在多DSP系统中的 应用方案如图所示,几个DSP通过串行RapidIO互相 连接起来,在几个DSP内部利用串行RapidIO协 议,数据在几个DSP之间高速运转。
另外,还可以 通过一个外部的控制处理器来实现控制这几个DSP的一些功能,可根据需要给每个DSP分配不同的算法模块,对多个DSP进行负载均衡,从而去 实现更高的运算效率图3 RapidIO在DSP阵列中的初步应用这种DSP之间使用串行RapidIO互连有很多优点:1) RapidIO协议分为三层,所有DSP可以集中进行数据符号计算2)拥有可以升级的交织查找表,可以平衡几 个DSP的工作量3)这种点到点的开关互连可以满足更高更复 杂的要求,比如多用户检测等等4)协议中四种优先级设定,允许高优先级的优先通信5) RapidIO中的数据流,可以选择第六种数据 类型,允许数据传输具有更小的包头5 结语由以上论述可知在多DSP系统中实现和验证RapidIO技术有巨大的理论和实际意义 利用RapidIO协议进行互连的DSP阵列能够 很灵活地实现多种功。












