(通信与信息系统专业论文)基于多核网络处理器的ip转发系统的设计与实现.pdf_第1页
(通信与信息系统专业论文)基于多核网络处理器的ip转发系统的设计与实现.pdf_第2页
(通信与信息系统专业论文)基于多核网络处理器的ip转发系统的设计与实现.pdf_第3页
(通信与信息系统专业论文)基于多核网络处理器的ip转发系统的设计与实现.pdf_第4页
(通信与信息系统专业论文)基于多核网络处理器的ip转发系统的设计与实现.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

(通信与信息系统专业论文)基于多核网络处理器的ip转发系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着网络的发展,例如传输网中光纤的引入、互联网新业务的涌现,大大提 高了网络设备对微处理器的性能需求,催生了网络处理器,它是一种应用于网络 领域的任务如包处理、协议分析、路由查找等的可编程器件。多核网络处理器作 为最新推出的第三代网络处理器,具有强大的性能。但其多核架构的复杂性也使 得开发难度较大,因此针对多核网络处理器的软件设计在逐步的探索中。 i p 转发工作在第三层,利用每个输入包的地址来决定如何转发包,转发的依 据是i p 地址。作为路由器的核心功能之一,i p 转发的性能直接影响到路由器的性 能。在本文中,研究了i p 转发系统,并给出了在多核处理器平台上的系统级实现。 在项目设计过程中,首先对网络处理器的概念、功能、发展现状、硬件组成 等做了介绍,分析了多核网络处理器的优势所在;然后以p 4 0 8 0 为例详细分析了 多核网络处理器的架构,尤其对数据通道加速架构做了重点介绍;然后针对本项 目的应用,构建了软件系统,对多核网络处理器的并行程序设计进行了学习和研 究,研究了i p 转发的规则和基本的q o s 策略,在此基础上实现了各个模块。最后 搭建了测试环境,验证了该i p 转发系统的各项功能。测试结果表明,该i p 转发系 统能较好地完成预期设计功能,具有较好的性能指标,因此具有较好的应用前景。 关键词:多核处理器,网络处理器,i p 转发,p 4 0 8 0 处理器 a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fn e t w o r k s ,s u c ha st h ei n t r o d u c t i o no ff i b e ro p t i ci n t r a n s m i s s i o nn e t w o r ka n dt h ee m e r g e n c eo fn e wb u s i n e s so nt h ei n t e r n e t ,t h ed e m a n d f o rt h ep e r f o r m a n c eo fn e t w o r ke q u i p m e n tm i c r o p r o c e s s o r sh a sb e e ng r e a t l ye n h a n c e d n e t w o r kp r o c e s s o rc a m ei n t ob e i n g ;i ti sa p r o g r a m m a b l ed e v i c ew h i c hc a nb e u s e di n t a s k si nn e t w o r ka r e a s ,s u c ha sp a c k e tp r o c e s s i n g ,p r o t o c o la n a l y s i sa n dr o u t i n g ,e t c a s t h el a t e s tt h i r d g e n e r a t i o nn e t w o r kp r o c e s s o r ,t h em u l t i c o r en e t w o r kp r o c e s s o rh a s s t r o n gp e r f o r m a n c e s h o w e v e r , t h ec o m p l e x i t yo fi t sa r c h i t e c t u r em a k e sd e v e l o p m e n t m o r ed i f f i c u l t ,s os o f t w a r ed e s i g nf o rm u l t i c o r en e t w o r kp r o c e s s o ri si ne x p l o r a t i o n p h a s e i pf o r w a r d i n gw o r k si nl a y e r3 ,u s i n gt h ea d d r e s so fe a c hi n p u tp a c k e tt od e c i d e h o wt of o r w a r di t ;t h a ti st os a y , f o r w a r d i n gi sb a s e do ni pa d d r e s s e s a so n eo fr o u t e r s c o r ef u n c t i o n s ,t h ep e r f o r m a n c eo fi pf o r w a r d i n gi ss i g n i f i c a n tf o r t h ew h o l er o u t e r i n t h i sp a p e r , i pf o r w a r d i n gs y s t e mi ss t u d i e da n dr e a l i z e do nam u l t i c o r e p r o c e s s o r p l a t f o r m i nt h ep r o je c td e s i g np r o c e s s ,t h ec o n c e p t ,f u n c t i o n ,d e v e l o p m e n ta n dc o m p o n e n t o fn e t w o r kp r o c e s s o ra r ef i r s t l yd e s c r i b e d ,a n dt h e nt h e a d v a n t a g e so fm u l t i c o r e n e t w o r kp r o c e s s o ra r ei n t r o d u c e d t h ea r c h i t e c t u r eo fp 4 0 8 0m u l t i c o r ep r o c e s s o ri s a n a l y z e d ,e s p e c i a l l yo ni t sd p a a a f t e rs t u d yo np a r a l l e lp r o g r a md e s i g nf o rm u l t i c o r e p r o c e s s o r ,s o f t w a r es y s t e mi sb u i l tf o rt h i sp r o j e c t ;t h e nr u l e so fi pf o r w a r d i n ga n dq o s t h e m ea r es t u d i e d ,w h i c hh e l p st h er e a l i z a t i o no fl pf o r w a r d i n gs y s t e mm o d u l e s f i n a l l y t e s te n v i r o n m e n to ft h es y s t e mi sc o n s t r u c t e da n df u n c t i o n so fi pf o r w a r d i n gs y s t e ma r e v e r i f i e d t e s tr e s u l t ss h o wt h a tt h i ss y s t e mc a na c h i e v e d e s i r e dd e s i g nf e a t u r e sw i t h g o o dp e r f o r m a n c ea n dt h u sh a sg o o da p p l i c a t i o np r o s p e c t s k e y w o r d s :c h i pm u l t i p r o c e s s o r , n e t w o r kp r o c e s s o r ,i pf o r w a r d i n g , p 4 0 8 0 m i c r o p r o c e s s o r i l 图目录 图2 1 图2 2 图2 - 3 图2 4 图2 5 图2 6 图2 7 图2 8 图2 - 9 图2 1 0 图2 11 图2 1 2 图2 1 3 图2 1 4 图2 15 图2 1 6 图3 1 图3 2 图3 3 图3 4 图3 5 图3 - 6 图3 7 图3 8 图3 - 9 图3 1 0 图3 11 图3 1 2 图目录 网络应用程序的逻辑分层6 网络处理器硬件架构j 7 处理器核任务划分8 片内高速网络连接情况9 p 4 0 8 0 模块图1 0 s m p 系统架构一1 2 p 4 0 8 0 处理模式1 4 e 5 0 0 m c 逻辑块图15 c o r e n e t 架构连通关系一1 6 d p a a 逻辑块图17 f m a n 逻辑块图19 帧管理器接口关系2 0 帧管理器收包流程2 1 帧管理器发包流程2 2 队列管理器功能模块2 3 d p a a 中的队列结构2 3 基于p 4 0 8 0 的软件系统2 6 l t i b 配置菜单一2 9 l t i b 配置修改一2 9 l t i b 目录结构3 0 r p m 目录结构3 0 l w e 目录结构31apps h e l l o 参考开发包的目录结构一3 2 设备树格式3 3 设备节点示意图3 4 设备树中的中断信息3 5 中断树3 6 d p a a 以太口的配置3 7 v l 图目录 图3 1 3 类型ih y p e r v i s o r 示意图3 8 图3 1 4 类型i ih y p e r v i s o r 示意图3 8 图3 1 5p 4 0 8 0 嵌入式h y p e r v i s o r 软件架构3 9 图3 1 6 客户设备树的生成4 0 图3 1 7h y p e r v i s o r 分区示意图4 0 图3 18b y t e c h a n n e l 连接方式4 1 图3 1 9l w e 分区示意图4 4 图3 2 0 存储空间的划分4 5 图4 1 碑转发系统硬件架构5 2 图4 2 包处理流程5 3 图4 3 报文头部格式5 4 图4 4 报文分类h a s h 表5 5 图4 5 报文分类流程5 6 图4 6 基于t r i e 树的路由表结构图5 8 图4 。7 添加路由后的路由表6 0 图4 。8 添加路由后所形成的t r i e 树6 0 图4 9 删除路由后的路由表结构一6 1 图4 1 0 删除路由后形成的t r i e 树6 1 图4 1 1a r ph a s h 表6 2 图4 。1 2 队列结构6 3 图4 1 3 令牌桶算法的概念模型6 5 图4 。1 41 w e 分区并行控制6 6 图4 15 各l w e 分区变量情况6 7 图4 1 6 控制平面程序流程图6 8 图5 1u b o o t 任务流程7 0 图5 2h y p e r v i s o r 启动任务流程7 0 图5 3 i n g r e s sl w e 打印信息7 1 图5 - 4 e g r e s sl w e 打印信息7 2 图5 5 修改后的路由表信息7 3 图5 - 6 报文转发测试7 4 图5 7 硬件测试环境7 4 图5 8 两个优先级的系统吞吐率7 5 v i i 图目录 图5 9 仅低优先级的系统吞吐率7 5 图5 1 0 恢复两个优先级后的系统吞吐率7 5 图5 11 单流环境下单工转发测试结果7 6 图5 12 多流环境下单工转发测试结果7 6 图5 1 32 4 b i t 路由前缀的吞吐率一7 6 图5 1 42 8 b i t 路由前缀的吞吐率7 7 图5 1 53 2 b i t 路由前缀的吞吐率7 7 表目录 表目录 表1 1网络处理器的发展简况3 表2 1d p a a 中的专有名词17 表2 2p a r s e r 支持的协议1 9 表2 3 工作队列优先级调度2 4 表2 4 通道调度优先级2 4 表3 1设备节点的属性3 4 表3 2 设备节点值的类型3 4 表3 3 缓冲区管理器常用a p i 4 2 表3 4 队列管理器常用a p i 4 3 表4 1 转发表实例4 8 1 x 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:虐掏 日期:2 c 如年6 月弓日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:赴导师签名:2 盈 日期:彩) o 年月乡日 第一章绪论 第一章绪论 本章首先介绍课题的项目背景和相关技术的发展现状,然后归纳了作者在课 题中完成的主要工作,最后对各章的内容做了简单的概括。 1 1 项目背景 1 1 1 多核处理器发展现状 受到各种因素的影响,多核处理器,又称片上多处理器( c h i pm u l t i p r o c e s s o r ) 已成为构造现代高性能微处理器的唯一技术途径。传统超标量指令发射技术无法 从典型的程序指令流中发掘足够多的并行性,使得单核微处理器的性能无法再有 效扩展。另外,处理器的功耗和散热问题日趋严重,除非使用水散热系统,否则 很难继续依靠简单提高时钟频率的方法来改善处理器性能。综合这些问题可以得 到一个简单的结论:目前单个微处理器芯片集成了数量空前的晶体管,如果继续 保持每年或两年就完成新一代更大规模器的设计与调试工作,将会使成本直线上 升以至无法完成设计工作【l j 。 对于单核处理器来说,其性能几乎已经达到极致,但性能提升带来的散热和 功耗等问题却越来越难以解决。在多种因素的作用下,人们基本上已经不具备设 计更大更快的单核处理器的能力。但与此同时,应用上对微处理器的性能需求却 仍然在不断提高。多核处理器的出现带来了一丝曙光。自从1 9 9 6 年美国s t a n f o r d 大学首次提出片上多处理器( c m p ) 思想,到2 0 0 1 年i b m 推出第一个商用多核处理 器p o w e r 4 ,再到2 0 0 5 年a m d 和i n t e l 多核处理器的大规模应用,最后到目前成 为市场主流,多核处理器经历了十多年的发展。在这个过程中,多核处理器的应 用范围已覆盖了多媒体计算、嵌入式设备、个人计算机、商用服务器和高性能计 算机等众多领域【2 j 。 多核结构具有良好的性能潜力和实现优势【孓5 】: ( 1 ) 性能强大:片上多核处理器的并行架构可以更有效的利用程序的并行性, 带来性能的成倍提升。 ( 2 ) 控制逻辑简单:相对单核心复杂微处理器的超标量结构和超长指令字结构 电子科技大学硕士学位论文 而言,单芯片多处理器结构的控制逻辑复杂性要明显低很多。多核结构集成的每 个核都相对简单,有利于优化设计。 ( 3 ) 低通信延迟:由于多个处理器集成在一块芯片上,且采用共享高速缓存或 者内存的方式,多线程的通信延迟会明显降低。处理器核之间的互连缩短,提高 了数据传输带宽,有效地共享资源,功耗也会有所降低。 ( 4 ) 设计和验证周期短:微处理器厂商一般采用现有的成熟单核处理器作为处 理器核心,从而可缩短设计和验证周期,节省研发成本。 1 1 2 网络处理器发展现状 在过去的几十年间,网络系统经历了巨大的变化。其架构按照发展历程可以 分为三类:二十世纪八十年代,第一代的网络系统建立在通用微处理器( g e n e r a l p u r p o s ep r o c e s s o r ) 上,例如用于路由的微机系统;二十世纪九十年代中期,随着 网络速度和复杂度的提高,一些特殊的硬件模块被加入来减轻微处理器的负担; 第三代系统主要是指专用集成电路( a p p l i c a t i o n s p e c i f i ci n t e g r a t e dc i r c u i t ) 的设计 上。由于当时的e t h e m e t 和i p 协议相对来说无太多的灵活性,因此依靠固定的硬 件就可以满足要求【6 】。但是随着以下变化的出现,网络系统的性能又面临挑战。 一,传输网络中光纤的引入大大提升了传输速度,例如基于时分复用( t d m ) 的s o n e t s d h 技术就使传输速度指数级的增长,在2 0 0 0 年就已经达到4 0 g b s 7 j 。 二,互联网的繁荣时期,网络技术的演进扩展了传统数据业务以外的多业务 模式,诸如音视频下载、p 2 p 流媒体等更新的、对带宽要求更高的协议和业务,新 业务和它们升级的速度变得更快速,这就要求网络设备的开发周期更短,能够以 更快的速度进入市场。 针对传统的解决方案不能同时满足高性能和高扩展性的要求,网络处理器 ( n e t w o r kp r o c e s s o r ,简称n p ) 应运而生,提供了较为理想的解决方案。根 据国际网络处理器会议( n e t w o r kp r o c e s s o r sc o n f e r e n c e ) 的定义:网络处理器是一 种可编程器件,它特定的应用于通信领域的各种任务,比如包处理、协议分析、 路由查找、声音数据的汇聚、防火墙、q o s 等。这种可编程性,即通过灵活的软 件体系提供硬件级的处理性能是网络处理器的关键特性。 网络处理器通过良好的体系结构设计和专门针对网络处理优化的部件,可以 很好地解决硬件加速和软件可扩展的折衷问题,呈现出良好的应用和发展前景。 自从上个世纪9 0 年代以来,短短的几年间网络处理器的发展经历了多次的技术革 2 第一章绪论 新。从性能、系统架构、外部接口、可编程性等方面进行了改进。其发展简况如 表1 1 所示。 表1 1网络处理器的发展简况 第一代n p第二代n p第三代n p 处理单元工作频率低,数量少工作频率中,数量中工作频率高,数量多 操作级,如树查找, 功能级,如i p s e c ,流 内部协处理器增强的内部协处理器 c r c 量管理 弱,面向i o 密集型整数计算能力增强,支 指令集运算能力 增强的指令集 运算持计算密集型应用 编译器优化技术进一 开发语言和编译器微码开始支持高级语言 步提高 接入和企业网,主要多服务接入企业网,支持更支持核心网和2 7 层 应用领域 面向交换和路由多应用的应用 i n t e li x p l 2 0 0 ,c a v i u mo c t e o n , 代表芯片 i n t e li x p2 8 0 0 ,e z c h i pn p 一1 m o t o r o l ac 5 f r c e s c a l ep 4 0 8 0 第一代n p 芯片主要面向中低端交换路由等相对简单的应用,由于业界还没有 制定统一的外部接口标准,因此与交换结构、外部协处理器的集成能力比较弱; 第二代n p 芯片的主要改进在于普遍采用新的接口标准并提高了性能,应用领域也 更加广泛。第一、二代主要适用于接入网和企业网应用,虽然在市场上取得了一 定的成功,但也暴露出很多问题,如难以支持4 层以上或比较复杂的应用、实际 性能与理论值有很大差距、编程与调试难度较大、系统集成的灵活性还有待提高 竺【8 】 寸o 1 1 3 多核网络处理器简介 近年来才开始出现的多核网络处理器在技术上做了许多的改进和创新,发展 趋势己经比较明显,主要表现为: ( 1 ) 采用基于通用r i s c 内核,如f r e e s c a l ep 4 0 8 0 集成了8 个e 5 0 0 m c 处理 器内核。 ( 2 ) 通过提高内部工作频率、增加处理单元数量、包含高效率的片上网络, 提高n p 的性能,同时集成了更多的应用。 ( 3 ) 芯片上集成多个存储控制器、大量的硬件加速器和大量高速的i o 接口。 进一步提高了针对应用的硬件优化技术,增加了i p s e c 、流量管理、解压缩、t c p 流处理、正则表达式等功能级( 相对与操作级而言) 内部协处理器。 ( 4 ) 进一步加强了高级开发语言和编译器的支持,降低了代码开发和调试的 电子科技大学硕士学位论文 难度,支持l i n u xs m p 和v x w o r k s 等常见的操作系统,允许利用工业标准的开发 工具和环境进行软件设计,没有代码空间的限制。 相对于传统的网络处理器而言,多核网络处理器的优势是显著的:首先,多核 处理器性能强大,并且随着i c 技术的发展,单个芯片上处理器核的数量增加,性 能还在不断提升:其次,多核技术具良好拓展性,是公认的计算技术未来走向和 发展趋势,再次,多核处理器支持标准嵌入式操作系统,支持高级语言( c c + + ) 编 程;最后,在多核处理器内部往往都集成了一些特殊的硬件加速器,能够支持第 四层以上的处理,这样就太太提升了其用于网络设备的适用性。多核网络处理器 已经成为业界的主流。 f r e e s c a l e 公司的p 4 0 8 0 多核处理器,是其p 4 系列的旗舰产品。在低于3 0 w 的 功率级别上,提供了业内领先的高性能。它集成了八个p o w e r a r c h i t e c t u r e t me 5 0 0 m c 核心,最高工作频率可达1 5 g h z ,具有高性能数据通道加速逻辑以及网络和外设 总线接口【9 1 。芯片采用4 5 n m 工艺制程,可在极低的功耗下实现高性能的下一代互 联网服务。 1 2 项目研究内容 本项目来源于我校的横向合作项目,基于f r e e s c a l e 公司的p 4 0 8 0 多核网络处 理器,对多核网络处理器的架构进行研究,在此基础上进行i p 转发软件系统的构 建、设计和实现。在开发工具方面,本文硬件平台是以p 4 0 8 0 为核。1 1 , 的p 4 0 8 0 d s 开发板,软件则采用l i n u x 作为开发平台,l t i b 为编译工具,s i m i c s 为软件功能 仿真环境。 本文的主要工作如下: 研究网络处理器的功能和硬件组成,分析多核网络处理器的架构 研究p 4 0 8 0 的软件系统,包括硬件资源的设备树描述,使用h y p e r v i s o r 对 p 4 0 8 0 硬件资源进行分组,l w e 库的使用等 设计基于t r i e s 树结构的路由表,实现最长前缀匹配路由表查找算法 采用控制平面数据平面分离的模式,设计实现i p 转发功能 i p 转发系统中q o s 的实现 在s i m i c s 仿真环境下进行功能测试,在p 4 0 8 0 d s 上进行性能测试 4 第一章绪论 1 3 本文组织结构 本文一共分为六章,除本章绪论外,其他各章节的主要内容安排如下: 第二章首先概述了网络处理器的功能硬件组成等,然后分析了多核网络处理 器的架构;在此基础上详细介绍了f r e e s c a l e 公司q o r l q 系列当前的旗舰产品p 4 0 8 0 多核处理器。分析了p 4 0 8 0 处理器的架构和处理模式,对数据通道加速架构( d a t a p a t ha c c e l e r a t i o na r c h i t e c t u r e ) 进行了详细的研究。 第三章首先介绍软件开发环境的搭建,然后针对p 4 0 8 0 多核处理器的程序设 计做了详尽的介绍,包括设备树、h y p e r v i s o r 、l w e 等,为第四章的系统设计打下 基础。 第四章整个软件系统的设计实现。首先给出系统架构,然后设计实现了各个 模块。 第五章介绍系统的启动加载过程,首先在s i m i c s 软件仿真环境下验证了功能 的正确性,然后在硬件平台上运行,通过测试得到性能参数。 第六章对全文进行总结,对未来进行展望,并提出了若干有待深入研究的问 题。 5 电子科技大学硕士学位论文 第二章硬件平台概述 本章首先对网络处理器的概念,功能和硬件组成作了介绍,然后分析了多核 网络处理器的架构和优势,最后详细分析了p 4 0 8 0 处理器的架构,尤其针对数据 通道加速架构进行了详细研究。 2 1 网络应用程序 从功能上讲,网络处理器主要是完成数据处理和转发任务,在网络处理器上 运行的网络应用程序通常将网络处理任务划分为三个逻辑层次:控制平面、数据 平面和管理平面,如图2 一l 所示。 立 数据平面 包的接收,查表,转发等 图2 1网络应用程序的逻辑分层 其中控制平面负责非实时性的管理和策略控制任务,例如路由表的建立和维 护;数据平面负责承载高速多变的数据分组处理,包括数据包的接受转发等,对 性能要求很高。管理平面则是系统的用户对系统管理和配置的手段,通常包含g u i 以便操作。 在网络处理器的应用中,网络应用程序的功能大致可以分为以下几类1 0 】【l l 】: 转发 将进入的包转发出去,即从入口点接收分组,通过选路传输到适当的出口点。 查找和模式匹配 查找通常是根据报文的头部某些区域进行查找表,返回表中的某个特定数据 项;模式匹配是对分组字段的比特与特定的模式比较,输入为需要匹配值和分组 6 第一章硬件平台概述 字段值,输出为某个确定逻辑值。 访问控制和队列管理 报文被接收到之后,被放到合适的队列中等候处理,同时也可以按照安全策 略来判断是否应该丢弃或者是进一步处理。 数据包深度处理 对报文的修改便视为数据处理。例如数据分组的分割、重组:i p v 4 中的r r l 字段每跳减一的修改;报文内容的加解密处理等。 流量整形和控制 流量整形可以对输出报文的速率进行控制,使报文以均匀的速率发送出去。 通常是为了使报文速率与下游设备相匹配,以避免不必要的报文丢弃和拥塞,还 可以通过减少外出流量的速率来强迫流量遵循某种带宽的分配限制。 控制处理 通常涉及不需要线速执行的管理任务,如异常处理、表更新、统计数据汇总 等。 2 2 多核网络处理器 多核网络处理器的硬件结构方面采取了与传统处理器不同的策略,例如传统 网络处理器只处理数据面任务,而多梭网络处理器可应用于控制面、数据面、管 理而处理。传统网络处理器主要卸载网络层和传输层功能,而新型网络处理器可 以卸载第四层以上的处理( 如d p i 、n 解密、压缩解压缩等) ,这主要通过集成各 种特殊的硬件加速器来实现。传统n p 一般采用微码编程,新型n p 支持标准嵌入 式操作系统和高级语言( c c - _ ) 编程。 图2 2 简要描述了多核网络处理器的硬件结构。 圉2 - 2 网络处理器硬件架构 7 一二 一一一一印 电子科技大学硕士学位论文 从图中可以看出多核网络处理器主要包括三个功能模块,即主控制单元、处 理单元和协处理硬件单元。其中主控制单元是网络处理器的控制核心,一般需 要嵌入式操作系统的支持,用于对网络处理单元和拂处理硬件单元进行控制并 且通过运行在操作系统之上的路由软件协议包,完成路出信息的接受、处理和维 护等:网络处理单元用于完成高速、大容量的数据处理功能,例如数据包的收发、 路由查询、解析、加密处理等;办处理单元则通常足以a s i c 硬件的方式,柬加速 网络处理单元的数据处理能力【i “。在多核网络处理器中,主控制单元和处理单元 的工作都由同样的处理器核束承担,这也是多核网络处理器的最大特点之一。 从系统性能的角度来说,多桉网络处理器的处理单元拥有多个处理器核心, 多个处理嚣核并行工作的结构可以大大提高处理能力,同时协处理硬件单元的辅 助也能提高处理速度;从系统灵活性的角度看,可以选择一个或多个处理器核运 行l i n u xs m p 和v x w o r k s 等常见的操作系统,实现控制单元的功能;| 网络处理单 元也是出同样的处理器核构成,一般采用高级语言( c ,c + + ) 编程,这就保证了网 络处理器的灵活性。 2 2 1 处理器核 多核网络处理器中采用s o c ( s y s t e m o n c h i p ) 技术集成了多个处理器核,有 可能是通用的r 1 s c 处理器核,例如r m ix l r 采用的m i p s 6 4 核心:也有可能是 特殊设计的核心,例如c a v i u mo c t e o n 处理器采用的是定制的c n m i p s 6 4 ,它专 门针对网络服务而改引,功耗很小。集成的核心数量也各不相同,c a v i u m o c t e o n c n 3 l x x 系列集成了1 2 个处理器核,而思科q u a n t u m f l o w 集成了4 0 个处理器核。 但无论集成是的通用核心或专用核心,集成的数量多少,多棱网络处理器中处理 器核的任务和功能划分都足相似的,如图2 - 3 所示。 娑 刚2 - 3 处理器核任务划分 s 驷圃 第二章硬件平台概述 数量众多的核心被划分到控制平面和数据平面上,通常采用少量的处理器核 来实现控制平面的操作,如1 2 个;剩下的核全部用在数据平面,进行高速的数据 包处理。 2 2 2 协处理硬件单元 为了提高针对网络应用的处理能力,多核网络处理器内部集成了多种协处理 硬件单元: ( 1 ) 数据包i o 处理引擎:针对l 2 i a 的包处理和缓冲区管理引擎。 ( 2 ) 队n 调度等服务质量( q o s ) 硬件:对于输入包、输出包实现优先级队 n 调度。 ( 3 ) 安全硬件协处理单元:针对i p s e c 、s s l 、s r t p 、w l a n8 0 2 1 1 i 等安全 协议处理,支持所有的标准算法。 ( 4 ) 压缩解压缩硬件加速:实现对数据包的压缩解压缩操作。 ( 5 ) 模式匹配硬件加速引擎:用于深度包检查。 具体集成的协处理硬件单元要视不同的厂家和处理器型号而定,但是必然会 包括上述硬件单元中的一种或者若干种。以f r e e s c a l ep 4 0 8 0 为例,它集成了数据 包处理引擎、队列管理器、安全硬件协处理单元、模式匹配硬件加速引擎等。 2 2 3 片内高速网络 在多核网络处理器中,高速的网络接口、数量众多的处理器核、高性能的存 储系统之间,存在着大量高速的数据交换,因此片内高速网络是一个必不可少的 部分。片内高速网络的连接示意图如图2 4 所示。 图2 - 4 片内高速网络连接情况 9 电子科技大学硕士学位论文 如果使用常规总线来实现这一功能,那么地址问题和数据带宽限制的问题很 难解决。不同的多核网络处理器厂商都采用了各自的专利技术来实现片内高速网 络,它能够提高极高的数据带宽,通常能够做到允许各个核、核与接口( 网络接 口、安全引擎、d m a ) 之间在同一时间各自并行地传递数据,避免了通常的总线 所需要的仲裁阶段。代表有r m ix l r 的d s i i s i 架构,f r e e s c a l eq o r l q t m 的c o r e n e t f a b r i c 架构等。 2 3p 4 0 8 0 硬件平台 p 4 0 8 0q o r i q t m 通信处理器是f r e e s c a l e 公司q o r i q 产品线的标志性成员,基于 4 5 纳米处理技术。它包含了8 个增强型p o w e ra r c h i t e c t u r e ( g ) e 5 0 0 m c 内核,高性 能的数据通道加速逻辑、网络接口、外部总线接口,使得它非常适用于网络,t 电 信,3 g 4 g 无线基础架构应用,军事和航空应用等,可以被用于集合了控制平面、 数据平面、应用层处理的各种设备,例如交换机、企业和服务提供商路由器、接 入和媒体网管、基站控制器、无线网络控制器( r n c ) 和通用嵌入式计算机系统 艟 可o 2 3 1 整体架构和硬件资源 2 3 1 1p 4 0 8 0 处理器整体架构 圜p a t t e m 日 。一。 l 黼叩唧哪l 二二 二 国国 c o r e n e t t m 捌增删f a b r i c 0 2 4k b f r o n t s i d e l 3 c a c h e 伯2 4 k 8 f r o n t s i d e l 3 c a c h e d d r 2 ,d d 釉 s d 触mc o n t r o 附 d d r 2 ,d d r 3 s d 鼬mc o n l m t l e r e n 唿t e dll2 x d u a g r , 4x 产c 5 湍瓣l g 鬻r s u o m p t ( j o m n c t r 烈o l , 肚ll 2 x u s 8 2 0 u l p i f r a m em a n a 明n f r a m em a n a g e r if o n - c 嘟n e t w o r k x 1 0 g t ;i p s | 4 x 1 g b p s l l lx 1 0 g f o p s l 4 x 1 g b f3 x p c il r a p i d l o m e s s a g e i2 x s e r i a l l 2x4 - c h 1 ld e b 蝴 e t h e r n e t e t h e m e t e t h m n e t e t h e m i ll ie x p 嘲酽iu n i ic r m u ) p a p i d t o 鼋id i 髓ll 图2 5p 4 0 8 0 模块图 p 4 0 8 0 的模块图如图2 5 所示,其最显著特征是包括了8 个增强型p o w e r l o 第二章硬件平台概述 a r c h i t e e t u r e e 5 0 0 m c 内核。每个内核具备一个专用二级高速缓存,其大小能实现 最佳性能,并且为大型的前端三级高速缓存提供接入。该器件一个明确的特征是 提供完全的处理器独立,包括引导和重置各个单独的e 5 0 0 m c 内核的能力。这些内 核可以作为8 个对称多处理器( s m p ) 内核或8 个非对称多处理器( a m p ) 内核 工作;或者它们与s m p 和a m p 组一起,实现不同独立级别的操作。q o r i qp 4 0 8 0 凭借结构上的灵活性,使系统设计人员能够灵活地对控制、数据通道和应用处理 进行分区。q o r l qp 4 0 8 0 通过嵌入式超级监控器实现最高级的硬件分区,这能简化 开发,并以安全、自治的方式实现多个单独操作系统的运行。 通过数据通道加速架构( d p a a ) 可以提高整体性能。该架构同时具备出色的 网络性能,并且降低了软件的复杂性。加速架构与内核协同操作,管理分组路由、 安全性、服务质量和深度分组监控,从而能够将内核解放出来,集中处理增值业 务和应用。c o r e n e t 架构解决了与公共总线公共存储器架构关联的总线争夺、瓶颈 和延迟问题,进一步将性能提高。而上面提到的这些问题在其他多核处理器应用 中则非常普遍。 2 3 1 2p 4 0 8 0 处理器硬件资源 p 4 0 8 0 多核处理器其主要的硬件资源及参数如下: 八个高性能p o w e ra r c h i t e c t u r ee 5 0 0 m e 核心,每个核心均具备3 2 k b 指令 以及数据一级高速缓存以及私有的1 2 8 k b 二级高速缓存 2 m b 共享三级c o r e n e t 平台高速缓存 分层互联结构: c o r e n e t 结构支持连贯以及非连贯的处理,能够在c o r e n e t 端点之间进 行优先化以及带宽分配 一8 0 0g b p s 连续读取带宽 一队列管理器结构支持数据包级的队列管理以及q o s 调度 两个6 4 位d d r 2 巾d r 3s d r a m 存储器控制器,支持e c c 及交叉 数据通道加速架构包含了对下列功能的加速: 一数据包解析、分类以及分发 一用于调度、数据包排序、拥塞管理的队列管理 一用于缓冲区分配以及回收的硬件缓冲区管理 一硬件加密模块( s e c4 o ) 一正则表达式匹配引擎( p m e2 o ) 电子科技大学硕士学位论文 两个1 0g b p s 以太网( x a u i ) 控制器,八个1g b p s 以太网( s g m i i ) 控 制器 包含p c ie x p r e s s 控制器,串行r a p i d l o 1 2 接口等高速外设接口: u s b ,s d m m c ,s p i ,1 2 c 等丰富的外设接口 多核可编程中断控制器( p i c ) 两个四通道d m a 引擎 2 3 2p 4 0 8 0 的处理模式 2 3 2 1 处理模式简介 多核系统的多处理模式可分为二种,s y m m e t r i cm u l t i p r o c e s s i n g ( 对称多处理, 缩写为s m p ) 、a s y m m e t r i cm u l t i p r o c e s s i n g ( 非对称多处理,缩写为a m p ) 。在不 同的层面上,上述的多处理模式也拥有不同的含义。 在硬件层次上,s m p 是指每一个核心的硬件组成是完全相同的,每一个处理 器核拥有相同的指令体系结构( i s a ) ,被称为同构的;a m p 则与其对应,不同的 核采用不同的硬件架构,一个典型的a m p 包含若干快速、强大的核( 高时钟频率、 复杂的乱序流水线和高功耗) 和许多慢速低功耗的核( 低时钟频率、简单流水线 和低功耗) 。异构多核处理器正在被嵌入式领域所广泛采用,因为这些多核处理器 可以使用简单内核、复杂内核以及像d s p 这样专用内核的精确组合来仔细优化所 需的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论