现代计算机史
现代计算机史,从历史上看,计算机是人类的职员,他们按照有效的方法进行计算。如今,这些人类计算机进行了由电子计算机执行的各种计算,其中数千人被用于商业,政府和研究机构。从1920年代开始越来越多地使用计算机一词,它是指可以完成人机工作的任何计算机,即根据有效方法进行计算的任何计算机。在1940年代末和1950年代初,随着电子计算机的出现,“计算机”一词逐渐由“计算机”取代,最初通常以“电子”或“数字”为前缀。该条目调查了这些机器的历史。
巴贝奇
查尔斯·巴贝奇(Charles Babbage)是1828年至1839年在剑桥大学的卢卡斯数学教授(该职位以前由艾萨克·牛顿(Isaac Newton)担任)。巴贝奇提出的差分引擎是一种专用的数字计算机,用于自动生成数学表(例如对数表,潮汐表和天文表)。差速器引擎完全由机械零件组成-黄铜齿轮,杆,棘轮,小齿轮等。数字以十进制表示,安装在列中的10齿金属轮的位置。巴贝奇(Babbage)在1822年展示了一种小型工作模型。他从未完成过自己设计的全尺寸机器,但完成了多个碎片。最大的计算器(占整个计算器的九分之一)在伦敦科学博物馆展出。Baabage用它来执行严肃的计算工作,计算各种数学表。1990年,终于根据巴贝奇的设计建造了巴贝奇2号差分引擎,并在伦敦科学博物馆展出。
瑞典人乔治(George)和爱德华·舒兹(Edvard Scheutz)(父亲和儿子)建造了巴贝奇差分引擎的改良版。制造了三架,一个原型和两个商业模型,其中一个模型卖给了纽约奥尔巴尼的一个天文台,另一个模型卖给了伦敦总书记处,在那里他们计算并打印了精算表。
Babbage提出的分析引擎比差异引擎要雄心勃勃,它原本是一台通用的机械数字计算机。该分析引擎本应具有一个内存存储和一个中央处理单元(或“工厂”),并且能够根据其先前动作的结果从其他动作中进行选择(如今称为条件分支)。分析引擎的行为将由与色带连接在一起的打孔卡上包含的指令程序控制(这是提花织机采用巴贝奇的想法)。巴贝奇(Babbage)强调了分析引擎的一般性,
Babbage与诗人拜伦(Byron)的女儿艾达·洛夫雷斯(Ada Lovelace)密切合作,后代以现代编程语言ADA命名。Lovelace预见了使用分析引擎进行非数值计算的可能性,这表明该引擎甚至可能能够创作精美的音乐。
1871年巴贝奇(Babbage)逝世时,正在建造大型分析引擎模型,但从未制造出完整版本。巴贝奇关于通用计算引擎的想法从未被遗忘,尤其是在剑桥大学,它有时是在电子战书的发源地,政府法规和战争学校总部,白金汉郡的布莱奇利公园的用餐时间讨论的一个生动话题。数字计算机。
模拟计算机
广泛使用的最早的计算机不是数字的,而是模拟的。在模拟表示中,表示媒体的特性会模仿(或反映或建模)所表示的事务状态的特性。(与之形成鲜明对比的是,数字表示中使用的二进制数字字符串不会通过拥有某种物理属性(例如长度)来表示,其大小与所表示的属性的大小成比例地变化。)模拟表示形成了一个不同的类。例如:路线图上的线越长,线所代表的路就越长;建筑师的模型中,透明塑料正方形的数量越多,所代表建筑物中的窗户数量越多;声学深度计的音调越高,水越浅。在模拟计算机中,数值由例如轴的旋转角度或电势差表示。因此,机器一次的输出电压可能代表被建模对象的瞬时速度。
就像建筑师的模型说明的那样,模拟表示在本质上可能是离散的(不存在分数窗口之类的东西)。在计算机科学家中,有时会狭义地使用“模拟”一词,以表示一个连续值的数量被另一个表示(例如,速度乘以电压)。正如Brian Cantwell Smith所说:
“模拟”应该……是其表示结构与其所代表的表示相对应的表示形式的谓词……从历史上讲,连续表示应被称为类比,大概是背叛了人们的认识,即在它对我们重要的层面上,世界从根本上说是连续的,而不是离散的。(史密斯[1991],第271页)
开尔文勋爵的兄弟詹姆斯·汤姆森(James Thomson)发明了机械轮盘集成器,该集成器成为了模拟计算的基础(Thomson [1876])。两兄弟构建了一种用于计算两个给定函数乘积的积分的设备,开尔文描述了(尽管未构建)通用模拟机,用于积分任意阶数的线性微分方程并求解联立的线性方程。开尔文最成功的模拟计算机是他的潮汐预测机,一直使用到利物浦港,直到1960年代。基于轮盘集成器的机械模拟设备在第一次世界大战期间用于炮弹计算。战后,汉尼拔·福特(Ford [1919])大大改善了集成器的设计。
斯坦利·费弗(Stanley Fifer)报告说,第一台半自动机械模拟计算机是1930年之前由曼彻斯特大都会维克斯公司在英格兰建造的(Fifer [1961],第29页)。但是,到目前为止,我无法证实这一说法。1931年,在MIT工作的Vannevar Bush建造了差分分析仪,这是第一台大规模的自动通用机械模拟计算机。布什的设计基于轮盘集成商。他的机器很快就在世界范围内使用(包括在剑桥大学和曼彻斯特大学在英国,由曾经流行的工程玩具Meccano制成的差分分析仪)。
这就需要配备铅锤的熟练机械师来为每项新工作设置布什的机械差分分析仪。随后,布什及其同事将轮盘集成器和其他机械组件替换为机电设备,最后用电子设备替换了。
可以将差分分析仪概念化为以允许大量反馈的方式连接在一起的“黑匣子”的集合。每个框执行一个基本过程,例如加法,变量与常数的乘积以及积分。在为给定任务设置机器时,将盒子连接在一起,以便执行所需的一组基本过程。对于电机,这通常是通过将电线插入配线架上的插座来完成的(以这种方式确定其功能的计算机称为“程序控制”)。
由于所有盒子并行工作,因此电子差分分析仪可以非常快速地求解方程组。与此相对应的是,将待解决的问题按摩为模拟机所需形式的成本,以及设置硬件以执行所需计算的成本。模拟计算的主要缺点是相对于数字机器而言,精度提高的成本较高。在1960年代和1970年代,人们对“混合动力”机器产生了浓厚的兴趣,其中模拟部分由数字部分控制并通过数字部分进行编程。但是,这样的机器现在很少见。
通用图灵机
1936年,图灵在剑桥大学发明了现代计算机的原理。他描述了一种抽象的数字计算机,该计算机由一个无限的内存和一个扫描程序组成,该扫描程序可以逐个符号地在内存中来回移动,读取发现的内容并写入其他符号(Turing [1936])。扫描仪的动作由指令程序决定,该指令程序以符号形式存储在内存中。这是Turing的存储程序概念,并且隐含着机器操作并修改其自己的程序的可能性。(在1947年的伦敦会议上,就众所周知而言,最早的公开演讲提到了计算机智能,图灵说:“我们想要的是一台可以从经验中学习的机器”,补充说,“让机器改变自己的指令的可能性提供了为此的机制”(Turing [1947] p。393)。图灵1936年的计算机现在简称为通用图灵机。剑桥大学的数学家马克斯·纽曼(Max Newman)表示,从一开始,图灵就对实际构建他所描述的那种计算机的可能性感兴趣(纽曼在埃文斯[197]中接受克里斯托弗·埃文斯的采访)。
从第二次世界大战开始,图灵是布莱奇利公园(Bletchley Park)政府代码和密码学校的首席密码分析员。在这里,他熟悉了Thomas Flowers涉及大规模高速电子开关的工作(如下所述)。但是,直到1945年欧洲停止敌对行动之后,图灵才能转向建造电子存储程序计算机的项目。
在战时时期,图灵确实对机器智能问题进行了深思熟虑。Bletchley Park的同事回想起与他就该主题进行的许多下班讨论,图灵曾一度分发了一份打字报告(现已丢失),阐明了他的一些想法。其中的一位同事Donald Michie(后来在爱丁堡大学成立了机器智能与感知系),记得Turing经常谈论计算机的可能性(1)从经验中学习和(2)通过解决问题来解决问题。在经验法则原则的指导下寻找可能解决方案的空间(Michie在接受Copeland采访时,1995年)。后一种想法的现代术语是“启发式搜索”,启发式是任何经验法则,它会减少为找到问题的解决方案而需要的搜索量。在图卢切利公园,图灵通过参考国际象棋来阐述他关于机器智能的想法。米奇(Michie)回忆起图灵(Turing)进行启发式实验,该启发式后来在国际象棋编程中变得很普遍(尤其是minimax和best-first)。
有关图灵和计算机的更多信息,包括他在战时所做的代码破解工作以及他对人工智能和人工生活的思考,可以在Copeland 2004中找到。
机电与电子计算
除了某些例外,包括Babbage的纯机械引擎和手指驱动的国民核算机,早期的数字计算机都是机电的。也就是说,它们的基本组件是小型的,电动的机械开关,称为“继电器”。它们的运行速度相对较慢,而电子计算机的基本组件(最初是真空管(阀))没有可移动的部件,可以节省电子,因此运行速度极快。机电数字计算机是在(第二次世界大战前后)由哈佛大学的霍华德·艾肯,贝尔电话实验室的乔治·斯蒂布兹,普林斯顿大学和布莱奇利公园的图灵以及柏林的康拉德·祖塞制造的。祖斯(Juse)拥有建造第一台可运行的通用程序控制数字计算机的荣誉。该机器后来称为Z3,于1941年开始工作。(与存储程序计算机相反,程序控制计算机通过重新布线,通过插头等方式设置,以完成新任务)。
中继太慢,对于大规模通用数字计算而言,它是一种不可靠的媒介(尽管艾肯付出了巨大的努力)。使用真空管的高速数字技术的发展使现代计算机成为可能。
真空管最早用于数字数据处理的最早用途似乎是由工程师托马斯·弗洛斯(Thomas Flowers)在伦敦Dollis Hill的英国邮局研究站工作的。由弗劳斯(Flowers)在1934年设计的用于控制电话交换机之间连接的电子设备于1939年投入运行,涉及三至四千个连续运行的真空管。在1938年至1939年间,Flowers从事了一个实验性电子数字数据处理系统的研究,该系统涉及一个高速数据存储。战争结束后,Flowers的目标是电子设备应取代现有的,不太可靠的,由继电器构建并用于电话交换机的系统。鲜花没有调查使用电子设备进行数值计算的想法,但他指出,在1939年与德国的战争爆发时,他可能是英国唯一意识到真空管可以大规模用于高速数字计算的人。(有关“鲜花”的更多信息,请参阅《谷轮2006》。)
阿塔纳索夫
在美国,最早可比的真空管使用似乎是由约翰·阿塔纳索夫(John Atanasoff)在当时的爱荷华州立大学(现为大学)进行的。在1937年至1942年期间,阿塔纳索夫(Atanasoff)开发了使用真空管以数字方式进行数值计算的技术。1939年,在他的学生克利福德·贝里(Clifford Berry)的帮助下,阿塔纳索夫(Atanasoff)开始建造有时被称为阿塔纳索夫·贝里计算机(ABC)的小型专用电子数字机器,用于求解线性代数方程组。该机器包含约300个真空管。尽管机器的电子部分运行正常,但整个计算机从未可靠地工作过,由于不能令人满意的二进制读卡器引入了错误。1942年,阿塔纳索夫离开爱荷华州时,工作中断了。
巨人
第一台功能齐全的电子数字计算机是Colossus,从1944年2月开始就被Bletchley Park密码分析家使用。
从战争初期开始,政府法规和密码学校(GC&CS)就成功地解密了通过Enigma系统编码的德国无线电通信,到1942年初,由于被称为“炸弹。这些是由Turing和Gordon Welchman设计的(基于波兰密码分析家的早期工作)。
在1941年下半年,使用完全不同的方法编码的消息开始被截获。这种新的密码机由Bletchley Park代号为“ Tunny”,于1942年4月被破坏,当年7月首次读取了当前的流量。基于二进制电传打印机代码,Tunny优先于基于摩尔斯的Enigma来加密高级信号,例如希特勒和德国高级司令部成员的消息。
为了尽可能快地解密这些重要情报,麦克斯·纽曼(Max Newman)于1942年11月提出(在他从剑桥大学(Cambridge University)加入GC&CS后不久)提出,通过高速电子计数设备使解密过程的关键部分自动化。希思·罗宾逊(Heath Robinson)是根据纽曼(Newman)规范设计和制造的第一台机器,是基于继电器的,带有用于计数的电子电路。(电子计数器是由CE Wynn-Williams设计的,他自1932年以来一直在剑桥的Cavendish实验室中使用晶闸管在计数电路中使用[Wynn-Williams 1932]。)安装于1943年6月的Heath Robinson不可靠,运行缓慢,并且它的高速纸带不断断裂,但这证明了纽曼的想法的价值。Flowers建议改用全电子机器制造,但是他没有得到GC&CS的正式鼓励。Flowers在Dollis Hill的邮局研究站独立工作,悄悄地建造了世界上第一台大型可编程电子数字计算机。巨像一世于1943年1月被运送到布莱奇利公园。
战争结束时,布莱切利公园(Bletchley Park)全天候工作着十个巨人。从密码分析的角度来看,原型Colossus I和后来的机器之间的主要区别是在密码分析学家Donald Michie和Jack Good发现关键发现之后,增加了所谓的特殊附件。这将Colossus的功能从“车轮设置”扩展到了“车轮断裂”,即确定车轮,即从给定车轮的“模式”确定特定消息的Tunny机器的编码车轮的设置。模式本身。最终,德国人每天在德国陆军高级指挥部和陆军集团司令之间的众多联系中的每一个环节上都改变车轮模式。到1945年,共有30个链接。
巨像I包含大约1600个真空管,随后的每台机器大约包含2400个真空管。像较小的ABC一样,巨像也缺少现代计算机的两个重要功能。首先,它没有内部存储的程序。为了将其设置为一项新任务,操作员必须使用插头和开关来更改机器的物理接线。其次,Colossus并不是通用机器,而是为涉及计数和布尔运算的特定密码分析任务而设计的。
GC&CS的官方历史学家FH Hinsley估计,由于在Bletchley公园进行的信号情报行动(其中Colossus发挥了重要作用),欧洲的战争至少缩短了两年。一旦敌对行动停止,大多数斗兽场就被摧毁。一些电子面板最终移到曼彻斯特的纽曼计算机机器实验室(见下文),所有其原始用途的痕迹都已被删除。GC&CS保留了两名Colossi(战争结束后更名为GCHQ)。据信最后一个巨像已于1960年停止运行。
《官方机密法》禁止那些了解巨像的人分享他们的知识。直到1970年代,几乎没有人知道第二次世界大战期间成功使用了电子计算。分别在1970年和1975年,古德(Good)和米奇(Michie)发表了笔记,给出了巨像的最基本轮廓。到1983年,Flowers已获得英国政府的许可,可以发布关于Colossus I硬件的部分说明。后来的机器和特殊附件的详细信息,Colossi的用途以及它们运行的密码分析算法,最近才被解密。(有关巨像的完整描述和对Tunny的袭击,请参阅Copeland2006。)
对于熟悉1936年通用图灵机和相关存储程序概念的人们,Flowers的数字电子设备机架证明了使用大量真空管来实现高速通用存储程序的可行性。电脑。战争结束后,纽曼毫不犹豫地为此目的在曼彻斯特大学建立了皇家学会计算机实验室。到达曼彻斯特后的几个月,纽曼向普林斯顿数学家约翰·冯·诺伊曼(John von Neumann,1946年2月)写道:
在过去的两三年中,我对这种电子设备非常感兴趣,因此我希望在这里从事计算机领域的工作。大约18个月前,我决定下班后尝试启动一个机器单元。……我当然与图灵保持着密切联系。
图灵的自动计算引擎
图灵和纽曼的想法相似。1945年,图灵加入了伦敦的国家物理实验室(NPL),他的简介是设计和开发用于科学工作的电子存储程序数字计算机。(人工智能与图灵的想法相距不远:他形容自己为``建立大脑'',并在一封信中表示,他``对产生大脑动作模型的可能性比对计算的实际应用更感兴趣'' 。)图灵在NPL上的直接上司约翰沃默斯利(John Womersley)将图灵提出的机器命名为自动计算引擎或ACE,以向巴贝奇的差分引擎和分析引擎致敬。
图灵在1945年的报告“拟议的电子计算器”中给出了电子存储程序通用数字计算机的第一个相对完整的规范。该报告在Copeland 2005中已全部转载。
在美国提出的第一台电子存储程序数字计算机是EDVAC(见下文)。由冯·诺依曼(von Neumann)撰写的“ EDVAC报告初稿”(1945年5月),几乎没有工程细节,特别是有关电子硬件的工程细节(由于美国的限制)。另一方面,图灵的“拟议电子计算器”提供了详细的电路设计和硬件单元规格,机器代码中的样本程序,甚至是机器制造成本的估算(11,200英镑)。ACE和EDVAC根本不同。例如,ACE采用分布式处理,而EDVAC具有集中式结构。
图灵看到速度和内存是计算的关键。图灵在NPL上的同事吉姆·威尔金森(Jim Wilkinson)观察到,图灵“沉迷于机器上的速度这一概念” [Copeland 2005,第1页。2]。Turing的设计与当今的RISC体系结构有很多共通之处,它要求使用与早期Macintosh计算机大致相同容量的高速存储器(按当时的标准而言是巨大的)。如果图灵的ACE按计划建造,它将与其他早期计算机处于不同的联盟。然而,由于NPL的组织困难,Turing的自动计算引擎的进展缓慢,1948年,“非常受宠”的Turing(Robin Gandy在1995年接受Copeland的采访时)离开了NPL,前往曼彻斯特大学纽曼计算机实验室。 。直到1950年5月,由威尔金森,爱德华·纽曼,麦克·伍德格和其他人制造的小型自动计算引擎试验模型才开始执行程序。Pilot Model ACE的工作速度为1 MHz,在一段时间内是世界上最快的计算机。
试点型ACE的生产版本DEUCE的销售旺盛-混淆了NPL主任查尔斯·达尔文爵士在1946年提出的建议,即“很可能……一台机器足以解决所有问题。整个国家都需要它的问题” [Copeland 2005,p。1。4]。Turing的ACE设计基础被Harry Huskey(位于底特律韦恩州立大学)在Bendix G15计算机中使用(Huskey接受Copeland采访,1998年)。G15可以说是第一台个人计算机。全球销售了400多个。DEUCE和G15一直使用到1970年左右。另一款源自图灵的ACE设计的计算机MOSAIC在冷战时期在英国的防空系统中发挥了作用。其他衍生产品包括Packard-Bell PB250(1961)。
曼彻斯特机器
最早使用的通用存储程序电子数字计算机是在曼彻斯特大学的纽曼计算机实验室建造的。众所周知,曼彻斯特的“婴儿”是由工程师威廉姆斯(FC Williams)和汤姆·基尔本(Tom Kilburn)建造的,并于1948年6月21日进行了首次计算。存储在阴极射线管表面上的这个微型程序仅十七条指令长。该机器的放大版本以及由图灵设计的编程系统,成为世界上第一台商用计算机Ferranti MarkI。第一台要完成的计算机是1951年2月安装在曼彻斯特大学。在英国,加拿大,荷兰和意大利,总共售出约十种。
图灵和纽曼对曼彻斯特胜利的基本逻辑数学贡献被忽略了,如今,曼彻斯特的机器是威廉姆斯和基尔本的著作。确实,从未充分强调过纽曼在计算机开发中的作用(也许是由于他将相关事件联系在一起的方式是彻底的自我掩饰)。
正是纽曼(Newman)在1935年在剑桥的一次演讲中,将图灵(Turing)引入了直接导致图灵机器的概念:纽曼(Newman)将建设性过程定义为一台机器可以执行(纽曼在接受埃文斯采访时,同上)。由于他了解图灵的工作,纽曼开始对计算机的可能性产生兴趣,正如他所说的那样,这是“一种相当理论上的方式”。直到纽曼(Newman)于1942年加入GC&CS时,他对计算机的兴趣突然变得实用,他意识到对Tunny的攻击可以机械化。在制作巨像期间,纽曼试图让图灵在1936年的论文(存储程序概念的发源地)中引起人们对花朵的兴趣,但弗洛斯并未充分利用图灵的奥术。毫无疑问,到1943年,纽曼牢牢记住了使用电子技术来构建存储程序通用数字计算机的想法。
1946年7月(英国皇家学会批准纽曼申请建立计算机实验室的资金的月份),在马尔文电信研究机构工作的弗雷迪·威廉姆斯开始了一系列有关阴极射线管存储的实验。导致威廉姆斯管记忆。在担任雷达工程师之前,威廉姆斯解释了他是如何从事计算机内存问题的工作的:
[德国军队]垮台之后……没有人会在意雷达,而是像我这样的人……除非我们发现其他事情要做,否则就会陷入困境。和计算机在空中。我对它们一无所知,因此陷入了存储问题并加以解决。(引自Bennett 1976.)
纽曼了解了威廉姆斯的工作,并在帕特里克·布莱克特(Patrick Blackett),曼彻斯特Langworthy物理学教授和大学中最有影响力的人物之一的大力帮助下,帮助任命了35岁的威廉姆斯为最近被撤职的威廉姆斯主席。曼彻斯特的电子技术。(两个人都是任命委员会的成员(基尔本在1997年接受谷轮公司采访)。)威廉姆斯立即让他在马尔文的助手基尔本借调到曼彻斯特。用威廉姆斯自己的话讲这个故事:
[N]当我们到达曼彻斯特大学时,汤姆·基尔本和我都不了解计算机。我们已经向我们进行了足够的解释,以了解存储的问题以及我们想要存储的问题以及我们已经实现的目标,因此,当我们需要了解计算机时,就已经到了点……纽曼解释说计算机如何运作的整个业务。(FC威廉姆斯在接受埃文斯采访时[1976])
在其他地方,威廉姆斯明确指出了图灵的角色,并给出了他和基尔本得到的解释的味道:
汤姆·基尔伯恩(Tom Kilburn)和我对计算机一无所知,但对电路一无所知。纽曼教授和AM图灵先生…对计算机了解很多,而对电子设备却一无所知。他们牵着我们的手,解释了数字如何在带有地址的房屋中生活,以及在计算过程中如何跟踪数字。(威廉斯[1975],第328页)
看起来纽曼一定对威廉姆斯和基尔本使用了与他在1948年3月4日向英国皇家学会致辞时所用的相同的词语:
Hartree教授……回忆说,现在正在制造的通用计算机的所有基本思想都可以在Babbage的分析引擎计划中找到。在现代,通用计算机的概念是由图灵独立提出的……现在在美国和该国制造的计算机……在某些方面都具有相似性。规定可以存储数字,例如以2的小数位数存储,以便每个数字在机器的某些位置或“房屋”中显示为一行,例如40个0和1。…这些数字或“单词”中的某些数字按顺序读取。在一种可能的机器类型中,订单包含四个数字,例如11、13、27、4。数字4表示“加”,当控制权移至该字时,“房屋” H11和H13将作为输入连接到加法器,而H27作为输出将连接到加法器。存储在H11和H13中的数字通过加法器相加,并且总和传递到H27。然后控制转到下一个顺序。在大多数实际机器中,刚刚描述的过程将由三个单独的命令完成,第一个命令将[H11](= H11的内容)带到中央累加器,第二个将[H13]加到累加器中,第三个将结果发送到H27;因此,每个顺序只需要一个地址。…从某种意义上讲,具有存储功能,具有这种自动电话交换功能以及必要的加法器,减法器等的机器已经是通用机器。(Newman [1948],第271–272页)和H27作为输出。存储在H11和H13中的数字通过加法器相加,并且总和传递到H27。然后控制转到下一个顺序。在大多数实际机器中,刚刚描述的过程将由三个单独的命令完成,第一个命令将[H11](= H11的内容)带到中央累加器,第二个将[H13]加到累加器中,第三个将结果发送到H27;因此,每个顺序只需要一个地址。……从某种意义上说,具有存储功能,具有这种自动电话交换功能以及必要的加法器,减法器等的机器已经是通用机器。(Newman [1948],第271–272页)和H27作为输出。存储在H11和H13中的数字通过加法器相加,并且总和传递到H27。然后控制转到下一个顺序。在大多数实际机器中,刚刚描述的过程将由三个单独的命令完成,第一个命令将[H11](= H11的内容)带到中央累加器,第二个将[H13]加到累加器中,第三个将结果发送到H27;因此,每个顺序只需要一个地址。…从某种意义上讲,具有存储功能,具有这种自动电话交换功能以及必要的加法器,减法器等的机器已经是通用机器。(Newman [1948],第271–272页)在大多数实际机器中,刚刚描述的过程将由三个单独的命令完成,第一个命令将[H11](= H11的内容)带到中央累加器,第二个将[H13]加到累加器中,第三个将结果发送到H27;因此,每个顺序只需要一个地址。…从某种意义上讲,具有存储功能,具有这种自动电话交换功能以及必要的加法器,减法器等的机器已经是通用机器。(Newman [1948],第271–272页)在大多数实际机器中,刚刚描述的过程将由三个单独的命令完成,第一个命令将[H11](= H11的内容)带到中央累加器,第二个将[H13]加到累加器中,第三个将结果发送到H27;因此,每个顺序只需要一个地址。…从某种意义上讲,具有存储功能,具有这种自动电话交换功能以及必要的加法器,减法器等的机器已经是通用机器。(Newman [1948],第271–272页)从某种意义上说,具有这种自动电话交换装置以及必要的加法器,减法器等的装置已经是通用机器。(Newman [1948],第271–272页)从某种意义上说,具有这种自动电话交换装置以及必要的加法器,减法器等的装置已经是通用机器。(Newman [1948],第271–272页)
在对图灵的三地址概念(源1,源2,目的地,功能)进行了解释之后,纽曼继续描述了程序存储(“订单应位于一系列房屋X1,X2,……”)和条件分支。然后他总结:
从这个高度简化的描述中可以看出,机器的基本内部零件首先是用于存储数字(也可以是订单)的存储区。……其次,是加法器,乘法器等。其次,是一个“自动电话交换机”,用于选择“房屋”,将它们连接到算术器官,并将答案写在其他规定的房屋中。最后,如果满足一定条件,则在任何阶段将控制移至任何选定顺序的方法,否则按正常顺序转到下一个顺序。除了这些,还必须有一些方法可以在一开始就设置机器,并以可用的形式提取最终答案。(Newman [1948],第273-4页)
威廉姆斯在1972年写的一封信中详细描述了纽曼告诉他和基尔本的事情:
大约在1946年年中,出现了在曼彻斯特大学(Manchester University)任职的可能性,我与纽曼(Newman)教授进行了交谈,纽曼(Newman)教授已经对开发计算机的可能性感兴趣,并从皇家学会(Royal Society)获得了30,000英镑的资助。目的。自从他了解计算机和我了解电子技术以来,卓有成效的合作的可能性就显而易见了。我记得纽曼(Newman)在给我们做几次演讲时,他概述了计算机的组织结构,其中包括根据其所在房屋的地址标识的数字以及从该地址转移的数字,一次一次,到一个累加器,在该累加器中,每个输入数字都添加到已经存在的数字中。任何时候都可以将累加器中的号码转移回商店中指定的地址,并清除累加器以备将来使用。传输将通过一个存储的程序来实现,在该程序中顺序地遵循指令列表。可以通过测试指令中断列表中的有序进度,该测试指令检查累加器中数字的符号。此后,操作从指令列表中的新位置开始。这是我收到的有关计算机组织的第一个信息。…我们的第一台计算机是这些原理的最简单的体现,唯一的区别是它使用减法而不是加法累加器。(从威廉姆斯到兰德尔的信,1972;在兰德尔[1972],第9页)传输将通过一个存储的程序来实现,在该程序中顺序地遵循指令列表。可以通过测试指令中断列表中的有序进度,该测试指令检查累加器中数字的符号。此后,操作从指令列表中的新位置开始。这是我收到的有关计算机组织的第一个信息。…我们的第一台计算机是这些原理的最简单的体现,唯一的区别是它使用减法而不是加法累加器。(从威廉姆斯到兰德尔的信,1972;在兰德尔[1972],第9页)传输将通过一个存储的程序来实现,在该程序中顺序地遵循指令列表。可以通过测试指令中断列表中的有序进度,该测试指令检查累加器中数字的符号。此后,操作从指令列表中的新位置开始。这是我收到的有关计算机组织的第一个信息。……我们的第一台计算机是这些原理的最简单的体现,唯一的区别是它使用减法而不是加法累加器。(从威廉姆斯到兰德尔的信,1972年;在兰德尔[1972],第9页)此后,操作从指令列表中的新位置开始。这是我收到的有关计算机组织的第一个信息。……我们的第一台计算机是这些原理的最简单的体现,唯一的区别是它使用减法而不是加法累加器。(从威廉姆斯到兰德尔的信,1972;在兰德尔[1972],第9页)此后,操作从指令列表中的新位置开始。这是我收到的有关计算机组织的第一个信息。……我们的第一台计算机是这些原理的最简单的体现,唯一的区别是它使用减法而不是加法累加器。(从威廉姆斯到兰德尔的信,1972年;在兰德尔[1972],第9页)
威廉姆斯在上面引用图灵时提到了图灵对曼彻斯特发展的早期投入,这可能是通过1946年12月至1947年2月在图灵和威尔金森在伦敦进行的计算机设计讲座(图灵和威尔金森[1946-7]。计划使用或建造电子计算机的各个组织的代表参加了这些讲座。基尔本在观众席中(Bowker和Giordano [1993])。(基尔本通常说,当被问及从哪里获得了计算机的基本知识时,他不记得了(从布莱恩·纳珀(Brian Napper)到科普兰(Copeland),2002年的信;例如,在1992年的一次采访中,他说:“在1945年初至1947年,在那个时期,无论如何,我都知道数字计算机是什么……我从哪里获得了这些知识?
无论图灵的演讲在通知基尔伯恩方面扮演何种角色,毫无疑问,对曼彻斯特计算机的称赞(在现代文献中被称为“纽曼-威廉姆斯机器”(Huskey 1947))不仅属于威廉姆斯和基尔本,而且也属于纽曼,这对图灵(Newing of Turing)1936年论文的影响至关重要,弗洛斯(Flowers'Colossus)的影响也至关重要。
由克里斯托弗·斯特拉奇(Christopher Strachey)编写的第一个有效的AI程序是草稿(跳棋)玩家,在曼彻斯特计算机实验室的Ferranti Mark I上运行。Strachey(当时是Harrow学校的一名教师和一名业余程序员)在Turing的鼓励下并利用Turing最近完成的《 Ferranti程序员手册》编写了该程序。(斯特拉奇后来成为牛津大学编程研究小组的负责人。)斯特拉奇说,到1952年夏天,该程序可以“以合理的速度播放完整的草稿游戏”。(Strachey的程序构成了Arthur Samuel著名的跳棋程序的基础。)第一个国际象棋程序也是由Dietrich Prinz为曼彻斯特·费兰蒂编写的。该程序于1951年11月首次运行。该程序专为解决二合一的简单问题而设计,它将检查所有可能的动作,直到找到解决方案为止。图灵开始在Ferranti Mark I上为他的“ Turochamp”象棋选手编程,但从未完成任务。与Prinz的程序不同,Turochamp可以玩完整的游戏(在手动模拟时),并且不是通过详尽的搜索而是在试探法的指导下进行操作。
ENIAC和EDVAC
ENIAC是在美国制造的第一台全功能电子数字计算机,由J. Presper Eckert和John Mauchly在宾夕法尼亚大学的摩尔电气工程学院为陆军军械部建造。ENIAC于1945年完成,与早期的Colossus有点相似,但更大,更灵活(尽管与通用目的相去甚远)。ENIAC的主要功能是计算瞄准大炮中使用的表格。ENIAC并不是一台存储程序的计算机,要进行新工作进行设置涉及通过插头和开关对计算机进行重新配置。多年来,ENIAC被认为是第一台可运行的电子数字计算机,但是Colossus几乎是未知的。
1944年,约翰·冯·诺依曼(John von Neumann)加入了ENIAC集团。当图灵在1936年至1938年期间在普林斯顿大学任教时,他对图灵的通用机器“很感兴趣”(Goldstine的话,[1972],第275页)。在摩尔学院,冯·诺伊曼(von Neumann)强调了存储程序概念对电子计算的重要性,包括允许机器在运行时以有用的方式修改其自己的程序的可能性(例如,为了控制循环和分支)。在普林斯顿大学高级研究所的冯·诺依曼战后计算机项目的成员中,需要阅读图灵1936年的论文(“关于可计算的数字,并应用于Entscheidungsproblem”)(2002年,朱利安·比格洛(Julian Bigelow)到科普兰(Copeland);参见Copeland [2004],第23页)。埃克特似乎是独立实现的,在冯·诺依曼加入ENIAC小组之前,充分利用电子电路处理数据的速度的方法是将适当编码的指令放置在控制数据的同一高速存储设备中,以控制处理本身(在Copeland [2004],第26-7页中有记载)。1945年,虽然ENIAC仍在建设中,但冯·诺依曼(von Neumann)编写了一份报告草案,如前所述,阐述了ENIAC小组对电子存储程序通用数字计算机EDVAC的构想(von Neuman [1945])。EDVAC于六年后完成,但不是由其创始人完成的,后者离开了摩尔学校,在其他地方建造计算机。1946年在摩尔学校举行的有关拟议的EDVAC的演讲得到了广泛的参加,为新思想的传播做出了巨大贡献。
冯·诺依曼(Von Neumann)是一位享有声望的人物,他的著作和公开演讲使高速存储程序数字计算机的概念广为人知。由于他在该领域的知名度,尽管在历史上不合适,但习惯上将电子存储程序数字计算机称为“冯·诺依曼机器”。
洛斯阿拉莫斯物理学家斯坦利·弗兰克尔(Stanley Frankel)与冯·诺伊曼(von Neumann)等人一起负责机械化涉及原子弹设计的大规模计算,他在一封信中描述了冯·诺伊曼(von Neumann)对Turing 1936年论文重要性的观点:
我知道大约在1943年或44年左右,冯·诺依曼(von Neumann)充分意识到了图灵(Turing)1936年的论文的根本重要性……冯·诺依曼(Von Neumann)向我介绍了该论文,并在他的敦促下进行了认真研究。许多人称赞冯·诺依曼为“计算机之父”(从现代意义上来说),但我相信他永远不会自己犯这个错误。也许他可能被称为助产士,但他坚定地向我和我确定的其他人强调,基本观念是图灵造成的,这是巴贝奇所未曾预料到的……当然,图灵和冯·诺伊曼都如此,还为“减少练习”做出了巨大贡献 这些概念的重要性,但我认为这些概念在重要性上不能与计算机概念的引入和说明相提并论,该计算机能够在其内存中存储其活动程序,并可以在这些活动过程中修改该程序。(引自兰德尔[1972],第10页)
其他著名的早期计算机
其他值得注意的早期存储程序电子数字计算机包括:
EDSAC,1949年,由莫里斯·威尔克斯(Maurice Wilkes)在剑桥大学建立
BINAC,1949年,由费城的Eckert's和Mauchly's Electronic Control Co.建造(对于BINAC是否真正起作用,意见不一致)
1949年,旋风一号,麻省理工学院数字计算机实验室,Jay Forrester
SEAC,1950年,美国华盛顿特区美国东部标准局,Samuel Alexander,Ralph Slutz
SWAC,1950年,美国标准局西部局,加利福尼亚大学洛杉矶分校数值分析研究所,哈里·休斯基(Harry Huskey)
UNIVAC,1951年,费城Eckert-Mauchly计算机公司(美国第一台商用计算机)
IAS计算机,1952年,普林斯顿大学高等研究院,朱利安·比格洛,亚瑟·伯克斯,赫尔曼·戈德斯汀,冯·诺依曼等人(由于冯·诺依曼出版了IAS机器的规格,它成为了一组计算机的模型被称为普林斯顿级机器; IAS计算机对IBM 701的影响也很大)
IBM 701,1952年,国际商业机器公司的第一台量产的电子存储程序计算机。
高速记忆体
EDVAC和ACE建议都主张使用充满汞的管(称为“延迟线”)来实现高速内部存储器。这种形式的存储器称为声学存储器。最初已经开发了延迟线来消除雷达中的回声。将它们用作存储设备的想法源于Moore School的Eckert。这是图灵的描述:
建议建立“延迟线”装置,该装置由汞管组成,长约5英尺,直径为1英寸,两端与石英晶体接触。……汞中的声速使得延迟为1.024毫秒。可以将要存储的信息视为1024个“数字”(0或1)的序列。这些数字将由相应的脉冲序列表示。数字0…将在适当的时间不存在脉冲来表示,数字1…将通过其存在来表示。这一系列脉冲由一个压电晶体施加在线路的末端,以超音波的形式沿线路向下传输,并在远端由晶体重新转换为变化的电压。将该电压充分放大以提供峰峰值之间10伏左右的输出,并用于选通时钟产生的标准脉冲。该脉冲可以通过传输晶体再次馈入线路,或者我们可以馈入一些完全不同的信号。如果我们当时需要该信息,也可以将门控脉冲引导至计算器的其他部分。利用信息当然并不排除也要保留信息。(Turing [1945],第375页)利用信息当然并不排除也要保留信息。(Turing [1945],第375页)利用信息当然并不排除也要保留信息。(Turing [1945],第375页)
在EDSAC,BINAC,SEAC,Pilot Model ACE,EDVAC,DEUCE和全尺寸ACE(1958)中使用了汞延迟线存储器。正如图灵所指出的,延迟线作为存储介质的主要优点是,延迟线“已经成为人们关注的问题”(Turing [1947],第380页)。延迟线的根本缺点是不可能进行随机访问,此外,一条指令或一条数字从延迟线中出现所花费的时间取决于它在该行中的位置。
为了最大程度地减少等待时间,Turing安排将指令存储在延迟线中不是连续的位置,而是存储在程序员选择的相对位置中,这样每条指令都会在所需的确切时间出现。在可能的范围内。每条指令都包含下一条指令的位置说明。该系统随后被称为“最佳编码”。它是ACE设计的每个版本的不可或缺的功能。最佳编码使得编程困难且不整洁,但是在速度方面的优势却是巨大的。得益于最佳编码,Pilot Model ACE能够在3毫秒内进行浮点乘法(Wilkes的EDSAC需要4.5毫秒才能执行单个定点乘法)。
在前面提到的威廉姆斯管或静电存储器中,二进制的二维矩形阵列存储在市售阴极射线管的表面。立即访问数据。威廉姆斯电子管存储器被用于曼彻斯特系列机器,SWAC,IAS计算机和IBM 701,以及旋风I中威廉姆斯电子管的改进形式(直到1953年被磁芯替换)。
大西洋两岸都开发了将数据磁性存储在金属圆柱体表面上的鼓存储器。最初的想法似乎是埃克特的。感光鼓提供了大量的中速存储,并用于补充高速声或静电存储。1949年,曼彻斯特计算机成功配备了鼓存储器。它是由曼彻斯特的工程师根据伦敦伯克贝克学院的安德鲁·布斯(Andrew Booth)开发的鼓模型制作的。
电子计算的早期历史中的最后一个主要事件是磁芯存储器的发展。杰伊·佛雷斯特(Jay Forrester)意识到,磁芯的磁滞特性(通常用于变压器中)有助于实现可随机访问的存储点的三维实体阵列的实现。1949年,他在麻省理工学院开始对这一想法进行实证研究。Forrester早期对金属磁芯的实验很快使他开发出了出色的铁氧体磁芯存储器。数字设备公司(Digital Equipment Corporation)承诺制造类似于旋风I的计算机,作为铁氧体磁芯存储器的测试工具。内存测试计算机于1953年完成。(该计算机于1954年用于MIT的Belmont Farley和Wesley Clark的神经网络的第一个模拟中。
一旦铁氧体磁芯存储器的绝对可靠性,相对便宜性,高容量和永久寿命变得显而易见,磁芯很快就取代了其他形式的高速存储器。IBM 704和705计算机(分别于1954年5月和1954年10月发布)使核心内存得到广泛使用。
参考书目
参考文献
巴贝奇,C。(由坎贝尔·凯利编辑),1994年,《哲学家生平》,新不伦瑞克省:罗格斯大学出版社
Bennett,S.,1976年,“ FC Williams:他对自动控制发展的贡献”,英国曼彻斯特大学计算机历史国家档案馆。(这是根据1976年对威廉姆斯的采访而得出的打字稿。)
Bowker,G.和Giordano,R.,1993,“汤姆·基尔本访谈”,《计算机史》, 15:17–32。
B. Copeland,BJ编辑(2004年),《图灵基本原理》牛津大学出版社
BJ柯普兰(编辑),2005年,艾伦·图灵(Alan Turing)的自动计算引擎:密码破解大师打造现代计算机的努力牛津大学出版社
Copeland,BJ等人,2006年,巨像:Blechley Park的密码破解计算机的秘密牛津大学出版社
B. Copeland和D. Proudfoot,1996年,《论艾伦·图灵对连接主义的期待》,合成, 108:361-377
埃文斯(Evans,C。),197岁,在《计算机的先锋:计算机的口述史》中接受MHA纽曼的采访,伦敦:科学博物馆
Fifer,S.,1961年,模拟计算:理论,技术,应用纽约:McGraw-Hill
福特,H,1919年,“机械运动”,美国专利局官方公报,1919年10月7日,第48页
Goldstine,H.,1972年,《从帕斯卡(Pascal)到冯·诺伊曼·普林斯顿大学出版社的计算机》
Huskey,HD,1947年,“英国和美国电子数字计算的最新技术”,在[Copeland 2005]
纽曼(MHA),1948年,“通用计算机设计的一般原则” ,伦敦皇家学会会议论文集,A系列,195(1948):271–274
B. Randell,1972年,“关于Alan Turing和数字计算机的起源”,B。Meltzer,Michie,D。(eds),Machine Intelligence 7,爱丁堡:爱丁堡大学出版社,1972年
史密斯,不列颠哥伦比亚省,1991年,“猫头鹰和电子百科全书”,人工智能, 47:251–288
Thomson,J.,1876年,“在具有新运动学原理的集成机器上” ,伦敦皇家学会会刊,24:262-5
图灵,上午,1936年,“关于可计算的数字,及其在Entscheidungsproblem中的应用” ,伦敦数学学会学报,第2卷,第42期, (1936–37):230–265。转载于《基本图灵》(Copeland [2004])。
图林,AM,1945年,“拟议的电子计算器”,在 艾伦·图灵的自动计算引擎中进行(Copeland [2005])
图林,上午,1947年,“关于自动计算引擎的演讲”,在《基本图灵》中(Copeland [2004])
图灵(AM)和威尔金森(JH),1946-7年,“图灵-威尔金森系列讲座(1946-7)”,在艾伦·图灵(Alan Turing)的自动计算引擎中进行(Copeland [2005])
冯·诺依曼,J.,1945年,“关于EDVAC的报告的初稿”,位于北卡罗来纳州斯特恩。从ENIAC到UNIVAC:对Eckert-Mauchly Computers的评估,马萨诸塞州贝德福德:数字出版社(1981),第pp 181–246
威廉姆斯(Williams),足球俱乐部,1975年,“曼彻斯特大学的早期计算机” ,无线电和电子工程师, 45(1975):237–331
永利·威廉姆斯(Wynn-Williams),CE,1932年,伦敦皇家学会的“闸流管“两个刻度”自动计数器”程序,系列A,136:312–324