冯·诺依曼结构:现代计算机的诞生

从存储程序到冯·诺依曼结构

机电时期,人们使用穿孔卡片或穿孔带编制程序,由于计算机的运算速度受限于机械动作,输入模块有充分的时间读取穿孔介质上的指令信息。而到了电子时期,使用穿孔输入就远远跟不上电子运算的节奏了,因此,人们便利用旋钮、开关和接插线的不同位置来表示程序,虽然消除了控制与运算之间的速度差距,却使编程成为一件非常复杂的难事。在ENIAC上设置一个实用程序,往往需要几个星期的时间,如非必要,使用者很少愿意修改它。因此,尽管ENIAC是通用的,却总在一段时间内只专用于某个问题(比如弹道计算),它的通用价值被大大削弱。而如果频繁地设置不同程序,机器在很大一部分时间里将无法运行,它的高速性能又被大大浪费。

聪明的读者或许已经想到:程序能不能像数据一样,通过穿孔介质输入之后长期驻存在机器内部的存储器中呢?这样一来,读取指令就和读取数据一样快了。

埃克特和莫奇利也想到了这一点,1944年,在ENIAC还未建成之际,研制一台可以存储程序的新机器的申请就提交到了导弹实验室。导弹实验室同意了这个项目,并提供10万美元的预算。这台新机器名叫电子离散变量自动计算机(Electronic Discrete Variable Automatic Computer),简称EDVAC。

原本,EDVAC会和前辈ENIAC一样,悄悄地建成,风光地亮相,它将成为世界上第一台存储程序电子计算机,埃克特和莫奇利将为它申请一份专利,而这次不会再有谁质疑他们的原创性。然而故事并没有朝着这条既定路线展开,一位不期而至的“程咬金”使他们的原创变得不再纯粹,甚至,遮盖了他们应有的名气。他就是大名鼎鼎的约翰·冯·诺依曼(John von Neumann)。

约翰·冯·诺依曼(John von Neumann),1903-1957,美籍匈牙利人,数学家、物理学家、计算机科学家、博学家。(图片来自维基百科)

在所有计算机先驱中,冯·诺依曼和图灵一齐拥有着最高的知名度,但其实他的主要成就分布在其他领域。他首先是位伟大的数学家,在集合论、逻辑学、博弈论、代数学、几何学和拓扑学等各大分支都有卓越贡献,一生发表的150多篇论文中,120多篇都是数学论文;而后是一位物理学家,在量子力学和流体动力学中颇有建树;同时还是化学家和经济学家,是位令多数同行都只能望其项背的博学者。

他天赋异禀,6岁就能心算8位数除法,8岁便熟稔微积分,22岁获得布达佩斯大学数学博士学位。他能一字不差地背诵出曾经看过的名著,甚至电话本,他所知的历史知识甚至令普林斯顿大学的历史学教授都自愧不如。其心算能力和记忆力之强,曾令某位ENIAC小组的数学家感叹:还造什么计算机,他本身就是台计算机!

在与冯·诺依曼接触过的人中,越是高学识者越惊叹于他的超群智力。苏黎世联邦理工学院的教授乔治·波伊亚用“害怕”来形容自己对冯·诺依曼的感受,因为只要他在课堂上提到某个数学界的未解难题,冯·诺依曼很可能一下课就拿着完美的解答去和他讨论了。“原子能之父”恩利克·费米曾向曼哈顿计划的同事这样形容冯·诺依曼的心算能力:“他的心算速度是我的十倍,而我的心算速度已经是你的十倍了。”加拿大数学家海尔·比林则感叹:“想赶上冯·诺依曼是不可能,那种感觉就好像你骑着三轮车妄图追上汽车一样。”诺贝尔物理学奖获得者汉斯·贝特则不止一次半开玩笑地揣测:冯·诺依曼的大脑暗示着有比人类更先进的物种存在。

