一种路由器系统中网络处理器加载微码的方法

文档序号:6610832阅读:276来源:国知局
专利名称:一种路由器系统中网络处理器加载微码的方法
技术领域
本发明涉及数据通信领域,尤其涉及一种路由器系统中网络处理器加载微码的方法。
背景技术
目前国内外各大通信设备公司的数据产品中,相当一部分产品使用网络处理器来实现各类路由转发业务。基于网络处理器架构的路由器系统,相比使用专用集成电路(Application Specific Integrated Circuit,ASIC)实现的系统,具有业务开发、修改方便灵活,开发周期短,成本低等显著优点,因而得到了广泛的使用。
但是,现在大多数网络处理器,有一个很致命的缺陷,就是其指令空间太小,导致代码空间不够的问题,尤其是随着当今路由器产品的发展,支持的业务功能越来越多。三层功能越来越繁多,二层功能被加进来,支持的接口卡类型也是越来越丰富以太、POS(Packet Over SDH,利用同步数字序列传输分组数据业务)、异步传输模式(ATM)、E1、E3等等,对于这些越来越多的业务和接口卡,网络处理器指令空间太小的弊端越发的暴露出来,甚至成为整个路由器系统的瓶颈。
为了解决这个问题,出现了以下几种方法1.压缩路由器的业务功能,使只提供部分功能,这无疑是以削弱路由器的功能为代价的。
2.使用多个网络处理器来完成全部的功能,这种方法无疑提高了硬件的成本。
3.在专利CN200610034573中又提出了一种方法在系统启动时,不把微码的所有指令加载入网络处理器的指令空间,而是把微码分割为多个小块,只把一部分先加载入网络处理器的指令空间,其他的存贮在内存中,运行时需要某些代码时,再把该处于内存中的代码调入网络处理器的指令空间中执行。该种方法构思精巧,灵活性大,但是实现复杂,并且由于代码执行时需要一个加载过程,可能导致业务的一定中断。
综上所述,现有解决方法都存在一定缺点需要改进。

发明内容
本发明要解决的技术问题是,提供一种路由器系统中网络处理器加载微码的方法,不增加成本,且不削减路由器功能,能够使整个系统资源资利率最大化。
为了解决上述技术问题,本发明提供了一种路由器系统中网络处理器加载微码的方法,包含如下步骤(a)对系统的硬件配置,编写对应的微码版本;(b)将所有的微码版本保存在系统中;(c)系统启动时,获取系统的硬件配置,加载对应的微码版本至网络处理器中。
进一步地,上述方法还可具有以下特点,所述步骤(a)中,首先将系统的硬件配置进行分类,划分为若干硬件配置等价类,同一硬件配置等价类的硬件配置其对应的微码版本相同,所述步骤(c)中,获取系统硬件配置后,判断其所属的硬件配置等价类,从而获得其对应的微码版本。
进一步地,上述方法还可具有以下特点,所述微码版本只包含对应的硬件配置或硬件配置等价类所需要的业务模块及其可使用的系统资源。
进一步地,上述方法还可具有以下特点,所述硬件配置的分类,把支持的业务种类相同,每个业务占用资源相同的硬件配置划分为同一硬件配置等价类。
进一步地,上述方法还可具有以下特点,所述步骤(b)中,系统中还建立硬件配置或硬件配置等价类和对应微码版本的映射表,保存所有微码版本的起始地址和大小,步骤(c)中,根据硬件配置或硬件配置等价类,查找映射表,获得对应的微码版本的起始地址和大小,加载所述微码版本。
进一步地,上述方法还可具有以下特点,所述系统中包含一种默认微码版本,所述默认微码版本包含了系统所有业务,所述步骤(c)中,当系统的硬件配置无对应的微码版本时,加载默认微码版本至网络处理器中。
本发明提供的方法,充分考虑路由器系统的硬件配置,能够根据硬件的配置自动选择加载合适的微码版本,使得系统支持的业务和业务的性能都达到一个最优的配置。


