论文部分内容阅读
在嵌入式多核互连系统中,如何定义芯片之间的通信成为一个不可忽视的问题,因此建立一个通用的多核互连协议标准是十分有必要的。Rapid IO(Rapid Input Output)高速串行接口可以完全满足这种需求,它可以实现片内片外通信互连,并支持各种拓扑结构。Rapid IO支持多种传输模式,PIO(Program IO)传输模式是最常用的一种模式。由于它要用到处理器内部的EDMA(Enhanced Direct Memory Access)部件,并且需要地址映射,因此在进行大批量数据传输时会造成系统资源浪费和增加传输的复杂性。为了减少性能损失,本文在商用DMA(Direct Memory Access)IP核的基础上,根据Rapid IO的特点在其内部设计读写DMA引擎,用于实现大批量数据的搬移,本文的主要工作如下:(1)研究了Rapid IO 2.1协议的组成,仔细研究了串行Rapid IO的结构,分析了APIO(AXI-PIO)操作和RPIO(Rapid IO-PIO)操作,并对地址映射进行探讨,引出PIO传输模式和DMA传输模式。(2)根据Rapid IO的结构和协议,设计出两种完全独立的读DMA引擎和写DMA引擎。给出两种可实现的配置方式,考虑到AXI请求和Rapid IO请求一次可传输的数据大小不一致,并根据AXI协议和数据缓冲器的位宽确定请求划分的规则;研究了数据大小端转换的方式,确定了数据进出DMA引擎的排列顺序,最后设计出读写DMA引擎的结构框图。(3)设计读写DMA引擎的功能单元,包括包格式处理单元、读写请求产生单元和读写请求处理单元等基本模块,确定了更详细的请求划分规则和数据大小的表示方法。从IB(Inbound)和OB(Outbound)方向描述了设计的具体步骤,重点研究了一字传输和非对齐传输的情形,并给出解决方案。对读写引擎进行对比,探讨划分读写引擎的原因。(4)对设计的读写DMA引擎进行系统级模拟验证,同时对核心代码进行RC综合,最低时钟频率为333Mhz;对不同存储空间的RIO通路进行测试,结果表明设计的读写DMA引擎带宽最高可以达到6.25Gbps。用PIO模式和DMA模式完成相同的任务,从四个方面进行对比,实验结果表明在传输大量数据时使用DMA模式,寄存器配置数目减少29%,启动延迟最多减少20.5%,传输耗时减少0.6%左右,功耗减少1倍以上。