如果研制出三进制计算机会怎样?

听说原苏联曾经搞过一段时间的这种东西,后来怎么样了,为什么不搞了?三进制有什么优点和缺点,求解释

推荐  (3) | 22人关注关注
11个答案
37 6

楼上有几个答案似乎都是先下结论再讲原因。首先三进制和二进制都很“反人类”,给你一串0和1,谁能搞清楚究竟是等于几?三进制起码比二进制短很多。另外三进制实际上更符合逻辑上的三态:是、否、未知,这种三态的布尔值在编程时经常会被用到。

从电路实现上三进制和二进制应该相当,因为能提供正电压的电路一般都很容易就能提供一个对称的负电压,结构上不会复杂太多,但效果是相同位数的bit可以表示远比二进制大的整数范围。比如三进制的32位即可寻址100TB内存。

在理论上三进制的计算机在同等规模的电路上应该速度更快并且结构更简单。

前苏联的三进制计算机在技术上应该说是成功的,引用一小段百度百科的资料(http://www.baike.com/wiki/%E4%B8%89%E8%BF%9B%E5%88%B6):

“Сетунь”小型数字计算机的设计计划由科学院院士С·Л·Соболев在1956年发起。这个计划的目的是为大专院校、科研院所、设计单位和生产车间提供一种价廉物美的计算机。为此,他在莫大计算机中心成立了一个研究小组。该小组最初由9位年轻人(4名副博士、5名学士)组成,都是工程师和程序员。С·Л·Соболев、К·А·Семендяев、М·Р·Шура-Бура和И·С·Березин是这个小组的永久成员。他们经常在一起讨论计算机架构的最优化问题以及如何依靠现有的技术去实现它。他们甚至还设想了一些未来计算机的发展思路。

随着技术的进步,真空管和晶体管等传统的计算机元器件逐渐被淘汰,取而代之的是速度更快、可靠性更好的铁氧体磁芯和半导体二极管。这些电子元器件组成了一个很好的可控电流变压器,这为三进制逻辑电路的实现提供了可能,因为电压存在着三种状态:正电压(“1”)、零电压(“0”)和负电压(“-1”)。三进制逻辑电路非但比二进制逻辑电路速度更快、可靠性更高,而且需要的设备和电能也更少。这些原因促成了三进制计算机“Сетунь”的诞生。

“Сетунь”是一台带有快速乘法器的时序计算机。小型的铁氧体随机存储器(容量为3页,即54字)充当缓存,在主磁鼓存储器中交换页面。这台计算机支持24条指令,其中3条为预留指令,目前不用。

三进制代码的一个特点是对称,即相反数的一致性,因此它就和二进制代码不同,不存在“无符号数”的概念。这样,三进制计算机的架构也要简单、稳定、经济得多。其指令系统也更便于阅读,而且非常高效。

在这群天才青年日以继夜的开发和研制下,“Сетунь”的样机于1958年12月准备完毕。在头两年测试期,“Сетунь”几乎不需要任何调试就运行得非常顺利,它甚至能执行一些现有的程序。1960年,“Сетунь”开始公共测试。

1960年4月,“Сетунь”就顺利地通过了公测。它在不同的室温下都表现出惊人的可靠性和稳定性。它的生产和维护也比同期其它计算机要容易得多,而且应用面广,因此“Сетунь”被建议立即投入批量生产。

维基百科的,提到了光子计算机的研究用到了三进制(http://en.wikipedia.org/wiki/Ternary_computer):

The future[url=http://en.wikipedia.org/w/index.php?title=Ternary_computer&action=edit&section=3]edit[/url]

With the advent of mass-produced binary components for computers, ternary computers have diminished to a small footnote in the history of computing. However, ternary logic's elegance and efficiency is predicted by Donald Knuth to bring them back into development in the future.[5] One possible way this could happen is by combining an optical computer with the ternary logic system.[6] A ternary computer using fiber optics could use dark as 0 and two orthogonal polarizations of light as 1 and −1. IBM also reports infrequently on ternary computing topics (in its papers), but it is not actively engaged in it.[url=http://en.wikipedia.org/wiki/Wikipedia:Citation_needed]citation needed[/url]
The Josephson junction has been proposed as a balanced ternary memory cell, using circulating superconducting currents, either clockwise, counterclockwise, or off. "The advantages of the proposed memory circuit are capability of high speed computation, low power consumption and very simple construction with less number of elements due to the ternary operation."[7]
In 2009, a ternary quantum computer was proposed which thus uses qutrits rather than qubits. When the number of basic states of quantum element is d, it is called qudit.[8]

11 3

根据信息论当然是e进制的编码效率最高,最近似的是三进制 (不知道的默默去戳这个),所以你会发现下片更快了,流量用得更少了——这是三进制本身所决定的。但实际上在其他一些方面,这会和现行的系统有很大区别:

从最基本的结构来讲:
1. 数字逻辑电路会有很大的改观,因为不能使用布尔逻辑,所以门电路的种类会增多,而且物理实现也会有很大的变化。
2. 存储介质会发生改变,光盘之类的从原理上就只能支持二进制的介质基本上不会出现,而基于门电路的SRAM,DRAM之类的介质显然也会有很大的变化。
3. 传输也会有改变,比如简单的以双线来抵消外界噪声就有点力不从心,比如怎样识别怎样增强传输的信号之类的,不过我对这方面还是不太了解。。有不同想法可以多多指教啦^_^

从现行冯诺伊曼结构来讲
1. 运算器部分会有很大变化,不仅仅是因为门电路种类的增多,而且现行的许多基于二进制的算法(比如计算乘法的booth算法,加法的先行进位等等)就需要改进
2. 控制逻辑也会受到一定影响,比如主控的PLA实现,逻辑实现都会有影响,一些试图使用时钟信号进行and来解决数据冒险的操作也得另辟蹊径了。
3. 存储说过了。。数据对齐?谁知道到时候怎么对齐
4. io方面,和第一部分的传输差不多吧,望智者补充。。

从程序员角度来讲
1. 很头疼的是传统二进制的按位与或非操作的意义不太明晰了,学习的逻辑运算估计会多许多,基于二进制的掩码什么的也有点混乱。。反正我可不想学三进制TT
2. 基于二进制运算的一些算法(特别是很多伪随机数算法)需要有很大改变
3. 比较明显的,数据类型会有变化了,至少能表达的范围都是以3为底了。。
4. 浮点数的改变最明显,比如符号位使用一个位有点可惜,后面的隐1位也不能隐去了,非规格化数能变成什么奇奇怪怪的东西呢。。另外也不用考虑向偶舍入的问题了。。反正谁知道那些设计ieee754的家伙们又会搞什么惊艳的trick
5. ascii码不知道又加了些什么奇葩的东西进去了吧
6. 1K=1024?开玩笑吧

反正还有很多。。说白了,三进制学起来太麻烦,物理上难表示,所以我觉得二进制足够了,足够了。。。

感谢@alone-complex的指正,引用的链接里证明不是太清楚而且有点小小的问题(就是求导那里省东西啦!)
我总结一下这个大体的思路吧:
1. n位r进制数需要s = nr种状态
2. 对于n位r进制数,能表示m = r ^ n个不同的数
3. 不同的进制都想表示m个不同的数(即m固定),要求得导致s最小的r
4. 消去n,得到s = r ln m / ln r,接下来就是求它在[2,∞)的最小值啦,也就是求极小值点并判断单调性,链接里省略了求导后的恒正分母。。
总之结果就是e啦
同时也可以通过这个方法比较二进制和三进制的优越性,可以看到同样表示m个数,二进制需要区分 2.89lnm 个不同的状态,而三进制只需要区分 2.73lnm 个状态。。

8 2

首先,不是设计出来会怎么样,是能设计出来,但是不实用
二进制只是在电子点路上实现方便,如果三进制也不会有太多的特别,其实我们一直说的世界上第一台电子计算机ENIAC是十进制的,结果是设计比较复杂,但是功能上没有什么变化。
顺便说一句,计算机的计算能力是和图灵机等价的,所以无论几进制的计算机,功能不会有任何变化,只是成本,复杂度会有一些查遍

3 3

精英王子高中退学,独立开发者,独立博客作者,深度 Git...

2012-12-11 19:04

三进制主要分两种,一种是0、1、2三位。
一种是-1、0、1三位,后者叫平衡三进制(参见维基百科)

普通(上面的前者)的三进制计算机,也曾经有人搞过,我实在没发现普通的三进制有啥价值,大家只是实验能否实现非二进制的计算机而已。
三进制的缺点就是比较反人类(也许是习惯原因).

平衡三进制的优点就是,因为引入了-1,可以无需借助额外的符号来表示负数,在加减、乘法运算上效率较二进制高。较普通的三进制,平衡三进制更加反人类....

------------------------

在生活中的一些地方,我们也用到了三进制的概念
例如一个命题可能是真、假,或者未知
电压可能是正电压、负电压,或者不带电

应该说三进制计算机有一定的前途,但是因为种种原因,没有开展的比较好的项目

我对此没啥研究,随便说说

4 4

星枵高考失利狗

2012-12-13 15:01

计算得最佳的进制是e进制, 约等于3

1 1
支持者: 很浪很浪漫

就学过一点数字电子学和模拟电子学的人来说:
三进制与二进制相比:
三进制
优点:一个(正负耐压)电容,若干晶体管,存储状态比二进制多一个,是0 -1 1三种状态。
缺点:需要0V+aV -aV 三种状态,因此需要+aV和-aV的两种供电。和二进制比,实现同样的性能,需要更多的晶体管,浪费更多的电能。

做个推理,将三进制的 -1状态的晶体管电路变换为一个处理0 1状态的二进制计算机的晶体管电路,再将一个(正负耐压,存储状态 -aV 0V +aV)电容,换成两个(正耐压,存储状态0V +aV)电容,就可以将一个三进制电路变成了2个二进制电路。
这种情况下:
二进制:有 2个位宽 存储 00, 01,10,11 四种状态,只用 +aV供电,每一次访问(读取写入两个bit状态的0 或 1),二进制的电路全部在工作。
三进制:有1个位宽 存储 0,-1,1 三种状态,需要用 +aV -aV供电,每一次访问(读取写入 -1 1状态),三进制的电路只有一半在工作;每一次访问(读取写入 0 状态),三进制的电路全部在工作。。

所以,从简化供电和晶体管利用效率上,三进制都没有优势。

解释一下 a代表 数字5 ,3.3 ,1.2或是0.7

0 0

Ward_W可乐终结者

2014-01-23 08:17

这是不是数学规律的攻击??

0 3

不怎么样,苏联已经研制过了。。。

4 11

研制3进制的计算机基本上你需要从数学,物理最基础的东西开始。

首先,数学上需要构建3进制的逻辑体系。这是一项浩大的工程,并且这样的体系是否能够满足一定的完备性还不确定(至少我不确定。。。),猜测这种“完备性”的证明与构建需要用到比较深的抽象代数的知识。直觉上很有可能是无法完成的,好比五次方程没有公式解,或者三元数无法构建除法这种“无法完成”。

其次,2进制的计算机依赖于物理层面的晶体管设计,若需要3进制的计算机,则必须发明一种可以很容易监测电压或者其它物理量的原件,并且此原件只有3种确定的状态,姑且命名它为“3-晶体管”。

那么,下一个难点在于“3-晶体管”的大规模制造与集成是否在技术上能够达到一定的规模和密度。当我们现在用的普通晶体管刚被发明出来的时候有一个汽水瓶那么大,而现在常见CPU中的晶体管已经是纳米级别的了。类似的,“3-晶体管”是否能够同样被发展成这种程度?其中所要用到的资源与时间也是不可估量的。

最后,抱歉这部分的知识我记得不太清楚,但是印象是:计算机中对数的存储与运算都是基于浮点数,楼主可以近似地认为都是类似于科学记数法的记录形式。因此,我们无法精确地在记录无限长的数,比如无理数,比如循环小数。提一句:0.1是个有限长的数,但是换成二进制却是无限小数,因此不能被精确记录与运算。说这些,只是为了引入这样一个结论:因为很多数不能被精确记录,因此我们必须选择在有限空间里能够最精确记录数据的进制,我依稀记得读过的某本教材中证明过二进制是最精确的。

因此,建立3进制的计算机是一种得不偿失,没有必要去研制。

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区