ENIAC到来之前
2009-10-10 22:22
169 查看
概述
人类探索机器的算术能力从未停止,在西方,从一开始的计算尺到,到Pascal
,
Leibniz
设计的机械加法器、乘法器,再到按照连接顺序的打孔卡控制编制样式的织布机,再到
Babbages
设计的差分机,直到
IBM601
,
ABC
,
ENIAC
,
EDVAC
,此时与现代计算机的设计思想相差无二,最终带来
了
信息技术革命。可以说现代社会的绝大部分便利都是受惠于此。
我国的计算工具算筹,算盘也曾经独领风骚。祖冲之在南
北朝时用算筹得到的圆周率精确到小数点后七位,促进了当时的计算精度的提高,为以后各种工程项目的实现,新工具的发明改进打好了基础。近代农业社会的生产
力的提高,商品经济的初步发展使算盘的应用极其频繁,使用的方法技巧简直成了一门学问。但由于各种各样的原因,发展的后劲不足,理论创新,技术创新不能一
以贯之缺乏积累,最终全面落后于西方科技。从计算机发展历史中我们不难看到其中的深刻原因。
不得不说,西方人的孜孜追求所形成的理论与技术基础在计算机的发明成功中起到了极大的作用。在一个崇尚科学,追求真理的环境中,人人都在为技术思想的进步做着贡献,计算尺出现首先基于对数计算尺的普及应用。
1
630
年,英国数学家奥特雷德使用当时流行的对数刻度尺做乘法运算,突然萌生了一个念头:若采用两根相互滑动的对数刻度尺,不就省得用两脚规度量长度吗?他的这个设想导致了“机械化”计算尺的诞生。
值得一提的是,对数计算尺直到上个世纪
20
年代,仍然发挥着巨大的作用。
法国人伟大
第一台真正意义上的计算机,当属天才人物帕斯卡的帕斯卡加法器。依靠齿轮的传动,棘爪的进档功能实现了自动人类计算的梦想,当然这也是第一次工业革命科技进步的产物。后来,德国的Leibnitz
,研读帕斯卡的著作,拜访帕斯卡的计算器后,在法国工程师的协助下,改进帕斯卡的加法器。以步进轮代替棘爪,实现连续重复的做加法运算,从而进一步可以在计算器上,做加减乘除的运算。这些发明创造为后世风靡全球的手摇计算器的普及奠定了基础。
紧接着,法国的科学家、工程师又做出另一举世瞩目的贡献。成为通过编辑程序控制机器运行思想的源头。法国的纺织工程师杰卡德发明了杰卡德提花机,这一创举
的影响如此之大,以致于现如今的英语、法语中的提花机一词,正是杰卡德。包括现代化的纺织机器,其原理与当时的杰卡德提花机,相差无二。杰卡德的穿孔卡片
让纺织机编织出美丽的图案,近代的计算机的穿孔卡片让复杂的科学计算通过了计算机来实现。即使现代的编程语言,无论高级还是低级,无论面向计算过程还是面
向实体对象,归根结底都要依靠穿孔卡片的工作原理来让机器实现计算或曰思考。
差分机的起伏
继此之后,1822
年,耗费十年光阴之后,英国数学家
Babbages
发明差分机,专门用于编制航海和天文计算方面的数学用表。差分机的伟大之处在于,它是最早采用寄存器来存储数据的计算机,体现了程序设计思想的萌芽和应用。在这之后,巴芬奇在英国政府的资助下,设计了新型分析机
,其基本原理与帕斯卡的转轮相似,用齿轮间的啮合、旋转、平移等方式进行数字运算。但它
带有三个具有现代意义的装置:
1.
一个能够保存数据的“存储库(
Store
)”。存储库能储存
1000
个
50
位数。他为存储库画了几千张设计图,并且制定了各种新的制造工艺。
2.
一个能够从存储库中取出数据进行各种基本运算的“运算室
(Mill
)”。运算是通过各种齿轮与齿轮的咬合、旋转、平移等来实现的。
3.
一
个能够控制顺序、选择所需处理的数据以及输出结果的装置。它根据存储程序的穿孔卡来控制计算过程。尽管巴贝奇没有给这部分装置起专门的名字,但它实际上起
到了现代计算机中控制部件的作用。 由于工程难度过大,当时的制造业水平难以支持这一伟大的思想的实现(主要零件的误差达不到每英寸千分之一的高精确度
)。当
1832
年制造工作基本停顿时,
Babbage
活跃的思想被一个更加激动人心的目标所吸引——设计一种可以控制计算程序的通用数字机,
1842
年英国政府停止了资助。
再后来,
Babbage
在挚友艾达(即诗人拜伦的女儿)的帮助下,继续了差分机的研究。艾达为巴芬奇的分析机设计了许多数学函数的实现算法,因此被认为是计算史上第一个程序员。她预见到计算机可以作曲,这一想法现在已经变作现实,而且人工智能的发展目标有超过此。并且艾达的功绩也被后人铭记,与
C
语言一样具有强大的可移植性的
Ada
高级编程语言,即是以艾达的名字命名的。热心科技的数学才女艾达
1952
年去世时仅
36
岁。
1871
年,
79
岁高龄的
Babbage
带着遗憾离开了人世,但他把全部设计图纸和已完成的部分零件送进伦敦皇家学院博物馆供人观赏,
包括
30
种不同设计方案,近
2000
张组装图和
50000
张零件图。最近,依靠现代科技,伦敦皇家学院博物馆已经成功的制造出了
Babbage
所设想的差分机。
美国人的头角
1888年,德裔美国人霍烈瑞斯,在杰卡德的启示下,发明了自动制表机,可以用来储存和统计数据。以穿孔卡片代替穿孔纸带,并用电气控制技术代替纯机械装置,便于进行数据处理。
1890
年,美国人口普查全部采用霍烈瑞斯制表机,全部统计工作只用了
1
年零
7
个月。霍烈瑞斯于
1896
年创立了制表机公司,
1911
年该公司并入
CRT
公司,即蓝色巨人
IBM
公司(
1924
年更名)。也是标志着
IBM
接触计算机的开始。
总的来说,杰卡德和霍烈瑞斯分别开创了程序设计和数据处理的先河,而
Babbage
则是计算机探索的先驱,建立较为完备的计算机模型,本质上与
Von·Neumann
模型无大区别,只是时代的局限性所致。
再后来,科技进步到真空管二极管时代,也即电子管时代。
1912
年,在爱迪生,弗雷明的工作基础之上,德
·
弗雷斯特和他的两名助手在加利福尼亚如今的硅谷改进电子管,并发现它的放大作用。用他制作的真空三极管,来代替艾肯的
MARK
一号中的电磁继电器,速度可以提升
10000
倍。
真空三极管的启用
以电子管为核心元件,制作电子计算机还是军方的计算弹道的工作的需求导致。人们都知道,刚试制出来的大炮是否能够通过验收,必须对它发射多枚炮弹的轨迹作认真检查,分析弹着点误差的原因。一发炮弹从发射升空到落地爆炸,只需一分来钟,而计算这发炮弹的轨迹却要做
750
次乘法和更多的加减法。一张完整的弹道表需要计算近
4
千条弹道,试炮场每天要提供
6
张这样的表,可想而知任务量有多大。
而戈德斯坦正是负责美国军方此事。戈德斯坦本人就是一位数学家,曾在密歇根大学任数学助理教授。他从陆军中抽调来百余位姑娘作辅助性的人工计算。可以设想一下:一发炮弹打过去,
100
多人用手摇计算机忙乱地算个不停,还经常出错,既吃力又不讨好,那场景不免令人啼笑皆非。在戈德斯坦领导的队伍中,有来自莫尔学院的两位年轻学者。一位是他多年的好友,莫尔学院副教授莫契利(
J.Mauchiy
),
36
岁的物理学家。另一位名叫埃克特(
P.Eckert
),
24
岁的电气工程师,不久前刚从莫尔学院毕业。莫契利擅长总体构思,他天生一个
系
统思维的脑子。他的设想,又总能够被心灵手巧的埃克特领会并加以具体化。两个人志趣相投,几番碰撞,一拍即合,交给了戈德斯坦一份研制电子计算机的设计方
案──“高速电子管计算装置的使用”,明确提出要使用弗莱明、德福雷斯特发明的电子管,造一台前所未有的计算机器,把弹道计算的效率提高成百上千倍。
由于所需的巨额经费,加上研制的风险,此事的立项成功还多亏了普林斯顿高等研究院教授、拓扑学创立者韦伯伦的极力推荐。最终莫尔学院获得军方
14
万美元的研制经费,后追加到
48
万美元。其中,莫契利是计算机的总设计师,主持机器的总体设计;埃克特是总工程师,负责解决复杂而困难的工程技术问题;勃克斯则作为逻辑学家,为计算机设计乘法器等大型逻辑元件。并且在戈德斯坦的引荐下,
Von·Neumann
采用高超的理论和技术方法,一举攻克了巨大的难关。
理论的奠基
在ENIAC尚未投入运行前,冯·
诺依曼就已开始着手起草一份新的设计报告,要对这台电子计算机进行脱胎换骨的改造。他把新机器的方案命名为“离散变量自动电子计算机”,英文缩写译音是“埃德瓦克”(
EDVAC
)。
1945
年101页纸洋洋万言的报告,即计算机史上著名的“
101
页报告”。
至此计算机的进入正轨,冯
·
诺依曼模型的计算机层出不穷,首先是
IBM701
,后来的
PC
,
PC
兼容机,
Apple
,
MAC
等等。
50
年代以后,几乎任何一样电子学的新技术都与计算机产生巨大的联系,迅速被应用到电子计算机中,像真空三极管被发明几十年才被应用到计算机上的现象几乎没有再发生过。摩尔定律在上世纪
60
年代被肯定,并直到今天仍在发挥作用。经历晶体管,集成电路,大规模集成电路,超大规模集成电路的阶段后,电子计算机在工农商教各行业发挥巨大的作用。同时走进千家万户,成为人们日常生活的重要组成部分。
相关文章推荐
- 写在2008年到来之前
- ViewDidLoad中取之前界面赋值,在赋值前
- 写在博客之前的话——java程序员规划
- Zstack协议栈中CC2530协调器掉电重启后重新加入之前网络的方法
- 跨平台开发时代的 (再次) 到来?
- js页面加载之前触发的事件
- 解决使用驱动器中的光盘之前需要将其格式化
- 阅读赵炯的《Linux内核完全注释》之前必须知道的!
- 一键排班时代到来
- php 7.0的时代到来
- 模块化思想重写之前写的My97DatePicker的例子
- 非 CDB(12c 或者 12c 之前的版本)迁移到 12c CDB
- 百度没出新算法之前这样的最好的的优化方案
- 写给即将到来的你
- php截取逗号之前的字符
- Oracle删除表之前判断表是否存在
- 安装Pod之前的工作——安装ruby环境
- 写在开始编写Java之前(2)——Java的环境
- RHEL 7.0已发布CentOS 7即将到来
- LoaderManager使用详解(一)---没有Loader之前的世界