■尹传红
【冯·诺伊曼提出了一个至关重要的创见:计算机的工作记忆(俗称“内存”)不仅可以储存运算所需的一批批数据,也能用来储存程序指令本身。】
大约在1922~1923年,德国马尔堡大学教授赫伯特·弗伦克尔收到施密特教授寄自柏林的一份手稿《集合论的公理化》,作者是他不认识的约翰·冯·诺伊曼。施密特信中称,因为这篇论文“读起来难以理解”,所以要请他发表看法。
弗伦克尔后来回忆当年情况时道:“我不能坚持说理解了一切,但可以确有把握地说这是一部了不起的著作,并‘从爪子判断这是一头雄狮’。我一边回复表达了这个意思,一边邀请这位年轻的学者到马尔堡做客,我们面对面讨论一些问题。”
“从爪子判断这是一头雄狮”系两个半世纪前,瑞士数学家丹尼尔·伯努利用在牛顿身上的一句话。当时,伯努利看到一篇作者匿名的数学论文,马上就认出它出自牛顿的手笔。弗伦克尔的判断也没错,他接待的那位刚满20岁的匈牙利学者,此后正是以这篇博士论文在一些重量级人物中间传阅,且在数学界名声大振。
20年过后,1944年8月初的一天,美国年轻的数学家赫尔曼·戈德斯坦在阿伯丁火车站等候去往费城的火车时,于站台上邂逅已经世界闻名的美国普林斯顿高等研究院教授冯·诺伊曼。他作了自我介绍后告诉冯·诺伊曼,他正致力研发一种每秒可以完成333次乘法运算的电子计算机。此乃世界上第一台电子计算机“埃尼阿克”(电子数字积分计算器,简称ENIAC)。
冯·诺伊曼来了兴趣,表示很想去看看那台机器。几天后,他的愿望得到了满足。参观之前,美国工程师J.P.埃克特(埃尼阿克的两个主要研制者之一)对戈德斯坦说,只要听听冯·诺伊曼问的第一个问题就能判断他是不是真正的天才。见面时,冯·诺伊曼刚扫了几眼计算机,就问起了机器的逻辑结构——这正是埃克特所谓天才的标志。
在看到埃尼阿克之后不久,冯·诺伊曼就预测到电子计算机在我们有生之年会快上10亿倍。他还敏锐地意识到,计算机应该以转化为精确的、数学形式的逻辑为基础;而且,计算速度的提高不仅依赖于机器速度的提高,而且还倚重于计算方法的改进。随即他便着手分析埃尼阿克的缺陷,筹划造自己的计算机。
最初的革新指向了计算机的设计理念。针对计算速度的提高与人工编制程序的迟缓之间的矛盾(埃尼阿克就是因为解决不了这一难题而濒于夭折),冯·诺伊曼提出了一个至关重要的创见:计算机的工作记忆(俗称“内存”)不仅可以储存运算所需的一批批数据,也能用来储存程序指令本身。一旦程序本身储存在内存之中,循环运算和其他指令的执行就只需要简单地从内存中的一处跳往另一处即可。
“存储程序型计算机”的设计思想,为现代计算机构建了完整的理论体系,并成为计算机设计的基本原则。按照冯·诺伊曼的设想,计算机应该由存储器、运算器、控制器、输入、输出所组成(这就是后来人们所说的“冯·诺伊曼架构”)。当时,冯·诺伊曼已经开始思考并比较计算机与人脑,一度也曾悲观地感叹人之大脑的复杂性太“可怕”了,认为我们这些想了解大脑的人,跟周围那些“对算术闻所未闻”却试图了解埃尼阿克的人一样希望渺茫。
不过,冯·诺伊曼并没有就此放弃探索。在1945年春应邀为电子离散变量自动计算机(EDVAC)起草的逻辑框架(史称“101页报告”)中他写道:“这三种特殊的部分——中心算术系统、中央控制系统(与计算机一起)和存储器——相当于人类神经系统中的联想神经元,还需要讨论感觉的或传入的以及传动蛋白或传出神经元的对等物。这些是该装置的输入和输出器官……”后人评价说,这份重要文件开辟了计算机发展史的新时代,也提供了一个伟大的数学头脑如何决定现代计算机技术发展方向的鲜活案例。
可惜,留给这位科学全才的时间不多了。1955年10月,正为耶鲁大学预定在来年春季学期开设的西利曼讲座准备讲稿的冯·诺伊曼,被查出患有癌症。
开学那一天,他已经被病魔折磨得躺在医院里了。他几乎是在生命的最后时刻,于临终的病榻上撰写了那部关于人的神经系统与计算机关系的讲稿。它主要是从逻辑和统计数学的角度,探讨计算机的运算和人脑思维的过程,并对“人造的自动机”(计算机)与“天然的自动机”(人脑)作了一些比较研究。书中的许多技术推论带有预测性,也有许多地方没来得及把意思展开和解释清楚。
1957年2月8日,冯·诺伊曼在华盛顿辞世。次年,他的讲稿以《计算机与人脑》(冯·诺伊曼著,甘子玉译,北京大学出版社2010年出版)为书名由耶鲁大学出版社出版。34年后,诺曼·麦克雷在为冯·诺伊曼所写传记中,有一段对《计算机与人脑》一书的评述:
“这本书当中的某些部分尤其是结尾处十分精彩,可惜其他部分——癌症恶化时写的一些章节——并没有完全体现出约翰尼的聪明才智。美国一位并不谦虚的著名科学家说:‘我们永远都不能赶上他的思考速度,除了他生病住院时那令人伤心的最后一年。’”
《中国科学报》 (2015-01-09 第11版 作品)