乘法运算加法表示,单片机软件乘法运算

上一篇文章“51单片机最高频率”中提及经典51单片机是不支持乘法运算的。这里我来解释一遍:

①因为IC工艺技术问题,以前单片机工艺可能不是nm单位而已um单位。所以集成不了那么多晶体管。

②因为IC工艺问题,可能当时的IC是主流是TTL门电路而不是MOS门电路。可能TTL门电路的扇出系数影响了IC的集成度发展。

③51单片机是1980年出品,intel4004是1971年出品。AMD9511是第一款x86的协处理器于1979年产,所以我猜当时51单片机不可能集成协处理器在里面了,毕竟AMD9511价格当时那么贵了。

④单片机本来就一开始往低价格和控制方面走,怎么可能一开始就集成现代单片机所拥有的技术usb、uart、spi和硬件乘法运算。

由上面四点我们就知道了早期经典51单片机或者其它单片机是不支持乘法和除法运算的,但是可以把乘法运算和除法运算换成加法运算来操作。

如图一所示x乘y运算:

乘法运算加法表示,单片机软件乘法运算_第1张图片

                                                                              图一:X乘Y类型加法换算

 如图二所示X的n次方运算:

乘法运算加法表示,单片机软件乘法运算_第2张图片

                                                                     图二:x的n次方运算

如图三书本介绍i386说明所示:

乘法运算加法表示,单片机软件乘法运算_第3张图片

                                              图三:书本介绍软件模拟浮点指令(说明早期CPU没有协处理器时对浮点运算的处理)

如图四小数运算所示: 

 乘法运算加法表示,单片机软件乘法运算_第4张图片

                                                                     图四:小数运算

总结:这里上面我只列出简单的乘法运算。除法运算我就不列出了,准备凌晨四点了,再不睡觉明天上班等着猝死啦。 上面的几个乘法看出,经典51单片机(早期)不能做乘法运算,但可以用软件来模拟它,只是比较耗机器周期而已。特别是指数运算和小数点多的浮点运算,如果是除法运算的话那还要比乘法运算耗时。

你可能感兴趣的:(单片机)