网络处理器中微引擎的设计与实现学位论文(编辑修改稿)内容摘要:

图 FPGA Performance Summary......................................................................... 46 图 FPGA 关键路径报告 ..................................................................................... 46 图 Design Compiler 综合流程 ............................................................................ 49 图 ASIC 综合 关键路径报告 ............................................................................... 51 图 FPGA 硬件平台照片 ..................................................................................... 52 表 微引擎指令集列表 ........................................................................................... 15 表 全 局 Host 寄存器 ............................................................................................. 19 表 两种方式的测试激励数量关系 ....................................................................... 43 表 FPGA 各模块资源占用情况 ........................................................................... 47 表 吞吐量测试结果 ............................................................................................... 52 表 丢包率测试结果 ............................................................................................... 52 图表清单 VIII 绪论 1 第 1章 绪 论 研究背景和意义 当 计算机网络发展 到高速网络技术阶段 , 有了光纤媒介的广泛使用和传输技术的巨大进步 , 人们对网络带宽的需求也越来越大 ,中间网络处理设备 逐渐成为了网络系统的瓶颈 , 因此人们需要处理速度更快的网络设备。 此 外,新的网络 业务 不断涌现 和应用 范围 的 不断 扩大 , 中间 网络设备需要 处理更加 复杂的协议 , 因此 必须 具有很好的 灵活性 和适应性 , 并 针 对不同客户 提供 差异 化 的 服务质量( QoS) 保障。 所有这 些 都 需要 能够高速 并且智能化 的 完成 网络数据处理 的中间网络设备 , 基于 这种 情况 ,网络处理器 (Network Processor, 简称 NP)应运而生。 网络处理器 作为 一种应用于网络系统的 专用指令 处理器, 通常 采用多核多线程结构 , 集合了 高速度、低功耗和可编程的优点, 同时 通过使用专用协处理单元可为 设计 人员提供更大的自由。 利用网络处理器 开发 人员 可以实现快速编程 ,可为客户 灵活提供所需功能, 使 网络系统 具有 高性能和高灵活性。 网络处理器的出现 建立 了 网络系统 的 硬件平台 , 它 通过软件升级 来满足日益 增长的 功能需求, 给网络处理技术的发展 提供了一个开放舞台 ,因而具有 非常 重要的意义。 通常网络处理器都集成了多个 RISC( Reduced Instruct Set Computer,精简指令集计算机) 处理器 来 满足高性能线速 度的 处理要求,这些处理器专门 针对 网络协议处理 ( 如 包 分类、路由查找 等) 而设计,通常被称之为微引擎。 微引擎的指令集是专 为 网络协议处理而优化的 RISC 指令集。 在网络处理器中,微引擎对数据包的处理速度决定着网络处理器的整体性能 , 如何有效 降低 微引擎中 关键路径的 延时 是 提高 NP 性能的关键。 微引擎 一般 采用流水线技术 和 并行执行的 多处理单元组织机制, 利用 专用硬件 与 专用指令 处理 特定协议操作, 降低延迟 提高处理速度。 此外 , 对于网络处理器微引擎这样具有复杂功能的芯片设计的验证, 务必采用高效的验证方法,以缩短验证周期 , 提高设计质量。 网络处理器作为 高端路由器、交换机、防火墙等数据通信产品 的核心部件,是关系到政府 和 军队等国家机构信息安全的 重要 基础设施。 然而 长久以来 在计算机和网络安全技术 方面,我国 的集成电路芯片设计 技术 落后于 欧美 国家 ,所以导致国家 大量的 信息安全产业 无法得到 核心自主研发芯片 的 支持, 并且使得 信息安全隐患 变得越来越严重。 尤其 是最近的“棱镜门”事件充分暴露了国家信息安全的重要性和紧迫性, 因此关于 这方面的研究与应用工作 必须及早开始。 研制出 “ 自主 可控 ” 的 网络处理器 设备, 对 建立 我国 “ 自主可控 ” 的网络信息安全保障体系电子科学研究院硕士学位论文 2 具有重要意义。 国内外研究和发展现状 从二十世纪末到现在 ,网络处理技术 发生了 巨大的变化,网络设备的 架 构 以处理核心的更新作为标志, 大致 经历了 以下 3 个阶段: 1) 基于 GPP( General Purpose Processor, 通用处理器 ) 的网络设备。 网络发展初期 主要研究构建服务框架和实现网络协议 , 其 传输速率低服务类型少。 网络设 备 是以 GPP 为硬件基础, 并在 通用操作系统 上 运行相关软件, 所以 功能较为灵活,但 由于性能较低 已无法适应日益增长的网络数据处理要求。 2) 基于 ASIC( Application Specific Integrated Circuit,专用集成电路 ) 的网络设备。 到了九十年代 中 期 , 基于 GPP 核心的 网络设备的处理能力 逐渐成为网络发展的瓶颈。 而针对网络协议进行硬件优化设计的 基于 ASIC的网络设备取得 很大的发展。 通常 ASIC 网络 设备需要结合 RISC 处理器来获取高性能。 3) 基于 NP 的网络设备。 随着 因特网发展到繁荣时期 , 高带宽 和服务多样化对网络设备提出了更高的要求。 基于 ASIC 的网络设备 的固有缺点是缺乏可编程性, 且 开发周期较长成本较大, 因此 限制了其进一步发展。 而 网络处理器 由于 具有 高性能、 高度 灵活性和 高性价比 以及上市时间短等 优点,成为 了 当今以及未来的主流发展方向。 国外方面, 从 上 世纪 九十 年代末 , 许多大学和研究机构对 NP 的体系结构 以及 NP 性能评价进行了研究。 Intel 公司 是最早投入大量资金和人才进行 NP 研发的公司之一,并且在全世界投资了近百 所大学进行 NP 及其相关应用的研究。 2020年 成立了 网络处理器论坛 (NPF),致力于推动 网络处 理器 标准 的兼容和发展。 目前 市场份额较大的 网络处理器开发商 有 AMCC、 IBM、 Intel 、 Broad 等 , 推出的典型 产品有 Marvell(Intel)公司的 IXP24xx 系列 网络处理器 、 Hifn(IBM)的NP3G4S 网络处理器 和 Cisco 公司的 ToasterZ 网络处理器 等。 2020 年 博通公司推出了业界首款 100Gbps 的全双工网络处理器 BCM88030 系列芯片,可为网络厂商提供 100GbE 交换和路由平台的核心硬件,是目前吞吐量最高的商用网络处理器芯片。 国内方面,我国在 网络处理器 芯片 研究和开发 方面跟 国外研究发展有 较大的差距。 值得一提的是, 华为公司作为中国和全球领先的通信设备厂商, 最早 将 网络处理器应用于商用领域。 2020 年华为 就 率先 在推出的 NE40 系列 和 NE80 系列核心路由器产品 上使用网络处理器 , 并 取得 不错的市场份额。 另外, 2020 年 清绪论 3 华大学 历经 5 年研发出的 清华天行网络处理器芯片原型在整体技术上达到了国际先进水平,其中基于硬件链表的聚合流保序与流量分发技术、集成化硬件查找协处理器和内置业务量管理引擎中的快速通道技术具有创新性,这不仅缩小了与国外的差距,而且对建设我国自主可控的网络信息安全系统具有重要意义。 论文的研究内容和结构安排 本文的主要研究工作都是围绕一款自主 研 发的 万兆网络处理器 P1600中 微引擎 的设计和验证展开的。 本文的主要工作和后面各章节的内容安排如下: 第一章 ,首先对网络处理器课题的研究背景和意义进行了阐述,交代了网络处理器及微引擎的概念。 然后分析了国内外的研究和发展现状,并简单介绍了本文的研究内容和论文的主要章节安排。 第二章,分析了网络处理器 微引擎 的拓扑 组织 结构 ,并重点分析了 P1600 网络处理器课题的四类微引擎。 然后对微引擎的设计技术:处理单元架构、指令集架构、并行技术等进行了研究。 第三章, 对 P1600 网络处理器转发微引擎进行的详细的设计,包括专用指令集设计,微引擎结构设计以及四级流水线的详细设计,最后对设计进行了实现。 第四章,针对第三章设计的微引擎,设计了 UVM 验证平台进行了验证和分析。 然后 从 FPGA 硬件开销、 ASIC 硬件开销以及实际应用性能三方面 对微引擎的性能进行了评估。 第五章,对本文的研究工作进行了总结,并展望了未来工作。 电子科学研究院硕士学位论文 4 网络处理器微引擎研究 5 第 2章 网络处理器 微引擎研究 网络处理器 及 微引擎分析 网络处理器中 通常 集成 了 多个 微引擎 处理单元 ,它们不 是硬件资源的简单堆叠, 而 必须 按照一定 逻辑结构 组 织 才能获得 高性能。 如图 , 其 拓扑 结构 可以分成如下三种: 1) 串行 流水处理模式。 这种模式 将处理任务划分为流水段,并和微引擎单元进行一一映射, 其中的 每一级 处理单元 只 负责 部分 处理任务。 其优点是 可 简化 处理单元并 针对特殊的 网络 处理 需求 进行定制 ,同时化解了共享资源的访问冲突问题。 缺点是必须注意流水线间的负载均衡。 2) 并行多处理模式。 该 模式下 每个 处理单元完全同构, 能独立完成全部网络数据包 处理任务。 缺点是处理单元 之间 关键资源 的竞争(如指令存贮、共享总线等)。 其 优点是 扩展性较好,增加新的处理资源容易; 编程较为简易,因为开发人 员 只需面对 一个处理单元, 无需进行 任务划分。 3) 混合 模式。 基于以上两种模式 优缺 点, 提出 的混合模式 在 串行模式的 硬件有效性和 并行模式的 编程有效性之间进行折衷,但是 关于具体 采用多少条流水线 以及 每条流水线 使用多少个处理单元较好 仍然没有明 确 的解决。 分 组 转 发处 理 单 元 1处 理 单 元 2处 理 单 元 N交 换 矩 阵分 组 转 发处理单元1处理单元2处理单元N交 换 矩 阵串 行 模 式 并 行 模 式分 组 转 发处 理 单 元 1 处 理 单 元 1处 理 单 元 2 处 理 单 元 2处 理 单 元N处 理 单 元N交 换 矩 阵混 合 模 式 图 微引擎单元组织结构图 本课题中 P1600 网络处理器 芯片中 的 微引擎 采用流水处理模式, 组整合 多个高速处理器,每个都被优化执行一个特殊的任务。 4 种类型的微引擎 —— Parse、电子科学研究院硕士学位论文 6 Search、 Resolve 和 Modify—— 被用于执行数据包处理的主要任务,即分类、转发和修改。 可编程的微引擎和这些任务一一对应,相当快速地执行各自的任务。 每个微引擎处理器的类型采用一种独特的体系结构,带一个定制的、特殊功能的数据通路和指令集。 这减少了复杂数据包操作需要的时钟周期数目,提供相当快速的数据包处理。 微引擎性能受益于 类 超标量结构,微引擎的多个核在每个流水段并行运行。 该网络处理器硬件系统的结构见图。 P a r s eM E 组 ( 4 个 )S e a r c h 1M E 组 ( 4 个 )R e s o l v eM E 组 ( 4 个 )S e a r c h 2M E 组M o d i f yM E 组 ( 4 个 )网 络 接 口R X网 络 接 口T XP a c k e t P r o c e s s i n gO u t p u tI n p u tN P图 系统结构框图 P1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。