现代计算机为什么选择二进制?
如果你将这个问题给豆包:
总是感觉豆包的答案有点先射箭后画靶的意思。
上网上去查无非也是,告诉你计算机选择的硬件,天然适合二进制。
按这个回答,难道世界上就没有其他进制的计算机了吗?
上网随便一搜,就有苏联之前是造过三进制计算机的。 -- 意外看到了华子 🇨🇳
网上的答案,与豆包也大同小异(什么晶体管的两种状态,高低电平等等), 也是豆包是训练集很有可能就从这上面来的。
But,wait!
晶体管!
我突然想到了,图灵当年破译德军密码的时候,可是45年以前的事了,而晶体管是47年才有的东西,难道图灵是穿越者,提前就是晶体管要被发明了吗?🤔
不太可能,那么我们先fix一下当时造计算机这帮人为什么会选二进制吧。
为了探索这个伟大的事情,我只能辛苦自己多刷几遍《模拟游戏》🙂
在这里可以先去了解一下,图灵机。
我们发现图灵机在设计的时候,并没有规定必须使用二进制!
好了,这样我们就可以从这里可以开始缩小范围,开始寻找到底是哪个大聪明规定使用了二进制。
通过N刷《模拟游戏》,我们知道了Bombe在制作的时候,可以看到上面的转子还是十进制,并没有使用大量的电子相关器件。
bombe 是机电一体化,机电->继电器,说明这时的电还只是驱动作用,还称不上电子计算机。
图片中的圆盘其实是模拟Eigma的旋转转子,说明主要的计算方式还是通过转子来计算,而不是二进制的逻辑计算。
驱动:电动机,齿轮传动装置和电磁继电器。
逻辑判断和状态切换依赖于机械转动与物理触点的咬合。
我们知道计算机的出现就是为了计算,那么我现在从这时的时间往后调,来寻找计算的机器,发现英军在计算方面的巨人机就突然换成了二进制!
等等!
图灵呢? 机械结构呢?为什么巨人机就给佛劳斯造了?怎么就突然换上了电子管!
这就是历史的拐点吗!
这是我们就要介绍一下英军明明已经有Bombe,为什么还有花费大量人力、精力、物力去造巨人了。
43年,德军知道了Eigma被英军给暴力破解了之后,就开始007的研发下一代密码机了 -- 洛伦兹密码机。
这款密码机非常强大,具体怎么强大法,我也搞不明白,请大佬讲解🙏。
反正,我们知道Bombe是解决不了!
那么怎么办,迭代!
我们敏捷开发!🤭 -- 巨人
为什么开发巨人没有让图灵来呢?
从"洛伦兹密码机"时,计算机破解的问题,就已经从"数学理论问题"转移到"极端的工程问题".
我们在电影中还可以看到,英军在开始破解Egima时,还是找了语言学家!
当图灵造出了,Bombe时就证明了通过计算机来破解密码机是可行的.
所以这时,在开发下一代,需要的工程人才,图灵这种理论大佬就不太适合了,那么选谁好呢?
那还是得听听这一任领导 -- 图灵的意见 -> 佛尔斯
为什么是佛尔斯?
原来在图灵当时再造Bombe时,遇到旋转换向器与电路噪声问题时,图灵就向军方求助有谁懂这方面的专家,军方就找寻各路牛鬼蛇神,最终找到了电信工程师 -- 佛尔斯,帮助了图灵解决了很多工程上的问题,以及给图灵设计电子管的辅助模块.
我相信这方面的经历,让图灵相信佛尔斯是一个很棒的.
43年,纽曼(数学家)在面对洛伦兹密码机,因前代计算频繁撕裂纸带,而一筹莫展时,图灵建议 "佛尔斯"!
为什么佛尔斯会选择电子管呢?
首先,佛尔斯本身就电信工程师,并且长期研究电子管替代机械的电话交换机.
其次,当时其实很多工程都发现电子管内部是真空中的电子跃迁,在表达状态是,可以到达很多的频率,远远大于机电继电器.
就这样在历史的车轮下,电子管开始登上了舞台.
因为电子管的开关特性与要破译的电报(滴滴答答)本身就是二进制等方面.
巨人机用上我们本次开头的题目 二进制!!!
耶耶耶! 我们胜利了! ✌
终于是看到二进制了!芜湖!
🤫你好像忘记了一些事情 -- 晶体管
🤦♂️对啊, 现在408的标准答案是晶体管!
但是英军这条线已经结束啦,这该怎么办啊!
可恶,我用后脚跟想了一下看来只能看看美军了!
那看谁呢?
在当代程序员有两个祖师爷,一位是我们前面介绍过了的 女装大佬-艾伦·图灵。
另一位就是 绝顶强者 - 冯·诺依曼
1945年,冯·诺依曼为了给美军计算火炮的弹道轨迹表,开始主导研发了世界上第一台电子数值积分计算机 - ENIAC。
这才是真正意义上的电子计算机,之前的可以理解为是计算器,如果了解什么是冯诺依曼架构的话。
没错 ENIAC,在这时还并没采用非人类的二进制,而是很人类的十进制,原因很简单,因为他很人类。
为了表示十进制数位,强者使用了环形计数器(由10个触发器组成,每次只有一个电子管点亮)
导致内部塞满了近1.8万个电子管。
如是二进制,就可以使用电子管的亮与暗的状态,这样就大大节省了空间与时间的复杂度!🤞
对45年还没有晶体管。
因为这次教训,冯诺依曼在EDVAC计算机报告中提出,无论是真空管用作门电路还是触发器,工作在全有或全无的两种状态才是最优的,而是次报告,诞生了一个全新的计算架构就是冯诺依曼架构,这也是现代计算机架构。
而到了47年晶体管的特性让它非常完美的契合了冯诺依曼架构!
所以现代计算机为什么选择二进制,其实是一次历史进步的一次结果,也是工程问题与现实问题,一次一次妥协的结果.
(⊙o⊙)?那么为什么苏联要造三进制呢?
我先挖个坑以后再说吧.😁
后记:
这次有点标题党了抱歉,并没有直接回答二进制的问题,因为当我计划做这篇文章时,发现B站已经有非常棒的科普视频了,网上也有非常严谨的文章,所以这次就以历史时间线的方式带大家过一下计算机发展史。
二进制,真的是计算机最好的选择吗?【计算机为什么用二进制 | 技术寻源】: 这个科普视频里面可能有你想要的答案。
如有不妥,欢迎批斗👏