前言

        俗话说得好啊,“不养儿不知道父母恩”。以前看别人文章倒没觉得,等自己开始写文章了,发现写文章真的好辛苦,要写一篇好文章更辛苦。在自己写文章的过程中,需要想办法把自己理解不透彻的东西搞清楚,也会想办法把表述不清的东西表述清楚,中间需要查阅大量资料。也因此写一篇好文章的这个过程,对自己的提升和帮助也是很大的。我也鼓励大家多写一些东西,记录自己的学习过程也好,分享自己掌握的知识点也罢。每一个坚持写文章的人,都是好人!在此谢过我读过的所有文章的作者。

正文

        俗话说得好啊,“欲知大道,必先知史”。历史对于了解一件事物的重要性,毋庸置疑。计算机对大家来说是一件很复杂、技术含量很高的东西。但是所有高级的、复杂的东西都不是一蹴而就的,都是从最简单的东西发展出来的,计算机也一样。第一台计算机是什么时候诞生的呢,又是在怎样的背景下诞生的呢,估计能联想到“ENIAC,1946年2月14日,美国宾夕法尼亚大学”的同学已经算是好学生了,书本上都是这么讲的。但是,今天要讲的不是从它开始,得从明末清初说起,带大家一起了解一下计算机诞生过程中你所不知道的那些历史。

机械计算机时代

一、契克卡德计算机

 

    人们都觉得第一台机械计算机是法国科学家帕斯卡研制。其实在帕斯卡出生的那一年,1623年,德国图宾根大学教授契克卡德就为好基友天文学家开普勒制作了一种机械计算机。据说,契克卡德只造了两台原型机,不知道被老爷子丢哪个角落去了,所以他的这个伟绩不为人知。人们是在他的一封信里发现了该机器的示意图,才知道了这个事实。但是直到1960年,契克卡德家乡才根据契克卡德的手稿,复制了这台计算机,发现工作一切正常。

(在达芬奇手稿里也有一个计算机,但是没有被复原出来。达芬奇手稿里的很多高科技图纸都被复原了,所以被称为“穿越者”,有兴趣的可以看看。)

 

二、帕斯卡计算机

 

 1623年,契克卡德发明计算机的同一年,一位名叫帕斯卡的法国人出生了,他诞生在一位数学家的家庭,他从小体弱多病,三岁丧母,父亲是税务官。从小他就显示出对科学研究浓厚的兴趣。他每天都看着年迈的父亲辛苦地计算税率税款,很想帮助做点事,于是萌生了一个念头,想为父亲制作一台可以计算税款的机器。1642年,帕斯卡19岁那年,他的第一台计算机诞生。帕斯卡逝世后,德国数学家莱布尼茨发现了一篇由帕斯卡亲自撰写的“加法器”论文,勾起了他强烈的发明欲望,决心把这种机器的功能扩大为乘除运算。在1674年造出一台更完善的机械计算机。1700年左右,莱布尼茨从易经里受到启发,最终悟出了二进制数之真谛。虽然莱布尼茨的乘法器仍然采用十进制,但他率先为计算机的设计,系统提出了二进制的运算法则,为计算机的现代发展奠定了坚实的基础。

 

三、贾卡提花机

 

        在莱布尼茨改进了帕斯卡计算机的30年后,同样是法国的纺织机械师布乔(B.Bouchon)在1725年发明了“穿孔纸带”概念。但是这个概念在诞生之后就再也无人问津,直到80年后的1805年,还是来自法国的纺织机械师Joseph Marie Jacquard根据“穿孔纸袋”的概念,发明了自动提花编织机,也就是贾卡提花机(又译作雅卡尔提花机)。利用纸袋是否有穿孔,控制经线和纬线的上下。虽然这是一台用于纺织工业的机器,但是它的精巧设计,却被当时刚刚毕业于剑桥大学的查尔斯.巴贝奇看中,并利用这个原理,开始了人类历史上第一台可以编程的计算机:差分机。

