信息技术发展脉络中的主要技术(激动人心的信息技术诞生与成长简史)
1623年,德国科学家施卡德(Wilhelm Schickard)建造出世界已知的第一部机械式计算器,这部机械改良自时钟的齿轮技术,能进行六位数的加减,并经由钟声输出答案,因此又称为「算数钟」。该机器利用11个完整的、6个不完整的链轮进行加法运算,并能借助对数表进行乘除运算。但不幸在即将完成时被毁。
1642年,法国哲学家、数学家、和物理学家帕斯卡发明了能够做加减运算的加法机,该机器可以自动进行竖式借位运算。帕斯卡将机器复制了50部,但其中的大多数成了富有人家客厅中引人好奇的摆设。
帕斯卡的计算机
17世纪德国天才数学家、哲学家莱布尼茨(Leibniz)知道了帕斯卡的加法器后,设计了一种特殊齿轮传动装置,他发明并制造出了乘法器。
莱布尼茨的乘法器
莱布尼兹的乘法器用到了二进制。据说,莱布尼茨的二进制想法来自康熙给德国皇帝的八卦图。莱布尼茨不但为计算机引入了二进制,他还是二值逻辑的创始人。从此,人们可以用数字来表示逻辑的真假了。帕斯卡和莱布尼茨的计算机都是机械装置,他们的计算机是人类试图制造思维的辅助工具的最初尝试。这些计算机现在还能在博物馆里见到。
1725年,法国纺织工人鲁修为便于转织图样,在织布机套上穿孔纸带,他的合作伙伴则在1726年着手改良设计,将纸带换成相互串连的穿孔卡片,以此达到仅需手工进料的半自动化生产。
1801年,法国人雅卡尔发明提花织布机,利用打孔卡控制织花图样,与前者不同的是,这部织布机变更连串的卡片时,无需更动机械设计,此乃可编程化机器的里程碑。
雅卡尔提花织布机
美国宪法规定每十年必须进行一次人口普查,1880年排山倒海的普查资料就花费了8年时间处理分析,因此美国统计学家赫尔曼·何乐礼在1890年开发出一种排序机,利用打孔卡储存资料,再由机器感测卡片,协助美国人口调查局对统计资料进行自动化制表,结果不出3年就完成户口普查工作。
真正现代意义上的计算机,是1822年由英国科学家巴贝奇制造出来的第一台差分机(专供计算多项式用的齿轮式加法器),它能处理三个不同的五位数,计算精度达六位小数。
巴贝奇的差分机
在计算机结构上,巴贝奇于1834年给出了现代计算机的基本结构:堆栈、处理器、控制器。不久,巴贝奇按照这一结构理念造出了一台称为分析机的计算机。这台计算机也是第一台需要软件来控制的计算机,他的助手,英国著名诗人拜伦的独生女阿达·奥古斯塔(Ada Augusta)为这台计算机编制了人类历史上的第一批软件程序。阿达和巴贝奇为近代计算机奠定了坚实的基础。他们的计算机结构理念,比当时的人超前了一个世纪。堆栈、处理器、控制器和软件的概念一直沿用至今。阿达当年编制的软件中的一些算法也被沿用至今,为了纪念这位计算机和软件先驱,美国军方发明的一种计算机语言就是以她的名字“阿达”命名的。
分析机是一部一般用途的可编程化计算机,可编程化是通用计算机的重要定义,即只要变更指令的储存序列,通用计算机就能模拟其它形式的计算机。
尽管巴贝奇理想中的计算机未能正式问世,但他为后人留下了一份极为宝贵的遗产,那是数十种十分超前的设计方案和面对困难时不屈不挠的精神。
现代电子计算机的发展有几个组成部分:
一是计算机理论,即计算机的可能性,以及计算机功能的界限;
二是基础器件,即最小的计算器件,或者说最小的物理操作步骤,如今通用的最小计算器件是晶体三极管,它是一个最简单的开关电路;
三是电路设计,即如何用晶体三极管开关电路实现逻辑功能;
四是人机界面,即操作系统;
五是应用软件,即计算机语言和应用程序。
1847年,英国数学家乔治·布尔(George Boole)发表了数值逻辑的奠基性著作《逻辑的数学分析》(The Mathematical Analysis of Logic)。数值逻辑从此成了一门精确的数学学科。1854年,布尔发表了名著《思维规律的研究——逻辑与概率的数学基础》(The Laws of Thoughts),创立了一门全新的学科——布尔代数(Boolean Algebra),它是数字计算机设计中开关电路设计的数学方法和理论基础。
真正把布尔代数应用到电路设计上来,要到1938年。这一年,麻省理工的年轻教授克劳德·艾尔伍德·香农(Claude Elwood Shannon)发表了他的硕士论文《继电器和开关电路的符号分析》(A Symbolic Analysisof Relay and Switching Circuits),他把开关电路建立在布尔代数的基础上,证明了继电器这一简单的开关电路可以实现所有以布尔代数为基础的逻辑运算,并给出了实现四则运算的电路设计。该论文是开关与逻辑电路理论和设计的开山之作。
1895年,英国工程师弗莱明利用爱迪生效应发明了真空管。从此,人类进入了微电子时代。1912年,美国发明家李·福雷斯特在加州的帕洛阿尔托市发现了真空管的放大作用,为电子工业奠定了基础。1913年,麻省理工的教授万尼瓦尔·布什制造出了第一台模拟式计算机微分分析仪。该计算机靠电机驱动,并利用齿轮转动的角度来进行模拟计算。
1936年11月12日,英国数学家阿兰·图灵(Alan Turing)发表了计算机理论的奠基性论文《论可计算数及其在判定问题中的应用》(On Computable Numbers,with an Application to the Entscheidungs problem),阐明了现代计算机理论,从理论上定义了现代通用计算机、可计算性等重要概念。为了模拟人的运算过程,图灵指出一台能实现数字计算和逻辑判断的机器必须具备以下功能:
①一条无限长的纸带。纸带分为一个个格子,每个格子里有一个来自有限字母表的字母,字母表中有一个空白符号。纸带上的格子被编号为0,1,2,…,纸带一端可以无限伸展。
②一个扫描器。扫描器能沿着纸带移动,能读出当前所在格子内的字母,并能改变该字母。
③一套控制规则。它根据图灵机的当前状态及当前扫描器读出的字母来决定扫描器的下一步动作,并改变状态寄存器中寄存的状态,令图灵机进入新状态。
④一个状态寄存器。它用来保存图灵机的当前状态。图灵机的所有可能状态的数目是有限的,并且有一个特殊状态——停机状态。
满足上面这4个条件的机器就是有名的图灵机。图灵在这篇论文中,以图灵机的形式定义了以通用算术为基础的一种形式语言。这种形式语言和奥地利数学家库尔特·哥德尔(Kurt Godel)在1931年证明不完备性定理时给出的完全等价。
图灵
图灵机每一部分都有限,只是有一个无限长的纸带,这是一个理想设备。图灵认为这样的一台机器就能模拟人类所能进行的任意计算过程。图灵对计算机理论的重要贡献之一是给出了停机问题,即数理逻辑中的可计算性问题。它问的是“能否判断任意一个程序会在有限时间内结束运行”这样一个问题。用数学语言来表示就是:给定一个程序P和输入I,程序P在输入I下是否会停止。1936年,图灵证明了图灵定理——不存在可以判断停机问题的通用算法。证明给出了计算机和程序的纯数学定义——图灵机。图灵定理告诉我们,停机问题在图灵机上是不可判定问题。从数理逻辑的观点来看,停机问题说的就是一阶逻辑的不完备性。因此,图灵定理的本质是哥德尔不完备定理的另一种表述。图灵因其图灵机和图灵定理,被认为是计算机科学之父。
图灵机本质是:一个有限状态机 在存储介质上进行读写操作。
1950年10月,图灵发表了一篇重要的论文《计算机器与智能》(Computing Machinery and intelligence),提出了有名的图灵测试(Turing Test),为人工智能奠定了基础,图灵因此被后人尊为人工智能之父。在第一代计算机时代,这篇论文定义了第五代、第六代计算机。
图灵不但在计算理论上为现代计算机奠定了基础,他在二战期间还为英国的军事情报局六处(MI-6)制造了一台名为“巨人”(bombe)的计算机。并用该计算机破译了德国的军事密码ENIGMA。后人对此的评价是,图灵的破译使盟国提前了2~4年结束了二战,同时为盟国避免了1400万~2100万人的死亡。
第一台电子计算机的发明人是美国人约翰·阿塔纳索夫(John Atanasoff)。他是名副其实的“电子计算机之父”。阿塔纳索夫是艾奥瓦州立大学(Iowa State University)物理系教授。阿塔纳索夫和他的研究生克利福德·贝瑞(Clifford Berry)于1939年10月研制了人类第一台电子计算机。
阿塔纳索夫把这台机器命名为ABC计算机(Atanasoff-Berry Computer),其中,A、B分别取两人姓氏的首字母,C为计算机的首字母。该计算机为艾奥瓦州立大学的教授和研究生们做出了很多微分方程的数值解。在阿塔纳索夫和贝瑞离开艾奥瓦州立大学前,他们制作出了两台可以运行的ABC计算机。
ABC是第一台现代电子计算机。阿塔纳索夫在设计这台计算机时,提出了三个非常重要的设计理念:以二进制逻辑来实现数字运算,以保证精度;利用电子技术来实现控制逻辑运算、算术运算,以保证计算速度;采用把计算功能和二进制数更新存贮的功能相分离的结构。后来,控制论之父维纳在此基础上提出了计算机五原则:计算机必须是数字式的;以电子器件为主;采用二进制;内部存放计算表;在计算机内部存贮数据。这些理念直到现在仍然是设计计算机的基本理念。
这两台ABC计算机存放在艾奥瓦州立大学物理系的储存室里,很快就被人遗忘了。1946年,两台计算机的零件被拆下来移作他用,只有存储器留了下来。艾奥瓦州立大学没有为ABC计算机申请专利,这也是后来发明权之争的根源。阿塔纳索夫的“电子计算机之父”称号,不是因为他的发明在当时为人们所接受,而是因为法院做出的判决。阿塔纳索夫与著名的ENIAC计算机的发明人约翰·莫奇利(John Mauchly)和约翰·埃克特(John Eckert),为了谁是第一台电子计算机的发明人打了一场有名的官司,法院开庭了135次。1973年10月19日,法院宣布:“莫奇利和埃克特没有发明第一台电子计算机,他们只是利用了阿塔纳索夫发明中的构思。”阿塔纳索夫早在1941年,就把他有关电子计算机的设想告诉过ENIAC的发明人莫奇利。莫奇利曾参观过阿塔纳索夫在艾奥瓦州立大学物理系的计算机实验室。
ABC计算机
1934年,德国人康拉德·楚泽(Konrad Zuse)也开始制造计算机。1938年,他完成了Z-1号机械计算机,其速度与可靠性都很差。1941年,楚泽制造出了一台电子计算机——Z-3电子计算机,这是第一台可编程的电子计算机,可处理7位指数、14位小数,使用了大量的真空管。它每秒钟能做3~4次加法运算,进行一次乘法运算需要3~5秒。
20世纪40年代,哈佛大学物理系的霍华德·艾肯(Howard Aiken)也在考虑设计通用的计算机。当时IBM的总经理小沃森极具慧眼,资助了艾肯的设想。1944年,艾肯研制出了MARK-1号计算机,它有15万个元件和800公里的电线,每秒钟能进行200次以上运算。女数学家格雷丝·霍珀(Grace Hopper)为它编制了计算程序,该计算机能解微分方程。
MARK-1号的问世实现了巴贝奇的夙愿,也是自帕斯卡计算机问世以来机械和电动计算机的最高水平。
同一时期,贝尔电话实验室的科学家斯蒂比茨(Stibitz)领导的一个研究小组也在研制继电器式计算机。1940年,他们制造出了复数计算机(Complex Number Calculator,CNC),主要用于复数计算。人们对它的运算能力很满意,但它是专用机,不是通用机。1944年起,斯蒂比茨的小组又花了3年时间建造了类似的通用机。1946年,CNC正式运转,性能很好,是现代多处理机的始祖。
1940年9月,贝尔实验室在达特茅斯大学(Dartmouth College)演示M-1型机。他们把校园内的M-1型机和电报线相连,当场把一个数学问题解了出来并传输到了纽约。这是人类首次实现用计算机进行远程控制的梦想。
1946年,宾夕法尼亚大学的埃克特等人在ABC计算机的启发下,研制出了那台有名的电子计算机——Enica。它有17468只真空管,7200多个二极管,70000多个电阻,10000多只电容器和6000多只继电器,50多万个焊接点。机器被安装在一排2.75米高的金属柜子中,占地面积170平方米左右,重30吨,运算速度每秒钟5000次加法,能在0.003秒时间内完成两个10位数乘法。当时最快的计算机做40点弹道计算需要两小时,埃尼阿克只需3秒钟,实乃奇迹。埃尼阿克并不完善,它没有存储器,只有寄存器,仅能寄存10个数码,而且耗电惊人。当时的一个笑话说,只要它一开机,整个费城的路灯都会变暗。尽管埃尼阿克很简陋,但是它象征着第一代电子计算机的诞生。
关于计算机理论、计算机的可能性以及计算机功能的界限我们有了图灵的理论;而计算机的基础器件,即真空管也已经成熟了,尽管它还很慢,但是已经远胜机械设备了;而实现逻辑功能的基础电路已经经由香农的理论打好了基础,香农的那些开关电路可以实现任何逻辑功能。
1952 年1月,冯.诺伊曼(Von Neumann)设计的IAS电子计算机EDVAC问世。这台IAS计算机总共采用了2300个电子管,运算速度却比拥有18000个电子管的“埃尼阿克”提高了10倍,冯.诺伊曼存储程序控制的设想在这台计算机上得到了圆满的体现。
冯·诺依曼在1943年就提出了“存储程序通用电子计算机方案”,提出了“存储程序控制”的构想,也就是将程序存储到可寻址的内存,由控制器依次取指,译码,产生控制信号进而控制整个计算机的运转进行数据处理,具体到硬件就是处理器、主板、内存、硬盘的电脑组合方式。到了这里,我们的计算机技术才正式步入时代的大舞台。
图灵Alan Turing——计算机科学之父查尔斯·巴贝奇Charles Babbage——通用计算机之父约翰·阿坦那索夫John Vincent Atanasoff——电子计算机之父约翰·冯·诺依曼John von Neumann——现代计算机之父
1959年2月6日, 来自曾开发出第一台晶体管收音机的TI公司的基尔比(J.Kilby) 向美国专利局申报专利“半导体集成电路”。
1960年,麻省理工学院教授约瑟夫.立克里德(J.Licklider)发表了著名的计算机研究论文《人机共生关系》,从而提出了分时操作系统的构想,并第一次实现了计算机网络的设想。1962年,供职于蓝德公司的保罗.巴兰发表了一篇具有里程碑式意义的学术报告《论分布式通信》,在文中他首次提出了“分布式自适应信息块交换”,这就是我们现在称之为“分组交换”的通讯技术。
1964年 4月7日,在IBM成立50周年之际,由年仅40岁的吉恩.阿姆达尔(G. Amdahl)担任主设计师,历时四年研发的IBM360计算机问世,标志着第三代计算机的全面登场,这也是IBM历史上最为成功的机型。
1965年:DEC公司推出了PDP-8型计算机,标志着小型机时代的到来。
1966年,时任美国国防部高级研究规划属(ARPA)信息处理技术办公室(IPTO)主管的鲍伯.泰勒启动了“阿帕”(ARPA)网的研究计划。虽然他本人在事后一直强调“阿帕”网本身不是用于军事目的,但是他所在的部门却是冷战时期的产物。1968年,IBM公司首次提出“温彻斯特/Winchester”技术,探讨对硬盘技术做重大改造的可能性。
1968年12月9日,美国加利福尼亚大学的恩格巴特(Douglas Englebart)博士发明了世界上第一只鼠标。它的工作原理即通过底部小球的滚动带动枢轴转动,并带动变阻器改变阻值来产生位移信号,信号经计算机处理,屏幕上的光标就可以移动。恩格巴特博士设计鼠标的初衷就是想通过这种简便的操作方式来代替繁琐的键盘操作,但是在鼠标诞生最初的十多年中人们并没有认识到这种操作方式的简便性,直到1984年苹果Macintosh的诞生才改变了人们的陈旧观念。
1969年,贝尔实验室的ken Thompson,Dennis Ritchie在一部PDP-7上开发了Unix操作系统。
1969年10月29日,阿帕网美国加州大学洛杉矶分校(UCLA)节点与斯坦福研究院(SRI)节点实现了第一次分组交换技术的远程通讯,这也标志着互联网的正式诞生。
1969年10 月,美国施乐(Xerox)公司在今天硅谷的帕洛阿托成立了 Palo Alto Research Center(PARC)研究中心,更为重要的是施乐并没有为来到这里的科学家制定任何地研究计划,而是让他们自由得发挥。在此后的几年中,PARC诞生了以太网、鼠标、面相对象、图标、菜单、视窗等等一系列改变今后计算机发展方向的全新概念,并间接孵化了Windows、Office、Macintosh等划时代的软件作品,从其间走出的科学家还创立了Adobe、3Com、Novell等等改变IT世界格局的企业。
1971年1月,INTEL的特德.霍夫研制成功了第一枚能够实际工作的微处理器4004,该处理器在面积约12平方毫米的芯片上集成了2250个晶体管,运算能力足以超过ENICA。Intel于同年11月15日正式对外公布了这款处理器。
1972年:曾经开发了Unix操作系统的Dennis Ritchie领导开发出C语言。
1973年5月22日,由施乐PARC研究中心的鲍伯﹒梅特卡夫(Bob Metcalfe)组建的世界上第一个个人计算机局域网络--ALTO ALOHA网络开始正式运转,梅特卡夫将该网络改名为“以太网”。
1974年4月1日,Intel推出了自己的第一款8位微处理芯片8080。1974年12月,电脑爱好者爱德华.罗伯茨(E.Roberts)发布了自己制作的装配有8080处理器的计算机“牛郎星”,这也是世界上第一台装配有微处理器的计算机,从此掀开了个人电脑的序幕。
1975年7月,比尔.盖茨(B.Gates)在成功为牛郎星配上了BASIC语言之后从哈佛大学退学,与好友保罗.艾伦(Paul Allen)一同创办了微软公司,并为公司制定了奋斗目标:“每一个家庭每一张桌上都有一部微型电脑运行着微软的程序!”1976年4月1日,斯蒂夫.沃兹尼亚克(Stephen Wozinak)和斯蒂夫.乔布斯(Stephen Jobs)共同创立了苹果公司,并推出了自己的第一款计算机:Apple-Ⅰ。
1981年8月12日,经过了一年的艰苦开发,由后来被IBM内部尊称为PC机之父的唐.埃斯特奇(D.Estridge)领导的开发团队完成了IBM个人电脑的研发,IBM宣布了IBM PC的诞生,由此掀开了改变世界历史的一页。
1981年8月12日,微软推出来MS-DOS 1.0版。
1982年2月, Intel发布80286处理器。时钟频率提高到20MHz,并增加了保护模式,可访问16M内存。支持1GB以上的虚拟内存。每秒执行270万条指令,集成了134000个晶体管。
1982年9月29日,3Com公司推出了世界上第一款网卡-EtherLink网络接口卡,这也是世界上第一款应用于IBM-PC上的ISA接口网络.
1983年1月,苹果公司推出了研制费用高达5000万美元的丽萨(Lisa)电脑,这也是世界上第一台商品化的图形用户界面的个人计算机,同时这款电脑也第一次配备了鼠标。
5月8日,IBM推出了IBM PC的改进型号IBM PC/XT,并为其内置了硬盘。
1984年,来自英国的Adlib Audio公司推出了第一款声卡:魔奇声卡,从而让PC拥有了真正的发声能力。
1984年,1月24日,苹果公司推出了划时代的Macintosh计算机,不仅首次采用了图形界面的操作系统,并且第一次使个人计算机具有了多媒体处理能力。
1985年,Philips和Sony合作推出CD-ROM驱动器。
1985年,intel公司推出了计算机历史上有着举足轻重地位的80386处理器,这也是intel公司的第一枚32位处理器。
1985年11月,在经历了多次延期之后,微软公司终于正式推出了Windows操作系统。
1986年,9月,康柏公司第一次领先于IBM推出桌上型386个人电脑Deskpro PC,这在当时引起了不小的轰动。
1989年4月10 日,英特尔公司在拉斯维加斯电脑大展上首度发表集成有120万晶体管的486处理器。
1991年10月5日,来自芬兰的大学生Linus.Torvalds开发出了一种基于UNIX的操作系统-Linux,并且将源代码全部公开于互联网上,从而引发了席卷全世界的源代码开放运动,Linux本身在经过全世界无数程序员的改进后也逐渐成长为一个成熟的操作系统,并在全世界逐渐的流行开来。
1993年3月2日,我国接入Internet的第一根专线,中科院高能物理研究所租用ATT公司的国际卫星接入美国斯坦福线性加速器中心的64K专线正式开通。1993年3月22日,Intel公司正式发布奔腾(pentium)处理器。初期发布的奔腾集成了300多万个晶体管,工作在60-66MHz,每秒钟可执行1亿条指令。
1993年,微软发布了Windows NT操作系统,这也是第一个不依赖于DOS 的视窗操作系统。
1994年3月,Linux 1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。至此,Linux的代码开发进入良性循环,越来越多的人开始在自己的PC上尝试Linux操作系统。
1995年3月,美国华裔青年杨致远和同在斯坦福大学的同学戴维.菲洛( David.Filo)共同创办了Yahoo公司。
1995年8月24日,微软公司正式向全世界推出了划时代的Windows95操作系统。这次发布微软采用了全球各地同时发布的办法,并斥资5亿美元作为宣传费用,创下了软件宣传费用的历史之最,而Windows95的发布,也开创了一个全新的wintel联盟。
1996年2月,sun公司正式对外发布了Java语言,比尔.盖茨认为:“Java是有史以来最为卓越的编程语言。
1998年6月25日,身处美国司法部反垄断案困扰中的微软公司发布了其最新的计算机操作系统Windows 98,并且不顾司法部的极力反对而在系统中同样捆绑了IE浏览器。
1998年8月24日,intel推出了装有二级高速缓存的赛扬A处理器,这就是日后被众多DIYer捧上神坛的赛扬300A。
1999年9月1日,Nvidia公司推出了GeForce256显示芯片,并提出了GPU的全新概念。
2000年1月1日,全世界都在等待,呵呵,千年虫并没有爆发。2月17日,美国微软公司正式发布Windows2000。
2001年10月25日,微软推出Windows XP操作系统,比尔.盖茨宣布:“DOS时代到此结束。” Windows XP的发布,也推动了身处低潮的全球PC硬件市场。
写在最后:
信息技术的诞生和发展是从计算理论、硬件、软件三者相互交错、相互促进而发展的。
计算理论的奠基方面主要是布尔代数、开关电路、图灵机、“存储程序控制”构想等。
硬件方面,是逐步往小型化、价格低廉化的方向发展的,这样才有普及的可能。逻辑元件更是经历了机械的继电器,到电子管、晶体管、集成电路,网络化等。
软件方面从程序控制、到高级编程语言、操作系统、计算机网络协议等。
近两百年人类在信息技术方面的成就可以说是无与伦比的。
-End-
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com