wayne 发表于 2013-2-26 09:42:30

对数数值系统

http://en.wikipedia.org/wiki/Logarithmic_number_system
目前,英国纽卡斯尔大学电气工程学院的研究人员发现,允许对数形式的数字加减法,运行非常迅速。

       这意味着:

       (1)基于对数算术逻辑的微处理器将比传统的浮点系统,乘法快10倍,除法快100倍,加法和减法至少与浮点同样快;

       (2)它可以执行复杂的信号实时过滤操作,即使是使用现在最快的现代芯片技术也是不可能实现的;

       (3)它可以执行很难的“number crunching”问题,并能实时演示,特别是对于游戏与图形显示、虚拟现实等等。

       该技术目前已申请专利。

wayne 发表于 2013-2-26 09:45:00

假如某种机器需要应对大量的乘除法,开方,指数运算的话,那么基于对数算术逻辑的微处理器 似乎非常占优势。

wayne 发表于 2013-2-26 09:46:48

这让我想到之前 论坛的一个叫 “云梦” 的朋友 开发的计算器:真正的高精度科学计算器

Gravity Pipe 超级计算机就用到了这种数值结构

zeroieme 发表于 2013-2-26 19:00:21

这是处理器还是算法的功劳?:Q:

wayne 发表于 2013-2-26 20:30:02

4# zeroieme
指令集的简化。

zeroieme 发表于 2013-2-26 22:32:03

5# wayne


没有新算法纯指令集优化,很难相信“加法和减法至少与浮点同样快”。

wayne 发表于 2013-2-27 09:32:13

6# zeroieme
参考这个帖子,道理是一样的
C++11中的 std::fma 实现之必要性的讨论

zeroieme 发表于 2013-2-27 14:02:26

7# wayne

它的内部储存是符号加上绝对值的对数
In LNS, a number, X, is represented by the logarithm, x, of its absolute value as follows:
    $X\rightarrow\{s,x=\log_b(|X|)\}$

这样X+Y 其实是log。常规算法就是反复逼近。
定义三元函数w=x y+z的复杂度不能同日而语。

云梦 发表于 2013-3-13 10:15:36

本帖最后由 云梦 于 2013-3-13 10:29 编辑

如果处理器可以直接处理对数,那么运算速度一定提高一个以上数量级。输入的十进制直接转为对数,输出时将对数数值直接转成十进制。对于乘除法、乘方及复杂运算是十分有效的。

liangbch 发表于 2013-3-13 11:51:09

我认为对数系统只适合于近似计算,而不适合需要精确计算的领域,如数论。正像整除相除,其商一般不是整数一样,1个有理数的对数通常不是有理数,不可能用有限位数字精确表示。
页: [1] 2
查看完整版本: 对数数值系统