四、巴贝奇差分机

 

     1822年,巴贝奇做出第一代差分机模型,巴贝奇差分机的结构共分为三个部分:存储器、运算器和控制器,就是一个纯机械式的CPU,它可以处理3个不同的5位数,计算精度达到6位小数。再后来,巴贝奇准备继续将差分机进化,并提出了自动解算有100个变量的复杂算题,每个数可达25位,速度可达每秒钟运算一次的设想。遗憾的是受到了当时制造工艺以及经费方面的困难,这台机器最终没有问世。1991年,为纪念巴贝奇诞辰200周年,伦敦科学博物馆制作了完整差分机,它包含4000多个零件,重2.5吨。尽管巴贝奇的差分机做的很精致,但是受限于当时的技术条件,仍然属于机械计算机的范畴,仍然没有迈入电子计算机的时代。

电子计算机时代

        随着科技的发展,电磁感应现象的发明,人们进入了电气时代,继电器也被发明出来了,计算机的研制者们欣喜地发现,继电器的应用还有潜力可挖,它可以用来计数。它有开和关两种状态,就可以用来表示二进制中“0”和“1”两个数。继电器是在机电式计算机上第一个派上用场的电器部件。有了继电器,一个微弱的电流就可以控制一个大电流的开断。左下角的开关闭合之后,被线圈缠绕的铁棒就会有磁性,把铁片往下拉,从而控制上面电路的状态。

1938年,香农(Claude Elwood Shannon)发表了著名论文《继电器和开关电路的符号分析》,首次用布尔代数对开关电路进行了相关的分析,并证明了可以通过继电器电路来实现布尔代数的逻辑运算,同时明确地给出了实现加,减,乘,除等运算的电子电路的设计方法。这篇论文成为开关电路理论的开端。

 

五、穿孔制表机

 

        当时的背景是美国每十年一次的人口普查,当时美国经济繁荣,人口增长较快,1880年的人口普查花了7年半的时间才把数据处理完毕。霍利瑞斯当时在人口普查局工作,一次跟同事聊到普查工作的问题时,同事比灵斯忽然提到一个他已考虑了多日的设想,那就是使用穿孔卡片帮助统计。让每个接受调查的人都使用相同规格的硬纸卡片,按照不同的个人情况在不同的位置上穿孔,然后使用一种特殊的机器把这些信息读出并加以统计。他的话给了霍利瑞斯很大的启发,直到1888年,霍列瑞斯博士才实际完成自动制表机设计并申报了专利。霍利瑞斯制表机与杰卡德提花机穿孔纸带的原理类似:只要某根探针撞到卡片上有孔的位置,便会自动跌落下去,与水银接触接通电流,启动计数装置前进一个刻度。1890年共做了6300万人的调查登记,资料汇总到首都华盛顿以后,一个月就完成了统计制表工作。霍列瑞斯最后创建了一家计算制表记录公司,也就是后来的IBM。

(高考答题卡跟这个类似,在答题卡上图颜色,读卡器可以读出相应的数据,可以快速的统计出成绩)

 

六、阿塔纳索夫-贝瑞计算机

 

 上个世纪30年代,保加利亚裔的阿塔纳索夫在爱荷华州立大学物理系任副教授,为学生讲授如何求解线性偏微分方程组时,面对繁杂的计算,阿塔纳索夫开拓新的思路,从1935年开始探索运用数字电子技术进行计算工作的可能性。他与学生一起,在1939年造出来了一台完整的样机,证明了他们的概念是正确的并且是可以实现的。人们把这台样机称为ABC,代表的是包含他们两人名字的计算机 (Atanasoff-Berry Computer)。ENIAC的设计思想实际上是来源于阿塔纳索夫在此之前的设计:可重复使用的内存、逻辑电路、基于二进制运算、用电容作存储器。这台计算机在1990年被认定为IEEE里程碑之一。

七、Mark I (马克1号)

 

