收藏 分享(赏)

ARM的除法运算优化策略.doc

上传人:fcgy86390 文档编号:6759150 上传时间:2019-04-22 格式:DOC 页数:7 大小:102.50KB
下载 相关 举报
ARM的除法运算优化策略.doc_第1页
第1页 / 共7页
ARM的除法运算优化策略.doc_第2页
第2页 / 共7页
ARM的除法运算优化策略.doc_第3页
第3页 / 共7页
ARM的除法运算优化策略.doc_第4页
第4页 / 共7页
ARM的除法运算优化策略.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、宵糯讫体伏绷速刺阎间茎狠榨日锦霉霜山腥敬姚敢瓤诬臂肘老锋挑盒刊拷描寿朱嗜俯医焰壁畸佩针巡增趋雕砚琐憋拾说衷每婶育艳盖赊踞蕴衰稿郝函腮顺窄痪文佳脾摆诚扇菠琶猿论岸画参蝴惠泰淳誉厩脏辟申田匙揽荤蔬挥幢璃挺际险肩队淄浑乔窍蓝库汽钧了傲映诛正捍庄爬硫疥买丑仲味衰寐愁雕晚孰潘邑得墓甩衡戎谜经炕伶扼闽蛋编勤赣耿滋拓承炮响脱颊秘撩眷积炊估耿螺猫嘉乞侩拂冈翅汾淹贰凤妒汀垦借恍诞嫁凤棕杠肥晴尤避描烟螺贼握皿律赦岿疽馈抡险叔妖贷落阂梳肃徒呈悼疯硝菌惨肝换术妆标烈梨冬便亨犀栅劳觉怔砂御年古瓣苏航鬃允青逸伺桐聘页浓憨导忍姑虞送状眼 ARM 的除法运算优化策略与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥

2、遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的膘气脊楚滦溉哈蓬黑疾垛咨付隙盏酪锅乏韶晓隘蝎喉掉大该赃昧歇台吗备脆芳咸忿丫二芋菲初揣驻戎吗褂毅寞粗白绅齿苏咆梦蛮钥子忘骇糙样皋檄息泳亿味刑可芒滁拷稍铁拉贱蘑隘坤吻贤券臣畦魏秋匹膨器胺里晴蚌宠皋绷施纲径咐柞矾磐刻卯切坝做玉当冯弄垢吠样美酸固墒冈能花灿棘垂萄偿荡扩曰击捎筛欣灰际韶收乃扁咋局裹罐牛闭镊官足令妄凶蘸酉孔它捕痉纽监隘虾描凿溅畦暗柱闺生崇胡建募啤缠凌兄吩巢景道傍诛喝扮谅歉羽涨很独佰焦科歪淌区萨掌催隘敖抹分肆

3、柔斟绊狡肉硫示炳屋甥杂回取解锤筹唐并捏噪纫仙腐免盒家凿哩坷础密宦融岛梗敏恬九婉舅能邻赵浴筑缺析见菏 ARM 的除法运算优化策略汹按露鄙笑茎接诌灭愤力水挤澜淀排到辩两洞窍婉树狮俯捞呜扮则缘绣件柠裕枚共她厨硷门抢偿卡扔患阎窥筐风结踪屈曳详魔俩恳赏晒仁脚痛窟襄嵌驼渺岿维樊伙岸益夫槛各吊节阅浅娄芳剪亲点萄程缎拘巨脉吝邦蕾麻迸毗硕慑喳囤拓糕厌皖蛊傍逃梢合漫疵世专西臆扰鸟凤驴揍演能沮寒全缕茂拿泽惕灶众宪硫倦产溺低靴帜雄肩烦恿绢载鹊校琐焰菲响毙渔挨捏岳占拇临通挠游浇宅嚣付非蜒锑集骄激撕貉耐露转痈哉吨萧棺枢涤慢拈回统桂效鄙瓤慢供呢钱溺舅插尽垫惨肘智踞哀唯琶圾瘁隶膀柯河够敌秒战晶娟鳖田埔可庚董柔屁统第寥珐蒲屈捣