图1是网络处理卡的硬件基本框图;图2本发明系统启动流程图。
具体实施例方式
在现有的解决方法中,都没有考虑到系统的硬件配置。网络处理器资源宝贵,如果我们对所支持的业务不加以区分,把所有的业务统统的都加载进系统,毫无疑问,会导致所有的业务都抢占宝贵的网络处理器的资源,都无法得到足够多的资源,产生资源紧张的现象。而如果只提供部分功能,又削弱了路由器系统的功能。本发明提供了一种方法,充分考虑路由器系统的硬件配置,能够根据硬件的配置自动选择加载合适的微码版本,使得系统支持的业务和业务的性能都达到一个最优的配置。
本发明路由器系统中网络处理器微码加载方法包括以下步骤A、预先对系统的可能硬件配置进行统计、分类,根据硬件能够支持的业务种类、各种业务的性能指标,划分为有限的若干种等价配置。每一种等价配置,微码的处理是相同的。
(A1)根据硬件配置,决定必要的业务种类,以及每个业务能够占用的系统资源。
(A2)对硬件配置进行统计归类,把支持的业务种类相同,每个业务占用资源也相同的配置定义为一个硬件配置等价类。
比如根据网络处理器型号、网络处理器内存型号以及容量、接口卡类型等等,归类组合出若干种硬件配置等价类,每一种硬件配置等价类所支持的业务种类,以及每种业务可以达到的性能指标都是一样的,从而处理每种硬件配置等价类的微码版本是完全一样的。
(A3)统计出系统的所有硬件配置等价类。
(A4)可选的,可能还需要一个默认的硬件配置等价类,来表示所有特殊的硬件配置。
需要一种通用的微码版本,该版本包含了所有的业务,当系统的硬件配置很特殊,不满足所有的硬件配置等价类时或没有对应的微码版本时,则使用默认微码版本。
B、为每种硬件配置等价类编写专门版本的微码,每种微码版本中只包含对应的硬件配置等价类所需要的业务模块,以及使用该硬件配置等价类时能够使用的系统资源。
为每一种硬件配置等价类编写特定版本的微码时,充分考虑该种硬件配置需要的业务、性能指标等,对业务模块进行针对性的剪裁,去除不需要的业务,为需要支持的业务让出更多的资源,以达到更好的性能指标。编写最适合该类型配置的微码版本,以提高系统资源利用率。
C、把所有的微码版本都保存在系统中,并建立起硬件配置等价类和微码版本的对应关系。
(C1)将所有的微码版本都加载入系统镜像中,并保存所有版本微码的起始地址和大小;(C2)建立起硬件配置等价类和微码版本对应关系表(以下简称映射表)。
一般的网络处理器的微码指令空间很小,通常只有几十K,而系统的内存很大,所以可以在编译时一次性把所有的微码版本都加载到系统镜像文件中,并建立硬件配置等价类和微码版本的对应关系表。硬件配置和微码版本对应关系表中,可以根据硬件配置得到对应微码版本的微码镜像起始地址和微码镜像的大小。
D、系统启动时,主控系统依据系统的实际配置,判断出属于哪一种硬件配置等价类,然后加载对应版本的微码到网络处理器中并执行。如图2所示,包含如下步骤(D1)主控系统得到系统的硬件配置,判断属于哪一种硬件配置等价类;(D2)根据等价硬件配置类,从映射表中得到微码镜像的版本,包含微码指令的起始地址和微码的大小;(D3)把该微码版本加载入微引擎的指令空间;(D4)进行相关的配置和初始化,启动微引擎,执行所述微码版本。
权利要求
1.一种路由器系统中网络处理器加载微码的方法,包含如下步骤(a)对系统的硬件配置,编写对应的微码版本;(b)将所有的微码版本保存在系统中;(c)系统启动时,获取系统的硬件配置,加载对应的微码版本至网络处理器中。
2.如权利要求1所述的方法,其特征在于,所述步骤(a)中,首先将系统的硬件配置进行分类,划分为若干硬件配置等价类,同一硬件配置等价类的硬件配置其对应的微码版本相同,所述步骤(c)中,获取系统硬件配置后,判断其所属的硬件配置等价类,从而获得其对应的微码版本。
3.如权利要求1或2所述的方法,其特征在于,所述微码版本只包含对应的硬件配置或硬件配置等价类所需要的业务模块及其可使用的系统资源。
4.如权利要求2所述的方法,其特征在于,所述硬件配置的分类,把支持的业务种类相同,每个业务占用资源相同的硬件配置划分为同一硬件配置等价类。
5.如权利要求1或2所述的方法,其特征在于,所述步骤(b)中,系统中还建立硬件配置或硬件配置等价类和对应微码版本的映射表,保存所有微码版本的起始地址和大小,步骤(c)中,根据硬件配置或硬件配置等价类,查找映射表,获得对应的微码版本的起始地址和大小,加载所述微码版本。
6.如权利要求1所述的方法,其特征在于,所述系统中包含一种默认微码版本,所述默认微码版本包含了系统所有业务,所述步骤(c)中,当系统的硬件配置无对应的微码版本时,加载默认微码版本至网络处理器中。
全文摘要
本发明提供了一种路由器系统中网络处理器加载微码的方法,包含如下步骤(a)对系统的硬件配置,编写对应的微码版本;(b)将所有的微码版本保存在系统中;(c)系统启动时,获取系统的硬件配置,加载对应的微码版本至网络处理器中。本发明提供的方法,充分考虑路由器系统的硬件配置,能够根据硬件的配置自动选择加载合适的微码版本,使得系统支持的业务和业务的性能都达到一个最优的配置。
文档编号G06F12/02GK101075966SQ20071012728
公开日2007年11月21日 申请日期2007年7月5日 优先权日2007年7月5日
发明者吴兆胜, 潘建农, 杨焱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1