打印

FPU到底是如何使用的呢?

[复制链接]
1089|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangjiahao88|  楼主 | 2016-4-22 20:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
huangqi412| | 2016-4-24 22:26 | 只看该作者
硬件浮点单元   就像51有8位硬件乘除法

使用特权

评论回复
板凳
huangqi412| | 2016-4-24 22:27 | 只看该作者
你编译结果有相关指令就是用了硬件乘除法  你也可以通过加减移位来实现乘除

使用特权

评论回复
地板
myidear| | 2016-4-25 09:02 | 只看该作者
huangqi412 发表于 2016-4-24 22:26
硬件浮点单元   就像51有8位硬件乘除法

51有硬件乘除法么?哪个芯片,我看看去

使用特权

评论回复
5
liutongda| | 2016-4-25 17:58 | 只看该作者
左右移位只能实现乘除2,乘除其他数据,有什么好的办法呢?

使用特权

评论回复
6
原味_郭| | 2016-4-26 10:51 | 只看该作者
有个FPU浮点运算单元,直接库函数使能了就好了。

使用特权

评论回复
7
dongbaohui| | 2016-4-26 15:38 | 只看该作者
myidear 发表于 2016-4-25 09:02
51有硬件乘除法么?哪个芯片,我看看去

51基本没有硬件乘法器的,FPU就更不用说了。只能其他地方进行优化了。

使用特权

评论回复
8
cnb12345| | 2016-4-26 16:25 | 只看该作者

使用特权

评论回复
9
l科科1987| | 2016-4-26 17:35 | 只看该作者
liutongda 发表于 2016-4-25 17:58
左右移位只能实现乘除2,乘除其他数据,有什么好的办法呢?

可以用大数算法试试。

使用特权

评论回复
10
Dennis-Zhou| | 2016-4-26 19:52 | 只看该作者
8 bit是肯定可以计算浮点的,但是速度估计是计算乘法的好几倍。

使用特权

评论回复
11
playergatsby| | 2016-4-27 15:44 | 只看该作者
Dennis-Zhou 发表于 2016-4-26 19:52
8 bit是肯定可以计算浮点的,但是速度估计是计算乘法的好几倍。

要想快,就要移位和查表,千万不要用浮点型。

使用特权

评论回复
12
叶覃| | 2016-4-30 22:20 | 只看该作者
l科科1987 发表于 2016-4-26 17:35
可以用大数算法试试。

什么是大树算法呢?我看网上说是字符串的乘除。

使用特权

评论回复
13
Dennis-Zhou| | 2016-5-22 12:11 | 只看该作者
playergatsby 发表于 2016-4-27 15:44
要想快,就要移位和查表,千万不要用浮点型。

乘法计算有时候不能移位和查表得,这个如何解决呢?

使用特权

评论回复
14
l科科1987| | 2016-5-22 20:54 | 只看该作者
dongbaohui 发表于 2016-4-26 15:38
51基本没有硬件乘法器的,FPU就更不用说了。只能其他地方进行优化了。

51就是看算法了,只要你算法优化的好,和有FPU差不多的。

使用特权

评论回复
15
playergatsby| | 2016-6-27 21:01 | 只看该作者
l科科1987 发表于 2016-5-22 20:54
51就是看算法了,只要你算法优化的好,和有FPU差不多的。

只能说速度快很多,和FPU相比,还是差距很大的。有浮点的芯片,一个浮点指令也就几个周期而已。

使用特权

评论回复
16
jouney316| | 2016-6-28 07:42 | 只看该作者
开启了FPU,也不意味着可以无限的浮点运算,这样功耗会增加很多的吧

使用特权

评论回复
17
wangjiahao88|  楼主 | 2016-7-7 16:08 | 只看该作者
开启了FPU 功耗不会增加很多……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

464

主题

7481

帖子

29

粉丝