网络处理器、网络处理器访问数据结构的方法及系统的制作方法

文档序号:7925718阅读:308来源:国知局
专利名称:网络处理器、网络处理器访问数据结构的方法及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种网络处理器、网络处理器访问数据结 构的方法及系统。
背景技术
随着网络带宽的飞速增长和各种新的网络应用不断涌现,原有的基于通用
处理器和专用集成电路ASIC (Application Specific Integrated Circuit)的互联
网架构已经不能满足新的需求。兼具强大处理能力和灵活可编程配置能力的网 络处理器NP (Network Processor)逐渐得到广泛的应用,比如包处理、协议 分析、路由查找、声音/数据的汇聚、防火墙、QOS等等。目前的NP—般指 综合业务的网络处理器,即完成各种转发功能的网络处理器。
网络处理器主要包括转发引擎(FE, Forwarding Engine )、协处理器和交 换接口。转发引擎负责报文的转发处理,该转发引擎内设置有内部寄存器,通 常多个转发引擎并行处理,通过软件来实现转发控制处理流程;协处理器主要 用以对网络处理器的硬件单元进行操作和控制;交换接口主要用以与外部网络 进行交互。网络处理器外部还包括有外围存储器(如Sram、 Dram等),用以 存储数据结构(Data Structure)等信息并与网络处理器相通信。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题 网络处理器在进行信息处理的过程中需要访问大量的数据结构,高速的网 络处理器在发起对数据结构的访问指令后,需要等待慢速的外围存储器返回数 据结构,才能将数据结构读至网络处理器内,进行修改处理后,再写回外围存 储器中。由于网络处理器与外围的存储器执行速率不匹配,影响网络处理器的
5处理性能。

发明内容
本发明实施例在于提供一种网络处理器、网络处理器访问数据结构的方法 及系统,保证网络处理器访问数据结构的快速性,同时也保证网络处理器的内 部寄存器空间的有效利用。
本发明实施例提出的一种网络处理器访问数据结构的方法,包括获取需 要访问的数据结构的特征值;
根据所述需要访问的数据结构的特征值查找寻址存储器,如果在所述寻址 存储器中查询到所述需要访问的数据结构的特征值,则内部寄存器存在所述需 要访问的数据结构,从所述内部寄存器中访问所述数据结构。
本发明实施例提出的一种网络处理器,包括获取单元,用于获取需要访 问的数据结构的特征值;内部寄存器,用于寄存所述需要访问的数据结构;寻 址存储器,用于存储和所述内部寄存器中的所述需要访问的数据结构对应的特 征值;查找单元,用于根据所述需要访问的数据结构对应的特征值查找所述寻 址存储器和/或外围存储器;访问单元,用于从内部寄存器中访问所述数据结 构。
本发明实施例提出的一种网络处理器访问数据结构的系统,包括外围存 储器和网络处理器,其中,所述网络处理器包括内部寄存器和寻址存储器;所 述网络处理器获取需要访问的数据结构的特征值,根据所述需要访问的数据结 构的特征值查找所述寻址存储器,如果在所述寻址存储器中查询到所述需要访
问的数据结构的特征值,则内部寄存器存在所述需要访问的数据结构,则所述 网络处理器从所述内部寄存器中访问所述数据结构。
本发明实施例通过将数据结构预先读入内部寄存器,并动态地在外围存储 器和内部寄存器之间进行数据结构的搬移,保证网络处理器访问数据结构的快 速性,同时保证了对内部寄存器空间的有效利用。


