[发明专利]网络处理器的指令处理方法和网络处理器有效
申请号: | 201080003373.4 | 申请日: | 2010-08-30 |
公开(公告)号: | CN102292705A | 公开(公告)日: | 2011-12-21 |
发明(设计)人: | 尹高嵩;韩冰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/32 | 分类号: | G06F9/32 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 中国广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 处理器 指令 处理 方法 | ||
技术领域
本发明涉及网络处理器领域,特别涉及一种网络处理器的指令处理方法和网络处理器。
背景技术
网络处理器是一类专门针对数据报文转发而优化设计的处理器,作为转发引擎广泛应用于路由器、交换机等网络设备中。由于网络处理器的代码指令总数比通用处理器小得多,而且网络处理器对转发性能、尤其吞吐率要求很高,因此,大多数网络处理器在运行期间,其全部代码指令皆位于处理器内部的高速存储器中。在以网络处理器为转发引擎的网络设备上,特定业务的转发性能通常与该业务在网络处理器中执行的指令周期总和成反比,网络处理器执行的指令周期总和越长,表明其转发性能越低。例如,假设每个IPv4单播报文的转发流程要执行100条指令,平均每条指令消耗1.2个时钟周期,则合计消耗120个时钟周期,而每个MPLS报文需要消耗240个时钟周期,因此,网络处理器转发IPv4单播报文的性能要优于转发MPLS报文的性能。
网络处理器执行一条指令通常包括取指、译码、运算和输出等几个操作步骤,每个步骤分别由网络处理器内不同的子单元串行完成。目前的许多网络处理器具有流水线设计,令各个子单元同时工作,达到的效果是流水线上第一条指令送到运算子单元,而此时第二条指令正在译码,第三条指令正在取指,从而可以节省消耗的时钟周期。但是实际的程序指令并非从头至尾顺序执行,通常会包含有判断跳转指令,当执行到判断跳转指令时,由于跳转与否要由计算结果决定,在得到计算结果前不知道将要执行的下一条指令地址,无法提前取指和译码,因此流水线会被迫中断。显然,程序中的判断跳转指令越多,流水线中断次数也越多,从而实际消耗的时钟周期越多。因此,网络设备支持的业务越复杂,转发流程的指令周期越长,转发性能越低。
网络设备支持的业务通常是多样化的,包括IPv4单播/多播、IPv6单播/多播、MPLS、桥接、PWE3、VPLS等等。网络设备将报文从入接口转发至出接口,仅对报文做满足协议要求的、最低限度的修改,称为基本转发。为了满足用户对安全性、服务质量、可靠性、可维护性和可管理性等诸多方面的需求,网络设备所做的处理称为附加特性。不同用户会依据自身需要启用一个或多个附加特性,任何一个附加特性都不会是所有用户必需的,否则它就会成为基本转发的一部分。因此,网络设备将基本转发、各类业务的公共流程提炼出来作为主线流程,并力图保持主线流程指令执行总周期尽可能短,否则会影响所有用户。网络设备的附加特性通过在主线流程中增加判断跳转指令来实现,这会降低主线流程的性能,进而影响所有用户。
例如,假设路由器在IPv4单播基本转发的基础上增加了简单流分类BA(Behavior Aggregation,行为聚集)、复杂流分类ACL(AccessControl Lists,存取控制列表)、URPF(Unicast Reverse PathForwarding,单播反向路径转发)三个附加特性,因此,不得不在主线流程中增加三个判断跳转指令:分别判断BA是否使能,ACL是否使能,以及URPF是否使能?无论这三个附加特性是否使能,指令执行周期均超过未增加判断跳转指令前的执行周期,当它们均使能时,执行周期最长。由此可见,判断跳转指令延长了主线流程的执行周期,随着新附加特性的不断增加,累积效应对主线性能的影响愈发明显。
现有技术中实现网络设备的附加特性通常有两种方式:非函数调用型和函数调用型。非函数调用型的处理过程是:顺序执行每个附加特性对应的代码片段,在每个代码片段的第一条指令判断该附加特性的使能标志,如果使能则执行本代码片段,如果未使能则跳过本代码片段。函数调用型的处理过程是:从第一个附加特性的使能标志开始判断是否使能,如果使能则调用该附加特性的处理函数,处理完后或者如果未使能则返回主线继续下一个附加特性的使能标志的判断。以网络设备增加BA、ACL和URPF三个附加特性为例,无论上述哪种方式,都在主线流程中增加了3个判断跳转指令,对具有流水线设计的网络处理器而言,流水线被中断了三次。
在实现本发明的过程中,发明人发现上述现有技术至少具有以下缺点:当网络设备具有附加特性时,在主线流程中增加的判断跳转指令会延长指令的执行周期,从而降低了主线流程性能。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种网络处理器的指令处理方法和网络处理器。所述技术方案如下:
一种网络处理器的指令处理方法,所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080003373.4/2.html,转载请声明来源钻瓜专利网。