【技术实现步骤摘要】
指令处理的方法及装置
本申请涉及数据处理领域,具体地,尤其是一种指令处理的方法及装置。
技术介绍
分支指令是一类可以改变指令流向的指令。在当前基于流水线结构的处理器芯片中,分支指令(如跳转指令)的存在可能会导致指令流水线出现排空或者增加处理器的处理延迟,从而影响处理器的执行性能。在处理器的设计中,为了加速转发查表操作,常常使用多路分支硬件加速器来进行多路分支查询,也即将部分的类似多路分支(类似switch)语句结构的分支转化为硬件加速的查询方式进行优化,但仍存在较多数量的未被优化的分支跳转指令。当前,一种简单的减少分支指令个数的方法是改进程序员的编程模型,尽可能使用具有多路分支结构(类似switch语句结构)的语句代替双分支结构(类似if语句的语句结构),但是这种方法会严重影响编程模型的灵活性。另一种减少分支指令个数方法是通过分支转换技术进行编译阶段的优化处理,通过利用多路分支加速器来降低网络转发时延,同时又不限制程序员的编程模型。但是,这种方法由于需要在判断条件的位置均增设硬件加速器,会导致硬件资源的浪费。 ...
【技术保护点】
1.一种指令处理的方法,其特征在于,包括:/n对第一程序中需要上提的分支指令和所述分支指令的依赖指令中的写变量进行重命名,使所述写变量具有全局唯一的变量名;/n根据所述写变量重命名后的分支指令和依赖指令获得第一指令序列。/n
【技术特征摘要】
1.一种指令处理的方法,其特征在于,包括:
对第一程序中需要上提的分支指令和所述分支指令的依赖指令中的写变量进行重命名,使所述写变量具有全局唯一的变量名;
根据所述写变量重命名后的分支指令和依赖指令获得第一指令序列。
2.根据权利要求1所述的方法,其特征在于,根据所述写变量重命名后的分支指令和依赖指令获得第一指令序列,包括:
插入一个PHI节点,所述PHI节点用于指示所述写变量可能的取值信息;
根据所述PHI节点和至少一条路径包括的所述写变量,获得至少一个第二指令序列,所述第二指令序列包括所述至少一条路径中的任意一条路径对应的所述写变量;
所述至少一个第二指令序列组成所述第一指令序列。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
构建第一寄存器,所述第一寄存器用于专门存储所述上提的分支指令和分支指令的依赖指令的相关的数据信息。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
执行所述第一指令序列后,释放所述第一寄存器中所述第一指令序列中分支指令和依赖指令相关的数据信息所占的空间。
5.根据权利要求4所述的方法,其特征在于,所述释放所述第一寄存器中所述第一指令序列所占的空间,包括:
所述第一寄存器中所述第一指令序列中分支指令和依赖指令相关的数据信息所占的空间由硬件自动清空。
6.一种指令的处理方法,其特征在于,包括:
构建第一寄存器,所述第一寄存器用于专门存储上提的分支指令和所述分支指令的依赖指令的相关的数据信息;
上提分支指令和所述分支指令的依赖指令组成的指令序列,并根据所述第一寄存器中的所述数据信息执行所述分支指令和所述依赖指令。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对所述分支指令和所述依赖指令中的写变量进行重命名,使所述写变量具有全局唯一的变量名。
8.根据权利要求7所述的方法,其特征在于,所述上提所述分支指令和所述分支指令的依赖指令组成的指令序列,包括:
插入一个PHI节点,所述PHI节点用于指示所述写变量可能的取值信息;
根据所述PHI节点和至少一条路径包括的所述写变量,获得至少一个第二指令序列,所述第二指令序列包括所述至少一条路径中的任意一条路径对应的所述写变量;
上提所述至少一个第二指令序列。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述至少一个第二指令序列组成第一指令序列。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
执行所述第一指令序列后,释放所述第一寄存器中...
【专利技术属性】
技术研发人员:王蕾,王立国,罗伟坚,全龙,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。