[发明专利]一种微引擎及其处理报文的方法有效
申请号: | 201410084619.5 | 申请日: | 2014-03-07 |
公开(公告)号: | CN104901901B | 公开(公告)日: | 2019-03-12 |
发明(设计)人: | 周峰 | 申请(专利权)人: | 深圳市中兴微电子技术有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张颖玲;张振伟 |
地址: | 518085 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 引擎 及其 处理 报文 方法 | ||
本发明公开了一种微引擎(ME)及其处理报文的方法,ME通过至少五个线程管理队列对接收到报文进行线程分配,根据所分配的线程将所述报文存储在具有双读写端口的报文存储器中,并采用八级流水线的方式控制所分配的线程对存储在所述报文存储器中的报文进行处理;本发明同时还公开了一种处理报文的ME。
技术领域
本发明涉及网络处理器技术,尤其涉及一种微引擎(ME,Micro Engine)及其处理报文的方法。
背景技术
为了满足未来网络发展的需要,提高路由器的性能,处于因特网(Internet)骨干位置的核心路由器进行了一个又一个的技术变革。尤其在高端路由器市场,网络处理器以其杰出的报文处理性能及可编程性已经成为构成路由转发引擎不可替代的部分。目前业界基本使用多线程的网络处理器结构,而多线程的管理和调度是影响多线程网络处理器性能的一个关键因素。
在网络处理器系统中,ME是网络处理器的核心部件。多线程结构是提高网络处理器ME性能的一种有效方法,但是也会带来线程管理的复杂性和系统频率瓶颈等问题。因此需要设计一个合理的方案来实现高频高效的ME线程调度管理,同时使ME有较高的处理性能。
一些传统的多线程网络处理器采用了基于粗粒度调度的ME,这样的ME 虽然可以保证一个线程的指令全速执行,但是在每一次线程切换时,数据的加载和保存都会造成内核流水线的空闲,从而导致ME性能的下降。
另外,由于ME的流水线中只有一条线程在执行,所以设计方案时需要解决数据冒险的问题。当采用数据前推的设计时,将增加逻辑的复杂度,并在连续处理两个结果相关的报文指令时造成组合逻辑路径的增加,导致系统频率的下降。
发明内容
有鉴于此,本发明实施例期望提供一种ME及其处理报文的方法,能够在克服现有的ME频率与性能不高的问题。
本发明的技术方案是这样实现的:
本发明提供了一种ME处理报文的方法,所述方法包括:ME通过至少五个线程管理队列对接收到的报文进行线程分配,根据所分配的线程将所述报文存储在具有双读写端口的报文存储器中,并采用八级流水线的方式控制所分配的线程对存储在所述报文存储器中的报文进行处理。
上述方案中,所述ME通过至少五个线程管理队列对接收到的报文进行线程分配为:ME接收到新的报文时,由空闲队列free_queue以先进先出的方式为报文分配线程号,并将分配的线程号和报文自身携带的取指地址写到待处理队列rdy_queue,当ME中具有空闲的流水线资源时,ME从rdy_queue中调度一个待处理的报文的线程号和所述线程号对应的取指地址写到操作队列 work_queue,work_queue中存储的都是ME正在处理的报文的线程号和取指地址,当一个报文需要查表时,将所述报文的线程号和取指地址写入到查表队列srh_queue中,当一个报文处理完毕时,将所述报文的线程号和取指地址写入到报文输出队列pkt_out_queue中;其中,当一个报文需要查表或处理完毕时,从 work_queue中删除所述报文对应的线程号和取指地址。
上述方案中,所述采用八级流水线的方式控制所分配的线程对存储在所述报文存储器中的报文进行处理为:八级流水线支持八个线程同时工作,八级流水线中每一级对应一个线程;其中,第一级,线程根据报文的取指地址发送报文指令的获取请求;第二级,线程接收报文指令;第三级,线程解析报文指令并获取报文指令的源操作数;第四级,线程对源操作数进行位调整;第五级,线程根据所述位调整后的源操作数执行报文指令对应的算术运算和对应的存储地址的计算;第六级,线程根据所述存储地址发出读写操作请求;第七级,线程获得所述操作请求的响应;第八级,线程将所述算术运算的结果或所述操作请求的响应作为报文指令的处理结果回写;其中,在第八级之后,确定报文不需要查表且包括有未处理的报文指令时,根据所述报文的线程号返回第一级处理所述报文中未处理的报文指令。
上述方案中,在所述报文处理完成后,将所述报文的线程号释放。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴微电子技术有限公司,未经深圳市中兴微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410084619.5/2.html,转载请声明来源钻瓜专利网。