论文部分内容阅读
随着网络系统的发展,现有网络系统的瓶颈越来越明显,为了解决这些问题,提出了网络处理器解决方案。数据交换接口的任务是负责网络处理器与外部网络设备的数据交换,数据交换接口技术是实现网络处理器转发网络数据包和影响网络处理器性能的关键技术之一。在这种背景下,结合项目中的工作实践,本文对网络处理器中的数据交换接口单元进行了技术研究、设计实现、并通过了系统级的功能仿真和布局布线后仿真以及板级测试。本文重点对异构多核网络处理器的数据交换接口的关键技术进行研究,分别设计了在并行流水线结构的网络处理器中与10/100Mb MAC和1000Mb MAC设备的数据交换接口方案。当与10/100M的MAC设备进行接口(慢端口模式)时,采用由网络处理器对端口进行轮询的方式来获取实时数据;当与1000M的MAC设备进行接口(快端口模式)时,则采用主动请求机制来获取实时数据。在快端口模式中,生成微包序列号,协助高速包转发引擎(PE)保持数据包的顺序;使用双口SRAM作为数据缓存,解决了异步时钟域同步问题;采用DMA方式,减轻了处理器的负担;设计了Pull/Push引擎命令队列对来自高速包转发引擎(PE)和SDRAM控制器的指令进行仲裁和排队,解决了高速包转发引擎(PE)可能同时有多个线程向数据交换接口发出转发数据包指令的问题。上述设计采用Verilog硬件描述语言进行实现,并在FPGA平台上进行了功能仿真、性能仿真以及板级测试。通过功能仿真以及板级测试,验证了数据交换接口可以正确地在网络处理器与外部MAC设备之间进行数据交换;通过性能分析,数据交换接口支持116.604MHz的MAC设备,在MAC频率为100MHz时,数据交换接口的吞吐率至少为2.508Gbps。