跳至内容
引言:今天这篇文章,我将给大家详细介绍一下人类算力的演进过程。这是一段波澜壮阔的历史,值得我们驻足与回忆。
大脑,是我们最原生的算力工具。依靠大脑所提供的算力,我们 才得以生存。
动物也有大脑,也有算力,但是远远不如人类强劲。在漫长的进化过程中,人类的大脑越来越发达,最终帮助自己从万物生灵中脱颖而出,成为了地球的主宰。
在人类早期阶段,主要的计算内容是如何狩猎,如何防范袭击,如何繁衍后代。后来,有了基本的生存保障,人类就开始将更多的算力用于改善生存质量,例如搭建房屋、交易物品、制造工具等。
计算是对信息进行处理的过程。所以,如何表达和记录信息,是实施计算的第一步。
在原始社会,为了更好地描述自己观察到的信息(所见、所闻、所想),也为了更方便地进行信息沟通,人类开始尝试绘画。在绘画的基础上,又发明了文字。
文字,其实就是用表意符号对信息进行“编码”。它是物理世界和精神世界的一种映射和表达。有了文字,信息的记录和传递效率大幅提升,人类社会有了更强的联结力,也有了历史和文明的传承。
所有的人类早期先进文明,都有自己的文字,也有自己的数字。基于数字,他们还建立了数字系统,例如巴比伦文明的六十进制,玛雅文明的二十进制或十八进制,中国和古埃及的十进制。
数字出现后,人们将计数和算数的过程,称为计算。这是计算一词的来源。
古希腊在数字和计算上比较领先,很早就创立了算术、几何、代数等独立学科。著名思想家、哲学家、数学家毕达哥拉斯(Pythagoras)发现并证明了勾股定理,是那一时期人类计算水平的标志。
后来,毕达哥拉斯学派主张用数来解释一切,认为不仅万物都包含数,而且“万物皆是数”。
事实证明,这种思想极具前瞻性。如今,我们确实实现了“万物皆比特”。
随着时间的推移,人类社会不断进步,计算需求也变得越来越复杂。仅仅依靠大脑这个“原生”算力工具,不太够用。即便是用上手指、脚趾,也不行。于是,人类开始借助外部算力工具。
最早期的外部算力工具,是草绳、石头,也就是所谓的“结绳记事”。
中国关于结绳记事的记载出自《易经》中的《系辞下》:“上古结绳而治,后世圣人易之以书契。”我们现在常见的中国结,也源于“结绳记事”。
再后来,文明继续发展,我们有了算筹(一种用于计算的小棍子)。
在中国,算筹诞生于春秋战国时期。我们经常用到的成语,例如运筹帷幄、一筹莫展、技高一筹等,都是和算筹有关。
公元480年,祖冲之把圆周率精确计算到小数点后第七位(3.1415926),采用的工具就是算筹。他的这一记录,保持了900多年。
除了算筹之外,我们还有一个更知名的算力工具,那就是算盘。
算盘的具体诞生时间已经无从考证。有人说是秦朝,也有人说是东汉。东汉时期徐岳的著作《数术记遗》中,最早出现了“珠算”这个字眼。
算盘的历史价值无需多言。直到现在,我们还能看到它的身影。
公元3世纪,笈多王朝的古印度人发明了从0到9的一套数字体系。阿拉伯帝国崛起后,阿拉伯人将这套数字体系带到了欧洲,结果就被误以为是阿拉伯人发明的,所以叫阿拉伯数字。
同样被带到欧洲的,还有我们中国四大发明之一的造纸术。
前面我提到,图画和文字是人类表达信息的方式。这些信息,肯定是需要载体的。
早期的载体,是龟甲、兽骨、兽皮、竹简、木牍、缣帛。这些载体要么稀少,要么昂贵,要么无法长期保存。
西汉时期,造纸术在中国出现,但工艺简陋,质量不佳。后来,东汉元兴元年(105年),宦官蔡伦总结前人经验,对造纸工艺进行改进,显著提升了纸的质量,也为纸的普及奠定了基础。
有了纸,信息的记录和传递更加高效,生产效率大大提升,文化交流也更加频繁。
阿拉伯数字和造纸术传入欧洲,前者取代了冗长的罗马数字,后者取代了昂贵的羊皮和小牛皮。再加上后来,中国的印刷术又传了过去。
公元14世纪,欧洲文艺复兴正式开启。人文主义的思潮逐渐占据主流,人们开始倡导通过观察和实验来认识世界。
到了16世纪,欧洲的科技就开始爆发了。那一时期,整个欧洲群星璀璨,艺术和科学领域硕果累累,生产力水平直线上升。
数学作为所有科学学科的基础,这一阶段取得的研究进展是最大的。
解析几何学、微积分等,都诞生了。一大堆的天才数学家,输出了海量的数学研究成果,不仅为其它学科的腾飞奠定了基础,还直接促成了后来的工业革命。
当时,为了更好地服务于数学计算,就有学者发明了新型的算力工具。
例如1625年,英国数学家威廉·奥特雷德(William Oughtred)发明了计算尺。1642年,法国数学家布莱兹·帕斯卡(Blaise Pascal)发明了人类最早的机械计算机。
这些发明,可以辅助完成对数计算、三角函数计算、开根计算等复杂任务,提升计算效率。
17世纪末到18世纪中,德国数学家戈特弗里德·威廉·莱布尼茨(Gottfried Leibniz)等人,先后设计和制造了能够计算乘法的设备,将算力工具提升到更高的层级。
18世纪60年代,第一次工业革命爆发,将人类带入蒸汽时代。动力机械崛起,开始取代手工劳动,成为主要生产力。
当时,困扰算力工具发展的主要问题,是如何进行机器能“看懂”的信息记录和表达。 机器是不识字的,想要让机器按命令工作,必须先发明能让机器看得懂的“语言”。
这一年,法国人巴斯勒·布乔(Basile Bouchon)发明了一种和机器进行“对话”的表达形式——打孔卡(穿孔卡)。
打孔卡用于织布机。织布机在编织过程中,编织针会往复滑动。根据打孔卡上的小孔,编织针可以勾起经线(没有孔,就不勾),从而绘制图案。
换言之,打孔卡是存储了“图案程序”的存储器,对织布机进行控制。
打孔卡的发明,标志着人类机械化信息存储形式的开端。
1801年,法国织机工匠约瑟夫·马里尔·雅卡尔(Joseph Marie Jdakacquard)对打孔卡进行了升级。他将打孔卡按一定顺序捆绑,变成了带状,创造了穿孔纸带(Punched Tape)的雏形。这种纸带,被应用于提花织机。
大家应该能看出来,打孔其实就是一种信息编码方式。它比文字和数字更加简单,让人与机器可以进行“沟通”。
1811年,20岁的英国发明家查尔斯·巴贝奇(Charles Babbage)从提花织机中获得灵感,开始设计制造一台名叫“差分机”的设备。
这台“差分机”在1821年制造完成,历时十年,可以进行多种函数运算,运算精度达到了6位小数。
在这个成就的鼓舞下,巴贝奇又启动了第二台“差分机”的研究,精度将达到20位。可惜的是,因为这个机器的设计太过超前(有25000多个零件,主要零件的误差不得超过每英寸千分之一),以当时的机械制造水平,很难达到精度要求。
所以,在历经二十年,耗费了巨额资金之后,这个“差分机二号”的制造工作宣告失败。
在制造“差分机二号”过程中,1834年,巴贝奇还提出了一个更大胆的想法——设计一个以蒸汽为动力的通用数学计算机,能够自动解算有100个变量的复杂算题,每个数可达25位,速度可达每秒钟运算一次。
“分析机”和第二台差分机一样,最终未能制造成功。但“分析机”中包含的很多设计,例如输入和输出数据的机构、以及“存储库”和“运算室”,和一百多年后的计算机如出一辙。
因此,“分析机”被后人称为世界上第一台计算机。而巴贝奇,则被誉为计算机鼻祖。
值得一提的是,与巴贝奇进行技术合作的,有一位小姐姐,名字叫阿达·奥古斯塔(Ada Augusta)。
她是诗人拜伦的独生女。当时,她负责为“分析机”编程。她也因此被称为世界上第一个“程序员”。
1878年,瑞典发明家奥涅尔在俄国发明了一种齿数可变的齿轮计算机,也算是机械计算机的代表之一。
到了1885年,已经有越来越多的机械计算机诞生,掀起了一种技术风潮。
1890年,一个牛人的出现,让打卡孔技术进一步发扬光大。这个人,就是德裔美国人——赫尔曼·何乐礼(Herman Hollerith)。
他在打孔卡的基础上,发明了打孔卡制表机,专门用于收集并统计人口普查数据。
根据史料记载,在1890年的美国人口普查中,通过打孔制片和打孔机,仅6周就完成了统计工作,得出了准确的数据(62622250人)。而此前1880年的美国人口普查,数据全靠手工处理,历时7年才得出最终结果。
如此巨大的效率提升,使得制表机在各个行业迅速普及。半自动化数据处理时代,正式开始了。
后来,1896年,赫尔曼·何乐礼创办了制表机器公司(Tabulating Machine Company)。这家公司,就是IBM公司的前身。
18-19世纪,机械计算的发展速度很快。一方面,是因为工业革命推动下的技术升级,为机械算力的精细化打下基础。另一方面,人类科技飞速进步,又需要先进算力工具进行辅助。
那一时期,算力高速发展,还有一个重要的背景。那就是人们对信息价值的认知,开始发生变化。
在古代,人们并没有什么“信息(information)”的概念。更多用到的词,是“消息(message)”,或者说“讯息”。
消息是一个具体的传达内容,比较简短、明确。飞鸽传书、烽火驿站,传递的都是消息。
而信息,则是一个更宏观和抽象的概念,范围更大,体量也更大。它是对物理世界的一种描述。
在古代,信息的传递手段落后,加上我们生活生存也用不到那么多信息,所以,没有对信息的认知,也没有意识到它的价值。
生产要素变了,新的商业模式出现了,欧美国家率先开始发现:信息是有价值的。
银行、股市和现代市场的出现,加速了信息价值的提升。人们发现:谁先获得信息,谁就能赚大钱。
从某种程度上来说,信息价值提升,刺激了人们对信息产生和传输手段的需求,加速了相关科技的发展。这为后面信息时代的到来奠定了基础。
第一次和第二次工业革命,分别是蒸汽革命和电气革命,属于能源和动力方面的变革。
除了将电用于能源之外,19世纪的科学家,还开始探索电对信息存储和传递的作用。1837年,电报的发明,就是一个重要的标志。
电报是将信息通过电脉冲的方式进行传递。在传递之前,还是要解决信息编码问题。
电报发明人塞缪尔·莫尔斯(Samuel Morse)在发明电报之前,先发明了摩斯码。摩斯码就是将字符转换成点dot(.)、划dash(-)两种符号的一种编码方式。电脉冲可以很好地传递这种编码。
后来,人类对电技术的驾驭能力越来越成熟,我们又有了电话。基于电磁理论的发展,我们还有无线电报和广播。所有这些,都为计算技术(信息技术)从机械化走向电子化作出了铺垫。
机械时代的计算机,可以通过齿轮或者带刻度的圆柱,进行数字的标记。到了电子时代,这样做就不太合适了。电的特点是有(通电)和无(不通电),它比较适合的,显然是二进制。
17世纪后半叶,德国数学家莱布尼茨(是的,又是他。他也是微积分的发明人)率先提出了二进制。他形象地用1表示上帝,用0表示虚无,上帝从虚无中创造出所有的实物。
19世纪中叶,英国数理逻辑学家乔治·布尔(George Boole)提出了逻辑代数(后来被人们称为“布尔代数”)。
他通过二进制,将算数和简单的逻辑统一起来,通过使用与、或、非等逻辑运算符,以及基于真和假的二值逻辑,为我们提供了一种理解和操纵逻辑关系的工具。
布尔代数为计算机的二进制、开关逻辑电路的设计铺平了道路,并最终为现代计算机的发明奠定了数学基础。
1904年,英国人约翰·安布罗斯·弗莱明(John Ambrose Fleming)发明了真空电子二极管,可以实现单向导电,检波、整流。1906年,美国人德·福雷斯特(Lee De Forest)在二极管的基础上加以改进,发明了真空三级电子管,可以实现信号放大。
真空管的出现,推动人类电子技术向前迈了一大步,初步补足了硬件短板。
1898年,丹麦工程师瓦蒂玛·保尔森(Valdemar Poulsen)在自己的电报机中首次采用了磁线技术,使之成为人类第一个实用的磁声记录和再现设备。1928年,德国工程师弗里茨·普弗勒默(Fritz Pfleumer)发明了录音磁带。1932年,奥地利工程师古斯塔夫·陶谢克(Gustav Tauschek)发明了磁鼓存储器。
1937年,英国剑桥大学的阿兰·图灵(Alan M. Turing)提出了被后人称之为“图灵机”的数学模型。这为现代计算机的逻辑工作方式指引了方向。
同样是1937年,贝尔试验室的乔治·斯蒂比兹(George Stibitz)展示了用继电器表示二进制的装置。尽管仅仅是个展示品,但却是第一台二进制电子计算机。
二战爆发后,军事需求大大刺激了算力的发展。军方需要更加强劲的算力,完成密码加密解密、火炮弹道计算甚至火箭发射等重要任务。
1941年12月,德国人康拉德·楚泽(Konrad Zuse)制作完成了世界上第一台可编程电子计算机——Z3。
这台计算机用于空气动力学计算,使用了大量的继电器和真空管,每秒钟能做3到4次加法运算,一次乘法需要3到5秒。(遗憾的是,Z3后来毁于柏林轰炸。)
1942年,美国爱荷华州立大学物理系副教授阿塔纳索夫(John V.Atanasoff)和他的学生克利福德·贝瑞(Clifford Berry)设计制造了世界上第一台电子计算机,名为”ABC”(Atanasoff-Berry Computer),也被称为“珍妮机”。
ABC使用了IBM的80列穿孔卡作为输入和输出,使用真空管处理二进制格式的数据。数据的存储,则是使用的再生电容磁鼓存储器(Regenerative Capacitor Memory)。
虽然ABC无法进行编程(仅用于求解线性方程组),但使用二进制数字来表示数据、使用电子元件进行计算(而非机械开关)、计算和内存分离等特点,都足以证明它是一台现代意义上的数字电子计算机。
1944年,在IBM公司的支持下,哈佛大学博士霍华德·艾肯 (Howard Aiken) 成功研制了通用电子计算机——Mark I,也称ASCC(Automatic Sequence Controlled Calculator,自动控制序列计算器)。
Mark I长16米,重4.3吨,拥有75万个零部件,使用了800公里长的电线,300万个连接、3500个多极继电器、2225个计数器。
它可以在一秒钟内进行3次加法或减法。乘法需要6秒,除法需要15.3秒,对数或三角函数需要超过1分钟。当时,它被用来为美国海军计算弹道火力表。
值得一提的是,第一个在Mark I上运行的程序是由冯·诺依曼(John von Neumann)于1944年3月29日牵头开发的。当时,冯·诺依曼正在研究曼哈顿计划,需要确定内爆是否是原子弹的可行选择。
还需要提一句,Mark I的研究团队中,有一位名叫格蕾丝·霍珀(Grace Hopper)的海军预备役女军官。“bug(现在经常指代程序漏洞)”这个词,就是她引入的。
1945年,Mark II在运行过程中,飞进了一只飞蛾,导致出现故障。霍珀消灭了飞蛾,解决了问题,成为第一个“调试(debug)”计算机的人。
终于,到了1946年2月14日,大名鼎鼎的ENIAC(埃尼阿克)诞生了。
ENIAC是一个真正的“庞然大物”。它占地170平方米,重达30吨,功率超过150千瓦。
之所以体积和功耗这么大,是因为它采用了17468根真空管。这些真空管,使其可以每秒完成5000次加法或400次乘法,约为手工计算的20万倍。
ENIAC在人类计算机发展史上拥有重要地位,也有极高的知名度。至少我们的《计算机基础理论》课本上,肯定有它的名字。
这里需要澄清一下,虽然人们一贯将ENIAC称为世界上第一台数字式电子计算机,但这个说法其实是有争议的。
前面提到的ABC,就是这个称谓的有力争夺者。ENIAC甚至称不上第二。那一时期问世的数字电子计算机很多,严格来说,ENIAC只能排第11。
国外主流观点认为,ENIAC的设计者盗窃了ABC的设计。1973年,美国法院也裁定,取消了ENIAC的专利,认定ENIAC专利是ABC的衍生品。
关于谁是第一,我们就不多讨论了。反正,1945年左右,电子计算机诞生的浪潮,标志着人类算力正式进入了数字电子计算机时代。波澜壮阔的信息技术革命,正式开启。以计算机为中心的信息技术产业,也正式起步。
1945年至1948年,除了ENIAC诞生外,科技领域还发生了好几件大事。
冯·诺依曼(John Von Neumann)是美籍匈牙利人,1903年出生,1930年移民美国,成为普林斯顿大学的教授。
1944年,冯·诺依曼开始参与原子弹的研制。因为研制过程需要进行大量的计算,他就开始关注计算机相关的研究进展。经人引荐,他作为顾问,参与到了ENIAC的研究中。
基于ENIAC的研究,冯·诺依曼等人在1945年又提出了一个新的方案——EDVAC(Electronic Discrete Variable Automatic Computer,电子离散变量计算机)。
在冯·诺依曼撰写的总结报告《关于EDVAC的报告草案》中,他详细阐述了一种制造电子计算机和进行程序设计的新思路,并设计了由运算器、逻辑控制、存储器、输入和输出设备组成的新型架构。
直到现在,冯·诺依曼架构仍然是我们计算机的主流架构。基于这个贡献,冯·诺依曼也被世人誉为“现代计算机之父”。(他在数学和经济学领域的贡献也很卓著,被称为“博弈论之父”。)
1948年,贝尔实验室的克劳德·香农(Claude Elwood Shannon)出版了《通信的数学理论》。这本书被看作是信息论的奠基之作。
香农给出了通信系统的基本模型,提出了信息熵的概念以及数学表达式。
他指出,信息是可以被量化的,用数字编码可以代表任何类型的信息。香农还推出了比特(bit)的概念,将其称为“用于测量信息的单位”。
香农提出的香农公式,更是指导了整个通信行业发展,直到现在也没有被突破。
简单来说,香农的信息论,为信息技术奠定了真正的理论基础。他是当之无愧的现代信息通信技术“祖师爷”。
1947年,同样是来自贝尔实验室的威廉·肖克利(William Shockley)、约翰·巴丁(John Bardeen)和沃尔特·布拉顿(Walter Brattain),共同发明了世界上第一个晶体管。
晶体管的问世,为电路的小型化打下了基础,也为集成电路以及芯片的出现创造了前提。它开辟了电子时代的全新纪元。
上面说的三件大事,是信息技术革命爆发的前提条件,对人类社会的进步造成了极其深远的影响。
1951年,发明了ENIAC的约翰·埃克特(J. Presper Eckert)和约翰·莫奇利(John Mauchly)再度合作,研制了世界上第一台商用计算机系统——UNIVAC-1。
这套系统被美国人口普查部门用于人口普查,它还成功预测了1952年底的美国总统大选,一夜之间名声大噪。
1952年,冯·诺依曼领导设计的EDVAC终于制造完成,开始运行。
相比ENIAC,EDVAC拥有独立的存储,是第一台使用磁带的计算机。当时,磁存储已初露锋芒,成为信息载体的新选择。
再后来,晶体管技术开始逐渐成熟,进入市场。相比真空管(电子管),晶体管的体积更小,功耗更低,使得电子设备变得更加小巧、省电。
1954年,世界上第一台晶体管计算机TRADIC,在美国空军投入使用(贝尔实验室研制)。其运行功耗不超过100W,体积不超1立方米,相比当年的ENIAC有天壤之别。
1958年,美国的RCA公司造出了世界上第一台全部使用晶体管的计算机——RCA501。
不久后,1959年,IBM公司不甘落后,也生产出全部晶体管化的计算机——IBM 7090。
基于IBM 7090,美洲航空公司和IBM共同研发了世界上第一款订票系统——Sabre。Sabre迅速普及,带动了IBM计算机的市场份额激增,也给其它行业展示了计算机的巨大潜力。
说到这里,我们要回过头,讲讲发明了晶体管的威廉·肖克利。
肖克利所带领的团队虽然合作发明了晶体管,但内部关系并不好。主要原因,是因为肖克利这个人为人刻薄,很难相处。晶体管发明后,没多久,团队成员纷纷离开了他。
1954年,肖克利在贝尔实验室也待不下去了,就跑去教书。再后来,1956年,他来到美国西部加利福尼亚州的山景城,在一个名叫Palo Alto的小城市(后来是硅谷的一部分),成立了“肖克利半导体实验室”。
实验室吸引了很多优秀年轻人的加入。其中就包括罗伯特·诺伊斯(Robert Noyce)和戈登·摩尔(Gordon Moore)等8人。
后来,肖克利的事业再次因个人原因走入困境。于是,1957年9月18日,上面提到的8个年轻人,一起向肖克利提交辞呈。肖克利大发雷霆,痛斥这帮“忘恩负义”的年轻人,骂他们是“八叛徒”(traitorous eight )。
“八叛徒”出走后,共同成立了仙童半导体(Fairchild Semiconductor)。
仙童半导体在科技史上拥有举足轻重的地位。它是世界半导体产业的摇篮,也被誉为芯片界的黄埔军校。
1959年,德州仪器的杰克·基尔比(Jack St. Clair Kilby)和仙童半导体的罗伯特·诺伊斯,先后发明了基于锗基底扩散工艺和硅基底平面工艺的集成电路,打开了集成电路时代的大门。
1959年之后的计算机,大量采用了晶体管和集成电路。计算机的算力不断增强,体积和功耗反而不断减小。
计算机硬件技术准备腾飞的同时,计算机软件也开始萌芽了。
包括ENIAC在内的早期计算机,没有操作系统的概念,都是操作员进行手工操作。
后来,进入1950年代,为了提升操作效率,开发了批处理系统。
到了1960年代,处理器的速度越来越快,需要执行的任务越来越多。于是,“多道程序系统”出现了。“多道程序系统”,采用了通道和中断技术,允许系统执行“挂起”操作。计算机从串行变成了并行,可以同时运行多个任务,提升了效率。
“多道程序系统”,基本上已经接近于真正的操作系统了。
1957年,IBM公司成功开发了FORTRAN高级语言。它是世界上第一个被正式采用并流传至今的高级编程语言。
所谓高级语言,就是一种接近于人们使用习惯的程序设计语言。它容易学习,通用性强,写出的程序比较短,便于推广和交流。
1960年4月,COBOL语言正式发布。1964年,BASIC语言发布。高级语言的不断涌现,为后面的软件产业爆发奠定了基础。
1960年代,IBM是世界计算机行业毫无疑问的“领头羊”。在计算机市场,他们占据绝对的市场领先地位(在北美市场,市占率超过三分之二)。
1961年12月,IBM公司启动了一项人类史上规模最大的商用产品开发计划。这项计划耗资50亿美元(约今日的460亿美元)、雇用6万多名新员工、新建5座工厂。
1964年4月7日,计划成果初现,IBM公司正式发布了六种规格的System/360商用大型主机。
360,是360度角的意思,表示全方位的服务。它是世界上首个指令集可兼容计算机。单个操作系统可以适用整个系列,而不需要像之前的计算机一样,每种主机量身定做操作系统。
这时,人们才明白,原来电脑主体硬件升级之后,操作系统、应用软件还有外围硬件,都是可以继续使用的。“兼容”的概念,开始形成了。
IBM System/360是IBM史上最成功的机型,虽然研发投入巨大,但回报同样可观——每台主机的价格在250万到300万美元之间(约合现在的2000万美元),每月售出超过千台。
蓝色巨人年销售额的一半,都来自于这个系列。美国太空总署的阿波罗登月计划,全美的银行跨行交易系统,以及航空业界最大的在线票务系统等,都使用了IBM System/360。
值得一提的是,虽然IBM霸占了大型机市场,但60年代初,很多IT公司创立,他们转向了IBM不太在乎的小型化计算机市场,并取得了不错的成果。
例如,DEC公司(1957年成立)以及他们发布的PDP-8、PDP-11、VAX-11系列主机。这些主机体积小、功耗低、运算速度也不算差(每秒几十万次基本运算),获得了很多用户的欢迎。
1965年,时任仙童半导体公司研究开发实验室主任的戈登·摩尔,应邀为《电子学》杂志35周年专刊写了一篇观察评论报告,题目是:《让集成电路填满更多的元件》。
开始绘制数据图表时,摩尔发现了一个惊人的趋势:在前一个芯片产生后的18-24个月内,会诞生一个新芯片。而这个新芯片的性能(集成电路数量),大约是前一代的两倍。也就是说,芯片的能力,以固定时间(18-24个月)为周期,在翻倍提升。
这一定律目前已经持续了半个多世纪,准确预测了半导体行业的发展趋势,成为指导计算机处理器制造的黄金准则,也是科技行业奉为圭臬的铁律。
1967年,大规模集成电路(Large Scale Integration,LSI)出现,真正的芯片时代到来了。
1968年7月,罗伯特·诺伊斯和戈登·摩尔从仙童半导体公司辞职,创立了英特尔(Intel)公司。
最开始,英特尔是做半导体存储器产品的。后来,因为竞争激烈,他们转向处理器方向。
1971年,英特尔开发出了世界上第一个商用处理器——Intel 4004。这款处理器片内集成了2250个晶体管,能够处理4bit的数据,每秒运算6万次,工作频率为108KHz。
Intel 4004的出现,标志着微处理器时代的开始。1974 年,英特尔又推出了面向个人电脑开发的微处理器——Intel 8080,其性能是4004的20倍。
MITS公司于1974年推出的经典微型电脑Altair 8800,就是基于8080处理器。
Altair 8800在1975年1月的《大众电子学》杂志社上发布后,引起了计算机爱好者的广泛关注。其中,就包括一个哈佛大学的楞青少年,以及他的伙伴。他俩后来一起为Altair 8800设计了Altair BASIC,并创办了一家名叫Microsoft(微型软件)的公司。
没错,这个楞青的名字叫做比尔·盖茨,他的伙伴叫保罗·艾伦。
Altair 8800经常被称为第一台个人电脑(PC),但实际上,这个称谓是存在争议的。
1971年,美国的Kenbak公司发布了Kenbak-1计算机。这台计算机,被计算机历史博物馆认为是世界上第一台个人计算机。
Kenbak-1由中小型集成电路组成,没有使用微处理器。该系统最初售价为750美元,仅制造和销售了大约40台。1973年,Kenbak公司倒闭,Kenbak-1停产。
1973 年,法国R2E公司生产了第一台基于微处理器的商用计算机——Micral。Micral的说明书里,首次提到了“微机(Micro-computer)”。
另一个“第一台个人电脑”的有力争夺者,是来自著名的施乐公司帕洛阿图研究中心(Xerox PARC)的Alto。
1973年,他们推出了Alto(“奥托”)。它是第一台使用鼠标和图形用户界面 (GUI) 的计算机,和我们现在使用的计算机已经很像了。它的很多设计,对乔布斯的苹果,以及比尔盖茨的微软,产生了深远的影响。
1975年,王安公司(WANG)推出了世界上第一台具有编辑、检索功能的文字处理机,初具台式电脑的雏形。这台电脑的屏幕能直接显示文字,键盘可以快速修改文稿。
1977年,有三台个人电脑经典机型推出,分别是Commodore公司的Commodore PET、苹果公司的APPLE II、Tandy Radio Shack的TRS-80 Model II。
个人电脑的大量涌现,意义极为重大。它标志着计算机产业的商业模式开始发生变化,算力不再仅为少数大型企业服务(大型机),而是开始昂首走向了普通家庭和中小企业。
个人电脑想要真正发展起来,仅靠处理器是没用的,还需要存储、网络以及软件技术的配合。
1973年,IBM又发明了Winchester(温彻斯特)硬盘3340。这块磁盘使用了密封组件、润滑主轴和小质量磁头。工作时,磁头悬浮在高速转动的盘片上方,而不与盘片直接接触。
Winchester 3340是现代硬盘的原型。换句话说,你现在用的电脑磁盘(HDD),架构上和1973年没有太大区别。
网络方面,1970年,Internet的雏形ARPAnet基本完成。
1973年5月22日,施乐公司PARC研究中心的罗伯特·梅特卡夫(Robert M. Metcalfe)正式提出了“以太网”的设想,并于11月份设计实现。
1978年,在温顿·瑟夫(Vinton G. Cerf)、罗伯特.卡恩(Robert E. Kahn)等人的努力下,TCP/IP网络协议也诞生了。
在软件产业方面,1970年代的成果同样令人应接不暇。
1973年,贝尔实验室的肯·汤普森(Ken Thomson)和丹尼斯.里奇(Dennis Ritchie)正式发表论文,宣告了UNIX操作系统的存在,引起全行业轰动,被视为现代操作系统诞生的标志。
1970年和1972年,Forth编程语言和C语言先后开发完成。
1970年,IBM公司的研究员埃德加·弗兰克·科德(Edgar Frank Codd),通过一篇名为《大型共享数据库数据的关系模型》的论文,开启了关系数据库时代。
关系数据库的出现,为后来数据库应用高速发展奠定了基础。
1974年,IBM公司圣何塞实验室发起了IBM System R项目,首次实现了结构化查询语言(SQL)。
1977年,后来被称为IT狂人的拉里·埃里森(Larry Ellison)与合作人共同投资了2000美元,成立了SDL公司(后来的Oracle公司)。1979年,他们推出了Oracle数据库,开启了商业数据库的全新时代。
1970年代是非常伟大的,IT产业的真正起步,正是始于这个时期。处理器、存储、网络、操作系统、数据库……全都在飞速发展。
这些从0到1的突破,最终将在1980年代掀起令人惊心动魄的IT狂潮。算力技术的真正转折,即将到来。
70年代微处理器的诞生,使得个人电脑开始大量出现。
这种情况,让传统巨头IBM感受到了威胁。一直以来,他们都专注于大型机,导致忽视了小型机的市场。
为了亡羊补牢,他们也决定启动自己的个人电脑研发计划。
1980年3月,IBM召开一次高层秘密会议,设立“Chess(国际象棋)”项目,专门研发个人电脑(Personal Computer这个词,就是这时被IBM提出来的)。
负责这个项目的,是唐·埃斯特利奇 (Don Estridge)。他带领了一个13人小组,蹲在弗罗里达州博卡拉顿镇的一间仓库里,进行秘密研发工作。
最开始的时候,他们打算采用自己的处理器(IBM 801)和操作系统。但考虑到时间紧迫(领导要求1年内搞定),他们还是决定与第三方合作。
1981年8月12日,他们的工作有了成果,IBM公司正式推出了IBM-PC(IBM5150) ,搭载的是英特尔的8088处理器(16位,4.77MHz),以及微软的PC-DOS操作系统。
IBM-PC售价为1565美元,拥有16K内存(可以根据需要扩展到256K),带有5.25英寸软盘。它为扩充能力设计了总线插卡,可以让用户加装显卡,并自行选择黑白或彩色显示器。
IBM-PC推出后,很快获得了巨大的成功,第一年销售就超过20万台,1985年更是超过100万台。
它不仅被评为《时代》周刊封面的“年度人物”,还荣膺了“二十世纪最伟大产品”的称号。(可惜的是,作为IBM-PC的缔造者,唐·埃斯特利奇在1985年死于空难。)
IBM-PC的成功,吸引了很多厂商对它进行“仿制”。他们参考IBM-PC的标准,打造可以“兼容”使用IBM-PC配套软件、扩展卡和外设的产品,称为“兼容机”(电脑DIY的鼻祖)。
1982年6月,哥伦比亚数据产品公司(Columbia Data Products)推出了第一台IBM PC兼容机——MPC 1600。11月,康柏(Compaq)紧随其后,推出了与IBM PC兼容的便携式电脑——Portable(1983年3月出产)。
“兼容机”配置灵活,价格便宜,很快抢走了IBM-PC的市场份额。1983年,IBM占据PC市场份额的大约76%。到了1986年,就跌成了26%。这让IBM郁闷不已。
IBM-PC使用的8088,是英特尔在1979年推出的。
1982年2月,英特尔搞出了和8088完全兼容的第二代PC处理器80286,用在IBM PC/AT上。
8088/80286芯片,都是16位处理器,当时在技术上并不算领先。1979年,摩托罗拉就已经率先推出了32位的处理器——MC68000,领先英特尔至少半代。
苹果公司的Apple Lisa与Macintosh(麦金塔,1984年1月发布,是首个采用了图形界面操作系统的个人电脑),用的就是MC68000。
直到1985年7月,英特尔公司终于推出了自己姗姗来迟的32位处理器——80386。
值得一提的是,IBM公司早期比较强势,他们研发IBM-PC的时候,选择了英特尔的芯片,就强制要求英特尔将设计和代码开放给AMD公司,让AMD成为第二供应商。
后来,兼容机越来越多,都采用了英特尔的芯片,变成了英特尔掌握话语权。于是,从80386开始,英特尔就不再开放任何资料给AMD。
1987年,AMD以违约为由,一纸诉讼将英特尔告上了法庭,英特尔随即反诉。两者的垄断和侵权官司,陆陆续续打了8年。
虽然最后AMD打赢了官司,但错过了CPU发展的黄金时期,也被英特尔甩开了差距。
80年代中期,日本半导体的崛起,也给英特尔等美国公司带来了极大威胁。
后来,传奇CEO安迪·格鲁夫(Andy Grove)掌舵英特尔,砍掉了存储半导体业务,聚焦微处理器业务,才把英特尔给救了回来。
1989年,英特尔推出了80486处理器,获得了市场的欢迎。
凭借80486的出色表现,英特尔的业绩超过了所有的日本半导体公司,成为世界第一的半导体生产商。
IBM-PC火了以后,微软的DOS就跟着出名了。然后,微软就不断更新,出了很多新版本。
苹果的Macintosh推出图形界面操作系统后,给了比尔盖茨很大震撼。于是,就进行了“参考”,于1985年11月推出了Windows 1.0。
早期的Windows只是DOS的“外壳”,中看不中用,所以备受用户吐槽。于是,微软就开始了全新内核的开发,也就是后来的Windows NT。
微软其实还和IBM一起搞了一个OS/2操作系统,结果后来摆了IBM一道,放弃了。
80年代,因为PC兼容机的普及,造就了一个巨大的IT市场。很多新公司成立,也有很多新产品推出。
例如,1982年9月,3Com公司推出了世界上第一款网卡。1984年,英国AdlibAudio公司推出了第一款声卡——魔奇声卡。1985年,Philips和Sony合作推出CD-ROM驱动器。……
这些硬件扩展产品,让PC变得更加强大,也给用户带来了更好的体验。
进入90年代后,英特尔和微软已经成为真正的巨头,市值均超过千亿美元。
1993年,英特尔公司推出划时代的奔腾(Pentium)处理器。
奔腾一代其实就是586。格鲁夫认为,公司应给这一新款CPU注册新商标,以保护公司对它的垄断。所以,586就改名成了“奔腾(Pentium)”。
但是,在工业界和学术界,大家仍然习惯性地把英特尔的处理器称为x86系列。
1993年,微软发布了Windows NT。1995年和1998年,又先后发布了Windows 95和Windows 98。这些操作系统,奠定了微软在PC操作系统上的霸主地位。
英特尔的处理器和微软的Windows操作系统,在那时是所有PC的标配。他们组成的Wintel联盟,牢牢掌握着PC市场的主动权。
PC是用户终端侧的算力。我们不要忘了,除了PC之外,我们还有工作站(性能比PC更强的一种微型计算机)和服务器。
尤其是服务器,作为集中化的算力,在80-90年代,技术架构和市场格局也有很大的变化。
微处理器出现之后,催生了PC这样的小型化电脑。传统大型机开始逐渐衰退,超两个方向演变:
第一个方向,是直接变成超级计算机,专门进行科学和军事领域的高精尖计算。另一个方向,是变成小一点的服务器,专门为政府和企业提供服务。
服务器的形态也有多种,包括塔式、机架式、机柜式等。后来,到了21世纪,还出现了刀片式。
服务器的性能和稳定性比PC更强,功耗和体积比PC大,可以运行更复杂和更重要的任务,同时为更多的用户提供算力服务。
20世纪80-90年代,在服务器处理器方面,行业竞争异常激烈。当时,主要分为两个阵营。
一个,是以SUN、SGI、IBM、DEC、HP、摩托罗拉等厂商为代表的RISC-CPU阵营。他们主张采用RISC-CPU架构(RISC,简单指令计算机)。
另一个,是以英特尔和AMD为代表的CISC-CPU阵营。他们主张采用CISC-CPU架构(CISC,复杂指令计算机)。
虽然RISC速度更快,当时更被行业看好,但安迪·格鲁夫领导下的英特尔,依然坚持以CISC-CPU作为自己的主要方向。
最终,英特尔凭借巨大的研发投入,还有兼容性和量产速度上的优势,战胜了其它对手,成功巩固了自己的地位。SUN、HP和IBM等厂商,也纷纷放弃了自己的CPU架构,转投x86架构的怀抱。
微软的Windows视窗系统外观非常漂亮,图形化的界面,很适合普通用户进行操作。但是,在服务器这种强调稳定性的领域,图形化所引入的问题,就变成了累赘。
也就是说,命令行式的操作系统,反而是服务器所需要的。
前面我们提到贝尔实验室推出了UNIX系统。后来,很多公司都推出了自己的Unix系统分支。
比较有名的,是Sun公司的Solaris、IBM公司的AIX、惠普公司的HP-UX,以及由BSD版本发展起来的FreeBSD。这些系统,占据了服务器操作系统的巨大部分份额。
Unix开始收费和商业闭源之后,行业里的一些爱好者开始推出它的替代。
1991年,正在芬兰赫尔辛基大学求学的林纳斯·托瓦兹(Linus Torvalds),成功编写出了Linux内核(Linux kernel),开启了一个新的操作系统家族。Linux及其发行版(例如Ubuntu、Debian、Centos、Fedora、 Redhat Linux),成为服务器操作系统的主流选择。
Windows虽然也推出了Windows NT,但因为稳定性上不如Unix/Linux,所以市场份额并没有优势。
20世纪90年代,处理器、内存、硬盘等硬件技术的全面升级,加上操作系统、数据库、应用软件的大量涌现,使得计算机的能力变得越来越强大。
如果说,80年代的PC,对用户来说只是尝鲜。那么,90年代的PC,已经是真正的生产力工具了。
人们不仅用PC来听音乐、看视频、玩游戏,还用它来编辑文档、建立表格、处理数据。 除了家庭用户之外,很多企业也开始购入PC,将它应用于日常工作之中。
在PC的帮助下,人们充分感受到IT算力带来的生活品质改善,以及生产效率提升。
70年代以太网和TCP/IP等技术的出现,为网络的普及奠定了基础。很多单位,都开始建设自己的局域网络。
局域网之间,也开始互联,组成更广域的网络。80年代,网络的规模不断膨胀,最终,覆盖全球的互联网(Internet)正式诞生了。
1991年8月6日,英国物理学家蒂姆·伯纳斯·李(Tim Berners-Lee),正式提出了World Wide Web,也就是如今我们非常熟悉的 www万维网。
他还提出了HTTP(超文本传送协议)和HTML(超文本标记语言),设计了第一个网页浏览器,并建立了世界上第一个web网站。
互联网的出现,更是给人们打开了新世界的大门。互联网就是一个拥有无限资源的宝库,各种各样的网站、论坛,令人眼花缭乱。强大的即时通讯工具,也满足了人们的通信和社交需求。
互联网已经超出了技术的范畴。它构建一个线上的虚拟世界,衍生出很多新的商业模式,彻底改变了人类社会。
这些公司购买了大量的服务器,建设了机房,为用户提供服务。例如邮箱服务、音视频下载服务、网页访问服务等。
互联网崛起之后,用户的急剧增长,以及业务的潮汐化特点(有时候人多,有时候人少),给服务商带来了很大的压力。
如何以更低的成本,更灵活地满足用户需求,成为众多企业思考的难题。
1996年,康柏公司的一群技术主管在讨论计算业务的发展时,首次使用了Cloud Computing这个词。他们认为,商业计算会向Cloud Computing的方向转移。
2006年,互联网电商亚马逊(Amazon)率先推出了两款重磅产品,分别是S3(Simple Storage Service,简单存储服务)和EC2(Elastic Cloud Computer,弹性云计算),从而奠定了自家云计算服务的基石。
另一家在云计算上有所行动的公司,是谷歌(Google)。
这家诞生于1998年的年轻公司,在2003~2006年期间,连续发表了四篇重磅文章,分别关于分布式文件系统(GFS)、并行计算(MapReduce)、数据管理(Big Table)和分布式资源管理(Chubby)。
这些文章不仅奠定了谷歌自家的云计算服务基础,也为全世界云计算、大数据的发展指明了方向。
2006年,谷歌工程师克里斯托夫·比希利亚第一次向董事长兼CEO埃里克·施密特(Eric Schmidt)提出了“云端计算”的想法。
8月9日,施密特在搜索引擎大会上,正式提出了“云计算(Cloud Computing)”。
很多人将云计算理解为一个超大号的“机房”。这其实并不准确。
云计算的本质,是一个算力资源池。它把零散的物理算力资源变成灵活的虚拟算力资源,配合分布式架构,提供理论上无限的算力服务。
云计算出现之后,物理计算机变成虚拟计算机。云计算所提供的服务,慢慢被笼统归纳为计算服务,也就是算力服务。
90年代,2G移动通信普及,让很多用户用上了手机。那时候,PDA掌上电脑等设备,也开始流行。
这类小型化移动终端的功能比较简单,对芯片性能的要求不高,但是非常在意能耗。
这让一家名叫ARM(Advanced RISC Machines)的公司找到了机会。他们高举RISC的大旗,专门走低功耗、低成本的道路,刚好迎合了移动终端的芯片需求。
前面提到,英特尔是搞CISC的,在服务器市场干掉了搞RISC的几个大厂商。当时,他们根本看不上ARM,觉得RISC没前途。结果,就错过了这个关键的市场机遇。
2008年,乔布斯的苹果公司推出iPhone,将手机带入智能时代。
手机、pad等移动终端彻底爆发了,ARM公司和他的ARM架构芯片也大受欢迎,成为移动互联网时代的最大赢家。
如今,移动终端已经成为用户的新宠。人们对手机等设备的依赖,也超过了PC。这意味着,在用户侧,移动终端芯片(ARM架构)的重要性和市场规模,超过了PC芯片。
在移动终端芯片市场进行搏杀的,主要是高通、联发科、三星、华为、紫光展锐等公司。手机市场竞争激烈,手机芯片的新品发布,也是公众日常关注的焦点。
说到PC芯片。进入21世纪以来,PC芯片仍以x86架构为主。英特尔和AMD,不断发布新的产品,有来有往,打得不亦乐乎。
以前,英特尔总是喜欢挤牙膏。现在,对手时不时推出极具竞争力的产品,英特尔也是疲于招架。
为了对抗垄断,以ARM、RISC-V架构为代表的非x86架构强势崛起,市场份额在不断更加。算力厂商的多元化趋势,非常明显。
2010年之后,算力还发生了一个重要的变化,那就是算力需求的多元化。
随着整个社会从信息化向数字化发展,越来越多的行业都在进行数字化转型,产生了对算力更为旺盛的需求。
这些需求分为不同类型的场景,除了传统通用计算之外,以人工智能计算为目的的智算,以及以高性能科学计算为目的的超算,开始强势崛起。尤其是智算,崛起的速度极快,对AI算力产生了非常大的需求。
传统CPU的通用算力,无法很好地应对智算和超算需求。于是,以GPU、AI芯片为代表的新型算力,开始成为热门。像英伟达这样的“显卡厂商”,如今市值竟然是英特尔的7倍以上。
关于这一块的内容,我在另一篇文章(到底什么是算力? )有详细的介绍。这里就不再赘述了。
5G以及光通信的发展,构建了强大的网络,给算力的“流动”创造了条件。
如今,算力不再只待在云端,而是可以下沉到边缘,产生了“云计算-边(边缘计算)-端计算”的三层架构。
运营商还提出了算力网络,想要实现算力的全面泛在化。这也在刚才那篇文章中有所提及。
从人工计算到机械计算,再到电子计算,经过了数千年的漫长摸索。
电子计算机的出现,是一个重要的里程碑。在那之后,人类进入了信息时代,算力的性能和规模以前所未有的速度增长,并最终将我们引入了数字时代和智能时代。
数字革命的浪潮,席卷了我们生活的每一个角落。整个人类社会,在算力的驱动下,发生了翻天覆地的变革。
未来,数字化和智能化还将继续向前推进。我们对算力的需求,还在疯狂增长。
在摩尔定律逐渐走向瓶颈的前提下,我们该如何实现算力的倍增?以量子计算为代表的新型算力,是否会全面崛起?
备注:我在8月份首发了这篇文章的连载。这次,我进行了内容修订,然后合并成一篇,重新发送。请知悉。
文章导航