论坛元老
 
- 积分
- 8017
- 金钱
- 8017
- 注册时间
- 2014-8-13
- 在线时间
- 1594 小时
|
发表于 2016-9-29 20:49:35
|
显示全部楼层
赞一个。
其实我也想说这个问题了。
汇编指令条数多少不是关键,
决定速度快慢的关键是
∑流程的周期数*周期时长
指令条数多少没什么意义的。
如果某MCU某一条指令A运行需要2ms,B需要1ms,
C、D、E、F各需要2ns,
完成某个动作,有2个方案
方案甲:AABA(4条指令)
方案乙:CDEFFFEDDDCDEDFDCCDDEDD * 10(230条指令)
从指令条数上看,方案乙指令条数太多。
从速度上看,方案乙快太多。
当然,现实中,很少有2条指令时间差距上千倍的(也还是有的,比如某些异步的协处理器指令,但是这些并非常规指令,而且其作用往往能代替N多条常规指令【运算部位不一样】,而且比这N条常规指令要快的多)。
而且实际上还有不同的MCU,甚至不同指令集的不同MCU,这些效率比较起来就更加不能单考虑指令数量多少了。更准确的运行时长统计方法应该是
∑流程的周期数*周期时长
然后,时长短的效率高。
当然,这是针对一个已经固定了的动作或者算法,实际上还有某些MCU的A指令比另一些MCU的A指令快,但是B指令却慢一些的情况。
其实上面乱七八糟的说那么多,就是想说 ,,,,我TM也不知道我要说什么了,大家随便看看吧
|
|