1.1 计算机的历史

1.1 计算机的历史

人类对计算工具的追求由来已久,在有史料记载之前,人类便开始利用诸如鹅卵石、有刻痕的小棍等计数辅助工具来记录数量。公元前400年左右,人类发明了算盘;1621年,英国数学家威廉·奥特雷德(William Oughtred)研制了计算尺;1642年,法国的布莱斯·帕斯卡(Blaise Pascal)研制了可以用来执行加、减、乘、除法的机械式设备——Pascaline计算器(图1-1),标志着人类的计算工具开始向自动化迈进;1822年,英国数学家查里斯·贝巴奇(Charles Babbage)提出了差分机(Difference Engine)的设想(图1-2),差分机可用与快速精确地计算天文学和工程应用,但由于受当时制造工艺的限制,无法最终实现可运行的仪器。

img

图1-1 Pascaline计算器

img

图1-2 差分机

1945年6月冯·诺依曼(见图1-3)与戈德斯坦、勃克斯等人,联名发表了一篇长达101页纸的报告《First Draft of a Report on the EDVAC》,即计算机史上著名的“101页报告”。在报告中冯·诺伊曼明确提出了计算机的体系架构。从1951年第一台电子计算机EDVAC开始,计算机经历了多次的更新换代,不管是最原始的、还是最先进的计算机,使用的仍然是冯·诺依曼最初设计的计算机体系结构。因此,冯·诺依曼被世界公认为“计算机之父”,他设计的计算机系统结构,称为“冯·诺依曼体系结构(Von Neumann architecture)”。冯·诺依曼体系结构结构提出了将存储设备与中央处理器分开的概念,因此,依此结构设计出的计算机又称为“存储程序计算机”。

img

图1-3 冯·诺伊曼

冯·诺依曼体系结构核心思想是:

数字计算机的数制采用二进制;计算机应该按照程序顺序执行。采用二进制作为计算机数值计算的基础,以0、1代表数值。不采用人类常用的十进制计数方法,二进制使得计算机容易实现数值的计算。程序或指令的顺序执行,即预先编好程序,然后交给计算机按照程序中预先定义好的顺序进行数值计算。

第二次世界大战期间,为了解决在武器研究中需要进行的快速、精确而又复杂的数字计算的问题,美国军方在宾夕法尼亚成立了研究小组,开始了第一台电子计算机的研制工作。

1946年,世界上第一台电子计算机ENIAC(Electronic Numerical Integrator And Computer,电子数值积分计算机)在美国宾夕法尼亚大学研制成功(图1-4)。ENIAC体积庞大,占地面积达170平方米,使用了18800只电子管,耗电量极大。尽管这台计算机每秒只能进行5000次加法运算,其功能还比不上现在的一只掌上可编程计算器,但它比当时的台式手摇计算机的计算速度提高了8400倍。ENIAC的问世标志着计算机时代的到来。60多年的时间,在人类历史发展的长河中是短暂的,但计算机却以惊人的速度在发展,无论是计算机科学技术的发展,还是其应用领域的迅速推广、普及之势,都远远超过历史上任何一种科学成果和产品。

img

图1-4 ENIAC计算机

电子器件的发展推动了电子电路的发展,为研制计算机奠定了物质技术基础。可以说,电子器件的发展是推动计算机发展的主要动力。所以,计算机界一般是以电子器件作为计算机发展史年代划分的依据。

在第一台计算机出现的以后70多年里,计算机技术的发展异常迅猛,计算机的应用渗透到了社会的各个领域。按照计算机使用的主要物理器件,可以把计算机的发展划分为以下四个时代。

(1)第一代计算机

第一代计算机是电子管计算机(1946—1958)。在这一阶段,计算机使用的主要逻辑元件是电子管。主存储器先采用延迟线,后采用磁鼓磁芯,外存储器使用磁带。所有的指令与数据都用“1”和“0”来表示,分别对应于电子器件的“开”和“关”。人们主要使用机器语言编程。当时计算机的运算速度很慢,在几千次/秒到几万次/秒之间。

