网络处理器中微引擎的设计与实现学位.doc
《网络处理器中微引擎的设计与实现学位.doc》由会员分享,可在线阅读,更多相关《网络处理器中微引擎的设计与实现学位.doc(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流网络处理器中微引擎的设计与实现学位.精品文档.中图分类号: 密 级: 学科分类号: 论文编号:硕士学位论文网络处理器中微引擎的设计与实现研究生姓名张琦学科专业计算机系统结构研究方向数字系统设计指导教师章建雄 研究员级高工培养单位 中国电子科技集团公司第三十二研究所电子科学研究院二一三年十二月二十五日学位论文独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。除已特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
2、作者签名: 日期: 年 月 日学位论文使用授权本人完全了解填写培养单位名称有关保留和使用学位论文的规定,本人在攻读学位期间论文工作的知识产权单位属于填写培养单位名称。培养单位和学位授予单位有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。保密的学位论文在解密后适用此授权。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日摘 要 随着网络带宽的增长和新兴应用的涌现,网络处理器作为一种同时具有高性能和可编程能力的解决方案,获得了越来越多的关注和应用。网络
3、处理器是一种专门应用于网络系统的微处理器,通常采用多核多线程结构,集合了高速度、低功耗和可编程的优点,通过专用协处理单元的使用可为设计人员提供更大的自由。网络处理器一般都集成了多个RISC处理器来满足高性能线速处理要求,这些处理器专门针对网络协议处理而优化设计,通常被称之为微引擎。本文主要研究了网络处理器中微引擎的设计与实现。首先分析了科研项目中的网络处理器和四种类型的微引擎,并对微引擎的设计技术进行了相关研究,然后从指令集设计、微引擎结构设计、流水线设计等方面对转发微引擎进行了设计与实现,最后本文采用UVM验证平台对微引擎进行了功能验证,通过手工添加激励与随机产生激励相结合进行了覆盖率统计。
4、对于设计的性能评估主要包括硬件部分的FPGA开销评估和ASIC开销评估,以及借助于网络处理器应用验证环境,即运行IPv4转发测试从吞吐率和丢包率方面进行性能评估。评估结果表明设计的微引擎满足万兆的转发速度,符合网络处理器的芯片面积、功耗等设计要求。本文主要内容和创新点总结如下:1) 本文微引擎采用73位专用RISC指令集,相对于一般指令集,增加如小项运算指令Minterm、大小比较指令SetMaxMin、存储器读写指令等专为解决为微引擎数据包处理而设计的指令,这些指令对于网络处理中微引擎对外部数据数据的访问以及数据运算要求非常适用。2) 本文采用UVM验证方法学编写的网络处理器微引擎验证平台,
5、高效验证了微引擎RTL级代码,实现了对所设计微引擎的功能验证。同时,采用UVC解决方案搭建的验证平台模块设计合理、可重用性高,可为其他处理器验证工作提供模板。3) 对所设计微引擎的硬件开销和性能进行了评估。对于FPGA的开销评估,微引擎包含的四个处理单元,其中每个处理单元大约占用 38000个 4 输入 LUT,运行频率达到 103.2MHz。对于ASIC的开销评估,采用TMSC65nm单元库进行了布局布线综合之后,微引擎处理单元运行的频率为714MHz,面积为 0.47mm2,总的功耗为 666.7mW,满足我们NP2网络处理器的设计要求。关键字:网络处理器 微引擎 指令集 验证平台 性能评
6、估AbstratWith the growth of the network bandwidth and emerging applications, network processor as a solution with high performance and programmability, has gained more and more attention and application. Network processor is a microprocessor that specially used in network system, which usually with m
7、ulti-core and multi thread structure and combining the advantages of low power consumption and high speed, programmable, and through a dedicated co processor unit can provide more freedom for designers. Network processor general is integrated in the RISC processor to meet high performance wire speed
8、 processing requirements, the processor is designed for network protocol processing and optimization design, often referred to as the micro engine.This paper mainly studies the design and implementation of micro engine in network processor. The first analysis of network processor and four types of m
9、icro engine in network processor, and the micro engine design technology for the related research. Then the micro engine is designed and realized from aspects of instruction set design, micro engine structure design, and pipeline design. Finally, this paper uses the UVM verification platform to vali
10、date the function of micro engine. Coverage statistics is finished by using manually adding excitation and random excitation. Performance evaluation of the design mainly includes the FPGA hardware overhead evaluation and ASIC hardware overhead evaluation, and from the application of network processo
11、r verification environment, which is running the IPv4 forwarding works from the aspects of throughput and packet loss rate to evaluate the performance. Micro engine evaluation results show that the design meets the Gigabit forwarding speed, and comply with the design requirements of network processo
12、r of the area and power consumption.The main content and innovation are as follows:1. This miro engine uses a 73 bits special instruction set.Compared with the general instruction set, adding a small term operation instruction Minterm,size comparison instruction SetMaxMin, memory reading and writtin
13、g instructions and other instructions designed to deal with the micro engine packet processing.These instructions are very suitable for the micro engine of network processor accessing external data and data computing requirements.2. UVM verification methodology is used to write testbench of the micr
14、o engine in network processor, which has efficiently verified RTL-level code of micro engine,and the functional verication of designed micro engine is achieved.Meanwhile the verication platform is built with UVC solution and module design is reasonable, high reusability, which can be used to provide
15、 a template for other processors validation.3. In this thesis the hardware overhead and performance of designed micro engine contians four processing units, and each processing unit takes about 38000 LUTs of 4 inputs, and operating frequency can reach 103.2MHz. For the cost of assessment of ASIC, us
16、ing TMSC65nm cell library of layout synthesis, micro engine processing unit operating frequency is 714 MHz, the area is 0.47mm2, the total power consumption is 666.7mW, which has met the requirements of the design of P1600 network processor. Keywords: Network Processor, Micro Engine, Instructions Se
17、t, Testbench, Performance Evaluation目 录摘 要IAbstratII目 录IV图表清单VI第1章绪论11.1研究背景和意义11.2国内外研究和发展现状21.3论文的研究内容和结构安排3第2章网络处理器微引擎研究52.1网络处理器及微引擎分析52.1.1P1600网络处理器介绍62.1.2解析微引擎72.1.3搜索微引擎82.1.4转发微引擎92.1.5修改微引擎102.2网络处理器微引擎设计技术研究112.2.1微引擎处理单元架构112.2.2微引擎指令集架构122.2.3微引擎并行技术122.3本章小结13第3章转发微引擎设计与实现153.1指令集设计15
18、3.1.1专用指令集153.1.2寻址方式183.1.3寄存器模型193.2微引擎结构设计193.2.1微引擎结构描述193.2.2微引擎功能模块设计203.3微引擎流水线设计263.3.1流水线结构设计263.3.2流水线相关部件设计273.4微引擎设计实现方法333.5本章小结33第4章微引擎设计验证和性能分析354.1微引擎功能验证354.1.1验证策略和方法354.1.2验证环境384.1.3验证过程和结果424.2微引擎性能评估454.2.1评估策略和方法454.2.2硬件开销评估454.2.3应用性能分析514.3本章小结53第5章总结与展望545.1工作总结545.2工作展望54
19、参考文献56在学期间发表的学术论文及取得的研究成果58致 谢59附 录60图表清单 图2.1微引擎单元组织结构图5图2.2系统结构框图6图2.3 P1600网络处理器结构框图.7图2.4解析微引擎组织结构8图2.5 Search1微引擎组织结构9图2.6 Search2微引擎组织结构9图2.7转发微引擎组织结构10图2.8修改微引擎组织结构11图2.9五级经典流水线13图3.1转发微引擎总体结构框图. 21图3.2微引擎内部模块示意图21图3.3 ALU执行单元原理图22图3.4 Minterm运算示意图23图3.5 MAX运算单元24图3.6 PRI_ENC运算单元25图3.7流水线时序26
20、图3.8四级流水线27图3.9 P0级接口信号图28图3.10 P1级接口信号图28图3.11 P1级取指令原理图29图3.12 P2级A操作数译码原理图30图3.13 P2级取A操作数原理图31图3.14 P2级分支执行原理图32图4.1验证平台和待测设计的基本结构36图4.2 UVM与数字电路设计37图4.3 UVC解决方案38图4.4验证平台的总体结构39图4.5生成MOV指令激励的部分约束40图4.6 MOV指令功能覆盖率统计42图4.7微引擎验证流程42图4.8第一阶段各模块代码覆盖率统计结果43图4.9第一阶段各模块代码覆盖率统计结果45图4.10 JMP指令功能仿真结果44图4.
21、11 SetMaxMin指令功能仿真结果44图4.12 FPGA Performance Summary46图4.12 FPGA关键路径报告46图4.14 Design Compiler综合流程49图4.15 ASIC综合关键路径报告51图4.15 FPGA硬件平台照片52表3.1微引擎指令集列表15表3.2全局Host寄存器19表4.1两种方式的测试激励数量关系43表4.2 FPGA各模块资源占用情况47表4.3吞吐量测试结果52表4.4丢包率测试结果52第1章 绪 论1.1 研究背景和意义当计算机网络发展到高速网络技术阶段,有了光纤媒介的广泛使用和传输技术的巨大进步,人们对网络带宽的需求也
22、越来越大,中间网络处理设备逐渐成为了网络系统的瓶颈,因此人们需要处理速度更快的网络设备。此外,新的网络业务不断涌现和应用范围的不断扩大,中间网络设备需要处理更加复杂的协议,因此必须具有很好的灵活性和适应性,并针对不同客户提供差异化的服务质量(QoS)保障。所有这些都需要能够高速并且智能化的完成网络数据处理的中间网络设备,基于这种情况,网络处理器(Network Processor,简称NP)应运而生。网络处理器作为一种应用于网络系统的专用指令处理器,通常采用多核多线程结构,集合了高速度、低功耗和可编程的优点,同时通过使用专用协处理单元可为设计人员提供更大的自由。利用网络处理器开发人员可以实现快
23、速编程,可为客户灵活提供所需功能,使网络系统具有高性能和高灵活性。网络处理器的出现建立了网络系统的硬件平台,它通过软件升级来满足日益增长的功能需求,给网络处理技术的发展提供了一个开放舞台,因而具有非常重要的意义。通常网络处理器都集成了多个RISC(Reduced Instruct Set Computer,精简指令集计算机)处理器来满足高性能线速度的处理要求,这些处理器专门针对网络协议处理(如包分类、路由查找等)而设计,通常被称之为微引擎。微引擎的指令集是专为网络协议处理而优化的RISC指令集。在网络处理器中,微引擎对数据包的处理速度决定着网络处理器的整体性能,如何有效降低微引擎中关键路径的延
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 处理器 引擎 设计 实现 学位
限制150内