ARM处理器下C语言编程效率优化.pdf

ARM处理器下C语言编程效率优化.pdf

ID:52242143

大小:260.82 KB

页数:4页

时间:2020-03-25

ARM处理器下C语言编程效率优化.pdf_第1页
ARM处理器下C语言编程效率优化.pdf_第2页
ARM处理器下C语言编程效率优化.pdf_第3页
ARM处理器下C语言编程效率优化.pdf_第4页
资源描述:

《ARM处理器下C语言编程效率优化.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第卷第期深圳信息职业技术学院学报、,一‘·年‘、一‘、、一爪,一一‘山,一飞。处理器下语言编程效率优化梁东莺,郑玮现,深圳信息职业技术学院信息中心广东深圳摘要本文主要对处理器下语言执行效率问题进行了研究和阐述在嵌入式环境下对程序运行速度进行合理优化是十分重要的,尤其是进行科学运算或其它复杂算法的情况文中介绍了毛处理器下语言的一般优化方法,对比分析了影响程序执行效率的原因,并给出了对应的优化办法关键词语言处理器效率优化一一一中图分类号文献标识码文章编号,目前基于核的微控制器芯片不但占据了,避免除法运算,,、高端微控制器市场的大部分市场份额同时也逐渐在环境下二运算速度快存储器容址,,。向低

2、端微控制器应用领域扩展微控制器的低大除法操作通常都是可以不加考虑直接使用但、,,功耗高性价比向传统的位八位微控制器提出在使用处理器时首先需要考虑的是这些除法,,,,了挑战随着处理器越来越广泛的应用如何操作是否是必须的执行效率是否合理以避免这。提高代码的执行效率已成为「程师关注的问题本些除法运算占用大量机器时问文将基于、软件开发中的代码优化方例如代码为。·‘二‘、法与大家进行分享几优化后代码为除法和求模数的优化原理二··,本文的讨论和示例均基于。,。,,、,,版本开发环境编译工具为文中。川一所给出的汇编代码和执行效率参数均在该编译器卜,进行了仿真得出仿真时采用的系统时钟频率为代码,而代码

3、因为没运算花费个时钟周期。有除法运算,只须花费个时钟周期这里假定,在硬件上不支持除法指令编译器是通过一。。调用库函数来实现除法运算的但直接利用库代替除法运算的方法函数进行除法运算,根据执行情况和输入操作数的根据上节讨论知道除法运算要占用较多资,,位数要花费一个周期消耗较多的软件运源,一般采用乘法或其他方法代替除法。,行时间在实时嵌入式应用中对时间参数较为敏例如,下面表达式运算可能要占较多资感故可以考虑如何优化避免除法消耗过多的源。运行时间,除法和模运算和执行起来比较慢应一,二。即一尽量避免使用。因此,在某种情况下可以将一个除解决办法是把浮点除法改为浮点乘法。法改写成乘法运算。,郑玮棍处

4、理器下语言编程效率优化第期梁东莺编译器编译时,将生成具体浮点数在软件设计中,如果求模数运算可以采用吾、,,‘‘‘。一句替尽量采用其执行效率和换时晤句去替换将浮点除法转化为相应的整数除法运算代码的长度将有明显的改善〕例如,代码为,如果。。不能避免除法运算就应尽量使除数和被除数是无符号的整数有符号的除法程序执行起,来一更加慢因为它们先要取得除数和被除数的绝对值,再调用无符号除法运算,最后再确定结果的符。号将浮点除法运算的分子和分母放大相同的倍字「编代码如下,数即可以将浮点除法转换成相同功能的整数除、,。法最后对结果进行相应处理心,雨,,例如有以下两段浮点除法代码为击,‘。,一,,,,雨一,

5、币,一邝,,,,,,币,,一二雨,优化后相同功能的整数除法代码如下运算所耗费时间少。,优化后代码为一一,一,将分子和分母放大倍,并转换为整数汇编代码如下一,一,、一二雨,币,,通过对比以一卜段相同功能的代码可知浮点除法转化成整数除法的优点减小代码的尺寸,同运算所耗费时间少时提高代码。以上段代码,实现相同的功能,代码的指令的执行速度当除数是的整数次方时采,而代码的指令数目仅为条同时代用移位算法数目为条,、如果除数为的幂,在进行除法运算时,应该码的执行时间为少约为代码倍采用移位算法实现除法。尸循环体优化、‘、例如代码为。,,,循环内判断条件的则优化后代码为开销,,、如果循环体内存在逻辑判断

6、井日掀环次数很大,宜将逻辑判断移到循环体的外面少用求模数表达式比较下深圳信息职业技术学院学报第卷面的两段代码,例如,代码为,查找对照显示图像时表,得出对应点的像素,优化后代码为,二,,,兀旧二刃表格没有创建,计算此点信息存入表格,二匕减少循环时函数调用的缺点。减少循环中的函数调用函数调用会带来相当大的开销,而且妨碍大多数形式的程序优化。例优化后代码为如,例如代码为表格没有创建,一一一,只,计算此点信息存人表格一多重循环中最长的循环放里位置在多重循环中,应将最长的循环放在最内层。。这样可以减少指针从内循环跳转到外循环的次优化后代码为数。例如,例如代码为,《二」【口,第梦梁东莺,郑玮现处理

7、器下语高编程效率优化只需要执行次加法,次乘法,次移位选用正确函数选用正确的数学运算函数‘、例如,代码为求平,。二方根的运算改用求幂运算。。、,。。,来实现,其他优化运行速度大约会下降到二分之一,算法优化先优化算法,再优化执行代码。例如,计结语算从一的和,使用以下代码优化编程涵盖甚广本文基于一体化参数模块中。的开发心得进行了探讨,由于,、所有的处理器都是基于相同的架构和内核所以具有一定的借鉴意义,同时必须认识到以上方法川需要执行次加法指令,次比较

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。