为什么三进制计算机没有流行下来?如果现在是三进制会怎么样?

2014-05-25 15:08:41 +08:00
 lynnlee
在公开课看到一个问题觉得很牛比啊。
如下:
现今的计算机都使用“二进制”数字系统,尽管它的计算规则非常简单,但其实“二进制”逻辑并不能完美地表达人类的真实想法。相比之下,“三进制”逻辑更接近人类大脑的思维方式。因为在一般情况下,我们对问题的看法不是只有“真”和“假”两种答案,还有一种“不知道”。在三进制逻辑学中,符号“1”代表“真”;符号“-1”代表“假”;符号“0”代表“不知道”。显然,这种逻辑表达方式更符合计算机在人工智能方面的发展趋势。它为计算机的模糊运算和自主学习提供了可能。只可惜,电子工程师对这种非二进制的研究大都停留在表面或形式上,没有真正深入到实际应用中去。
不过,凡事都有一个例外,三进制计算机并非没有在人类计算机发展史上出现过。其实,早在上世纪50、60年代。一批莫斯科国立大学的研究员就设计了人类历史上第一批三进制计算机“Сетунь”和“Сетунь 70”(“Сетунь”是莫大附近一条流入莫斯科河的小河的名字)。
来源:百度百科:三进制

如上面的资料所示,三进制已经做出来过了,而且在当初的时候不管是从价格还是性能上面都要远优于当时的二进制计算机,而且拥有二进制计算机所没有的优点,但是当时的苏联官僚认为不符合当时的经济计划,结果这种三进制计算机计划被无限搁置。

我查了很长时间的资料,但是网上的资料不算多,最后也无法得出为什么没有流行的根本性原因,所以特意发来这里,看看有没有人能够解疑我多年的疑惑。

问题是:

1.如果现在是用三进制计算机的话会是怎么样的情况?

2.在现有的技术去做三进制计算机会不会拥有超过二进制计算机的性能和优点?
(不考虑制造二进制计算机所积累的经验,假设两种计算机的科技水平一致!)

3.为什么没有流利下来?有缺点?还是如QWERT键盘对比DVORAK键盘一样,典型的“劣势产品战胜优势产品”?
46931 次点击
所在节点    程序员
55 条回复
rannnn
2014-05-26 09:48:16 +08:00
@Actrace
虽然我只选修了一学期的EE的学渣。。。
随便找了下Data Sheet,举例来说小霸王上的6502这种古老的CPU也是有高低电压的阀值定义的(Page 3)并不是简单的通断。
http://www.mdawson.net/vic20chrome/cpu/mos_6500_mpu_preliminary_may_1976.pdf
Actrace
2014-05-26 10:00:04 +08:00
@rannnn 为何如此较真...服了...
rannnn
2014-05-26 10:03:27 +08:00
@Actrace 因为闲嘛😄😄😄
jakwings
2014-05-26 10:22:43 +08:00
@lalalakakaka 发现我越想越混乱了,m^n 表示信息种类的个数,m*n 我想应该就是表示电路材料的数量,三进制能够用同样多的标准材料来容纳最多的信息。@sheldom 这样应该没理解错了?
akfish
2014-05-26 10:33:51 +08:00
@rannnn 这不光是可行与否的问题,理论上还可以把GND到Vcc之间分10个level,直接撸出十进制。
但工程上还有更多的考虑,复杂度、可靠性、成本、可扩展性。
虽然毛子撸出来那个三进制计算机号称可靠性更高,那也只是因为系统简单而已,而且也只是和当年的二进制电路比。
现在i7 CPU晶体管的规模是14亿+,如果三进制,每个逻辑单元要有两条供电线,不管是布线还是EMC设计,比起二进制单供电线实现起来不是蛋疼了一点半点。

我个人严重怀疑如果当年选择了三进制,到今天CPU能造出14亿+晶体管的规模。
akfish
2014-05-26 10:46:44 +08:00
@rannnn 好像@错人了

然后你举的那个例子说明的不是数字电路“不是简单的通断”,而是在工程上如何实现了“简单的通断”。

理想的数字信号是能瞬时从0跳转到1或者反之,时序图的上升/下降边缘是与时间轴垂直的,但实际中做不到,所以才需要一个触发阈值。

最后达到的效果,依然是简单的通断。
akfish
2014-05-26 10:49:32 +08:00
eickegao
2014-05-26 10:55:01 +08:00
感觉三进制和二进制没啥区别。只要还是在进制上面做文章,整个计算机的体系就没啥本质的区别。
rannnn
2014-05-26 11:56:15 +08:00
@akfish 目前本帖最好的解释。
xdeng
2014-05-26 13:20:06 +08:00
进制越多 误差越大
kurtis
2014-05-26 14:34:51 +08:00
以下为 三进制计算Demo

运行程序:print 102+201*112*200*2
运行结果:0 (不知道)
seiwev
2014-05-26 16:29:23 +08:00
当时是二进制更便宜,容易实现。
二进制也更清晰易懂。
xgod
2014-05-26 17:39:26 +08:00
量子bit还是2bit呢,还需要对应的逻辑理论来支撑,都不知道是不是我们有生之年能看到的产物。不是不用更多单位描述,而是局限于硬件,为了极致的利用硬件资源,才有了现在的计算机体系。比如内存管理等,如果底层不用线性存储,而是以树结构、网结构或图结构,现在算法理论将不会偏向于线性结构滴。要实现KV存储,只需要使用Trie树就可以了,多单纯,哈哈。
BinaryHB
2014-05-27 13:08:29 +08:00
@akfish 其实我更好奇,为什么会有摩尔定律?晶体管一直越来越小,没有限度的么?
akfish
2014-05-27 13:16:28 +08:00
@BinaryHB 摩尔定律是对现象的一个描述,而不是现象的原因。
晶体管的大小显然是有限制的,现在基本上已经快触顶了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/114165

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX