[发明专利]去除循环处理流程中条件判断语句的方法和装置、应用单元有效
申请号: | 201611255464.2 | 申请日: | 2016-12-30 |
公开(公告)号: | CN106775593B | 公开(公告)日: | 2019-12-31 |
发明(设计)人: | 何君舰;刘瑞祥;张鹏;曹红胜;赵东旭;刘海明;沈海寅 | 申请(专利权)人: | 智车优行科技(北京)有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/302;G06F9/305 |
代理公司: | 11657 北京思源智汇知识产权代理有限公司 | 代理人: | 毛丽琴 |
地址: | 100020 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 去除 循环 处理 流程 条件 判断 语句 方法 装置 应用 单元 | ||
本发明公开了一种去除循环处理流程中条件判断语句的方法和装置、应用单元,其中,方法包括:响应于读取到条件判断语句,获取所述条件判断语句中判断条件的条件形式;根据所述判断条件的条件形式,生成所述条件判断语句的非判断执行应用单元;所述非判断执行应用单元通过符号位获取、加减法操作和按位与操作实现所述条件判断语句的执行结果。另外,上述方法还可以进一步包括:执行所述非判断执行应用单元,获得所述条件判断语句的执行结果。本发明无需执行判断条件,通过符号位获取、加减法操作和按位与操作来实现条件判断语句的执行结果,提高了循环处理流程的执行效率。本发明应用于需要高速计算的领域时,对于执行效率的提升效果尤其明显。
技术领域
本发明涉及计算机技术,尤其是一种去除循环处理流程中条件判断语句的方法和装置、应用单元。
背景技术
随着计算机技术和互联网技术的发展,各种应用也不断产生、升级,用户在工作、生活、娱乐中使用的应用也越来越多,应用的执行效率觉得了应用的性能和市场。而在各种应用的程序(以下简称:应用程序)运行的过程中,或多或少都会进行一些条件判断,可能导致应用程序进入循环处理流程。
在实现本发明的过程中,发明人通过研究发现:
在应用的循环处理流程中,条件判断语句严重影响了应用程序的执行效率。例如,在ARM7处理器上,无条件跳转语句和跳转语句成功跳转,需要重新填充流水线,因此至少需要3个周期,如图1所示,为存在条件判断语句时循环处理流程示意图。相反,除了乘法外,大部分算术运算和逻辑运算指令都是单周期的,对于所有的带条件的指令,如果条件不满足,指令不被执行,都只需要花1个周期来跳过该指令。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种去除循环处理流程中条件判断语句的方法和装置、应用单元,以提高循环处理流程的执行效率。
根据本发明实施例的一个方面,提供的一种去除循环处理流程中条件判断语句的方法,包括:
响应于读取到条件判断语句,获取所述条件判断语句中判断条件的条件形式;
根据所述判断条件的条件形式,生成所述条件判断语句的非判断执行应用单元;所述非判断执行应用单元通过符号位获取、加减法操作和按位与操作实现所述条件判断语句的执行结果。
可选地,上述方法实施例中,还包括:
执行所述非判断执行应用单元,获得所述条件判断语句的执行结果。
可选地,上述方法实施例中,所述判断条件的条件形式包括:a<b;
所述条件判断语句包括:if(a<b)c=b;else c=a,或者c=a<b?b:a;
所述非判断执行应用单元包括:c=((Sign(a-b)-1)&(a-b))+b。
可选地,上述方法实施例中,执行所述非判断执行应用单元,获得所述条件判断语句的执行结果,包括:
计算a与b相减的结果d=a-b;
获取d的符号位Sign(d);
计算d的符号位Sign(d)与1的差值Sign(d)-1;
将所述差值Sign(d)-1与d做按位与运算,获得第一运算结果(Sign(d)-1)&d;
计算所述第一运算结果(Sign(d)-1)&d与b相加的值((Sign(d)-1)&d)+b;
将所述值((Sign(d)-1)&d)+b赋值给c。
可选地,上述方法实施例中,b的取值为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于智车优行科技(北京)有限公司,未经智车优行科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611255464.2/2.html,转载请声明来源钻瓜专利网。