串行RapidIO连接功能增强DSP协处理能力
目前,对高速通信与超快计算的需求正与日俱增。有线和无线通信标准的应用随处可见,数据处理架构每天都在扩展。较为普遍的有线通信方式是以太网(LAN、 WAN和MAN网络)。手机通信是最为常见的无线通信方式,由应用了DSP的架构实现。电话作为语音连接的主要工具,目前正在不断满足日益增强的语音、视频和数据要求。
系统设计人员在创建架构时不仅需考虑三网合一模式这一高端需求,还需满足以下要求:高性能、低延迟、较低的系统成本(包括NRE)、可扩展、可延伸架构、集成现成(OTS)组件、分布式处理、支持多种标准和协议。
这些挑战涉及到两个主要方面:有线或无线架构中计算平台/箱间的连接以及这些平台/箱中的具体计算资源。
计算平台间的连接
基于标准的连接目前较为普遍。并行连接标准(PCI、PCI-X、EMIF)可以满足现在的需求,但在扩展性和延伸性方面略显不足。随着基于包处理方式的出现,使用趋势明显偏向高速串行连接(图1)。
图1 串行连接趋势
台式电脑和网络工业已采用了PCI Express(PCIe)和千兆位以太网/XAUI等标准。不过,无线架构中数据处理系统的互连要求略有不同:低引脚数、背板芯片对芯片连接、带宽和速度可扩展、DMA和信息传输、支持复杂的可扩展拓扑、多点传输、高可靠性、绝对时刻同步、服务质量(QoS)。
串行RapidIO(SRIO)协议标准可轻易满足并超过大多数上述要求。因此,SRIO成了无线架构设备中数据平面连接的主要互连。
图2 SRIO网络构建模块
SRIO网络围绕两个基本模块构建而成:端点和交换机(图2)。端点对包进行源端(source)和宿端(sink)处理,而交换机在端口间传送包,对其不加解析。SRIO以一个三层架构层级指定(图3)。
图3 分层SRIO架构
1. 物理层规范说明器件级接口的细节,如包传输机制、流量控制、电气参数及低级错误管理。
2. 传输层规范为包在端点间移动提供必需布线信息。交换机通过使用基于器件的布线在传输层中运行。
3. 逻辑层规范定义总体协议和包格式。所有包的有效载荷字节数为256或更少。事务使用指向34-/50-/66位地址空间的加载/存储/DMA操作。事务包括:NREAD-读操作(返回数据即为响应)、NWRITE-写操作,无响应、NWRITE_R-强韧型写入,响应来自目标端点、SWRITE-流式写入、ATOMIC-原子性读/改/写、MAINTENANCE-系统查找、探测、初始化、配置和维护操作。
SRIO-优势前景
以3.125Gbps运行的4通道SRIO链路可以提供10Gbps的流量,且保证数据完整性。由于SRIO类似于微处理器总线(存储器和器件寻址,而非LAN协议的软件管理),因此包处理是通过硬件实现的。这意味着可大幅削减I/O处理方面的额外开销,降低延迟并增加系统带宽。但与多数总线接口不同,SRIO接口的引脚数较少,带宽在链路为3.125Gbps的基础上可继续扩展。
平台中的计算资源
如今的应用对处理资源的数量要求较高。基于硬件的应用发展迅猛。压缩/解压缩算法、反病毒和入侵监测等防火墙应用以及要求AES、三倍DES和 Skipjack等加密引擎的安全应用起初都是通过软件实现的,但目前都已转为硬件实现。这就需要带宽和处理能力能够实现共享的大型并行生态系统。系统需要使用CPU、NPU、FPGA或ASIC,从而实现共享或分布式处理。
在构建能够适应未来发展变化的系统时,需考虑所有这些针对具体应用的要求,对计算资源的要求包括:
1. 多个主机-分布式处理;
2. 直接点对点通信;
3. 多个异构操作系统;
4. 复杂拓扑结构;
5. 发现机制;
6. 多余通路(故障恢复);
7. 可支持高可靠性;
8. 无损协议;
9. 自动重新培训和器件同步;
10. 系统级错误管理;
11. 能够支持通信数据平面;
12. 多点传输;
13. 流量管理(有损)操作;
14. 链路、级别和基于流的流量控制;
15. 协议互通;
16. 较高事务并发度;
17. 模块化、可扩展;
18. 支持广泛生态系统。
由无线架构中计算器件所派生出的各种各样的要求,SRIO协议都可支持。
SRIO规范(图4)对基于包的分层架构进行了定义,可支持多个域或市场区间,从而有利于系统架构设计师设计新一代计算平台。通过将SRIO用作计算互连,可轻松实现以下功能:使架构独立;部署可靠性为运营商级的可扩展系统;实现高级流量管理;提供高性能、高流量。此外,由大批供应商构成的生态群使得OTS部件与组件的选择十分容易。
RIO为基于包的协议,该协议支持:
1. 通过基于包的操作(读、写、消息)移动数据;
2. I/O非连贯功能和缓存连贯功能;
3. 通过支持数据流、数据分区和重组功能而实现高效互通和协议封装;
4. 通过启用数百万个流而实现流量管理框架,支持256流量级别和有损操作;
5.流控制,支持多个事务请求流,提供QoS;
6. 支持优先级别,从而可缓解带宽分配和事务顺序等问题,并避免死锁;
7. 支持拓扑,通过系统发现、配置和维护支持标准(树状和网格)与任意硬件(菊花链)拓扑,包括支持多个主机;
8. 错误管理和分类(可恢复、提醒和致命性)。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)