[发明专利]一种微引擎及其处理报文的方法有效
申请号: | 201410084619.5 | 申请日: | 2014-03-07 |
公开(公告)号: | CN104901901B | 公开(公告)日: | 2019-03-12 |
发明(设计)人: | 周峰 | 申请(专利权)人: | 深圳市中兴微电子技术有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张颖玲;张振伟 |
地址: | 518085 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 引擎 及其 处理 报文 方法 | ||
1.一种微引擎(ME)处理报文的方法,其特征在于,所述方法包括:
ME通过至少五个线程管理队列对接收到的报文进行线程分配,根据所分配的线程将所述报文存储在具有双读写端口的报文存储器中,并采用八级流水线的方式控制所分配的线程对存储在所述报文存储器中的报文进行处理;
其中,所述ME通过至少五个线程管理队列对接收到的报文进行线程分配为:
ME接收到新的报文时,由空闲队列free_queue以先进先出的方式为报文分配线程号,并将分配的线程号和报文自身携带的取指地址写到待处理队列rdy_queue,当ME中具有空闲的流水线资源时,ME从rdy_queue中调度一个待处理的报文的线程号和所述线程号对应的取指地址写到操作队列work_queue,work_queue中存储的都是ME正在处理的报文的线程号和取指地址,当一个报文需要查表时,将所述报文的线程号和取指地址写入到查表队列srh_queue中,当一个报文处理完毕时,将所述报文的线程号和取指地址写入到报文输出队列pkt_out_queue中;其中,当一个报文需要查表或处理完毕时,从work_queue中删除所述报文对应的线程号和取指地址;
所述采用八级流水线的方式控制所分配的线程对存储在所述报文存储器中的报文进行处理为:
八级流水线支持八个线程同时工作,八级流水线中每一级对应一个线程;其中,
第一级,线程根据报文的取指地址发送报文指令的获取请求;
第二级,线程接收报文指令;
第三级,线程解析报文指令并获取报文指令的源操作数;
第四级,线程对源操作数进行位调整;
第五级,线程根据所述位调整后的源操作数执行报文指令对应的算术运算和对应的存储地址的计算;
第六级,线程根据所述存储地址发出读写操作请求;
第七级,线程获得所述操作请求的响应;
第八级,线程将所述算术运算的结果或所述操作请求的响应作为报文指令的处理结果回写;
其中,在第八级之后,确定报文不需要查表且包括有未处理的报文指令时,根据所述报文的线程号返回第一级处理所述报文中未处理的报文指令。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
在所述报文处理完成后,将所述报文的线程号释放。
3.一种ME,其特征在于,所述ME包括:线程管理模块、具有双读写端口的报文存储模块、内核模块;其中,
所述线程管理模块,用于通过至少五个线程管理队列对接收到的报文进行线程分配;
所述报文存储模块,用于根据所分配的线程存储所述报文;
所述内核模块,用于采用八级流水线的方式控制所分配的线程对存储在所述报文存储模块中的报文进行处理;
其中,所述线程管理模块,具体用于通过空闲队列free_queue以先进先出的方式为报文分配线程号,并将分配的线程号和报文自身携带的取指地址写到待处理队列rdy_queue,当有空闲的流水线资源时,从rdy_queue中调度一个待处理的报文的线程号和所述线程号对应的取指地址写到操作队列work_queue,work_queue中存储的都是正在处理的报文的线程号和取指地址,当一个报文需要查表时,将所述报文的线程号和取指地址写入到查表队列srh_queue中,当一个报文处理完毕时,将所述报文的线程号和取指地址写入到报文输出队列pkt_out_queue中;其中,当一个报文需要查表或处理完毕时,从work_queue中删除所述报文对应的线程号和取指地址;
所述内核模块,具体用于将八级流水线中每一级对应一个线程;其中,
第一级,线程根据报文的取指地址发送报文指令的获取请求;
第二级,线程接收报文指令;
第三级,线程解析报文指令并获取报文指令的源操作数;
第四级,线程对源操作数进行位调整;
第五级,线程根据所述位调整后的源操作数执行报文指令对应的算术运算和对应的存储地址的计算;
第六级,线程根据所述存储地址发出读写操作请求;
第七级,线程获得所述操作请求的响应;
第八级,线程将所述算术运算的结果或所述操作请求的响应作为所述报文指令的处理结果回写;
其中,在第八级之后,确定报文不需要查表且包括有未处理的报文指令时,根据所述报文的线程号返回第一级处理所述报文中未处理的报文指令。
4.根据权利要求3所述的ME,其特征在于,所述线程管理模块,还用于在所述报文处理完成后,将所述报文的线程号释放。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴微电子技术有限公司,未经深圳市中兴微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410084619.5/1.html,转载请声明来源钻瓜专利网。