论文部分内容阅读
随着互联网日新月异的变化和微电子技术突飞猛进的发展,作为现代网络系统的核心设备网络处理器正在向着多核SoC的方向演进。多线程数据处理器单元以其高度的灵活性和高效的并行处理功能受到了广泛的欢迎。它所具有的特性使其在面对网络协议的频繁更新和网络带宽的快速增加时显得更加游刃有余。其中作为网络处理器中关键结构之一的总线接口单元承担了网络处理器大量内部资源之间的数据通路和控制通路相关任务,其设计的有效性极大地影响了整个网络处理器系统的性能。因而,推/拉引擎作为总线接口单元的核心机构,其功能的实现便成为网络处理器系统的关键点之一。
本文针对XDNP多核网络处理器所采用的多线程包处理器结构,设计了适合多线程多核包处理器的片上集成方案,重点对基于存储控制器主导的数据总线的数据推拉方案进行了协议设计与具体的硬件时序的实现。文中以推/拉引擎为核心,对与之相关的技术细节诸如就绪轮询机制、端口争用的解决、缓冲存储设计以及直接内存存取进行了研究,并对与之相关的设计细节诸如任务执行顺序安排以及指令识别与区分机制进行了研究和设计。通过对推/拉引擎控制状态机及其指令识别机制的设计,数据推/拉引擎的功能得到了很好的实现,一个完整的多线程处理器异步数据访问机制被设计了出来。最后,基于随机激励产生机制与断言验证方法,对所设计的数据推/拉引擎接口模块进行了详细的功能验证,并在此基础上完成了对整个片上系统的数据收发过程的功能验证与分析。结果证明所设计的接口模块完全达成了各项设计目标,其功能能够满足系统的要求。