打印

单片机cpu里有乘法器吗

[复制链接]
1208|20
跳转到指定楼层
楼主
有的人说单片机的cpu里有乘法器,有的说没有它是靠多次加实现的到底哪个对
沙发
| 2019-10-5 17:37 | 只看该作者
都是对的,只是说的不是一个芯片
板凳
| 2019-10-5 18:48 | 只看该作者
都是对的,这个问题比较复杂,哥们你不用太纠结
51单片机不支持硬件乘法器,M0内核的支持硬件单周期乘法器,M3内核的支持硬件乘法器和硬件除法器,M4内核的支持乘除法和浮点。
然而这些硬件乘法器都是用加法器的原理做的
FPGA和带DSP的会有专用的硬件乘法器

顺便推广一下GD32 MCU,有M3 M4 M23 RISC-V内核的产品,有项目用到可以咨询代理商马R 13823341202微信同号

评论

xmar 2019-10-8 15:00 回复TA
Atera公司大多数FPGA不支持硬件CPU核,当然更没有硬件乘法器了,只有软核CPU。 
地板
 楼主 | 2019-10-5 20:24 | 只看该作者
是不是专门的硬件乘法器要比用加法器多次加实现的要快一些?在性能和成本及实现难易程度上做了个取舍
5
| 2019-10-5 22:25 | 只看该作者
看具体的mcu型号吧。
有些mcu有专门的硬件乘法器,有些没有。
硬件乘法器也分很多种,包括16位的、32位的等等,还有支持浮点数的。
6
| 2019-10-6 08:21 | 只看该作者
尚格小马哥 发表于 2019-10-5 18:48
都是对的,这个问题比较复杂,哥们你不用太纠结
51单片机不支持硬件乘法器,M0内核的支持硬件单周期乘法器 ...

C8051FXXX,有的也带硬件乘法器的
7
| 2019-10-6 08:26 | 只看该作者
有硬件乘法器在做乘法的时候肯定比没硬件乘法器的要快点的。
8
| 2019-10-6 14:58 | 只看该作者
    M4带有单精度浮点
9
| 2019-10-7 10:44 | 只看该作者
本帖最后由 xcvista 于 2019-10-7 21:28 编辑

这个要看具体什么单片机了。ARM 和 AVR 有乘法指令,自然需要一个乘法器来实现之;某些诸如 PIC 的单片机虽没有乘法指令,但有乘法器外设。不过乘法器有两种实现方式,一种是在乘法器内部用时序电路,用多个时钟周期靠多次加实现;还有一种则是靠组合逻辑,做成单周期的矩阵乘法器。一样是乘法,前者消耗的逻辑门少,硅片面积占用小,便宜,但计算慢;后者逻辑门多,大量占用硅片面积,造价昂贵,但计算快。
10
| 2019-10-7 10:55 | 只看该作者
本帖最后由 kingTek 于 2019-10-7 10:57 编辑

屁克的没乘法指令,这是事实,说51的没乘法指令,那就无知了,多年51就是以硬件乘法指令著称的
mul  AB  指令是啥?不明白么
11
| 2019-10-7 10:57 | 只看该作者
硬件乘法器是怎么定义的?
为何说51没有硬件乘法器,标准51都支持乘法和除法指令的,无非速度慢一些而已。
12
| 2019-10-7 15:37 | 只看该作者
说51没有乘法器的朋友是对51不了解。
51有乘法器、除法器,乘法指令是1字节x1字节结果为两个字节,除法指令是1字节除以1字节结果为商1字节和余数1字节。多字节乘法是用乘法指令和加法指令实现,多字节除法指令是用移位减实现。

STM32M0有乘法指令,但没有除法指令的。
13
| 2019-10-7 21:28 | 只看该作者
kingTek 发表于 2019-10-7 10:55
屁克的没乘法指令,这是事实,说51的没乘法指令,那就无知了,多年51就是以硬件乘法指令著称的
mul  AB  指 ...

抱歉了,修改了。
14
| 2019-10-7 21:33 | 只看该作者
gx_huang 发表于 2019-10-7 10:57
硬件乘法器是怎么定义的?
为何说51没有硬件乘法器,标准51都支持乘法和除法指令的,无非速度慢一些而已。 ...

我前面也说了乘法器有两种:移位乘法器和矩阵乘法器。移位乘法器是时序电路,靠的是一个移位寄存器,n 位乘法需要 n 个时钟周期,但结构简单体积小;矩阵乘法器是纯组合电路,只受传输延迟约束,基本都可以做到单周期的,但结构复杂体积比较大。

8051 的乘法指令我看到了,原帖已修改。
15
| 2019-10-7 22:05 | 只看该作者
MCS51 是有乘法器的, 并有除法器
16
| 2019-10-8 08:42 | 只看该作者
本帖最后由 kingTek 于 2019-10-11 09:10 编辑

从本贴可以得证,为何本人一直强调51是基础,基本的各种运算的代码实现更是基础中的基础
51的设计思想比其他很多的cpu都要超前很多,intel不是浪得虚名,

51的毛病有一些,比如数据加工传输的瓶颈问题,都要经过Acc,等等,但其速度在一般的工业应用中绰绰有余了!
我看其他家的,很多都想改进51,升级51,可惜不少都改到马蹄子上了,

我用同档的屁克,比较跳转指令只能向前跳两步,乘法,除法指令都被取消,比起51来说,编写稍复杂的代码那痛苦简直难以言状,

屁克最搞笑之一的中端处理,必须得软件挨个判断一下是哪里发生了中断,有多少中断源就得延时多少周期,这就是最典型的新手低级设计思维综合征的表现,各位自己翻翻,我不必费时间细细解释了。

感觉很多设计芯片的家伙好像就没怎么写过代码,不知道什么是一线人员的核心关切,

再一个就是某些所谓的大品牌,所谓的大创新,说穿了忽悠的成分可能更多,忽悠不谙世事的小青年,忽悠银子,倾销一些不太先进到家的东西到中国来。


17
| 2019-10-8 09:44 | 只看该作者
上世纪80年代末90年代初,还是搞过好几个MCU的汇编的,Z80、8086、8051,对汇编的指令和技巧还是比较熟悉的。
无非以前的MCU,不定周期的指令,复杂的指令执行周期长一些而已,功能还是很全的,比RISC的要全多了。

评论

kingTek 2019-10-8 09:59 回复TA
gx_huang兄的话,算是找到知音,现在的小青年都不学汇编,怕苦怕难 
18
| 2019-10-8 10:07 | 只看该作者
要区别一下 乘法指令和硬件乘法器,大多数的单片机可能都带乘法指令,带有独立硬件乘法器的较少
19
| 2019-10-8 14:52 | 只看该作者
尚格小马哥 发表于 2019-10-5 18:48
都是对的,这个问题比较复杂,哥们你不用太纠结
51单片机不支持硬件乘法器,M0内核的支持硬件单周期乘法器 ...

谁告诉你51不支持硬件乘法器了
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表
PK10牛牛 秒速时时彩 快乐赛车官网 澳洲幸运10开奖结果 上海时时乐开奖 澳门最有名彩票网站 德国时时彩 三分快3 极速PK拾 天津11选5