这一阶段是计算机的发展初期,其特点是计算机体积庞大、运算速度低、成本高、可靠性差、内存容量小。主要用于科学计算,军事和科研等方面的工作。

(2)第二代计算机

第二代计算机是晶体管计算机(1959-1964)。在这一阶段,计算机使用的主要逻辑元件是晶体管。由于晶体管比电子管具有体积小、可靠性高、功能强、价格低等优点,所以使计算机以既经济又有效的姿态开始步入商用时期。主存储器采用磁芯,外存储器使用磁带和磁盘。

这一代计算机不仅用于科学计算,还用于数据处理和事务处理,并逐渐用于过程控制领域。在这一代开始重视计算机产品的继承性,出现了大、中、小型系列计算机。其中高速大型机的每秒运算速度可以达几十万次/秒以上。

(3)第三代计算机

第三代计算机是集成电路计算机(1965—1971)。在这一阶段,集成电路的开发与元器件的微小型化使计算机体积更小、速度更快、价格更便宜,从而使计算机在科学和商业领域中得以推广。这一时期的计算机用半导体存储器代替磁芯存储器,使存储容量大幅度增加,外存储器使用磁盘,并开始采用系列化、通用化、标准化计算机的体系结构。计算机的外设不断增加,尤其是终端设备的发展,使其与通信设备结合起来。

这一时期可以称为计算机的扩展时期,计算机不仅用于科学计算,还逐渐用于文字处理、企业管理、自动控制等领域,并出现了计算机技术与通信技术相结合的信息管理系统,从而被用于生产管理、交通管理和情报检索等领域。

(4)第四代计算机

第四代计算机是大规模和超大规模集成电路计算机(1972年至今)。在这一阶段,计算机主要逻辑元件是大规模和超大规模集成电路。微电子技术的迅速发展是这一时代的技术基础,计算机体积更小、功能更强、造价更低,从而使计算机应用进入一个全新的时代。存储器采用半导体存储器,外存储器采用大容量的软、硬磁盘,并开始引入光盘。随着操作系统不断发展和完善,并且发展出了数据库管理系统和通信软件等。同时,计算机的发展进入以计算机网络为特征的时代。

这一时期计算机的运行速度很快,计算机的存储容量和可靠性又有了很大提高,功能更加完备。这个时期计算机的类型除了小型、中型、大型机外,还开始向巨型机和微型机(个人计算机)两个方向发展,使计算机逐渐走进了办公室、学校和普通家庭。

(5)未来的第五代计算机

目前正在研制的“第五代计算机”是一种非冯·诺依曼型计算机。它将采用全新的工作原理和结构体系,更接近于人们思考问题的方式,即“推理”方式。第五代计算机不仅采用的技术与以往不同,而且在概念和功能方面也不同于前四代计算机。这种新型的计算机称为“知识信息处理系统”,其功能从目前的数据处理发展到知识的智能处理。人们预测这样的计算机将是一台像人一样能看、能听、能思考的智能化的计算机。

自问世以来数字计算机在速度和能力上有了可观的提升,迄今仍有不少课题显得超出了当前计算机的能力所及。对于其中一部分课题,传统计算机是无论如何也不可能实现的,因为找到一个解决方法的时间还赶不上问题规模的扩展速度。因此,科学家开始将目光转向生物计算技术和量子理论来解决这一类问题。比如,人们计划用生物性的处理来解决特定问题(DNA计算)。由于细胞分裂的指数级增长方式,DNA计算系统很有可能具备解决同等规模问题的能力。当然,这样一个系统直接受限于可控制的DNA总量。

量子计算机,顾名思义,利用了量子物理世界的超常特性。一旦能够造出量子计算机,那么它在速度上的提升将令一般计算机难以望其项背。当然,这种涉及密码学和量子物理模拟的下一代计算机还只是在构想阶段。