论文部分内容阅读
网络介质信息传输能力的迅猛增长和网络业务复杂多样化的需求导致了网络处理器的出现。网络处理器(Network Processor,简称NP)结合了ASIC的高性能和通用CPU高可编程性两方面的优点,是推动下一代网络发展的一项核心技术。如何提升网络处理器的性能以满足主干网络节点的信息处理能力要求是网络处理器需要解决的一个关键问题。 本文受国家“十五”预研课题(专题编号:41308010307)和国家863 SOC课题(编号:2005AA1Z1196)的资助,着力对高性能网络处理器的体系结构进行深入研究。论文的主要工作和创新点如下: 1.参与完成了具有完全自主版权的片上系统“龙腾S1”的总体方案设计与实现。龙腾S1已在SMIC 0.18um工艺库上投片成功,整个SOC的晶体管数目为400万。又完成了“龙腾”S2的总体方案设计;在“龙腾”S2的总体方案设计中,完成了一个专门面向网络协议处理的32位动态多线程处理器的设计。 2.提出了一个专门针对高速网络协议处理的线程级分布式处理结构(Thread Level Distributed Processing-TLDP)。TLDP是一个多微引擎多线程结构,并支持在多个微引擎之间和每个微引擎内多个线程之间的动态调度。通过基于硬件实现的动态调度方式实现了多微引擎多线程的并行处理模式对系统程序员的透明性,有效解决网络处理器的编程复杂问题。 3.在多线程微引擎的研究中,提出了一种基于BGCG(Balanced in Group and Cyclic among Groups—BGCG)的动态多线程调度策略。隐藏了长时延操作,实现了零延时线程现场切换,无需分支预测等部件解决了微引擎的指令流水线停顿问题,提高了单个微引擎的资源利用率。单个微引擎的峰值转发速率为每秒1785千个IPV4分组或1587千个IPV6分组。 4.在TLDP体系结构的研究基础上,提出了一个基于多分支索引和间接压缩的高速路由查找与更新算法。实现了在每一个SRAM的访问延时周期内输出一个路由查找结果,在两次SRAM的读写访问延时下完成路由更新,有利于实现TLDP中的系统控制和同步处理。其综合性能可优于Stanford大学的Gupta等人提出的DIR机制和W.Degermark等人提出的SFT等机制。 5.对TLDP中多个微引擎间的全局线程调度策略进行了研究。根据网络协议处理的应用特征提出了一种自适应负载均衡的全局动态线程分派与调度策略。实现了多个协议处理微引擎之间的实时负载均衡。达到了较高的分组吞吐率,经进一步仿真统计表明在TLDP全负荷运行时,各个微引擎利用率的最大差与均值之比接近0.05。 6.使用硬件描述语言建立了TLDP的RTL级仿真模型,作者共完成了近30000