当前位置: 首页 > 科技观察

速览计算机的前世今生

时间:2023-03-22 01:08:19 科技观察

Part01简介计算机的发展史已经有近80年的历史了,要想在一篇短文中说得透彻是不现实的。不过不用担心,作为一个普通用户,你只需要记住一个神奇的时代,计算机发展的历史就会清晰地展现在你的眼前,那就是——70年代初期。Part02俯瞰今生为什么是70年代初期?因为我们今天看到的计算机,它们所依赖的各种技术,都是在1970年到1973年这三年间落地的,不信我们看看——?1970年,英特尔发布了第一个商用动态随机存取存储器。如果电脑与内存分离,则无法播放。?1971年,英特尔发布了第一款商用微处理器,也就是今天的CPU。有了它,电脑也可以小巧玲珑。?1971年,贝尔实验室开发了第一版Unix操作系统。Unix是当今大多数操作系统的始祖,包括无处不在的Linux(包括Android)、Apple系统等等。计算机时间的“起点”(1970年1月1日0点)也是Unix定义的。?1972年,贝尔实验室开发了C语言。C语言可能是最有影响力的编程语言,很多操作系统和编程语言都是直接或间接基于C语言的。?1973年,ARPA设计了??TCP/IP协议,这是互联网的基石。电影《流浪地球2》通过重启全球互联网拯救地球,依赖于TCP/IP协议簇。?1973年,IBM发布了第一个具有当前结构的机械硬盘。?1973年,施乐公司发明了第一个图形界面操作系统,实现了简单直观的人机交互,为计算机的普及奠定了重要基础。总的来说,今天关于计算机最重要的东西基本上都诞生于70年代初期。你可能会想,哇,70年代初期太厉害了,发生了那么多大事,那后来的??计算机呢?后来的故事?70年代后期,个人电脑诞生了。从此,昂贵的计算机不再是政府、企业、高校的专属。?80年代,消费者的福音——图形界面操作系统开始商业化应用,即Apple系统和Windows(用C/C++编写)。?20世纪90年代,广受程序员欢迎的生产力工具诞生了——Python和Java(用C/C++编写)。?1990年代,数十亿人工作和生活所必需的信息高速公路诞生了——万维网(基于TCP/IP)。21世纪:?2000年代,智能手机操作系统之王——Android和iOS诞生(间接源自Unix)。?10年代,移动互联网和云计算开始流行。?20年代,元宇宙,现有技术的主宰,2021年腾飞。相比之下,70年代初期就像黑客一样,凝聚了太多的开创性成果,而随后几年的发展似乎相对乏善可陈,更多的是对现有技术的优化升级。比如CPU,位数从最初的4位“奔腾”到现在主流的64位,性能也有了很大的提升。例如,DRAM内存在诞生之初就被称为DRAM(DynamicRandomAccessMemory,简称动态内存);后来一路升级,前缀不断叠加,现在叫LPDDR5SDRAM(第五代低功耗双倍数据速率同步动态内存)1内存名称解释如果把1970年以后的电脑当成“今生”,它的“前世”在干什么?这些硬件和软件系统在1970年代之前不存在吗?要知道,人类第一次登月是在1969年,而70年代初期的技术还没有出来,那么登月所依赖的系统是什么样的呢?Part03回顾前世,一般认为计算机是1946年诞生的,那么直到1970年计算机的发展到底发生了什么?这里我们用“三化”来概括:硬件小型化、操作系统、人性化的编程语言、先进的硬件小型化、计算机初始电路用电子管,整体有两个房间那么大。很难想象,为了驾驭这头庞然大物,前辈们付出了多少艰辛和艰辛的努力。幸运的是,随着20世纪50年代晶体管和集成电路技术的出现,CPU和内存也相继开始小型化,从而逐渐实现了整机的小型化。进化路线是:giant->large->medium->smallcomputer,至于微型计算机(microcomputer),直到70年代才出现。集成电路使芯片小型化,性能飙升,进而支持丰富的上层应用。集成电路的关键工艺是光刻技术,为什么说先进的光刻机会卡住,因为它处于产业链的上游,一旦被切断,下游就无米之炊。人性化的操作系统现在的电脑仿佛三头六臂,可以同时播放歌曲、下载视频、微信聊天,毫不费力。然而,早期的计算机相当“集中”,完成一项任务后再进行下一项。那时候电脑稀少,速度慢,几十个人只能排队轮流使用。50和60年代出现的“批处理”和“分时”操作系统改善了这种糟糕的用户体验。分时的本质是每个任务在微观上是轮流执行的,但在宏观上却显得并行,用户基本察觉不到这种错觉。这种人性化的设计也算是解决了用户的痛点。当然,这种操作离不开CPU性能的提升。编程语言高级(自动化)Python近年来非常流行。原因之一是它简单而强大。即使是非专业人士也可以使用Python实现办公自动化,将自己从重复劳动中解放出来。而这需要感谢当年的高级编程语言。我们知道计算机最底层是0和1,起初人类直接使用0和1组成的机器语言,读起来和写起来都非常困难,更不用说出错后的故障排除了。后来有了比较通俗易懂的汇编语言,但是效率还是比较低。1957年,第一个高级语言Fortran问世,实现了自动编程。从此,人们只需书写简单的表意文字,计算机就可以自行翻译成机器语言;另外,可以用简单的符号来指代复杂的功能,达到一举两得的效果,可以说大大解放了人力。表1列出了早期计算机技术的主要发展,有兴趣的可以参考。表1早期计算机发展的要点Part04展望未来了解计算机发展史的意义是什么?一方面,千变万化,底层不变。算力网络、智能家居、元界是近几年的热门事物。它们很大程度上是基于对现有技术的融合和创新,比如云计算、物联网等,而这两者归根结底是CPU、内存等,操作系统、网络等得到了强有力的支持.认清根源,透过现象看本质,更从容地面对日新月异的新事物。例如,算力网络并不是凭空出现的。它勾勒的愿景(让计算能力成为像水电一样的基础设施,可以立即使用)早在1960年代出现的分时操作系统就有类似的想法。而大规模的实践,只是由于时代的局限并没有持续多久。(关于基于这些硬件和软件的计算机系统是多么的炫目、高效和快速,请参考本文?byMobileLabs公众号)另一方面,我们可以从历史中看到兴衰起伏作为一面镜子。随着国际形势的变化,推动芯片、操作系统等关键技术国产化的紧迫性急剧上升。毕竟,底层是基础。如果底层技术被夺走,上层建筑再华丽、再雄伟也会崩塌。在国产化的过程中,我们会在一定程度上追溯计算机生态的发展历程。以史为鉴,才能少走弯路。当然,本文只是一个介绍,试图拨开消费者眼中笼罩在电脑上空的迷雾,以一窥全貌。更多史料见文末参考资料。Part05结论说起来,在70年代初期,它真的有那么重要吗?其实更重要的是集成电路、分时系统、高级语言等,这些诞生于1950、60年代的技术,为后来的发展奠定了基础。20世纪70年代初成就的爆发,与其说是爆发的巧合,不如说是一种自然的必然。但这并不妨碍我们将1970年代视为一个重要的里程碑节点。毕竟我们消费者最熟悉的还是手边的电脑(微电脑)。过去3年,当今计算机最重要的硬件和软件走上了历史舞台;未来的“今生”,大致就是建立在这些成果不断升级创新的基础上。之前的“史前文明”大致是三个现代化:硬件的小型化(集成电路)、操作系统的人性化(分时)、高级编程语言(自动化)。前面提到的70年代初期的技术都是美国创造的。想必当时美国正处于鼎盛时期吧?相反,当时在美国的生活并不好过。1970年代,美国结束了二战后的经济高速增长,进入停滞阶段;政治上,冷战时期处于“苏打美守”阶段,美国面临巨大压力。后来长期称霸CPU的英特尔,当时也是走投无路,甚至在1975年考虑过卖掉自己。但危机往往是危与机并存,不是吗?美国担心苏联的核轰炸会使自己的指挥系统瘫痪,于是研制了“阿帕网”(1969),互联网由此诞生。20世纪70年代初期,虽然各种成就诞生,但尚未实现。直到20世纪90年代,互联网经济才蓬勃发展。而这项蓬勃发展的技术的基础早在1970年代就已埋下伏笔。国家正处于制裁危机之中,但正因如此,大力推进关键技术国产化,产业体系将迎来自下而上的涅槃重生。2020年代初的这一刻可能就像70年代初的那一刻。相信今天活在夹缝中的不屈成长,终会在不远的将来结出累累硕果。