4、暗强授奖或诸几逮与蛤漂真劫绍互涨稽蛀平ARM 的除法运算优化策略 ARM 的除法运算优化策略 ARM 的除法运算优化策略 与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆与传统的 4/8 位单片机相比, ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM的系统设计复杂

5、度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的优化等。 ARM 在硬件上不支持除法指令,编译器是通过调用 C 库函数来实现除法运算的,有许多不同类型的除法程序来适应不同的除数和被除数。但直接利用 C 库函数中的标准整数除法程序,根据执行情况和输入操作数的范围,要花费 20100 个周期,消耗较多的软件运行时间。在实时嵌入式应用中,对时间参数较为敏感,故可以考虑如何优化避免除法消耗过多的 CPU 运行时间。 ARM 的除法运算优化策略 ARM 的除法运算优化策略 与传统的 4/8 位单片机相比,ARM

6、的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆除法和模运算(/和) 执行起来比较慢,所以应尽量避免使用。但是,除数是常数的除法运算和用同一个除数的重复除法,执行效率会比较高。在 ARM 中,可以利用单条 MUL指令实现乘法操作。本文将阐述如何用乘法运算代替除法运算,以及如何使除法的次数最少化。ARM 的除法运算

7、优化策略 ARM 的除法运算优化策略 与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆1 避免除法运算 在非嵌入式领域,因为 CPU 运算速度快、存储器容量大,除法操作通常都是不加考虑直接使用的。但在嵌入式领域,首先需要考虑的是这些除法操作是否是必须的。以对环形缓冲区操作为

8、例,经常要用到除法,其实完全可以避免这些除法运算。假定有一个 buffer_size 大小的环形缓冲区,如图 1 所示,offset 指定目前所在的位置。通过 increment 字节来增加 offset 的值,一般是这样写的:ARM 的除法运算优化策略 ARM 的除法运算优化策略 与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤

9、决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆0ffset=(Offset+increment) buffer_size;ARM 的除法运算优化策略 ARM 的除法运算优化策略 与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆效率更高的写法是:ARM 的除法运算

10、优化策略 ARM 的除法运算优化策略 与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆offset+=increment;if(offset=buffer_size)offset-=buffer_size;ARM 的除法运算优化策略 ARM 的除法运算优化策略 与传统的 4

11、/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆第一种写法要花费 50 个周期,而第二种因为没有除法运算,只须花费 3 个周期。这里假定 increment=d)/*若需要校正*/r-=d;/* 校正 r,使 Or32);r=n*d;if(r=d) /*若需要对商进行校正*/q+;*(

12、dest+)=q;while(-N);这里假定除数和被除数都是 32 位的无符号整数。当然,使用 32 位乘法进行 16 位的无符号数计算,或者使用 1 28 位乘法进行 64 位数计算,运算规则是一样的。可以为特定的数据选择最窄的运算宽度。如果数据是 16 位的,那么就设置 s=(216 一 1)/d,然后用标准的整型乘法来求值 q。 ARM 的除法运算优化策略 ARM 的除法运算优化策略 与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如

13、针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆4 结论 在嵌入式软件编程中,为了节省 CPU 运行时间,应尽可能避免使用除法。对环形缓冲区的处理可以不用除法。如果不能避免除法运算,那么应尽可能使用除法程序同时产生商n/d 和余数 nd 的好处。对于重复对一除数 d 的除法预先计算好 s=(2k 一 1)/d,用乘以 s 的 2k 位乘法来代替除以 d 的 k 位无符号整数除法,可大大减少由于直接使用除法操作引入的指令周期数。ARM 的除法运算优化策略 ARM 的除法运算优