二战期间,冯·诺依曼加入曼哈顿计划,此时的他已经拥有极高的学术地位。原子弹的研制涉及大量运算,洛斯·阿拉莫斯国家实验室在体验过机电计算机Harvard Mark I之后,对ENIAC寄予了更高的期望。1944年的夏天,冯·诺依曼作为顾问加入ENIAC项目,提出了许多建设性意见,并深度参与到EDVAC的讨论中。

这期间,冯·诺依曼在EDVAC上投入了许多思考,他愈发觉得,EDVAC不单是一个平凡的计算机项目,它潜藏着更深的理论意义。他想起图灵的论文,通用图灵机能够根据纸带上的策略信息模拟任意图灵机的行为,纸带是它是存储器[1],策略信息就是程序,这正是存储程序最早的思想萌芽。而他们现在所尝试的,正是用电子管将它变成现实!1945年6月,在一趟返回洛斯·阿拉莫斯国家实验室的列车上,完整的EDVAC已在冯·诺依曼脑中清晰可见,他奋笔疾书,写出了那篇长达101页,影响计算机历史走向的《EDVAC报告书的第一份草案》。

草案不仅详述了EDVAC的设计,还为现代计算机的发展指明了道路:

  1. 机器内部使用二进制表示数据;
  2. 像存储数据一样存储程序;
  3. 计算机由运算器、控制器、存储器、输入模块和输出模块5部分组成。

这些在现在看来似乎是理所应当的原则,在当时却是一次划时代的总结。这份草案与其说是冯·诺依曼对EDVAC的设计描述,不如说是他对当时全世界计算机建造经验集大成式的高度提炼。

冯·诺依曼将计算机与神经细胞类比,运算器、控制器和存储器相当于联络神经元,输入模块和输出模块相当于感觉神经元和运动神经元。通俗地讲,就好比人拥有可以思考(处理信息)的大脑,并通过“感觉”获取来自世界的信息,通过“运动”去改变世界。计算机同样需要这样一个世界,那就是当时的穿孔介质、开关、旋钮、接插件,等等,统称外部记录媒体。

这种基于存储程序思想的计算机结构,后来被称为冯·诺依曼结构。冯诺依曼结构奠定了现代计算机的基调,放到今天,运算器和控制器就是CPU的主要组成部分,存储器主要对应为内存,输入和输出模块也被芯片化后集成到主板,外部记录媒体变得丰富多样,比如鼠标、键盘、显示器、触屏、手柄、硬盘、U盘、音箱、话筒,等等。

冯·诺依曼结构

这份草案很快流传开来,并轰动了整个计算机界,但作为ENIAC团队的共同成果,却只署了冯·诺依曼一个人的名字。命运又一次给埃克特和莫奇利开了个大玩笑,这不仅让EDVAC失去了巨大的专利价值,还让ENIAC团队失去了应得的声誉。尽管冯·诺依曼并非有意为之,埃克特和莫奇利也一再强调即使没有冯·诺依曼,他们也能给出同样的成果,但“冯·诺依曼结构”实在太过经典,这个名词早已深入人心。

而EDVAC的设计思想中,有多少属于埃克特和莫奇利,有多少又属于冯·诺依曼,这是个永远也解不开的谜。但至少,如果没有冯·诺依曼将设计方案抽象至理论层面,计算机世界的“大一统时代”可能还要推迟到来。

如果说图灵描绘了计算机的灵魂,那么冯·诺依曼则框定了计算机的骨架,后人所做的只是不断丰富计算机的血肉罢了。

1948年4月,ENIAC团队通过线路改造使ENIAC的函数表有了存储指令的能力,但其容量对于程序来说还是太小了。实现存储程序的关键是建造容量足够大的内部存储器,要既有不拖累电子运算的访问速度,也要有相对低廉的成本。一时间,计算机界百花齐放,涌现出各种不同的存储器。

参考文献


  1. 图灵机是一种抽象机器,图灵在提出它时并不考虑如何实现它。它所用的纸带可以映射为真实计算机用于输入输出的穿孔纸带,也可以映射为存储器,兼具两者功能,但其发挥的作用更偏向于后者。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容