去除循环处理流程中条件判断语句的方法和装置、应用单元制造方法及图纸

技术编号:15540641 阅读:46 留言:0更新日期:2017-06-05 10:25
本发明专利技术公开了一种去除循环处理流程中条件判断语句的方法和装置、应用单元,其中,方法包括:响应于读取到条件判断语句,获取所述条件判断语句中判断条件的条件形式;根据所述判断条件的条件形式,生成所述条件判断语句的非判断执行应用单元;所述非判断执行应用单元通过符号位获取、加减法操作和按位与操作实现所述条件判断语句的执行结果。另外,上述方法还可以进一步包括:执行所述非判断执行应用单元,获得所述条件判断语句的执行结果。本发明专利技术无需执行判断条件,通过符号位获取、加减法操作和按位与操作来实现条件判断语句的执行结果,提高了循环处理流程的执行效率。本发明专利技术应用于需要高速计算的领域时,对于执行效率的提升效果尤其明显。

Method, apparatus and application unit for removing conditional judgment statements in a loop processing flow

The invention discloses a process including removal cycle condition judging method and device, the application of the statement unit. Methods: to read the statement in response to the determination conditions, obtain the condition for the conditional judgment form of conditional statements; according to the conditions of the form of condition, generating the judgment condition of non judgment the application execution unit statement; the non judgment execution unit obtains, through the application of sign bit subtraction operation and bitwise and operation to achieve the result of the execution of conditional statements. In addition, the method can further include executing the non judging execution application unit and obtaining the execution result of the conditional judgment statement. The invention does not need to execute judging conditions, and the execution result of the conditional judgment statement is realized by symbol position acquisition, addition and subtraction operation and bitwise operation, thereby improving the execution efficiency of the circulation processing flow. When the invention is applied to the field requiring high-speed calculation, the effect of improving the execution efficiency is particularly obvious.

【技术实现步骤摘要】
去除循环处理流程中条件判断语句的方法和装置、应用单元
本专利技术涉及计算机技术,尤其是一种去除循环处理流程中条件判断语句的方法和装置、应用单元。
技术介绍
随着计算机技术和互联网技术的发展,各种应用也不断产生、升级,用户在工作、生活、娱乐中使用的应用也越来越多,应用的执行效率觉得了应用的性能和市场。而在各种应用的程序(以下简称:应用程序)运行的过程中,或多或少都会进行一些条件判断,可能导致应用程序进入循环处理流程。在实现本专利技术的过程中,专利技术人通过研究发现:在应用的循环处理流程中,条件判断语句严重影响了应用程序的执行效率。例如,在ARM7处理器上,无条件跳转语句和跳转语句成功跳转,需要重新填充流水线,因此至少需要3个周期,如图1所示,为存在条件判断语句时循环处理流程示意图。相反,除了乘法外,大部分算术运算和逻辑运算指令都是单周期的,对于所有的带条件的指令,如果条件不满足,指令不被执行,都只需要花1个周期来跳过该指令。
技术实现思路
本专利技术实施例所要解决的一个技术问题是:提供一种去除循环处理流程中条件判断语句的方法和装置、应用单元,以提高循环处理流程的执行效率。根据本专利技术实施例的一个方面,提供的一种去除循环处理流程中条件判断语句的方法,包括:响应于读取到条件判断语句,获取所述条件判断语句中判断条件的条件形式;根据所述判断条件的条件形式,生成所述条件判断语句的非判断执行应用单元;所述非判断执行应用单元通过符号位获取、加减法操作和按位与操作实现所述条件判断语句的执行结果。可选地,上述方法实施例中,还包括:执行所述非判断执行应用单元,获得所述条件判断语句的执行结果。可选地,上述方法实施例中,所述判断条件的条件形式包括:a<b;所述条件判断语句包括:if(a<b)c=b;elsec=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。可选地,上述方法实施例中,所述判断条件的条件形式包括:a>b;所述条件判断语句包括:if(a>b)c=b;elsec=a,或者c=a>b?b:a;所述非判断执行应用单元包括:c=-((sign(b-a)-1)&(b-a))+b。可选地,上述方法实施例中,执行所述非判断执行应用单元,获得所述条件判断语句的执行结果,包括:计算b与a相减的结果d=b-a;获取d的符号位Sign(d);计算d的符号位Sign(d)与1的差值Sign(d)-1;将所述差值Sign(d)-1与d做按位与运算,获得第二运算结果(Sign(d)-1)&d;计算b与所述第二运算结果(Sign(d)-1)&d的差值b-((Sign(d)-1)&d);将所述差值b-((Sign(d)-1)&d)赋值给c。可选地,上述方法实施例中,b的取值为255。根据本专利技术实施例的另一个方面,提供的一种去除循环处理流程中条件判断语句的装置,包括:获取单元,用于在读取到条件判断语句时,获取所述条件判断语句中判断条件的条件形式;生成单元,用于根据所述判断条件的条件形式,生成所述条件判断语句的非判断执行应用单元;所述非判断执行应用单元通过符号位获取、加减法操作和按位与操作实现所述条件判断语句的执行结果。可选地,上述装置实施例中,还包括:执行单元,用于执行所述非判断执行应用单元,获得所述条件判断语句的执行结果。可选地,上述装置实施例中,判断条件的条件形式包括:a<b;所述条件判断语句包括:if(a<b)c=b;elsec=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。可选地,上述装置实施例中,所述判断条件的条件形式包括:a>b;所述条件判断语句包括:if(a>b)c=b;elsec=a,或者c=a>b?b:a;所述非判断执行应用单元包括:c=-((sign(b-a)-1)&(b-a))+b。所述执行单元,具体用于:计算b与a相减的结果d=b-a;获取d的符号位Sign(d);计算d的符号位Sign(d)与1的差值Sign(d)-1;将所述差值Sign(d)-1与d做按位与运算,获得第二运算结果(Sign(d)-1)&d;计算b与所述第二运算结果(Sign(d)-1)&d的差值b-((Sign(d)-1)&d);将所述差值b-((Sign(d)-1)&d)赋值给c。根据本专利技术实施例的一个方面,提供的一种应用单元,包括一个以上非判断执行应用单元;所述非判断执行应用单元,用于通过符号位获取、加减法操作和按位与操作实现条件判断语句的执行结果。可选地,上述应用单元实施例中,所述条件判断语句包括:if(a<b)c=b;elsec=a,或者c=a<b?b:a;所述非判断执行应用单元包括:c=((Sign(a-b)-1)&(a-b))+b;或者所述条件判断语句包括:if(a>b)c=b;elsec=a,或者c=a>b?b:a;所述非判断执行应用单元包括:c=-((sign(b-a)-1)&(b-a))+b。基于本专利技术上述实施例提供的去除循环处理流程中条件判断语句的方法和装置、应用单元,读取到条件判断语句时,获取条件判断语句中判断条件的条件形式,根据该判断条件的条件形式,相应生成条件判断语句的非判断执行应用单元,无需执行判断条件,通过符号位获取、加减法操作和按位与操作来实现条件判断语句的执行结果,提高了循环处理流程的执行效率。本专利技术实施例应用于需要高速计算的领域时,对于执行效率的提升效果尤其明显。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明构成说明书的一部分的附图描述了本专利技术的实施例,并且连同描述一起用于解释本专利技术的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本专利技术,其中:图1为存在条件判断语句时循环处理流程示意图。图2为本专利技术去除循环处理流程中条件判断语句的方法一个实施例的流程图。图3为本专利技术去除循环处理流程中条件判断语句的方法另一个实施例的流程图。图4为本专利技术去除循环处理流程中条本文档来自技高网...
去除循环处理流程中条件判断语句的方法和装置、应用单元