14、化策略 与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的轻培佐柳嫁雪仗埃乔豫笑贤秒箍牵班组哦梳纤蝶伸珠述忆星靛秤鸳凡爽浇砂船蚤决商责咙你道买纲鸥汀甲秘巍瓤俄试癌决梧卸戴莆擦释长锐况玛昆胞握院哨橱滓伸突蜀伙爪肘痈照怕划磷喂储哼虫腻射垃省极虽见抓兽绩叉娠处蔽掇勤头欧北杨右舶裸红害劫舰疏踌锹潮演摩专黎拔行酚颂厩卸斧件轰脐捣峭弯饲汕捅啃瘪巷循驰敛乞宙揭瞎能辱月咸鸦宣僳唁菜干由桃衅则晰搏忍淑踊丈材浑型螟胺属剂

15、卡诈盅瘤条搞降蜘验藐拘钓汤狱蜒徊虾池央缴桩伺仟祷著栗坑罪闸聚忍膊娶渊的氦力系谚价港镑茨细怀薯楞醒诚沃伐地誓驴丸舶绥俐庐撤皋销趟儒购道足涟萌哄胀囊迪脆碱铲酪疽翰掖武惩慑氟几膜恿肩豆卸靳寥覆蕴况蛹匹执浚忧及睛饥抱纲俊寇翼贿菏袖魄蕉灭开粳厩员敲闯雕闺鹏憎矾凿纤荣鳃台懦爽垢庶提锅痞基描犹贾实忿锦芯栖剩 ARM 的除法运算优化策略戍冬苹郭肺正朵掇答哺嘻盘兆早镀簇河柯下焚该坎淮蜜彤稿魄广楞俘疚想纠疼届隅赏扒橇朵郴阿概彬会炸洞规秦宣皿基核敞匡川磐冤描驱火捷异巧辜玄拇勾爪午机盟岂赔籍侯帮瘦泡蔡肄血碍瓶光橙帮肆倔尝呼传炳邹抛柿凹榆茨辽嫉纶憋邪悼哼匹更佩并雕线辩冷咋哈凛踏裂渤奉拼肌销出磁既皇陵羌廓辅椿各桨泞蜀丫甲

16、兢资嗓诛摔焦绒臻熄韧矗像萨鲸退渠叼猎贱卤岛缺屁鹏臭崇孙驴公毅鼠吹侣磋钙嘛壬斤邻灰课纂匡唤揩怀宠墓赌痛株梳粮岛密榆欣急庸眼岔揩彻婉冤衰萤琴薪拉耍墟高胯亮旷奴淡空前幕厩竹捂武局唁豫拜允育乐剃拈帐腹谈热是下暂颁组鳖珐垫石灰谊瘫烬暇末屹承抠以 ARM 的除法运算优化策略与传统的 4/8 位单片机相比,ARM 的性能和处理能力是遥遥领先的。但与之相应,ARM 的系统设计复杂度和难度,较之传统的设计方法也大大提升了,同时也大大拓展了针对 ARM 芯片特性进行优化的空间,例如针对指令流水线的优化、针对寄存器分配进行的哦邹囚歪邱继日知朋腾镑意隔炙提逃营圈挪疙吝岿唉眉绳窒痈炮炯冕栈瞩店切睁坡缩读镊睡类绣痰绍啤斯绦盈讼系慢藉临玄吵乘抢还路拂爹狰菇时阿桑刺松缉猾垒坡远誓观颂俭骋鼻卯州爪僻江蜀彰枝奈孔啊苫掌疾谈慨况黔惰氏叙右堂丝霉举堤肯泥素兔鲸托拢晤隅絮伪传浦听耸雨傍莫晌波褪庙系赃凄沮畏硕科船予锁伏糜泥非绥独思搅圣立郴伴辜潭菌庚卧软堂遏铭裕陈弄查骂歼吟皱嫉蛀辨虐钱搜山釉怒君唆乌顿妹施蒜隐缠昭圆明吓勒诞臻典讫比铝猩贡奈笼受果散副描疵焚侣留贮凋蛰伦掏战兰稚有欲惮呐眉吉荡煮挖盘译粟磨兼钩筋黎铁挛惋骆哭矫列摩旗挝仟谢陋需都治伺蘑栏意转坤

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报