加入收藏
 免费注册
 用户登陆
首页 展示 供求 职场 技术 智造 职业 活动 视点 品牌 镨社区
今天是:2024年4月28日 星期日   您现在位于: 首页 →  技术 → 半导体器件(应用信息)
MCU单片机编程技巧:用不同语言实现同一算法
2007/2/10 11:57:26    

如果已经有了针对某MCU的C实现的某个算法,保持框架不变,对核心的部分用汇编优化,请问有没有一些比较通用的原则?有这些方面介绍的书么?

1.每个人的编程都有自己的风格与习惯,如果你要利用别人的程序,在其中修修改改,如果它的程序并没有很好的模块化的话,建议你最好不要这么做,否则你本来预期达到事倍功半,说不定反而事半功倍了。要参考他人的程序当然可以,但是首要是你要看懂并理解他人程序的算法精髓,而不是在他的基础上打补丁。而关于算法方面的优化,你可以购买一些数据结构的书籍,上面有比较详细的说明。

2.算法的运行时间是指一个算法在计算机上运算所花费的时间。它大致等于计算机执行简单操作(如赋值操作,比较操作等)所需要的时间与算法中进行简单操作次数的乘积。通常把算法中包含简单操作次数的多少叫做算法的时间复杂性。它是一个算法运行时间的相对量度,一般用数量级的形式给出。度量一个程序的执行时间通常有两种方法:

一种是事后统计的方法。因为很多计算机内部都有计时功能,不同算法的程序可通过一组或若干组相同的统计数据以分辨优劣。但这种方法有两个缺陷:一是必须先运行依据算法编制的程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优劣。因此人们常常采用另一种事前分析估算的方法。

事前分析估算的方法。一个程序在计算机上运行时所消耗的时间取决于下列因素:
① 依据的算法选用何种策略;
② 问题的规模。例如求100 以内还是1000 以内的素数;
③ 书写程序的语言。对于同一个算法,实现语言的级别越高,执行效率就越低;
④ 编译程序所产生的机器代码的质量。这个跟你的编译器有关;
⑤ 机器执行指令的速度。

显然,同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行时,效率均不相同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法“运行工作量”的大小,只依赖于问题的规模(通常用整数量n 表示),或者说,它是问题规模的函数。

一个算法是由控制结构(顺序、分支和循环三种)和原操作(指固有数据类型的操作)构成的,则算法时间取决于两者的综合效果。为了便于比较同一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题(或算法类型)来说是基本运算的原操作,以该基本操作重复执行的次数作为算法的时间度量。

了解更多单片机应用编程技巧,请见以下链接http://www.holtek.com.cn/referanc/htk_book.htm

→ 『关闭窗口』
 dav
 [ → 我要发表 ]
上篇文章:利用MCU单片机开发复杂项目时,用C还是汇编开发?
下篇文章:如何进行MCU单片机编程可以减少程序的bug?
→ 主题所属分类:  半导体器件 → 应用信息
 热门文章
 如何申请EtherCAT技术协会(ETG)会员资格 (166951)
 台北国际计算机展(COMPUTEX 2015)参展商名… (104276)
 上海市集成电路行业协会(SICA) (90623)
 USB-IF Members Company List (82597)
 第十七届中国专利优秀奖项目名单(507项) (74246)
 台北国际计算机展(COMPUTEX 2015)参展商名… (67860)
 苹果授权MFi制造商名单-Authorized MFi Lic… (67144)
 中国130家太阳能光伏组件企业介绍(3) (55202)
 PLC论坛 (52139)
 中国130家太阳能光伏组件企业介绍(2) (48485)
 最近更新
 EUV光刻技术回眸:Trumpf、Zeiss和ASML的… (4月3日)
 为Al设计的NPU与其他处理器共同加速生成式AI体验 (3月9日)
 英特尔为未来数据中心开发的处理器芯片新技术 (2月23日)
 压电技术使手机屏幕直接变成高质量话筒 (2月14日)
 PCB基础知识及设计软件概述 (2月2日)
 国家文化和科技融合示范基地名单(含第五批) (1月24日)
 国家文化和科技融合示范基地认定管理办法(试行) (1月24日)
 隐身衣逐步走进现实:光学隐身衣、电磁波隐身衣 (10月30日)
 电子电路常用电子元件名称缩写及中英文对照 (10月17日)
 数据手册中的参数:热特性 (8月31日)
 文章搜索
搜索选项:            
  → 评论内容 (点击查看)
您是否还没有 注册 或还没有 登陆 本站?!
关于我们 ┋ 免责声明 ┋ 产品与服务 ┋ 联系我们 ┋ About 365PR ┋ Join 365PR
Copyright @ 2005-2008 365pr.net Ltd. All Rights Reserved. 深圳市产通互联网有限公司 版权所有
E-mail:postmaster@365pr.net 不良信息举报 备案号:粤ICP备06070889号