计算机组成原理(一)
电子计算机(electronic computer),通称电脑,简称计算机(computer),是一种根据一系列指令来对数据进行处理的机器。
在十九世纪三十年代,保加利亚裔的阿塔纳索夫在爱荷华州立大学物理系任副教授,给学生讲课时,不得不面对求解线性偏微分方程组这一繁杂枯燥的工作。于1935年,他开始探索使用数字电子技术进行计算工作的可能性。经过两年的研究,在阿塔纳索夫心中已经有了机器的雏形,于是他找到当时正在物理系读硕士学位的研究生克利福德·贝里,两人联手于1939年创造了完整的样机。阿塔纳索夫-贝瑞计算机(Atanasoff-Berry Computer,简称ABC)是法定的世界上第一台电子计算机,不可编程,仅可用于求解线性方程组。这台计算机以电能为能源,采用电子真空管作为元件进行数字、逻辑运算,采用二进制,并使用电容器作为存储器,数据输入采用打孔读卡的方式。因此,ABC的设计中已经包含了现代计算机中四个最重要的基本概念,从这个角度来说它是一台真正现代意义上的电子计算机。
世界上第二台计算机(第一台通用计算机)是ENIAC。
ENIAC
在第二次世界大战进行期间,各国的武器装备还很差,占主要地位的战略武器就是飞机和大炮,谁先开发更先进的导弹,谁就能在战争中赢得先机。为此美国陆军军械部在马里兰州的阿伯丁设立了“弹道研究实验室”,该实验室负责每天为陆军炮弹部队提供6张射表以便对导弹的研制进行技术鉴定。事实上,每张射表都要计算几百条弹道,而每条弹道的数学模型是一组非常复杂的非线性方程组。这些方程组是没有办法求出准确解的,因此只能用数值方法近似地进行计算。但是即使进行近似运算,实验室雇佣200多人加班加点运算,也大概需要两个月。
射表样例
为改变这种状况,当时在宾夕法尼亚大学莫尔电机工程学院的莫希利于1942年提出了试制一台电子计算机的初始设想,得到美国军方的大力支持,一开始投资15万美元,但最终总投资却高达48万美元。1946年2月14日,ENIAC在美国宾夕法尼亚大学问世,它每秒能进行5000次加法运算(据测算,人最快的运算速度每秒仅 5次加法运算),每秒400次乘法运算,是使用继电器运转的机电式计算机的1000倍、手工计算的20万倍,它还能进行平方和立方运算,计算三角函数的值及其它一些更复杂的运算。
但是它的缺点也很明显,这台计算器使用了17840支电子管,大小为80英尺×8英尺,重达28t(吨),功耗为170kW,机器运行产生的高热很容易损坏电子管,当电子管损坏后,必须从近1.8万支电子管中找到坏掉的电子管并予以更换后,机器才能再次运行。
1944年8月,EDVAC(第一台现代意义的通用计算机)的建造计划就被提出。1945年冯·诺依曼以“关于EDVAC的报告草案”为题,起草了长达101页的总结报告。报告广泛而具体地介绍了制造电子计算机和程序设计的新思想。EDVAC方案明确奠定了新机器由五个部分组成,包括:运算器、逻辑控制装置、存储器、输入和输出设备,建议使用二进制表示程序、数据,并且采用存储程序的工作方式,这就是冯·诺依曼体系。直到1961年,EDVAC才被BRLESC所取代;在其运行周期里,EDVAC被证明是一台可靠和可生产的计算机。
自EDVAC到现在最先进的电子计算机,都采用冯诺依曼作为理论基础:
①采用五大逻辑模块:运算器、控制器、存储器、输入和输出设备
②二进制表示程序、数据
③采用存储程序的工作方式(核心思想)