计算机发展史洋洋洒洒近80年,一篇短文想讲透是不现实的。但不必担心,作为普通用户,只需记住一个神奇年代,计算机发展史就能在你眼前脉络清晰起来,那便是——1970s初。
为什么是1970s初?因为如今我们所见的计算机,其赖以生存的各项技术,都在1970-1973这3年间呱呱坠地,不信且看——
➵ 1970年,英特尔,发布了第一款商用DRAM内存。电脑要是离了内存可玩不转。
➵ 1971年,英特尔,发布了第一款商用微处理器,即如今的CPU。有了它,电脑才能小巧玲珑。
➵ 1971年,贝尔实验室,研发出了Unix操作系统第一版。Unix是今天绝大多数操作系统的老祖宗,包括无处不在的linux(含Android/ target=_blank class=infotextkey>安卓)、苹果系统等等。计算机时间的“起点”(1970年1月1日0点),也是Unix定义的。
➵ 1972年,贝尔实验室,研发出了C语言。C语言可能是影响力最大的编程语言了,许多操作系统、编程语言都直接或间接基于C语言。
➵ 1973年,ARPA,设计了TCP/IP协议,它是互联网的基石。电影《流浪地球2》通过重启全球互联网拯救地球,背后依赖的正是TCP/IP协议簇。
➵ 1973年,IBM,发布了第一款现今结构的机械硬盘。
➵ 1973年,施乐公司,发明了第一款图形界面操作系统,实现了简单直观的人机交互,为计算机的普及奠定了重要基础。
总的来说,今天计算机最重要的几样东西,基本都在1970s初诞生。
你可能会想,哇塞,70年代初也太厉害了吧,竟然发生了这么多大事,那后来的岁月里,计算机都发展了什么?
➵ 70年代后期,个人电脑诞生,从此昂贵的计算机不再是政府、企业、高校的专属。
➵ 80年代,消费者的福音——图形界面操作系统开始商用流行,即苹果系统、windows(用C/C++写的)。
➵ 90年代,程序员中广为流行的生产力工具诞生——Python/ target=_blank class=infotextkey>Python和JAVA(用C/C++写的)。
➵ 90年代,数十亿人工作、生活所需的信息高速公路诞生——万维网(基于TCP/IP)。
21世纪:
➵ 00年代,智能手机操作系统的王者——Android、IOS诞生(间接源自Unix)。
➵ 10年代,移动互联网、云计算大火。
➵ 20年代,现有技术的集大成者——元宇宙,在2021年起飞。
对比而言,70年代初有如开挂,浓缩了太多开创性成果,而之后的岁月里,发展似乎相对乏善可陈,更多的是既有技术的优化升级。
譬如CPU,位数从最初的4位,一路“奔腾”到如今主流的64位,性能也巨幅提升。
譬如DRAM内存,诞生之初叫DRAM(动态随机存取存储器,简称动态内存);后来一路升级,不断叠加前缀,如今叫LPDDR5 SDRAM(第5代低功耗双倍数据率的同步动态内存)
图1 内存名称释义
如果把1970后的计算机看作“今生”,那它的“前世”又在干嘛呢?难道在1970s前,就没有如今的这些硬件、软件系统吗?
要知道,人类首次登月是1969年,70年代初的那些技术都还没问世,那登月所依赖的系统是什么模样?
一般认为计算机诞生于1946年,那么直到1970年,计算机的发展都经历了什么?这里用“三化”来概括:
最初计算机的电路用的是电子管,整体足有2个房间大。难以想象前人为了掌控这庞然巨兽需要付出多么艰苦卓绝的努力。
幸运的是,50年代有了晶体管和集成电路技术,让CPU和内存先后开始小型化,从而逐渐实现整机的小型化。进化路线为:巨->大->中->小型机,至于微型机(微机),则到70年代才出现。
集成电路使芯片小型化的同时性能飞升,进而支撑起丰富的上层应用。而集成电路的关键工艺在光刻技术,所以为什么说先进光刻机会卡脖子,因为它在产业链上游,一旦掐断,下游可不就巧妇难为无米之炊了。
如今的电脑似乎有三头六臂,同时放歌、下视频、聊微信,不费吹灰之力。
然而早期的计算机却相当“专心”,一个任务做完了再做下一个。当时计算机稀缺、速度还慢,几十号人只能排队轮流使用。
五、六十年代出现的“批处理”、“分时”操作系统则改善了这种糟糕的用户体验。
分时的精髓在于,各任务在微观上是轮流执行,宏观上却表现为并行,而用户基本察觉不出来这种假象。这个人性化的设计可算是解决了用户的痛点,当然,这种操作离不开CPU性能的提升。
Python这些年一直很火,原因之一是简单而强大,即使非专业人员也能用Python实现办公自动化,从重复劳动中解放出来。而这,需要感谢当年编程语言的高级化。
我们知道计算机底层是0和1,最初人类直接用0和1组成的机器语言,读或写都很吃力,更别说出错后的排查了。
后来有了相对易读的汇编语言,但效率还是相对低下。
1957年,第一款高级语言Fortran推出,实现自动编程。
从此,人只用写简单的表意文字,计算机就能自行翻译为机器语言;此外,用简单符号就能代指复杂功能,实现四两拨千斤的效果,可以说大大解放了人力。
表1列举了计算机早期各技术的重点发展,有兴趣的可参考。
表1 计算机早期发展重点列举
了解计算机发展史有何意义呢?
算力网络、智慧家庭、元宇宙,是近年来较热门的事物,它们较大程度上是基于现有技术进行整合创新,如云计算、物联网等等,而这二者归根结底是CPU、内存、操作系统、网络等等在强力支撑。了解根源,透过现象看本质,面对千变万化的新事物才能更从容不迫。
比如算力网络不是凭空冒出来的,它勾勒的愿景(让算力成为像水电一样的基础设施,即取即用),早在1960年代分时操作系统出现后,就有了类似的设想与大规模实践,只是由于时代的局限未能长存。
(基于这些硬件软件构筑的计算机体系,究竟有多璀璨夺目、高效神速,可参考移动Labs公众号的这篇《揭秘:千里送信为何能瞬时到达》)
随着国际形势的变化,推进芯片、操作系统等关键技术国产化的紧迫性剧增,毕竟底层为基,如果底层技术抽走,那上层建筑再绚丽宏伟也会轰然倒塌。
在国产化进程中,我们某种程度上将重走计算机生态的发展历程,以史为鉴,可以少走弯路。
当然,本文只是抛砖引玉,尝试拨开消费者眼中计算机上笼罩的迷雾,以一窥全貌。更多史料,可见文末参考资料。
话说回来,1970s初,真的有那么重要吗?
实际上更重要的是集成电路,分时系统,高级语言等,这些诞生于五六十年代的技术,为后来的发展奠定了基础。70年代初的成果爆发与其说是迸发的巧合,不如说更像是水到渠成的必然。
但这并不妨碍我们将1970s看作一个重要的里程碑节点,毕竟我们消费者最熟悉的就是手头的电脑(微机),它不凡的身世,就得1970s这个神奇的分水岭讲起:
在1970s初的3年里,如今电脑最重要的硬件软件纷纷登上历史舞台;
往后的“今生今世”,大致是基于这些成果的不断升级创新。
往前的“史前文明”,大致是三化:硬件小型化(集成电路)、操作系统人性化(分时)、编程语言高级化(自动化)。
前面提到的1970s初那些技术,皆由美国创造,想必当时美国是盛极一时吧?
恰恰相反,当时美国的日子并不好过。
上世纪70年代的美国,经济上终结了二战以来的高速增长,进入停滞阶段;政治上处于冷战时期的“苏攻美守”阶段,美国面临很大压力。后来长期称霸CPU的英特尔,当时也曾陷入绝境,在1975年甚至要考虑卖掉自己。
可危机时常是危与机并存不是吗?
美国担心苏联核武轰炸导致自己的指挥系统瘫痪,所以研发了“阿帕网”(1969),互联网由此发端。
70年代初各成果固然诞生,但还不成气候,直到90年代才迎来互联网经济大繁荣。而这一繁荣的技术底座,早在70年代就已埋下伏笔。
国内正处制裁危机,但也因此大力推进关键技术国产化,产业体系将迎来一次自底向上的涅槃重生。
2020s初的此时时刻,或许正如1970s初的彼时彼刻。相信今天夹缝生存的不屈成长,终会在不远的未来,结出累累硕果。