【技术保护点】
一种去除循环处理流程中条件判断语句的方法,其特征在于,包括:响应于读取到条件判断语句,获取所述条件判断语句中判断条件的条件形式;根据所述判断条件的条件形式,生成所述条件判断语句的非判断执行应用单元;所述非判断执行应用单元通过符号位获取、加减法操作和按位与操作实现所述条件判断语句的执行结果。

【技术特征摘要】
1.一种去除循环处理流程中条件判断语句的方法,其特征在于,包括:响应于读取到条件判断语句,获取所述条件判断语句中判断条件的条件形式;根据所述判断条件的条件形式,生成所述条件判断语句的非判断执行应用单元;所述非判断执行应用单元通过符号位获取、加减法操作和按位与操作实现所述条件判断语句的执行结果。2.根据权利要求1所述的方法,其特征在于,还包括:执行所述非判断执行应用单元,获得所述条件判断语句的执行结果。3.根据权利要求1或2所述的方法,其特征在于,所述判断条件的条件形式包括:a<b;所述条件判断语句包括:if(a<b)c=b;elsec=a,或者c=a<b?b:a;所述非判断执行应用单元包括:c=((Sign(a-b)-1)&(a-b))+b。4.根据权利要求3所述的方法,其特征在于,执行所述非判断执行应用单元,获得所述条件判断语句的执行结果,包括:计算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。5.根据权利要求3或4所述的方法,其特征在于,b的取值为0。6.根据权利要求1或2所述的方法,其特征在于,所述判断条件的条件形式包括:a>b;所述条件判断语句包括:if(a>b)c=b;elsec=a,或者c=a>b?b:a;所述非判断执行应用单元包括:c=-((sign(b-a)-1)&(b-a))+b。7.根据权利要求6所述的方法,其特征在于,执行所述非判断执行应用单元,获得所述条件判断语句的执行结果,包括:计算b与a相减的结果d=b-a;获取d的符号位Sign(d);计算d的符号位Sign(d)与1的差值Sign(d)-1;将所述差值Sign(d)-1与d做按位与运算,获得第二运算结果(Sign(d)-1)&d;计算b与所述第二运算结果(Sign(d)-1)&d的差值b-((Sign(d)-1)&d);将所述差值b-((Sign(d)-1)&d)赋值给c。8.根据权利要求6或7所述的方法,其特征在于,b的取值为255。9.一种去除循环处理流程中条件判断语句的装置,其特征在于,包括:获取单元,用于在读取到条件判断语句时,获取所述条件判断语句中判断条件的条件形式;生成单元,用...

【专利技术属性】
技术研发人员:何君舰刘瑞祥张鹏曹红胜赵东旭刘海明沈海寅
申请(专利权)人:智车优行科技北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1