这一章主要是计算机发展的一个历史,让大家对于计算机的发展有一个比较充分的认识,因为较长,内容可能偏枯燥一点,但是我觉得细读下来还是很有价值,尤其是体会需求推动技术进步这一块。
(下一章关于微机的发展会更有意思一点)
我在这里简单的将计算机分成电子计算机和非电子计算机,在非电子计算机当中,又包括机械式计算机和继电器式计算机等等,我们就先从最早的计算机开始展开。
早期计算器
计算机起源于计算器的发展,计算器最早可以追溯到春秋战国时期,那时发明了“算筹”这种运算工具,其是用竹子或其他材料制成的小条,按一定规则排列,代表不同的数,来帮助人们记忆和运筹。
在“算筹”的基础上,唐朝末年民间又出现了“算盘”,这是一种采用十进制的先进的计算工具。由于算盘灵巧轻便而广为流传,它是世界公认的计算工具史上的一大发明。
1633年,英国人威廉·欧特勒德发明的计算尺也是比较早的计算工具。
机械式计算器
由于早期计算器需要人力大量参与,运算速度很慢,不符合社会进步的需求,于是机械式计算机便逐渐应运而生。
1623年,德国数学家什卡尔特提出了制造机械计算机的设想,但没有变为现实。
第一台真正的机械式计算机是1642年法国数学家和哲学家巴斯卡发明的。这台机器实际上是一台8位加法器。巴斯卡在《沉思录》中写道:“这种算术器所进行的工作,比动物的行为更接近人类的思维。”从这可以看出,他已经有了用机器去模拟人的思维的思想,这对后来计算机的发展产生了一定影响。
巴斯卡的计算机启发了许多人,其中包括德国著名数学家莱布尼兹。
莱布尼兹对计算机发展的重要贡献有两点:
第一是他于1667-1669年制成了可以进行加、减、乘、除四则运算的计算机。这种机器与巴斯卡的计算机不同,它不需要连续地加减运算,只要在瞬间就能完成数字很大的乘除运算。
第二是他提出了系统中的二进制算术运算法则。不过他并不认为二进制是他的发明,而是认为其出自于中国古代易经中记载的八卦。
真正能投入市场、发挥实用功能的计算机出现在19世纪初。
1821年法国人卡里斯·哈依尔·托马斯设计制造的“四则运算机”投入批量生产,这是最早成批生产的计算(年产量100台),后来瑞典人威尔多特·陶菲·奥德纳花了15年时间对原有的计算机进行改进,于1874年设计出新型计算机,其一直沿用到20世纪20年代。
上述机械计算机虽然运算速度提高了,使用也比较方便,但仍属于一角辅助手段,其运算步骤、程序仍需操纵者来决定。人们自然地想到能否让它摆脱人的操作,进行自动运算,于是机械计算机又向自动化的目标发展。
其中非常重要的人物是英国数学家查理斯·巴贝奇,他在现代电子计算机诞生一百多年前就提出了近手完整的程序自动控制的设计方案。
他于1822年用多项式数值表的数值差分规律制造了一台可以运转的盖分机模型(“差分机1号”)。这种计算机不仅能每次完成一个算术运算,还能安排自动完成一系列算术运算,这就是计算机程序设计的萌芽。
他还设想了一种现在叫做“条件转移”的指令,即在用分析机解题时,可以根电子计算机技术某个被计算结果的正负号,从可能继续运算的两条路线中选择一条做下去,这是今天电子计算机工作的基本原理之一。
其中还有很多,我就不一一介绍了,总之机械式计算机的许多基本原理和基本思想都为现代电子计算机的诞生奠定了思想基础。
继电器式计算机
19世纪末20世纪初电工技术的发展,促成了机械式计算机向继电器式计算机的转变,即出现了用继电器代替齿轮的继电器式计算机。
在这方面第一个进行尝试的是德国工程师克兰德·朱斯,他在德国空军研究中心的资助下,于1941年制成了全部采用继电器的Z3计算机,这是世界上第一台通过程序控制的计算机。
但是继电器式计算机的历史很短暂,它刚同世不久就被电子计算机所取代。
原因在于它的运算速度慢,而且20世纪电子技术已进入成熟阶段,已具备了制造电子计算机的能力。不过继电器式计算机为研制早期的电子计算机积累了重要经验,有着重要的开路作用。
电子计算机
在20世纪30年代,研制电子计算机的几个条件已经具备了,一是有了早机提供的技术基础,二是电子技术已经发展起来,而当时军事上的迫切需要则是电子诞生的直接导因。
第二次世界大战期间需要解决的复杂问题越来越多,有些问题要求短时间内进行几万甚至几百万次运算,计算的精确度要求也愈来愈高。继电器式计算机已经不能满足需求了。
电子计算机的关键是用电子真空元件代装电器元件,而此时的三级热电子真空管已经出现,用起控制电流开闭的速度比继电器要快一万倍。于是目光敏锐的科学家纷纷投入到电子计算机的研制中去。
其中非常重要的两位科学家是图灵和冯·诺伊曼
图灵是现代计算机基本设计思想的创始人,1936年图林发表了《关于理想计算机》一文,提出了理想计算机的数学理论,这个从数学上证明了通用的理想计算机是应该存在的。
图林的这种机器实际上是现代数字计算机的数学模型,因此人们把它称作“图林机”。在“图林机”里,指令和运算数据都存在同样的纸带上,这正是“程序内存”计算机的根本特征。
而且在机器智能方面他贡献非常大,他提出了一种客观判定计算机是否有智能的标准,即所谓的图灵测试。
后来美国洛斯阿拉莫斯国家实验室的科学家们在世界第一台计算机ENIAC上,用他的理论实现了世界上第一个下象棋的电脑程序,这说明图灵在很早就开始思考人工智能的问题,可以说是这个领域的先驱。
1945年冯·诺伊曼在总结 ENIAC的优缺点基础上,提出了完整的存贮程序通用电子计算机(“离散变量自动电子计算机”) EDVAC的逻辑设计方案。
这个方案对后世影响深远。
在当时,ENIAC是由莫奇利和埃克特研发的世界第一台电子计算机,虽然其运算次数比当时最好的继电式计算器快1000倍。但是这个计算器太复杂了,科学家们在ENIAC上面每计算一道题,就需要改变一次电路,而这台计算机是由两万个晶体管、五万个电阻和一大堆其他的元器件组成的,电路复杂得不得了。而且它的储存容量太小,最多只能存20个字节长的10位的十进制数。
我们可以见下图了解其复杂度(这个还是50年代的普通计算机,1946年的ENIAC要更加复杂)
EDVAC最重要的思想是关于程序内存的思想,即程序设计者可以事先按一定要求编好程序,把它和数据一起存储在存储器内,从而使全部运算自动化。而且它还把二进制系统地运用到计算机上。
严格意义上来说,EVDAC才是世界上第一台程序控制的通用的电子计算机,并且是今天所有计算机的鼻祖,而 ENIAC由于其设计架构,并不能算是。所以说冯·诺伊曼在电子计算机发展领域起到的作用可见一斑。
电子计算机结构
这里给大家简单介绍一下电子计算机的基本结构,帮助大家更好的了解计算机的运行。
电子计算机包括运算器、存储器、控制器、输入装置和输出装置,此外还有通信控制台和电源。
运算器是电子计算器的主要部件,由加法器、寄存器组成,是快速进行各种基本运算的装置,其技术指标是计算机的字长和运算速度,它是计算机非常的关键部分。
存储器是以用存放原始数据、处理这些数据所需要的程序以及中间结果的装置,实际上就是一个记忆装置,其技术指标为存储容量大小和存储速度。
控制器是用以实现计算机各个部分的联系和使计算过程自动进行的装置,是计算机的神经中枢。
输入装置是用来输入原始数据和处理这些计算机所使用的计算机程序的设备,用计算机听得懂的语言,把信息输入到机器内部,而输出装置相反,是把计算机的电脉变成人能识别的形式输送出来。其基本运作方式可见下图
电子计算机的演变历史及发展方向
自第一台电子计算机问世以来,发展非常迅速,其台数大约每8~10年(或更短)便增加10倍,可靠性提高10倍,成本降低10倍。根据计算机使用的电子元件,我们可以大致划分为四代,在最后,我也会介绍一下最新趋势的几种计算机。
在其中IBM扮演了一个非常重要的角色。
第一代电子计算机 电子管时代(1946-1956)
第一代电子计算机采用的电子元件基本上都是电子管。机器的结构从最初的外插型逐渐变成程序内存型。机器的运行速度一般是每秒几千到几万次,最快的达五六万次。和后来的计算机相比,它有运行速度不高、可靠性差、体积大、价格高、维修复杂等缺点。
当时,种庞然大物只用于军事或国家直接管理的航天、原子能工业等部门,总体说来还处于实验室实验阶段。
第一台通用自动电子计算机 UNIVAC1于1951年6月在美国批量生产并投入商用。这是唯一采用汞延迟线作为主存储器的机器,它的主存容量为1000字,存取时间为500微秒。
1953年IBM(全称为美国国际商业机器公司)研制出IBM(701),这种机器采用静电管作主存,磁鼓作外存,三年中交付使用18台,初步打开了计算机市场。
20世纪50年代,全世界拥有的以电子管为元件的计算机约5000台左右。
第二代电子计算机—晶体管时代(1956-1962)
1948年6月,贝尔实验室发明了晶体管。由于晶体管具有功耗小、工作电压低、体积小、重量轻等特点,可以增强机器的可靠性并提高运行速度,因而这一时期计算机的逻辑元件和逻辑线路均采用分立的晶体管元件。
1959年,菲尔克公司研制的第一台大型通用晶体管电子计算机问世,标志着电子计算机已进入第二代。
机器的运算速度从每秒几千次提高到几十万次,主存储器容量从几千字提高到10万字。人们把第二代电子计算机的研制成功称为计算机史上的第二次革命。
1958年4月,IBM公司决定批量生产晶体管计算机,次年就生产出第一批IBM(1403)。1964年,已经能制造运算速度每秒二三百万次的晶体管计算机。由于这种计算机造价低,因而开始在工、农、商业广为使用。
第三代电子计算机—集成电路时代(1962-1970)
第三代电子计算机的突出特点是:在元件上采用集成电路,在结构上是系列兼容,采用微程序设计,其运算速度和内存容量比第二代均提高了一个数量级,即分别为每秒千万次和几百KB(1KB=1024字节)。
1964年4月7日,IBM公司宣布研制成功360系列计算机,它标志着电子计算机进入了第三代,从此电子计算机得到了更为广泛的应用。
同时,由于采用集成电路,使计算机具备了体积小、重量轻、成本低、运算速度快等优点,向小型化方向发展。1965年,美国就生产了一千多台小型机,到1970年已增至一万多台,品种达一百多个。
第四代电子计算机—大规模集成电路时代(1970—至今)
第三、四代计算机之间没有明显标志,一般认为使用大规模集成电路作为计算机的逻辑元件和存储器是第四代机的标志。
1972年,IBM公司批量生产的IBM3系列机,其主存储器采用了大规模集成电路,但逻辑元件仍是小规模集成电路。1973年交付美国航天局使用的ⅡLACV机,才全面采用了大规模集成电路。
这一时代,建立在大规模集成电路基础上的微型机和巨型机并行发展起来。
以巨型机 ILLIAC-I为例:它的整个系统包括由64台处理机构成的处理机阵列和一台管理整个系统的B计算机。它的计算速度为每秒1.5亿次。CRAY-1达每秒2.5亿次。这台巨型机的体积并不大,只占地7平方米。
微型计算机就是将微处理器(CPU)浓缩在一块芯片上的微型机,它的出现与发展掀起了电子计算机大普及的浪潮。
微处理器两三年就换一代,这是任何技术也不能比拟的。其中有三大IT定律推动着产业的发展,这一部分的内容会在接下来一章讲述。
之所以单独列一章,一是它离我们很近,我们就身处其中,有许多细节可以讲述。二是,产业变化非常迅速,有很多有趣的公司和人值得书写,他们真的都相当精彩。
未来计算机方向
由于基于大规模集成电路的经典计算机芯片发展存在物理极限,那就是堆积”晶体管的做法,终将会面临一个无法跨越的物理极限,那就是再缩小也无法突破原子大小的尺度。
所以计算速度的进步就快要跟不上“摩尔定律”的要求了,因此很多巨头都在大力研发下一代计算。
下面介绍几个是正在研究的新的计算机方向,它们都非常有创新性,希望对你有所收获。
但是需要强调的是,传统的计算机架构还是会存在很长时间。
量子计算机
量子计算机这个概念,是1981年的时候,美国 Argonne 国家实验室的物理学家 Paul Benioff 提出。
量子计算机是根据量子力学态叠加理和量子相干原理设计出来的,是利用粒子所具有的量子特性进行信息处理的一种全新概念的计算机。它以处于量子状态的粒子(如原子)作为中处理器和内存,能存储和处理量子力学变量的信息并进行量子计算。
其最大优点是量子并行计算,处于量子状态的粒子能够用“超态”的上、下两个方向的自旋状态代替0、1以及中间的所有可能数值。
它具有强大的功能,由数百个串接原子组成的量子计算机可似同时进行几十亿次运算。例如,对一个129位数进行因子分解,如果用1600台超级电子计算机与互联网进行运算要花8个多月才能破译,而用台量子计算机,几秒钟就解决了。
所以像作为现代密码学基础,基于大数分解计算复杂度的RSA 密码,很有可能被量子计算机攻破,所以其出现,会给整个信息安全领域带来巨大隐患。
各大巨头也在积极争夺“量子霸权”
3月,谷歌发布了72个量子比特的芯片 Bristlecone;
2017年12月的时候,IBM 发布了50个量子比特的 IBM Q 系统;
4月初,微软也曝光了自己的量子计算机研究进展。
因为谁掌控了它,谁就掌握了技术制高点,从而就获得了量子计算机的标准制定权和舆论主导权,在产业竞争中就优先占据了有利的地位。
其如同 Intel 在 PC 产业中的霸主地位,这样的产业制高点相当重要。
但是量子计算机有个致命弱点,就是由于量子的叠加和纠缠状态,所以它是极其脆弱的。
粒子在由两个或两个以上粒子组成的系统中是相互影响的,它的状态是非常不稳定的。所以,量子计算机通常只能在接近绝对零度,也就是零下273摄氏度的状态下才能保证量子状态,正常运行。
所以说,由于量子计算机的研究还面临着无法预估的困难,最终我们是否一定会得到一个通用而且可持久运行的量子计算机,目前还是个未知数。
不过有公司已经迈出了非常可喜的一步。
D-Wave Systems 公司,为了解决量子状态不稳定的问题,提出了针对量子退火算法的计算模型,称为“绝热量子计算”
量子退火算法类似金属加工“退火”,就是把量子设置好初始位置和状态,这就相当于对量子编程。它们从初始位置和状态,转变成稳定状态,这个过程就相当于退火过程,也就是计算的过程。
其也取得了不错的商业成绩
D-Wave 于2011年推出了128比特的 D-Wave One 系统,这是世界上第一个商品化的量子计算机,售价1000万美元,美国的军火巨头,造出了 F22 的洛克希德·马丁率先采购了一台;
2013年又推出了号称512量子比特的 D-Wave Two 系统,结果谷歌联合 NASA 和 USRA 建立了量子计算实验室,联合购买了它;
2015年和2017年,D-Wave 相继推出了1000量子比特和2048个量子比特的 D-Wave 2X 和 D-Wave 2000Q,全都成功卖出。
期待其未来能有更加精彩的突破。
光子计算机
光子计算机就是以光子作为信息载体,用光计算的方式进行计算的机器。主要是通过光学元器件构成的光路来实现对光信息的处理。光学器件包括激光发射器,激光放大器,光栅,滤光片,光频调制器等。
光子计算机主要的技术,就是把光的衍射和傅立叶变换的原理用来求解计算问题。
光子计算机是光,并不像传统电子晶体管处理器那样发热,它功率低、数据传输速率高,能进行同时传递,而互不干扰,信道密度高,容错性好,这些都是电路难以做到的。
而且由于光子计算有天然的并行性,即多束光可以几乎无干扰任意叠加,并且不会像电那样发热,功耗也大幅降低,因此相比于传统电子计算机有巨大优势。
其中代表性公司是Optalysys 公司,如果说 D-Wave 是量子计算机领域商业化的首创,那么 Optalysys 很可能就是光子计算机领域的 D-Wave。
Optalysys 在今年2月宣布完成了一个名为 GENESYS 的研究项目,并开始寻求基于光子的协处理器的商业化道路。
GENESYS 项目使用的基因数据来自著名的“人类基因组工程”,他们有6400万对基因的数据需要处理,Optalysys 使用光子计算机的处理器实现了对传统基因搜索问题的求解。根据这个项目的报道,光子计算系统比传统超级计算机节省了超过90%的功耗。这个实验的成功,表示光子计算机技术在实用领域的突破。
光子计算在解算大规模复杂数学模型和工程模拟仿真方面应用潜力巨大,特别是在深度学习、科学模拟和大数据分析等领域,都有可能适用。例如,可以将其运用到天气预报和空气动力学方面。
不过由于Optalysys还未涉及到通用计算领域,短期之内还是不会是传统计算机的颠覆者。
DNA 生物计算机
生物计算机,就是使用遗传物质 DNA 和 RNA 构建基本的生物逻辑电路,以核酸分子作为数据,以生物酶作为信息处理工具,通过基因的生物的化学反应进行逻辑计算,而利用有机化合物存储得到的结果。
其原理是:DNA分子的密码相当于存储的数据,在酶的作用下,DNA分子间迅速完成化学反应,从一种基因码变为另一种基因码,将反应前的基因码作为输数据,反应后的基因码作为运算结果,就可以把计算机语言中的二进制数据翻译成DNA片段上的遗传密码。
当制造生物计算机时,首先要挑选一些DNA片段代表不同的变量,以片段之间的接合和断开代表“是”与“非”的逻辑判断,再利用生物技术分离出具有特定判断功能的片段,就可以制成新型逻辑判断计算机。
因为遗传物质的信息处理效率非常高,所以它可以替代掉半导体的工作。
它有下优点:
第一,它可以实现超大规模并行运算,具有惊人的运算速度。十几小时的运算,相当于所有计算机问世以来的总运算量。第二,具有惊人的存储量。1立方米的DNA溶液可存储1万亿亿的二进制数据。第三,DNA计算机的耗能量极小,只有一台普通电子计算机的10亿分之一。
2017年微软发布了一个使用 DNA 数据存储代替传统磁带的方案,并打算把它应用到微软的 Azure 云上用来存储电影和文档,最早可能在2020年前问世。据 MIT 评论说,它的成本可能会是现在的万分之一。
不过由于受目前生物技术水平的限制,DNA计算过程中,前期DNA分子链的创造和后期DNA分子链的挑选,要耗费相当的工作量。比如,阿德勒曼的“试管电脑”在几秒钟内就得出结果,但是他却花掉数周的时间去挑选正确的结果。
而且数以亿计的DNA分子非常复杂,在反应过程中很容易发生变质和损伤,甚至试管壁吸附残留都可能发生致命错误。因此,DNA计算机真正进入现实生活尚需时日。
注:本文资料来源于《全球创新260讲》《科学技术发展简史》《谷歌方法论》以及网络。