计算机自传,所有人都应该了解下,人类最核心的武器

  电脑

  你能想象没有电脑的生活吗?想想所有你做不到的事情。发送电子邮件,网上购物,立即找到一个问题的答案。

  因此,在真正实现计算能力之前,必须克服对计算的天真看法。那些努力把计算机带到世界上的发明家们必须明白,他们发明的东西不仅仅是一个数字处理器,不仅仅是一个计算器。

  例如,他们必须知道,没有必要为每一种新的计算发明一种新的计算机,计算机可以被设计来解决许多问题,甚至是在计算机制造时还没有想象到的问题。他们还必须学习如何告诉这样一台通用的解决问题的计算机要解决什么问题。换句话说,他们必须发明编程。

  他们必须解决所有令人头疼的问题来开发这样一个设备,实现这个设计,真正建造这个东西。解决这些问题的历史就是计算机的历史。本节将介绍这段历史,并提供了许多提到的个人和公司的链接。另外,请参阅计算机科学和超级计算机的文章。

  最早的计数装置是原始人使用的。他们用棍子、石头和骨头作为计数工具。随着人类思想和技术的进步,更多的计算设备被开发出来。下面描述了从第一个到最近的一些流行的计算设备

  

  一种日本算盘

  已知最早的计算工具可能是算盘。它至少可以追溯到公元前1100年,今天仍然在使用,特别是在亚洲。现在,和那时一样,它通常由一个长方形的框架和串有珠子的平行细棒组成。早在采用系统的位置记数法来书写数字之前,算盘就为每根棒子分配了不同的单位或重量。

  这种模式允许用几颗珠子来表示范围很广的数字,再加上印度发明的“零”,可能启发了印度-阿拉伯数字系统的发明。在任何情况下,珠算珠都可以很容易地被操纵来执行常见的算术运算——加、减、乘、除——这对商业交易和记账很有用。

  算盘是一种数字设备;也就是说,它离散地表示值。珠子要么在一个预定义的位置,要么在另一个位置,明确地表示,比如,1或0。

  算盘(复数abaci或abacuses),也被称为计数架,是一种计算工具,在采用书面的印度-阿拉伯数字系统之前的几个世纪,就已经在古代近东、欧洲、中国和俄罗斯使用。算盘的确切起源仍是未知的。今天,算盘通常是竹制的框架,珠子在钢丝上滑动,但最初它们是豆子或石头,在沙槽或木片、石片或金属片上移动。

  

  安提基西拉装置是一种由古代手驱动的希腊模拟计算机,它也被描述为第一个用于预测天文位置和日月食的装置,用于日历和占星术的目的,提前几十年

  已知的最古老的复杂计算设备叫做安提凯希拉机制,可以追溯到公元前87年;据推测,希腊人使用这个齿轮操纵的装置(20世纪早期在爱琴海的一艘沉船中发现,但直到2006年才意识到它的重要性)来计算天文位置,帮助他们在海上航行。

  1843年,计算又有了一个飞跃,英国数学家阿达·洛芙莱斯与查尔斯·巴贝奇合作,编写了第一个计算机算法,而巴贝奇则设计了第一个可编程计算机的理论。但是,现代计算机时代始于艾伦·图灵的图灵机构想,以及贝尔实验室的三位科学家发明的晶体管,这使得现代计算成为可能,并使他们获得了1956年的诺贝尔物理学奖。

  几十年来,计算技术一直是政府和军方专有的;后来,学术机构上线,史蒂夫·沃兹尼亚克为Apple-1制造了电路板,使家庭计算成为可能。在连接方面,蒂姆·伯纳斯·李创造了万维网,马克·安德森创造了浏览器,这就是我们如何生活在一个我们的眼镜可以告诉我们所看到的东西的世界。随着可穿戴计算机、可嵌入芯片、智能电器和其他技术的进步,构建更智能、更快、更有能力的计算机的旅程显然才刚刚开始。

  无论是算盘还是帕斯卡和莱布尼茨发明的机械计算器,都不能真正称得上是计算机。计算器是一种使人们更快更容易做算术题的设备,但它需要人工操作。另一方面,计算机是一种可以自动操作的机器,无需任何人工帮助,通过遵循一系列被称为程序的存储指令(一种数学配方)。当人们发明出完全自动化、可编程的计算器时,计算器演变成了计算机。

  

  图片:穿孔卡片:Herman Hollerith完善了使用穿孔卡片和纸带来存储信息并将其输入机器的方法。这是他1889年的专利《统计汇编的艺术》(美国专利号395,782)中的一幅画,展示了一张纸(黄色)是如何被打上不同图案的孔(橙色)的,这些孔与美国人口普查中收集到的有关人口的数据相对应。图片由美国专利商标局提供。

  第一个尝试这样做的人是一个相当固执、脾气暴躁的英国数学家查尔斯·巴贝奇(Charles Babbage, 1791-1871)。许多人认为巴贝奇是“计算机之父”,因为他的机器有输入(输入数字的一种方式)、内存(在进行复杂计算时存储这些数字的东西)、处理器(执行计算的数字处理器)和输出(打印机制)——所有现代计算机都拥有的相同的基本组件。

  在他的一生中,巴贝奇从来没有完成过任何一台他想要制造的雄心勃勃的机器。这并不奇怪。他设计的每台可编程“引擎”都使用了数万个精密制造的齿轮。它就像把怀表放大到蒸汽机的大小,帕斯卡或莱布尼茨机器在尺寸、野心和复杂性上都放大了一千倍。有一段时间,英国政府资助巴贝奇——高达17000英镑,这在当时是一笔巨款。

  但是,当巴贝奇向政府施压,要求他们提供更多的资金来制造更先进的机器时,他们失去了耐心,退出了。巴贝奇更幸运地得到了诗人拜伦的女儿,洛芙莱斯伯爵夫人奥古斯塔·阿达·拜伦(1815-1852)的帮助。

  作为一名热心的数学家,她帮助完善了巴贝奇使机器可编程的想法——这就是为什么她有时仍被称为世界上第一个计算机程序员的原因。巴贝奇死后留存下来的作品寥寥无几。但在20世纪30年代,当他的笔记本被偶然发现时,计算机科学家们终于欣赏到了他的卓越想法。不幸的是,到那时,这些想法中的大多数已经被其他人重新发明了。

  巴贝奇希望他的机器能免去重复计算的苦差事。最初,他设想它会被军队用来编制表格,帮助他们的炮手更准确地发射大炮。到了19世纪末,其他发明家在制造计算“引擎”方面取得了更大的成功。

  美国统计学家赫尔曼·霍尔瑞斯(Herman Hollerith, 1860-1929)建造了世界上最早的实用计算机器之一,他称之为制表机,以帮助汇编人口普查数据。和现在一样,当时每十年进行一次人口普查,但到了19世纪80年代,美国人口通过移民增长了如此之多,手工对数据进行全面分析需要7年半的时间。

  统计学家们很快发现,如果这种趋势继续下去,他们将没有时间在下一次人口普查到来之前编制一次人口普查。幸运的是,Hollerith的制表器取得了惊人的成功:它只用了六周就完成了整个人口普查,并在短短两年半的时间内完成了完整的分析。不久之后,霍尔瑞斯意识到他的制表机还有其他用途,于是他在1896年成立了制表机公司,开始商业化生产制表机。几年后,它更名为计算制表记录公司(C-T-R),然后在1924年获得了现在的名字:国际商业机器公司(IBM)。

  

  巴贝奇差分机

  使用机器解决数学问题的想法至少可以追溯到17世纪早期。设计和实现了能够加减乘除计算器的数学家包括威廉·希克哈德、布莱斯·帕斯卡和戈特弗里德·莱布尼茨。第一个多用途,即可编程的计算设备可能是查尔斯·巴贝奇的差分机,它始于1823年,但从未完成。

  更有野心的机器是分析机。它是在1842年设计的,但不幸的是,巴贝奇也只完成了一部分。巴贝奇是一个真正走在时代前面的人:许多历史学家认为他无法完成这些项目的主要原因是当时的技术不够可靠。尽管巴贝奇和他的同事们,最著名的是阿达,洛夫莱斯伯爵夫人,从未建立一个完整的工作机器,但他们发现了几个重要的编程技术,包括条件分支,迭代循环和索引变量。

  受到巴贝奇设计启发的机器被认为是第一个被用于计算科学的机器。乔治·舒茨在1833年读到差分机,他和他的儿子爱德华·舒茨开始研究一个更小的版本。到1853年,他们已经制造出了一台能够处理15位数字并计算四阶差分的机器。

  他们的机器在1855年的巴黎展览会上获得了一枚金牌,后来他们把它卖给了纽约奥尔巴尼的达德利天文台,后者用它来计算火星的轨道。机械计算机最早的商业应用之一是美国人口普查局(US Census Bureau),它使用赫尔曼·霍尔瑞斯(Herman Hollerith)设计的打卡设备,为1890年的人口普查编制数据表。1911年,Hollerith的公司与竞争对手合并,成立了国际商业机器公司,1924年成为国际商业机器公司。

  

  西卡德计算器的复制品(1592-1635)

  1623年,德国天文学家和数学家威廉·希卡德制造了第一台计算器。他在给他的朋友、天文学家约翰内斯·开普勒(Johannes Kepler)的信中描述了这件事。1624年,他再次写信解释说,他委托为开普勒建造的一台机器,显然和原型机一起,在一场大火中烧毁了。他称其为“计算钟”,现代工程师已经能够根据他信件中的细节复制出这种钟。当希卡德和他的全家在三十年战争中死去时,就连关于这座钟的一般知识也暂时丢失了。

  但希卡德可能不是计算器的真正发明者。一个世纪前,列奥纳多·达·芬奇(Leonardo da Vinci)曾勾画出一种计算器的草图,该草图足够完整和正确,现代工程师可以在此基础上建造计算器。

  

  1652年由帕斯卡尔签署的

  第一个生产出来并实际使用的任何数量的计算器或加法机器是帕斯卡,或算术机器,由法国数学家兼哲学家布莱兹·帕斯卡在1642年至1644年间设计和制造。它只能做加减法,通过操纵表盘输入数字。帕斯卡为他的税务官父亲发明了这台机器,所以它也是第一台商业机器(如果不算算盘的话)。他在接下来的10年里建造了50座。

  1820年以后,计算器(如算术计)仍然令人着迷,其商业用途的潜力也得到了充分的理解。19世纪制造的许多其他机械设备也或多或少地自动执行重复的功能,但很少有什么应用于计算。只有一个主要的例外:1804-05年由法国织布师约瑟夫-玛丽·雅卡尔(Joseph-Marie Jacquard)发明的雅卡尔织机。

  雅卡尔织布机是工业革命的一个奇迹。作为一种纺织织机,它也可以被称为第一种实用的信息处理设备。织机的工作原理是用一排细杆把各种颜色的线拉成各种图案。通过插入穿孔卡片,操作员可以控制棒子的运动,从而改变织物的图案。

  此外,织布机还配备了一个读卡器,每次梭子被抛出时,它就会从预先打孔的纸板上滑出一张新卡片,这样复杂的织造图案就可以实现自动化。

  

  提花织机。苏格兰国家博物馆

  这种设备的非凡之处在于,它将设计过程从劳动密集型的编织阶段转移到了卡片穿孔阶段。一旦卡片被打孔并组装好,设计就完成了,织机就自动实现了设计。因此,雅卡尔织布机可以说是由这些穿孔卡片设计成不同的图案。

  对于机械化计算的意图,雅卡尔织机提供了重要的经验教训:机器执行的操作顺序可以被控制,使机器做一些完全不同的事情;穿孔卡片可用作引导机器的介质;而且,最重要的是,一个设备可以通过输入一种语言的指令来执行不同的任务。,使机器可编程。

  可以毫不夸张地说,在雅卡尔织布机中,编程是在计算机之前发明的。大约20年后,随着查尔斯·巴贝奇(Charles Babbage)发明了第一台计算机,这种设备和程序之间的密切关系变得明显起来。

  机电计算机通常与继电器和/或真空管一起工作,它们可以用作开关。

  

  George R. Stibitz和Model K

  顺便说一下,斯蒂比茨还负责了第一个远程访问计算,这是在新罕布什尔州达特茅斯学院的一次会议上完成的。他带着电传打印机去参加会议,把电脑留在纽约,然后着手解决观众提出的问题。然后,他在电传打印机的键盘上输入问题,然后电传打印机输出答案。

  正是在这些早期机电计算机的发展过程中,许多至今仍在使用的技术和概念才第一次被开发出来。Z3是Konrad Zuse开发的Z1的后代,就是这样一种开创性的计算机。Z3在计算中使用浮点数,是第一台程控数字计算机。其他机电计算机包括二战期间用来解密德国密码的炸弹机(Bombes)。

  三台机器作为第一代电子计算机在不同时期被推广。这些机器使用电子管形式的电子开关,而不是机电继电器。原则上,电子开关更可靠,因为它们没有会磨损的活动部件,但当时的技术仍然是新的,电子管在可靠性上与继电器相当。然而,电子元件有一个主要的好处:它们“打开”和“关闭”的速度比机械开关快1000倍左右。

  1937年,爱荷华州立大学的物理和数学教授j·v·阿塔纳索夫(J. V. Atanasoff)首次尝试制造电子计算机。阿塔纳索夫开始建造一台机器,帮助他的研究生解决偏微分方程组。1941年,他和研究生克利福德·贝里成功地制造了一台机器,可以解29个有29个未知数的联立方程。然而,这台机器不是可编程的,更像是一个电子计算器。

  

  1943年,英国白金汉郡布莱切利公园的巨像计算机。这台密码破译机器的资金来自"奥特拉"计划。杰夫·罗宾逊摄影/ Shutterstock.com

  第二种早期的电子机器是图灵于1943年为英国军方设计的巨像。在第二次世界大战中,这台机器在破解德国军队使用的密码中发挥了重要作用。图灵在计算机科学领域的主要贡献是图灵机的思想,这是一种广泛应用于可计算函数研究的数学形式。Colossus的存在一直被保密到战争结束很久之后,图灵和他的同事们设计了第一台可工作的电子计算机,但他们的功劳迟迟没有到来。

  第一台通用可编程电子计算机是电子数字积分器和计算机(ENIAC),由宾夕法尼亚大学的J. Presper Eckert和John V. Mauchly制造。这项工作开始于1943年,由陆军军械部资助,该部门在二战期间需要一种计算弹道的方法。这台机器直到1945年才完成,但在设计氢弹期间,它被广泛用于计算。到1955年退役时,它已经被用于风洞设计、随机数发生器和天气预报的研究。

  埃克特、莫奇利和ENIAC项目的顾问约翰·冯·诺伊曼在ENIAC完工之前就开始了新机器的研制工作。他们的新项目EDVAC的主要贡献是存储程序的概念。对于谁应该为这个想法赢得荣誉存在一些争议,但对于这个想法对通用计算机的未来有多重要没有人知道。

  ENIAC由一组外部开关和刻度盘控制;要改变程序,需要物理地改变这些控件的设置。这些控制也限制了内部电子操作的速度。通过使用足够大的内存来存储指令和数据,并使用存储在内存中的程序来控制算术运算的顺序,EDVAC能够比ENIAC运行速度快几个数量级。

  通过将指令存储在与数据相同的介质中,设计师可以专注于改进机器的内部结构,而不必担心如何将其与外部控制的速度相匹配。

  

  Marlyn Wescoff(左)和Ruth Lichterman是ENIAC的两位女性程序员。照片:Corbis /盖蒂图片社

  不管谁应该为存储程序的想法赢得荣誉,EDVAC项目都是一个重要的例子,它体现了现代计算科学的特征——跨学科项目的力量。通过认识到以计算机指令序列形式存在的函数可以被编码为数字,EDVAC组知道这些指令可以与数字数据一起存储在计算机的内存中。

  用数字来表示函数的概念是1937年哥德尔在他的不完备定理中使用的一个关键步骤,而作为一个逻辑学家,冯·诺伊曼对此非常熟悉。冯·诺伊曼的逻辑学背景,加上埃克特和莫奇利的电气工程技能,组成了一个非常强大的跨学科团队。

  这个时期的软件技术非常原始。第一个程序是用机器代码写出来的,也就是说,程序员直接写下与他们想要存储在内存中的指令相对应的数字。到了20世纪50年代,程序员们开始使用一种被称为汇编语言的符号表示法,然后手工将符号表示法翻译成机器代码。后来被称为汇编程序的程序执行翻译任务。

  尽管这些最初的电子机器很原始,但它们在应用科学和工程中非常有用。阿塔纳索夫估计,用Marchant计算器解一组有8个未知数的方程需要8个小时,而解29个未知数的29个方程需要381个小时。Atanasoff-Berry电脑在一个小时内就完成了这项任务。

  在ENIAC(氢弹设计中使用的一种数值模拟)上运行的第一个问题需要20秒,而不是使用机械计算器40小时。埃克特和莫奇利后来开发了可以说是第一个商业上成功的计算机——UNIVAC;1952年,在投票结束45分钟后,统计了7%的选票,UNIVAC预测艾森豪威尔将以438张选举人票击败史蒂文森(他最终获得了442张)。

  一些流行的第一代计算机是;

  电子数值积分器与计算机电子离散变量自动计算机通用自动计算机ibm - 701ibm - 650

  从构建基本电路的技术到编写科学应用程序的编程语言,第二代计算机系统在各个层次上都取得了一些重要的发展。

  这个时代的电子开关是基于离散二极管和晶体管技术,开关时间约为0.3微秒。第一批使用这种技术制造的机器包括1954年贝尔实验室的TRADIC和麻省理工学院林肯实验室的TX-0。存储器技术基于磁芯,可以随机访问,而不是水银延迟线,数据存储为声波,按顺序通过介质,只有当数据通过I/O接口移动时才能访问。

  

  美国电话电报公司贝尔实验室宣布第一台完全晶体管化的计算机TRADIC完成。TRADIC是晶体管数字计算机的缩写,包含了近800个晶体管

  计算机体系结构中的重要创新包括用于控制循环的索引寄存器和用于实数计算的浮点单元。在此之前,访问数组中连续的元素是相当乏味的,经常需要编写自修改代码(在运行时修改自己的程序;在当时,这种做法被视为程序和数据基本相同原则的强大应用,但现在却不被认可,因为它很难调试,而且在大多数高级语言中是不可能的)。

  浮点运算在早期的计算机中是通过软件程序库来实现的,而在第二代计算机中则是通过硬件来实现的。在第二代中引入了许多高级编程语言,包括FORTRAN(1956)、ALGOL(1958)和COBOL(1959)。这个时代的重要商业机器包括IBM 704及其后继者709和7094。后者引入了I/O处理器,以提高I/O设备和主内存之间的吞吐量。

  

  利弗莫尔高级研究计算机(LARC)

  第二代还出现了专门为科学应用中的数值处理设计的前两台超级计算机。

  “超级计算机”这个词通常是指比同时代的其他机器强大一个数量级的机器。20世纪50年代的两台机器配得上这个称号。利弗莫尔原子研究计算机(LARC)和IBM 7030(又名Stretch)是早期的例子,它们将内存操作与处理器操作重叠,并具有原始形式的并行处理。

  微芯片(或集成电路)是计算技术中最重要的进步之一。在整个20世纪60年代,甚至一直到70年代早期,基于微芯片的计算机和基于晶体管的计算机之间存在着许多重叠的历史。

  微芯片刺激了小型计算机和微型计算机的生产,它们体积小,价格便宜,小企业甚至个人都可以拥有。微芯片还产生了微处理器,这是另一项对个人电脑发展至关重要的突破性技术。

  

  英特尔C4004,

  几乎同时出现了三种微处理器的设计。第一个是英特尔(Intel)生产的4004。不久之后,德州仪器公司(TMS 1000)和加勒特空气研究公司(中央空气数据计算机,简称CADC)的模型也随之而来。

  第一代处理器是4位处理器,但在1972年很快推出了8位处理器。

  1973年生产了16位的型号,32位的型号紧随其后。

  实验室在1980年创造了第一个完全32位的单芯片微处理器,它使用32位总线、32位数据路径和32位地址。第一个64位微处理器在20世纪90年代初在一些市场上使用,但直到21世纪初才出现在个人电脑市场。

  一些流行的第二代计算机是;

  IBM 1620IBM 7094疾病预防控制中心1604疾病预防控制中心3600UNIVAC 1108

  第三代计算机带来了计算能力的巨大提升。这个时代的创新包括集成电路的使用,或称ic(将几个晶体管集成在一个物理组件中的半导体设备),半导体存储器开始取代磁芯,微编程作为一种有效设计复杂处理器的技术,流水线和其他形式的并行处理的时代的到来,以及操作系统和分时系统的引入。

  第一批集成电路是基于小规模集成电路(SSI),每个电路(或“芯片”)大约有10个器件,并发展到使用中等规模集成电路(MSI),每个芯片有多达100个器件。多层印刷电路被开发出来,核心存储器被更快的固态存储器取代。

  计算机设计者开始通过使用多个功能单元、重叠的CPU和I/O操作以及指令流和数据流的流水线(内部并行)来利用并行性。1964年,Seymour Cray开发了CDC 6600,这是第一个使用功能并行的架构。

  

  CDC 6600是控制数据公司的大型计算机,于1964年首次交付。

  通过使用10个可以同时操作的独立功能单元和32个独立的存储库,CDC 6600能够实现每秒100万次浮点运算(1 mflop)的计算速率。五年后CDC发布了同样由Seymour Cray开发的7600。具有流水线功能单元的CDC 7600被认为是第一个矢量处理器,能够以10 Mflops的速度执行。

  同期发布的IBM 360/91的速度大约是CDC 660的两倍。它采用了指令前瞻、浮点和整数分离功能单元和流水线指令流。IBM 360-195可以与CDC 7600相媲美,它的大部分性能都来自于非常快的缓存内存。

  由西屋公司开发的所罗门计算机,以及由Burroughs、国防部和伊利诺伊大学共同开发的ILLIAC IV是第一批并行计算机的代表。德州仪器先进科学计算机(TI-ASC)和CDC的STAR-100是流水线向量处理器,证明了这种设计的可行性,并为后续的向量处理器设定了标准。

  早在这第三代剑桥和伦敦大学合作开发CPL(组合编程语言,1963年)。CPL的作者说,它只是试图捕捉复杂而复杂的ALGOL的重要特征。

  然而,与ALGOL一样,CPL很大,有许多难以学习的特性。为了进一步简化,剑桥大学的Martin Richards开发了CPL的一个子集,称为BCPL (Basic Computer Programming Language, 1967)。1970年,贝尔实验室的Ken Thompson开发了另一种简化的CPL,称为简单的B,这与UNIX操作系统的早期实现有关。评论)

  一些流行的第三代计算机是;

  ibm - 360系列霍尼韦尔- 6000系列PDP(个人数据处理机)IBM-370/168tdc - 316

  下一代计算机系统在构建计算元件时使用了大规模集成电路(每片LSI - 1000个器件)和超大规模集成电路(VLSI -每片10万个器件)。在这种规模下,整个处理器可以装在一个芯片上,而对于简单的系统,整个计算机(处理器、主存和I/O控制器)可以装在一个芯片上。门延迟下降到大约每门1ns。

  在大多数系统中,半导体存储器取代了核心存储器成为主存储器;在此之前,半导体存储器在大多数系统中的使用仅限于寄存器和缓存。在此期间,高速矢量处理器,如CRAY 1、CRAY X-MP和CYBER 205主导了高性能计算领域。具有大主存的计算机,如CRAY 2,开始出现。

  各种并行架构开始出现;然而,在这一时期,并行计算的工作主要是实验性质的,大多数计算科学是在矢量处理器上进行的。微型计算机和工作站被引入,并被广泛用作分时主机计算机的替代品。

  

  克雷X-MP / 22的超级计算机

  软件开发包括非常高级的语言,如FP(函数式编程)和Prolog(逻辑编程)。这些语言倾向于使用声明式编程风格,而不是Pascal、C、FORTRAN等语言的命令式风格。在声明式风格中,程序员给出了应该计算哪些内容的数学规范,而将如何计算的许多细节留给编译器和/或运行时系统。

  这些语言还没有被广泛使用,但作为将在大规模并行计算机(超过1000个处理器的系统)上运行的程序的表示法非常有前途。既定语言的编译器开始使用复杂的优化技术来改进代码,向量处理器的编译器能够对简单的循环进行向量化(将循环变成单个指令,在整个向量上启动操作)。

  有两个重要的事件标志着第三代计算机的早期阶段:C编程语言和UNIX操作系统的开发,都是在贝尔实验室进行的。1972年,Dennis Ritchie为了满足CPL的设计目标,推广Thompson的B语言,开发了C语言。Thompson和Ritchie随后使用C语言为DEC PDP-11编写了一个UNIX版本。这种基于c语言的UNIX很快被移植到许多不同的计算机上,使用户不必在每次更换计算机硬件时学习新的操作系统。UNIX或UNIX的衍生物现在已经成为几乎所有计算机系统的事实上的标准。

  Lax报告的发表是计算科学发展中的一个重要事件。1982年,美国国防部(DOD)和国家科学基金会(NSF)发起了一个由Peter D. Lax主持的“科学与工程中的大规模计算”小组。

  Lax报告称,外国(尤其是日本)在高性能计算领域积极而专注的举措,与美国国内缺乏协调的关注形成了鲜明对比。该报告指出,大学研究人员无法充分使用高性能计算机。对洛杉矶国际机场报告的最早、也是最明显的回应之一是建立了美国国家科学基金会(NSF)的超级计算中心。

  这个NSF项目的第一阶段旨在鼓励美国大学使用高性能计算,通过在3台(后来是6台)现有的超级计算机上立即进行循环和训练。在第一阶段之后,1984-1985年,NSF为建立五个第二阶段超级计算中心提供了资金。

  第二阶段的中心位于圣地亚哥(圣地亚哥超级计算中心);伊利诺斯州(国家超级计算应用中心);匹兹堡(匹兹堡超级计算中心);康奈尔(Cornell Theory Center);以及普林斯顿大学(约翰·冯·诺伊曼中心)在为学术界提供超级计算机计算时间方面取得了巨大成功。

  此外,他们还提供了许多有价值的培训计划,并开发了一些免费的软件包。这些第二阶段的中心将继续加强国家实验室,特别是能源部和NASA的大量高性能计算工作。

  一些流行的第四代计算机是;

  12月10明星1000PDP 11CRAY-1(超级计算机)CRAY-X-MP(超级计算机)

  下一代计算机系统发展的主要特点是接受并行处理。在此之前,并行性仅限于流水线和向量处理,或者最多只能由几个处理器共享作业。第五代计算机引入了拥有数百个处理器的机器,这些处理器可以处理单个程序的不同部分。半导体集成的规模继续以令人难以置信的速度发展——到1990年,已经有可能制造出包含一百万个组件的芯片——半导体存储也成为所有计算机的标准配置。

  

  运行中的DEC VAX-11/780电脑的照片(1980年8月)

  其他的新发展是计算机网络的广泛使用和单用户工作站的日益使用。在1985年之前,大规模并行处理被视为一个研究目标,但是在这个时候引入的两个系统是第一批典型的基于并行处理的商业产品。Sequent Balance 8000将多达20个处理器连接到单个共享内存模块(但每个处理器都有自己的本地缓存)。

  这台机器被设计成可以与DEC VAX-780作为通用Unix系统竞争,每个处理器负责不同用户的工作。然而,Sequent提供了一个子例程库,允许程序员编写使用多个处理器的程序,这种机器被广泛用于探索并行算法和编程技术。

  

  英特尔iPSC / 860 (1990)

  昵称为“超立方体”的英特尔iPSC-1采用了不同的方法。英特尔不是使用一个内存模块,而是将每个处理器连接到自己的内存,并使用网络接口连接处理器。这种分布式内存架构意味着内存不再是瓶颈,可以构建大型系统(使用更多的处理器)。

  最大的iPSC-1有128个处理器。在这个时期的末期,第三种并行处理器被引入市场。在这种类型的机器(称为数据并行或SIMD)中,有数千个非常简单的处理器。所有处理器都在单一控制单元的指导下工作;例如,如果控制单元说“将a添加到b”,那么所有的处理器都会找到a的本地副本,并将其添加到b的本地副本中。这类机器包括Thinking Machines, Inc.的Connection Machine和MasPar, Inc.的MP-1。

  

  IBM个人电脑XT (Typ 5160)。信贷恩格尔伯特·Reineke

  这一时期的科学计算仍以矢量处理为主。大多数矢量处理器制造商都引入了并行模型,但在这些并行机器中只有很少的处理器(2到8个)。在计算机网络领域,广域网(WAN)和局域网(LAN)技术都在快速发展,促使计算机从传统的大型机计算环境向分布式计算环境过渡,每个用户都有自己的工作站完成相对简单的任务(编辑和编译程序、阅读邮件),但共享文件服务器和超级计算机等大而昂贵的资源。

  RISC技术(CPU内部组织的一种风格)和RAM成本的急剧下降为相对低成本的工作站和服务器带来了巨大的计算能力增益。

  一些流行的第五代计算机是;

  桌面移动PC笔记本UltraBookChromebook

  计算机技术的代际转换很难定义,尤其是正在发生的这种转换。有些变化,比如从真空管到晶体管的转换,可以立即被视为根本性的变化,但其他的变化只有在回顾时才能清楚地看到。自1990年以来,计算机系统的许多发展反映了对现有系统的逐步改进,因此很难声称它们代表着向新“一代”的过渡,但其他的发展将证明是重大的变化。

  

  这一代开始在并行计算方面取得了许多进展,包括硬件领域,以及对如何开发算法以利用不同的、大规模并行架构的理解的提高。目前,并行系统在总计算能力方面与矢量处理器展开竞争,大多数人预计并行系统将主宰未来。

  并行/矢量架构的组合已经很好地建立起来,一家公司(富士通)已经宣布计划构建一个包含200多个高端矢量处理器的系统。制造商们已经设定了在2020年之前达到teraflops(每秒10次算术运算)的目标,很明显,只有拥有1000个或更多处理器的系统才能达到这个目标。

  工作站技术不断改进,现在的处理器设计结合了RISC、流水线和并行处理。因此,现在可以花3万美元购买一台桌面工作站,其总体计算能力(每秒1亿次浮点运算)与第四代超级计算机相同。这种发展引起了人们对异构计算的兴趣:在一个工作站上启动的程序可以在本地网络的其他地方找到空闲的工作站来运行并行的子任务。

  第六代最显著的变化之一将是广域网络的爆炸性增长。在过去的几年中,网络带宽得到了极大的扩展,并将在未来几年内继续改善。T1传输速率现在是区域网络的标准传输速率,而连接区域网络的国家“骨干”使用T3。

  随着网络技术在K-12教育、社区网络和私营企业的迅速应用,它正变得比原来在大学和政府实验室的强大基础更加广泛。在Lax的报告中发出警告十多年后,一个强大的计算科学基础设施的未来是光明的。

  随着两项特别重要的立法的通过,联邦政府对高性能计算的承诺得到了进一步加强:1991年的《高性能计算法案》建立了《高性能计算和通信计划》(HPCCP), 1992年戈尔参议员的《信息基础设施和技术法案》解决了从高性能计算到扩大网络接入以及向从幼儿园到研究生院的教育工作者提供前沿技术的必要性等广泛问题。

  在最新的计算科学基础设施发展概要调查中,我们发现总统的1993财年预算中有21亿美元用于数学、科学、技术和科学素养教育项目,比90财年增长了43%。

  1801年:在法国,约瑟夫·玛丽·雅卡尔(Joseph Marie Jacquard)发明了一种织机,它使用穿孔的木制卡片自动编织织物图案。早期的计算机也使用类似的穿孔卡片。

  1822年:英国数学家查尔斯·巴贝奇设想了一台蒸汽驱动的计算机器,它可以计算出数字表。这个由英国政府资助的项目失败了。然而,一个多世纪后,世界上第一台计算机真的造出来了。

  1890年的今天,赫尔曼·霍尔瑞斯设计了一个打卡系统来计算1880年的人口普查,只用了三年时间就完成了这项任务,节省了500万美元。他建立了一家最终成为IBM的公司。

  1936年:艾伦·图灵提出了通用机的概念,后来被称为图灵机,可以计算任何可计算的东西。现代计算机的核心概念是以他的思想为基础的。

  1937年:爱荷华州立大学的物理和数学教授J.V. Atanasoff试图建造第一台没有齿轮、凸轮、皮带或轴的计算机。

  1939年:据计算机历史博物馆介绍,惠普公司由大卫·帕卡德和比尔·休利特在加州帕洛阿尔托的一个车库里创立。

  1941年:阿塔纳索夫和他的研究生克利福德·贝里设计了一台能同时解29个方程的计算机。这标志着计算机第一次能够在主存储器上存储信息。

  1943-1944:宾夕法尼亚大学的两位教授,约翰·莫奇利和j·普雷斯帕·埃克特,建造了电子数值积分器和计算器(ENIAC)。它被认为是数字计算机的鼻祖,有一个20英尺乘40英尺的房间,有18000个真空管。

  1946年:Mauchly和Presper离开宾夕法尼亚大学,从人口普查局获得资金,建造了UNIVAC,这是第一台用于商业和政府应用的商用计算机。

  1947年:贝尔实验室的威廉·肖克利、约翰·巴丁和沃尔特·布拉顿发明了晶体管。他们发现了如何用固体材料制作一个不需要真空的电动开关。

  1953年:格蕾丝·霍珀开发了第一种计算机语言,最终被称为COBOL。IBM首席执行官(CEO)老托马斯·约翰逊·沃森的儿子小托马斯·约翰逊·沃森(Thomas Johnson Watson Jr.)设计了IBM 701 EDPM,以帮助联合国在战争期间监视朝鲜。

  1954年:据密歇根大学报道,以约翰·巴克斯为首的IBM程序员团队开发出FORTRAN编程语言,这是公式翻译的首字母缩写。

  1958年:杰克·基尔比和罗伯特·诺伊斯揭开了被称为计算机芯片的集成电路的面纱。基尔比因此获得了2000年的诺贝尔物理学奖。

  1964年:道格拉斯·恩格尔巴特展示了现代计算机的原型,有鼠标和图形用户界面(GUI)。这标志着计算机从科学家和数学家的专用机器进化为更容易为公众所接受的技术。

  1969年:贝尔实验室的一组开发人员生产了UNIX,这是一种解决兼容性问题的操作系统。UNIX是用C语言编写的,可以在多个平台上移植,并成为大型公司和政府实体主机的首选操作系统。由于系统运行缓慢,它从未在家庭PC用户中获得足够的吸引力。

  1970年:新成立的英特尔公司发布了英特尔1103,第一款动态存取存储器(DRAM)芯片。

  1971年:艾伦·舒加特带领IBM的工程师团队发明了“软盘”,使得数据可以在计算机之间共享。

  1973年:施乐公司研究人员罗伯特·梅特卡夫开发了用于连接多台计算机和其他硬件的以太网。

  1974-1977:许多个人电脑上市,包括Scelbi & Mark-8 Altair、IBM 5100、Radio Shack的TRS-80——亲切地称为“垃圾80”——以及Commodore PET。

  1975年:《大众电子》杂志1月号刊登了牵牛星8080,它被描述为“世界上第一个能与商业模型相匹敌的小型计算机套件”。两个“计算机极客”,保罗·艾伦和比尔·盖茨,提出用新的BASIC语言为牵牛星编写软件。4月4日,在第一次努力成功后,这两个儿时的朋友成立了他们自己的软件公司——微软。

  1976年:根据斯坦福大学的说法,史蒂夫·乔布斯和史蒂夫·沃兹尼亚克在愚人节这天启动了苹果电脑公司,并推出了Apple I,这是第一台拥有单电路板的电脑。

  1977年:Radio Shack最初生产的TRS-80只有3000架。它卖得很疯狂。这是第一次,非极客可以编写程序,让计算机按他们的意愿运行。

  1977年:乔布斯和沃兹尼亚克成立了苹果公司,并在第一届西海岸电脑展上展示了Apple II。它提供彩色图形,并包含一个磁带驱动器存储。

  1978年:第一个计算机化电子表格程序VisiCalc的问世使会计师们欢欣鼓舞。

  1979年:随着MicroPro International发布WordStar,文字处理成为现实。“最关键的变化是增加了页边距和换行,”创始人罗布·巴纳比在2000年给迈克·皮特里的一封电子邮件中说。其他的变化包括取消命令模式和增加打印功能。我是技术头脑——我想出怎么做,然后做,然后记录下来。”

  1981年:第一台IBM个人电脑问世,代号为“橡子”。它使用的是微软的MS-DOS操作系统。它有一个英特尔芯片,两个软盘和一个可选的彩色显示器。西尔斯罗巴克(Sears & Roebuck)和Computerland销售这种电脑,这是电脑首次通过外部分销商销售。这也使PC一词得到普及。

  1983年:苹果公司的Lisa是第一台带有图形用户界面的个人电脑。它还有一个下拉菜单和图标。它失败了,但最终演变成了Macintosh。加维兰SC是第一款具有熟悉的翻转外形的便携式电脑,也是第一款以“笔记本电脑”的身份推向市场的电脑。

  1985年:根据大英百科全书,微软宣布推出Windows操作系统。这是该公司对苹果GUI的回应。Commodore推出Amiga 1000,具有先进的音频和视频功能。

  1985年:第一个“。com”域名于3月15日注册,比万维网标志着互联网历史的正式开始早了好几年。Symbolics.com是马萨诸塞州一家小型计算机制造商,注册了Symbolics.com。两年多后,只有100家互联网公司注册。

  1986年:康柏将Deskpro 386推向市场。它的32位架构提供了与大型机相当的速度。

  1990年:位于日内瓦的欧洲核子研究中心(CERN)高能物理实验室的研究员蒂姆·伯纳斯-李(Tim Berners-Lee)开发了超文本标记语言(HTML),万维网由此诞生。

  1993年:奔腾微处理器促进了个人电脑图像和音乐的使用。

  1994年:pc成为游戏机器,《命令与征服》、《独自黑暗2》、《主题公园》、《魔毯》、《下降》和《小大冒险》等游戏进入市场。

  1996年:谢尔盖·布林和拉里·佩奇在斯坦福大学开发了谷歌搜索引擎。

  1997年:微软向当时处境艰难的苹果投资1.5亿美元,结束了苹果指控微软抄袭其操作系统的“外观和感觉”的官司。

  1999年:术语Wi-Fi成为计算语言的一部分,用户开始不用电线就可以连接到互联网。

  2001年:苹果发布Mac OS X操作系统,该系统提供了保护内存架构和先发制人的多任务处理等好处。微软也不甘示弱,推出了Windows XP操作系统,其用户界面进行了重大的重新设计。

  2003年:第一个64位处理器,AMD的Athlon 64,进入消费市场。

  2004年:Mozilla的Firefox 1.0挑战了主导网络浏览器的微软的Internet Explorer。社交网站Facebook推出。

  2005年:视频共享服务网站YouTube成立。谷歌收购了基于linux的手机操作系统Android。

  2006年:苹果推出了其首款基于英特尔的双核移动电脑MacBook Pro,以及一款基于英特尔的iMac。任天堂的Wii游戏机上市了。

  2007年:iPhone给智能手机带来了许多电脑功能。

  2009年:微软发布Windows 7,它提供了将应用程序固定在任务栏上的功能,并在触摸和手写识别等功能上取得了进步。

  2010年:苹果发布iPad,改变了消费者看待媒体的方式,并启动了蛰伏的平板电脑市场。

  2011年:谷歌发布Chromebook,这是一款运行谷歌Chrome操作系统的笔记本电脑。

  2012年:10月4日,Facebook增加了10亿用户。

  2015年:苹果发布Apple Watch。微软发布Windows 10。

  2016年:第一台可重编程量子计算机诞生。“到目前为止,还没有任何量子计算平台有能力将新的算法编程到他们的系统中。它们通常都是为了攻击特定的算法而量身定制的,”该研究的主要作者、马里兰大学帕克分校的量子物理学家和光学工程师山塔努·德布纳特(shanantanu Debnath)说。

  2017年:美国国防高级研究计划局(DARPA)正在开发一项新的“分子信息学”项目,将分子用作计算机。DARPA国防科学办公室的项目经理Anne Fischer在一份声明中说:“化学提供了一系列丰富的特性,我们可能能够利用这些特性进行快速、可扩展的信息存储和处理。”世界上存在着数百万个分子,每个分子都有一个独特的三维原子结构,以及形状、大小甚至颜色等变量。这种丰富性提供了广阔的设计空间,可以探索新颖的多值方式来编码和处理当前基于逻辑的数字架构中0和1以外的数据。“未来的计算机可能是微小的分子机器”

  

  未来会怎样?自20世纪60年代以来,计算机的能力(芯片上的组件数量)大约每18个月到2年翻一番。但物理学定律预计会终结摩尔定律,迫使我们探索建造计算机的全新方式。明天的个人电脑会是什么样子?一个长期被吹捧的想法是他们将使用光的粒子——光子——而不是电子,一种被称为光学计算或光子的方法。

  目前,很多精明的投资者都把赌注押在了量子计算机上,这种计算机利用巧妙的方法操纵原子以闪电般的速度处理和存储信息。我们也有希望使用自旋电子学(利用粒子的“自旋”)和生物分子技术(用DNA、蛋白质和其他生物分子计算),尽管这两种技术都处于研究的早期阶段。由石墨烯等新材料制成的芯片也可能提供扩展摩尔定律的方法。无论哪种技术胜出,你都可以肯定,计算的未来将和过去一样令人兴奋!

  举报/反馈