2025-11-08 06:17:24
咱们DSP2812这个芯片,乘法指令叫MULS,执行快,结果存到累加器;除法指令DIVS要拆分成两次操作,先乘后移位。比如算AB,直接发MULS A,B,40纳秒就能出结果;算A/B,得先MULS A,B得到AB,再DIVS AB,B,得120纳秒。乘法像搭积木,除法像分蛋糕,得慢慢来。
为啥乘法快除法慢?因为DSP内部有个专门的硬件乘法器,能同时处理两个数,像流水线一样灌进去就出结果。而除法得先算乘积再移位,相当于用乘法器干了两件事。比如算12/3,先算123=36,再右移1位(除以2)得18,再右移1位(除以2)得9,总共三次操作。数据表里写着,MULS指令占4个时钟周期,DIVS占12个,时钟40MHz的话,乘法1微秒,除法3微秒。所以处理信号的时候,乘法指令用得多,除法得挑着用。
本题链接: