为什么不是三元计算机源代码

2022-12-25 0 1,223

为什么不是三元计算机源代码

经典的“飞出个未来”剧集中,机器人班德从噩梦中醒来:“啊啊,多可怕的梦啊。 到处都是一和零……[颤抖]我以为我看到了一个二!

他的朋友弗莱:安慰他。 “这只是一个梦,班德。 没有两个这样的东西。”

任何熟悉数字计算的人都知道零和一——包括“飞出个未来”卡通中的角色。 零和一是二进制语言的基石。 但并不是所有的计算机都是数字的,也没有人说数字计算机必须是二进制的。 如果我们使用 base-3 系统而不是 base-2 会怎样? 计算机可以设想第三位数字吗?

正如计算机科学散文家布莱恩·海斯 (Brian Hayes) 指出的那样,“人以十位计数,机器以二位计数。” 一些勇敢的人敢于考虑三元替代方案。 Louis Howell 于 1991 年提出了使用 base-3 编号系统的编程语言 TriINTERCAL。50 多年前,俄罗斯的创新者制造了几十台 base-3 机器。 但是编号系统并没有在更广泛的计算机世界中流行起来。

三元计算机(也称为三元计算机)是在其计算中使用三元逻辑(三个可能的值)而不是更常见的二进制逻辑(两个可能的值)的计算机。

与二进制计算相比,三元计算具有许多基本优势。 这些包括:

更高的数据吞吐量。
访问附加说明。
与遗留二进制代码的向后兼容性。
防止恶意软件和病毒。
然而,到目前为止,三元计算机的通常用途并没有取得压倒性的成功,因为它们在计算二进制代码时不如二进制计算机有效,而二进制代码通常是首选并且似乎几乎无处不在。

三元逻辑
鉴于此处篇幅有限,我们将仅触及一些数学概念来为我们提供一些背景知识。 要更深入地了解该主题,请查看海耶斯在美国科学家 2001 年 11 月/12 月号上发表的优秀文章“第三基地”。

“三元”一词与数字三有关。 通常,三元的事物由三个部分或部分组成。 音乐中的三元形式是由三个部分组成的歌曲形式。 在数学中,三元意味着以三为基数。 有些人更喜欢 trinary 这个词,也许是因为它与 binary 押韵。

Jeff Connelly 在他 2008 年的论文“Ternary Computing Testbed 3-Trit Computer Architecture”中涵盖了更多术语。 “trit”是位的三元等价物。 如果一个位是一个二进制数字,可以有两个值之一,那么 trit 是一个三进制数字,可以有三个值中的任何一个。 trit 是一个 base-3 数字。 “tryte”将是 6 个 trits。 Connelly(也许没有其他人)将“tribble”定义为半个特里特(或一个 base-27 数字),他称一个 base-9 数字为“nit”。 (有关数据测量的更多信息,请参阅了解位、字节及其倍数。)

这一切都会变得有点让人不知所措,所以我们只看另一个概念来帮助我们掌握这些数字。 根据 Connelly 的说法,三元计算处理三个离散状态,但三元数字本身可以用不同的方式定义:

不平衡三进制 – {0, 1, 2}
分数不平衡三进制 – {0, 1/2, 1}
平衡三进制 — {-1, 0, 1}
未知状态逻辑 – {F, ?, T}
三进制编码二进制 – {T, F, T}

平衡三元

三进制计算在平衡三进制方面的应用非常广泛,它使用三个数字 -1、0 和 +1。 任何平衡三进制数字的负值都可以通过用 – 替换每个 + 来获得,反之亦然。 通过反转 + 和 – 数字然后应用正常的加法函数可以很容易地减去一个数。 平衡三进制可以像表示正数一样容易地表示负值,而不需要像不平衡数那样使用前导负号。

不平衡三元

三进制计算可以用非平衡三进制来应用,它使用三个数字 0, 1, 2。原来的 0 和 1 被描述为普通的二进制计算机,而是使用 2 作为漏电流。

历史上的三元计算机
这里没有太多要介绍的,因为正如 Connelly 所说,“三元技术在计算机体系结构领域是相对未开发的领域。” 虽然这方面的大学研究可能隐藏着宝藏,但投入生产的 base-3 计算机并不多。 在 2016 年的 Hackaday Superconference 上,Jessica Tank 就她过去几年一直在研究的三元计算机发表了演讲。 她的努力是否会从默默无闻中崛起还有待观察。

最初的三元计算机是早期的计算机器,由 Thomas Fowler 于 1840 年用木头制成,以平衡三元运算。 第一台现代三元计算机 Setun 于 1958 年由 Nikolay Brusentsov 在苏联建造。 Brusentsov 与著名的苏联数学家 Sergei Lvovich Sobolev 合作,在莫斯科国立大学创建了一个研究团队,并设计了一个三元计算机架构,该架构将导致建造 50 台机器。

正如研究员 Earl T. Campbell 在他的网站上所说,SETUN“一直是一个大学项目,没有得到苏联政府的完全认可,并且被工厂管理层怀疑地看待。”

