[发明专利]指令处理方法及网络处理器指令处理装置在审

专利信息
申请号: 201210273408.7 申请日: 2012-08-02
公开(公告)号: CN102830953A 公开(公告)日: 2012-12-19
发明(设计)人: 石金锋;方超;王志忠;刘衡祁;许炜华;李明 申请(专利权)人: 中兴通讯股份有限公司
主分类号: G06F9/38 分类号: G06F9/38
代理公司: 北京安信方达知识产权代理有限公司 11262 代理人: 李健;龙洪
地址: 518057 广东省深圳市南山*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 指令 处理 方法 网络 处理器 装置
【说明书】:

技术领域

发明涉及计算机技术领域,特别涉及一种指令处理方法及网络处理器指令处理装置。

背景技术

网络处理器(Network Processor,NP)是一种专门针对网络数据报文处理而优化了体系结构和指令集的可编程芯片。它既具有通用处理器的低价格和高灵活性,又具有专用芯片(ASIC)的高性能和可扩展性等特点。当前,骨干网络的核心设备的单口接入速度已经达到1Tbps,这就要求网络处理器要以1T的线速完成报文转发,当前业界多使用多核结构来实现可编程网络转发芯片。

在多核结构的网络处理器系统中,同一组微引擎(Micro Engine,ME)有着同样的指令需求,由于芯片面积和制造工艺的限制,不能为每一个微引擎都配备一块独享的存储空间来存储这些指令。为实现指令存储空间共享以及微引擎的高效取指,网络处理器采用轮询式的指令存储方案,将一组微引擎所需的指令存储在同等数量的随机存取介质(RAM)内,微引擎以轮询的方式依次从各个RAM中取指。对于完全顺序执行的指令来说,每个微引擎依次地访问所有的RAM,它们的访问始终处于不同的“相位”,因此不会发生不同微引擎访问同一个RAM的碰撞,从而实现了存储空间的共享。

但是由于指令中存在跳转指令,假设对流水线结构的微引擎来说,一条指令的执行通常包含取指、译码、执行、回写等几个步骤,每个步骤分别由网络处理器中不同的子单元串行完成。各个子单元同时工作,达到的效果是流水线上第一条指令在执行,第二条指令在解码,第三条指令在取指,从而可以节省消耗的时钟周期。但是当执行到跳转指令时,由于无法获知跳转条件是否成立,在得到计算结果前不知道要执行的下一条指令地址,无法提前取指和译码,因此流水线会被迫中断;同时当前微引擎执行跳转指令后的要取指RAM可能与其他微引擎要取指RAM发生碰撞,破坏微引擎之间轮询式的指令访问方式。显然,程序中的跳转指令越多,流水线中断以及发生碰撞的次数就越多,微引擎的执行效率就越差。

为解决上述问题,微引擎中通常采用特殊的容错机制来调解微引擎之间取指冲突,这既没有从根本上消除微引擎取指冲突的问题,也增加了处理器微引擎设计的难度。

发明内容

本发明实施例提供了一种指令处理方法及网络处理器指令处理装置,以解决现有技术没有从根本上消除微引擎取指冲突的问题。

本发明实施例提供了一种指令处理方法,该方法包括:

对指令源文件进行处理,生成包含有跳转指令信息的中间表示结构;

根据所述中间表示结构中包含的所述跳转指令信息,对引起取指冲突的跳转指令进行修正;

修正完成后生成预定格式的目标文件。

优选地,所述中间表示结构中包含表示跳转源标记和跳转目的标记的字段。

优选地,所述根据所述中间表示结构中包含的所述跳转指令信息,对引起取指冲突的跳转指令进行修正,包括:

根据所述跳转指令信息生成所述待修正的跳转指令的四元组集合;按照修正原则从所述四元组集合中选择四元组;对选择的四元组逐一进行修正;将修正任一四元组产生的影响反馈给其他四元组,确保多个微引擎在所述待修正的跳转指令执行前后无取指冲突。

优选地,所述四元组集合为由从所述中间表示结构中抽取出来的待修正的跳转指令信息的四元组组成的集合,所述四元组包含跳转源地址、跳转目的地址、跳转间隔大小和跳转间隔区间四种信息。

优选地,所述按照修正原则从所述四元组集合中选择四元组,包括:

从所述四元组集合中选择一个四元组作为候选者,检验该候选者是否满足所述修正原则,若满足则通过合法性检验,若不满足则重新选择。

优选地,所述修正原则是指当前候选者的跳转间隔区间不能完全包含相比较的四元组的跳转间隔区间。

优选地,所述对选择的四元组逐一进行修正包括:

计算出通过合法性检验的候选者为避免取指冲突所需插入的空白指令的数量,并在对应的中间表示结构中插入所述数量的所述空白指令。

优选地,所述空白指令是指只占有执行周期,但不产生任何影响的一类指令。

优选地,所述将修正任一四元组产生的影响反馈给其他四元组包括:

将已修正的四元组从所述四元组集合中删除,将所述四元组集合中其他四元组的跳转间隔区间和所述已修正的四元组的跳转间隔区间相重叠的部分删除,将插入空白指令对其他四元组跳转间隔大小的影响反馈到所述四元组集合。

优选地,所述修正完成后生成预定格式的目标文件包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210273408.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top