图1是本发明实施例网络处理器访问数据结构的方法流程示意图2是本发明的实施例数据结构更新的方法流程示意图3是本发明实施例用于网络处理器访问数据结构的系统结构示意图。
具体实施例方式
本发明实施例提供一种网络处理器、网络处理器访问数据结构的方法及系 统,下面结合附图详细说明本发明的优选实施例。
请参考图l所示,在本发明的实施例中,网络处理器访问数据结构的方法 包括
11:为数据结构设置特征值;
在本发明的实施例中,为数据结构预先设置特征值,每个数据结构对应一 个特征值;
12:将至少一数据结构添加到内部寄存器,该数据结构对应的特征值添加 到寻址存储器;
通常是在系统初始化阶段进行此12,在此12中,并不一定要把所有的数据 结构都预先读入,较优的是选择其中常用的数据结构读入内部寄存器,例如对 网络流量做CAR ( commit access rate,即流量限制),如果对应索引为1~100的 CAR表是经常被查找的,那么就把这些CAR表读入内部寄存器,而不太使用 的CAR表仍然留在外围存储器。
13:网络处理器需要访问某一数据结构时,获取需要访问的数据结构的特 征值,根据该所需数据结构的特征值在寻址存储器和/或外围存储器中查找该 所需数据结构;
在此13中,首先查找寻址存储器中是否存在与所需数据结构相对应的特征 值;如果寻址存储器中存在该所需数据结构相对应的特征值,则表明在内部寄 存器中存在该所需数据结构;如果寻址存储器中不存 该所需数据结构相对应 的特征值,则表明在内部寄存器中不存在该所需数据结构;当寻址存储器中不存在该所需数据结构相对应的特征值,需要继续查找外围存储器,然后内部寄 存器从外围存储器中获取所需数据结构,寻址存储器获取所需数据结构对应的
特征值;
在此13中,由于网络处理器的内部寄存器的空间有限,较优的是,在有新
的数据结构添加到内部寄存器后,可以选择将不常访问的数据结构和该不常访 问的数据结构对应的特征值从内部寄存器和寻址存储器移至外围存储器,例如 可以基于最近一次被访问的时间记录,来判断不常访问的数据结构,当有新的 数据结构添加到内部寄存器后,可以将不常访问的数据结构替换出去。
14:网络处理器从内部寄存器中访问该所需数据结构。
经过上面的方法,保证网络处理器所需要访问的数据结构在内部寄存器 中,即网络处理器能够从内部寄存器中直接访问该所需数据结构。
在本发明实施例中,将经常被访问的数据结构预先读入内部寄存器,并动 态地在外围存储器和内部寄存器之间进行数据结构的搬移,保证网络处理器访 问数据结构的快速性,同时保证了对内部寄存器空间的有效利用。
数据结构会有被控制层面刷新的情况,外围存储器会根据控制层面刷新的 情况对数据结构进行更新,并根据数据结构更新的情况,对网络处理器的内部 寄存器中存储的数据结构进行及时更新,在本发明的实施例中,请参考图2所 示,方法如下
21:接收更新数据结构的特征值;
该更新数据结构的特征值可以由控制层面向网络处理器传递,也可以由外 围存储器向网络处理器传递。
22:查找寻址存储器中是否存在该更新数据结构的特征值;
如果寻址存储器中不存在该更新数据结构的特征值,则表明在内容寄存 器中不存在对应的数据结构,即无需进行更新处理;
如果寻址存储器中存在该更新数据结构的特征值,则表明在内部寄存器中 存在相对应的没有被更新的数据结构,执行步骤23;
23:将外围存储器中的更新数据结构添加到内部寄存器,并替换原数据结构。
在本发明实施例中,确保内部寄存器中的数据结构能够被及时更新,进一步保证了网络处理器访问凄史据结构的快速性。
请参考图3所示,本发明的实施例提供了 一种网络处理器以及用于网络处理器访问数据结构的系统,其中该系统包括网络处理器和外围存储器。
网络处理器包括
设置单元lll,用于为数据结构设置特征值;
添加单元112,用于将至少一数据结构添加到内部寄存器,并将添加到内部寄存器中的数据结构对应的特征值添加到寻址存储器;
内部寄存器113,用于寄存数据结构,网络处理器访问该内部寄存器113获取所需要的数据结构;
寻址存储器114,用于存储和内部寄存器113中所寄存的数据结构对应的特征值;
查找单元115,用于根据数据结构对应的特征值查找寻址存储器114和/或外围存储器,其中,首先查找寻址存储器114,如果在寻址存储器114查找到,则表明在内部寄存器113中存在该数据结构,如果没有在寻址存储器114中查找到,则表明在内部寄存器113中不存在该所需数据结构,而需要进一步查找外围存储器,将所需数据结构从外围存储器搬移到内部寄存器113,并将该所需数据结构对应的特征值添加到寻址存储器114;
访问单元116,用于从内部寄存器113中访问数据结构。
该网络处理器还包括
获取单元117:用于获取特征值,其中,
该特征值可能是网络处理器需要访问的数据结构对应的特征值,当该获取单元117获取该需要访问的数据结构对应的特征值后,查找单元115根据获取的该需要访问的数据结构对应的特征值查找寻址存储器114和/或外围存储器,访问单元116从内部寄存器113读取所需要访问的数据结构;
该特征值也可能是更新的数据结构对应的特征值,当该获取单元115获取该更新的数据结构对应的特征值后,查找单元115根据获取的该更新的数据结构对应的特征值查找寻址存储器114和/或外围存储器,根据查找结果判断是
否需要更新内部寄存器113中的数据结构,即如果在寻址存储器114中没有查找到该更新的数据结构对应的特征值时,则内部寄存器113中没有和该更新的数据结构对应的原lt据结构,内部寄存器113无需更新,如果在寻址存储器114中查找到该更新的数据结构对应的特征值时,则内部寄存器113有和该更新的数据结构对应的原数据结构,该内部寄存器113从所述外围存储器中获取所述更新的数据结构,替换内部寄存器113中的原数据结构。
是可以通过程序来指令相关的转发平面完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM/RAM, ^兹盘或光盘等。
以上所揭露的仅为本发明实施例中的一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1、一种网络处理器访问数据结构的方法,其特征在于,包括获取需要访问的数据结构的特征值;根据所述需要访问的数据结构的特征值查找寻址存储器,如果在所述寻址存储器中查询到所述需要访问的数据结构的特征值,则内部寄存器存在所述需要访问的数据结构,从所述内部寄存器中访问所述数据结构。
2、 如权利要求1所述的网络处理器访问数据结构的方法,其特征在于,所 述获取需要访问的数据结构的特征值之前,还包括所述内部寄存器预置至少一数据结构,所述寻址存储器相应的预先添加所 述内部寄存器中预置的数据结构对应的特征值。
3、 如权利要求1所述的网络处理器访问数据结构的方法,其特征在于,还 包括如果在所述寻址存储器中未查询到所述数据结构的特征值,则所述内部 寄存器从外围存储器中获取所述需要访问的数据结构,所述寻址存储器获取所 述需要访问的数据结构的特征值。
4、 如权利要求3所述的网络处理器访问数据结构的方法,其特征在于,还 包括将不常访问的数据结构从所述内部寄存器移至外围存储器,并将所述不常 访问的数据结构对应的特征值从所述寻址存储器移至所述外围存储器。
5、 如权利要求1-4中的任一项所述的网络处理器访问数据结构的方法,其 特征在于,还包括获取更新的数据结构的特征值; 根据所述更新的数据结构的特征值查找寻址存储器,如果在所述寻址存储器中查询到所述更新的数据结构的特征值,则内部寄 存器存在和所述更新的数据结构对应的原数据结构,所述内部寄存器从所述外 围存储器中获取所述更新的数据结构,替换所述内部寄存器中的所述原数据结构。
6、 一种网络处理器,其特征在于,包括 获取单元,用于获取需要访问的数据结构的特征值; 内部寄存器,用于寄存所述需要访问的数据结构;寻址存储器,用于存储和所述内部寄存器中的所述需要访问的数据结构对 应的特征值;查找单元,用于根据所述需要访问的数据结构对应的特征值查找所述寻址 存储器和/或外围存储器;访问单元,用于从内部寄存器中访问所述数据结构。
7、 如权利要求5所述的网络处理器,其特征在于,还包括添加单元,用于在所述内部寄存器内预置至少一数据结构,在所述寻址存 储器内预置与所述内部寄存器内预置的数据结构对应的特征值。
8、 如权利要求5所述的网络处理器,其特征在于 所述获取单元,还用于获取更新的数据结构的特征值; 所述查找单元,还用于根据所述更新的数据结构的特征值查找寻址存储器和/或外围存储器;所述内部寄存器,还用于当在所述寻址存储器中查询到所述更新的数据结 构的特征值时,从所述外围存储器中获取所述更新的数据结构,替换所述内部 寄存器中与所述更新的数据结构对应的原数据结构。
9、 一种用于网络处理器访问数据结构的系统,其特征在于,包括 外围存储器和网络处理器,其中,所述网络处理器包括内部寄存器和寻址存储器;所述网络处理器获取需要访问的数据结构的特征值,根据所述需要访问的 数据结构的特征值查找所述寻址存储器,如果在所述寻址存储器中查询到所述 需要访问的数据结构的特征值,则内部寄存器存在所述需要访问的数据结构,
10、 如权利要求9所述的系统,其特征在于所述内部寄存器,用于寄存数据结构;所述寻址存储器,用于存储和所述内部寄存器中的数据结构对应的特征值; 所述网络处理器还包括,添加单元,用于在所述内部寄存器内预置至少一数据结构,在所述寻址存 储器内预置与所述内部寄存器内预置的数据结构对应的特征值;查找单元,用于根据所述需要访问的数据结构对应的特征值查找所述寻址 存储器和/或所述外围存储器;访问单元,用于所述网络处理器从所述内部寄存器中读取需要访问的数据 结构。
全文摘要
本发明公开了一种网络处理器、网络处理器访问数据结构的方法及系统,其方法包括获取需要访问的数据结构的特征值;根据所述需要访问的数据结构的特征值查找寻址存储器,如果在所述寻址存储器中查询到所述需要访问的数据结构的特征值,则内部寄存器存在所述需要访问的数据结构,从所述内部寄存器中访问所述数据结构。通过将数据结构预先读入内部寄存器,并动态地在外围存储器和内部寄存器之间进行数据结构的搬移,保证网络处理器访问数据结构的快速性,同时保证了对内部寄存器空间的有效利用。
文档编号H04L12/56GK101677293SQ20081021627
公开日2010年3月24日 申请日期2008年9月18日 优先权日2008年9月18日
发明者古月徐 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1