美国哈佛大学应用数学教授霍华德·艾肯受巴贝奇思想启发,1937年提出了自动计算机的第一份建议书,即著名的文献“ProposedAutomatic Calculating Machine”。艾肯原指望从学校取得经费支持来研制他的计算机,但没有如愿,经人引荐和IBM公司的老板沃森取得联系。有远见的沃森正致力于将IBM公司从单纯制造办公设备的公司转变为制造计算机的公司,因此对艾肯的计划给予了全力支持,于1939年3月签订了合作制造Mark I的协议。IBM也正式从制表机等杂七杂八的东西迈入计算机制造行业。

 

      Mark I终于在1944年5月完工并投入使用。它用了3 000多个电机驱动的继电器,是一个重达5吨的庞然大物造价高达50万美元(有的资料甚至说超过100万美元),其中IBM公司的投资占2/3,其余1/3 由海军资助。其核心是71个循环寄存器(rotating register,把运算中暂时保存操作数的设备叫做register就始于Mark I),每个可存放一个正或负的23 bit的数字。数据和指令通过穿孔卡片机输入,输出则由电传打字机实现。其加法速度是300ms乘法速度是6 s,除法速度是11.4 s。虽然有点落后,但它却实实在在是世界上第一台实现顺序控制的自动数字计算机,IBM公司方面把它命名为ASCC,即Automatic Sequence ControlledCalculator,是计算技术历史上的一个重大突破。

 

八、ENIAC,埃尼阿克

二战时期,新型武器的研制至关重要,为了研究弹道轨迹,当时任职宾夕法尼亚大学莫尔电机工程学院的莫希利(John Mauchly)于 1942年提出了试制第一台电子计算机的初始设想——“高速电子管计算装置的使用”,期望用电子管代替继电器以提高机器的计算速度。    

 

      当时任弹道研究所顾问、正在参加美国第一颗原子弹研制工作的数学家冯·诺依曼带着原子弹研制过程中遇到的大量计算问题,在研制过程中期加入了研制小组。1945年3月他在共同讨论的基础上起草了一个全新的“存储程序通用电子计算机方案”—EDVAC(Electronic Discrete Variable Automatic Computer的缩写)。这对后来计算机的设计有决定性的影响,特别是确定计算机的结构,采用存储程序以及二进制编码等,至今仍为电子计算机设计者所遵循。

        EDVAC方案明确奠定了新机器由五个部分组成,包括:运算器、控制器、存储器、输入和输出设备,并描述了这五部分的职能和相互关系。报告中,诺伊曼对EDVAC中的两大设计思想作了进一步的论证,为计算机的设计树立了一座里程碑。

至此,现代计算机的思想和架构已经形成雏形,随着科技的发展和制作工艺的进步,运算器、控制器和存储器已经被集成进巴掌大的CPU内,输入设备也有穿孔卡片变成了鼠标、键盘、硬盘、内存,输出设备也有了专门的显示器,计算机性能越来越高,体积也越来越小,最终走进了千家万户。

总结

 

        从计算机的历史中,我们可以看到一个复杂东西的发展历程。从达芬奇的计算手稿,提出了计算设备的思想,到契克卡德实现的计算机,第一个实现计算的机械,再到帕斯卡的加法器,莱布尼茨基于帕斯卡改进的乘法器以及发现了二进制的奥秘,一步一步行促进了运算器的发展。直到贾卡提花机通过穿孔卡片控制机器的运转,打开了可编程控制器的大门,也为巴贝奇提供了灵感。电磁感应的发现以及继电器的发明,又让计算机步入电子计算机的时代。后来经过二战的促进,最终形成了通用计算机的架构。所以我们做任何事情要大胆猜想,小心求证,去伪存真,然后重复这个过程,一步步进化,最终达到自己的目的,当然也要借鉴一下前人的解决思路,避免闭门造车。

 

      当然,这个发展历程中还有很多其他人的思路和贡献,比如布尔的逻辑代数、图灵的通用机、香农的继电器与开关电路的符号分析等,每一个点都可以展开详细介绍。但是限于篇幅,就不详细一一介绍了,感兴趣的可以参考文章结尾的链接,里面有计算机发展历史中所有相关的人物和事件。

 

      本文只是介绍了计算机一些宏观发展历史进程,让大家有一些了解,后面可能会分享一些计算机运行机制的一些细节。

 

Refrences: 

https://history-computer.com

本篇文章来源于微信公众号: 搞点儿啥

最后修改日期:2019年12月5日

留言

头像
Origin Lee 

不错的历史知识

    头像
    作者
    heyuehui 

    感谢你的阅读和回复,你的回复是我写作的动力。

填写回复或留言

发布留言必须填写的电子邮件地址不会公开。