1970 年,Brusentsov 对计算机进行了改进,他将其命名为 Setun-70。 在美国,三元计算趋势也始于 50 年代,三元运算和三元计算机微电子元件的发展取得了显着进步。 尽管与二进制版本相比具有显着优势,但由于耗电量和生产成本较低,二进制计算机最终取代了这些三进制版本。

三元计算机优势
SETUN 使用平衡三元逻辑 {-1, 0, 1} 如上所述。 这是三元的常用方法,在 Jeff Connelly 和 Jessica Tank 的工作中也有发现。 “也许最漂亮的数字系统是平衡的三元表示法,”唐纳德·克努斯 (Donald Knuth) 在他的《计算机编程艺术》一书的摘录中写道。

Brian Hayes 也是三元的忠实粉丝。 “在这里,我想为 base 3,三元系统欢呼三声。 ……它们是编号系统中的金发姑娘选择:当基数 2 太小而基数 10 太大时,基数 3 恰到好处。

Hayes 对 base-3 优点的论点之一是它是最接近 base-e 的计数系统,“自然对数的底数,数值约为 2.718”。 凭借高超的数学能力,散文家海耶斯解释了 base-e(如果可行的话)将如何成为最经济的编号系统。 它在自然界中无处不在。 我清楚地记得我的高中化学老师罗伯逊先生说的这句话:“上帝以 e 来计算。”

与二进制相比,三进制的更高效率可以通过使用 SETUN 计算机来说明。 Hayes 写道:“Setun 对由 18 个三进制数字或 trits 组成的数字进行运算,使机器的数值范围为 387,420,489。 二进制计算机需要 29 位才能达到这个容量……”

为什么计算机不是三元的?
苏联其实用一些三元计算机试验过很多次,但是至今都没有商业化。 三进制位称为 trit。 我们不能使用三元逻辑的原因归结为晶体管在计算机中的堆叠方式——称为“门”的东西——以及它们如何用于执行数学运算。 门接受两个输入,对它们执行一项任务,然后返回一个输出。

现在我们回到文章最初的问题。 如果三元计算如此高效,为什么我们不都使用它们呢? 一个答案是事情并不是那样发生的。 我们在二进制数字计算方面已经走了这么远,很难回头。 正如机器人 Bender 不知道如何计算零和一以外的数,今天的计算机运行的逻辑系统不同于任何潜在的三元计算机所使用的逻辑系统。 当然,可以通过某种方式让 Bender 理解三元——但它可能更像是一种模拟,而不是重新设计。

而 SETUN 本身并没有意识到三元的更高效率,Hayes 说。 他说,因为每个三元组都存储在一对磁芯中,“三元优势被浪费了。” 看来实现和理论一样重要。

Hayes 的扩展引用在这里似乎很合适:

为什么 base 3 没能流行起来? 一个简单的猜测是,可靠的三态设备根本不存在或太难开发。 一旦二进制技术建立起来,在制造二进制芯片的方法上的巨大投资将压倒其他基地的任何微小的理论优势。”

此外,在使用二进制时,我们必须考虑硬件外围设备和物理定律。 计算机中的每个数字都是电信号。 在过去的计算时代,电信号更难以适当的方式测量和控制。 区分“开启”状态(由负电荷定义)和“关闭”状态(由正电荷定义)更为明智。 这里的“关闭”是由正电荷定义的,因为电子带有负电荷——所以更多的电子意味着更多的带负电荷的电流。

重要的是,这只允许电流在栅极中有电流时从源流向目的地。 这形成了一个二进制开关。 制造商可以将这些晶体管做得非常小——甚至在 5 纳米左右。 这就是现代 CPU 的工作原理。

四进制计算机:未来的编号系统
我们讨论了比特和三元组,但您听说过量子比特吗? 这是量子计算的建议测量单位。 这里的数学有点模糊。 量子位或量子位是量子信息的最小单位。 一个量子位可以同时存在于多个状态。 因此,虽然它不仅可以表示二元的两种状态,但它与三元并不完全相同。 (要了解有关量子计算的更多信息,请参阅为什么量子计算可能成为大数据高速公路的下一个转折点。)

你认为二元和三元很难! 量子物理学在直觉上并不明显。 奥地利物理学家埃尔温·薛定谔提出了一个思想实验,即著名的薛定谔猫。 你被要求假设一个场景,其中猫同时是活的和死的。

这是一些人下车的地方。 提出一只猫既可以是活的也可以是死的是荒谬的,但这就是量子叠加的本质。 量子力学的关键是物体同时具有波和粒子的特性。 计算机科学家正在努力利用这些特性。

量子比特的叠加打开了一个充满可能性的新世界。 预计量子计算机的速度将比二进制或三进制计算机快得多。 多个量子位状态的并行性可以使量子计算机比今天的 PC 快数百万倍。

结论
直到量子计算革命改变一切的那一天,二进制计算的现状将保持不变。 当 Jessica Tank 被问及三元计算可能出现哪些用例时,听众听到提到“物联网”时发出了呻吟声。 这可能是问题的症结所在。 除非计算社区同意一个很好的理由来打乱苹果车并要求他们的计算机以三而不是二来计数,否则像 Bender 这样的机器人将继续以二进制方式思考和做梦。 与此同时,量子计算时代即将到来。

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 行业资讯 为什么不是三元计算机源代码 https://www.7claw.com/50215.html

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务