冯·诺依曼对计算机,就像成龙对小龙女
冯·诺依曼被称为“计算机之父”,但是他并不承认计算机这个儿子,就像成龙不承认小龙女一样。
冯·诺依曼的主要身份是数学家,他自己最看重的成就也是在数学领域,虽然他在物理学、经济学、计算机、国防军事等领域都有杰出贡献。
他自认为在计算机方面只是做了一点微小的工作,不发表论文,没申请专利,但是我们今天的计算机绝大多数都是遵循的“冯·诺依曼结构”。
冯氏架构
1944年夏天,ENIAC制造到一半,冯·诺依曼知道了这么个项目。当时冯·诺依曼在研究原子弹,研究过程中有很大的计算压力,所以对计算机很感兴趣,自告奋勇地加入了ENIAC的项目组,参与了一些改进工作。
ENIAC作为初代通用电子计算机,有一系列的缺陷,且不说体积大、耗电这种事儿,最令人抓狂的是ENIAC的编程问题,不像今天,敲个代码就是编程了,给ENIAC编程得换电路板——准确地说叫“修改电路”。
ENIAC设计的时候就是一锅端,计算功能、控制功能、输入输出全搅和在一起,连接线千头万绪,接线非常麻烦,为它准备个程序需要花费几小时甚至几天时间,出了问题还不好查找原因;
ENIAC又没记性,有20个暂存器,能记几个数据,但是之前编制的程序它是记不住的,所以就得给他反复地接线,费时费力还烧脑。
ENIAC的“编程”冯·诺依曼总结ENIAC的经验,针对其不足之处,提出了几点影响深远的建议:
(1)计算机需要存储程序,把程序本身当作数据来对待,这样不必为每个问题都重新编程。
(2)建议计算机采用二进制编码,这便于电器元件存储状态,而且可以简化机器的逻辑线路(ENIAC用的十进制)。
(3)计算机需要分模块,分成:运算器、控制器、存储器、输入输出设备,这样结构清晰,便于操作、便于维护。
满足以上几点的体系结构,被称为 “冯·诺依曼体系结构”,因为冯·诺依曼当时在普林斯顿大学工作,所以又叫普林斯顿体系结构。
很多地方没有把冯氏架构讲清楚,一些教科书上也说只要满足(3)就是冯氏架构。
还有一种结构叫“哈佛体系结构”,是哈佛大学提出来的,区别是把程序和数据分开存储。
现在的计算机里其实是两种结构兼而有之,我们一般认为大部分计算机满足“冯·诺依曼”体系结构:
冯·诺依曼架构指令存储器和数据存储器合并在一起,称为内存;
有一个控制器,控制程序执行;
有一个运算器,完成数据加工处理;
控制器和运算器合并在CPU里,叫中央处理器(Central Processing Unit)。
存储器是就是我们说的内存和硬盘,U盘也是。
输入输出设备就不用说了,键盘鼠标是输入设备,显示器是输出设备,手机的显示器是把输入设备和输出设备合成为一体了。
布达佩斯
冯·诺依曼(John von Neumann,1903--1957)。犹太人,1903年(清光绪29年)出身于匈牙利首都“布达佩斯”。
布达佩斯的地理位置布达佩斯在东欧,当时是欧洲一线城市,富庶繁华,人才辈出。
布达佩斯是欧洲第二个修地铁的城市,第一是伦敦,不过英国算海外,因此布达佩斯宣称是“欧洲大陆”第一个地铁城市。
布达佩斯率先用电动车取代公共马车,彻底清除了散布病菌的马粪——谁再说电动汽车是新能源可以直接打脸。
布达佩斯是时尚之都,咖啡馆有六百多家,歌剧院的音响效果甚至超过维也纳。
布达佩斯在卫生保健方面也领先全球,拥有当时世界上最好的小姐姐,随便一个放到柏林都是公主级别,而且还有定期体检。布达佩斯的小姐姐素质极高,能够礼貌的倾听客户的政治主张,1907年,有几个大英帝国的议员吃小姐姐的霸王餐,被小姐姐们曝光了名单,上了当日头条。
1885年~1929年间,布达佩斯这座城市出生了8位诺贝尔奖获得者。
名里的冯
冯·诺依曼的“冯(von)”,相当于英语里的from,表示贵族出身。
from后面接地名,表示贵族的封地——
比如魏王曹操,对应过去叫“曹操·from·魏”。
比如秦王李世民,对应过去叫“李世民·冯·秦”。
但是“常山赵子龙”不能叫“赵云·冯·常山”,因为常山不是赵云的。
后来土地不够分封了,von后面也就不接地名了,但依然象征贵族。
这诺依曼家族原本不是贵族,因他的父亲担任政府经济顾问有那么一点点功劳,被授予贵族头衔。
有点像武则天的父亲,本来是商人,因为支持李渊起兵有功,封为公爵。
诺依曼写作Neumann,是Newman的德语形式,也就是“新人”的意思。
少年天才
冯诺依曼的父亲是银行家,姥爷有一条商业街,家庭环境优越,同时很重视教育。
据说冯诺依曼从小才智过人、过目不忘,传说他——
6岁能心算做八位数除法(谁6岁不会呀?——88888888÷2)
8岁掌握微积分
10岁通读四十四卷的《世界史》
冯诺依曼后来说:我也实在不是谦虚,从小被当做神童,但并没有做到身边人期望的高度。
精英教育
当时的匈牙利实行的精英教育,冯·诺依曼是精英的孩子,有权利享受高质量的教育。
冯·诺依曼中学读的是路德教会中学,这所学校对信路德教的收费低,对信天主教的高,这个还可以理解,毕竟教会学校嘛。
后来冯·诺依曼改了自己的信仰,皈依了天主教
但是这所学校对穷人收的学费比富人高,越穷收费越高,这么做的良苦用心是保证学校里都是精英的孩子。
这个叫做“价格歧视”,不要误会,在商学院里“歧视”是个中性词
在当时,年满21岁必须当兵,但是冯·诺依曼没有。冯·诺依曼家族比较富有,一贯不用服兵役,一战的时候还在国外旅游。
事实上匈牙利很多精英的孩子都会在服兵役的年龄忽然生病,然后出国。
求学生涯
冯·诺依曼的兴趣在数学方面,但父亲觉得学数学不能挣钱,应该学一些实用的、来钱快的专业,比如化学。他教导小诺依曼应该向qian看。
冯·诺依曼出于妥协,进入瑞士的苏黎世联邦工业大学攻读化学学士学位。同时他又读了个双学位——在布达佩斯大学进修数学博士。一边读化学本科,一边读数学博士。
数学那边,不上课,只考试,但是诺依曼轻松通过了博士论文答辩。
他曾说过:“如果有人不相信数学是简单的,那是因为他们没有意识到人生有多复杂。”
参加工作
1926年(现任英国女王出生那年),冯诺依曼先后拿到化学学士学位和数学博士学位,后被柏林大学聘为“无薪讲师”。
设立无薪讲师的目的是“鼓励年轻人奋发图强”,贯彻孟子“故天将降大任于斯人”的精神——说白了就是节约成本,剥削年轻人。
然而冯诺依曼家境殷实,不差钱——不发薪水无所谓,关键看前途。
1929年,因为老师的推荐,美国普林斯顿大学聘请他担任客座讲师。诺依曼自己算了一下,如果待在德国,晋升当教授的机会很渺茫,而且欧洲大环境不太平,不如去美国奔个前程。
到了美国,冯·诺依曼进入普林斯顿大学工作,第二年就晋升当了教授。
1933年,普林斯顿高级研究院成立,聘请他成为终身教授。时年30岁的冯诺依曼,是最年轻的教授。
同期的教授中,年纪最大的是54岁的爱因斯坦。
爱因斯坦
冯·诺依曼和爱因斯坦本是苏黎世联邦工业大学的校友,现在又成了同事,而且办公室相邻。但是两人气场不和,观点相悖,关系比较紧张,甚至相互厌恶。
冯·诺依曼考大学,一举中第;
爱因斯坦考大学复读了一年。
冯•诺伊曼大学读的是化学专业;
爱因斯坦表示无法忍受化学这样的实用科学。
冯•诺伊曼上大学的时候,是夜店的常客VIP;
爱因斯坦借钱上学,属于贫困生。
爱因斯坦同情穷人,认同共产主义;
冯•诺伊曼是资本主义下的既得利益者,反对把富人的钱分给穷人。
爱因斯坦认为对苏联不能敌视要友好;
冯•诺伊曼认为,必须全方位压制苏联。
爱因斯坦主张和平;
冯·诺依曼也主张核平——对日本丢原子弹。冯•诺伊曼长期被人认为是“战争狂人”。
有趣的是,1956年,冯.诺伊曼获得了爱因斯坦纪念奖。
气场不对的人在一起,往往很难愉快地合作。有这么一件事:爱因斯坦要坐火车去纽约,冯·诺依曼主动送他去火车站,最后把爱因斯坦送上了一辆反向的火车。是不是故意的不得而知,但是爱因斯坦心里肯定不爽——好小子,我说怎么对我这么好,还主动送我,果然是没安好心!
左二露半张脸的是冯·诺依曼
聪明过人
冯·诺依曼博闻强识,“看过一本书”对他来说就意味着能够默写下来。
这让我想到了《三国演义》里的张松,把曹操的《孟德新书》看完一遍,然后就“从头至尾,朗诵一遍,并无一字差错”。《天龙八部》里的鸠摩智也是这种人。
冯·诺依曼看书速度极快,据说上厕所要带两本书——现在有的大学生上课除了带手机,还要带个充电宝,道理是一样的。
冯·诺依曼曾在兰德公司兼职当顾问,每月200美元,相当于一个全职员工的工资,这200美元只是买冯·诺依曼早上刮胡子的时间,就是他刮胡子的时候想到了什么idea就告诉兰德公司。后来兰德公司需要进行大量计算,请冯·诺依曼设计一台计算机,冯在纸上算了几分钟,说不用设计计算机了,已经算完了。
兰德公司是一个战略研究机构,互联网媒体经常打着兰德公司的名义发布各种骇人听闻的研究报告。
他的同事,诺贝尔物理学奖得主贝特曾感叹:“冯•诺伊曼这样的大脑是否意味着存在比人类更高一级的生物物种?”
也有缺点
冯诺依曼并非全才。
他在音乐方面很平庸,学过大提琴,但永远在指法练习阶段——就像背单词永远背A一样。
事实上他学琴的时候会偷偷把乐谱换成数学书。
他不善驾驶,每年都会撞坏一辆车,据说他喜欢在开车的时候看书,因此经常“被树突然挡住去路”。
我知道有人开车的时候玩手机,但不知道开车的时候看书是怎么操作的,确实有人会在开车的时候看书,比如C语言的发明人之一的肯·汤普森也这么干过,当然,他自己承认差点出车祸。
他抗拒运动,身材较为肥胖,妻子拉他去滑雪,他甚至怒发冲冠。
在科学界,冯·诺依曼有突出贡献,但主要是在实践应用方面,和爱因斯坦、牛顿等人相比,他更擅长于分析具体问题。
冯·诺依曼海军上将斯特劳斯认为“他有一种非常宝贵的能力,能够抓住问题的要害,把它分解开来,最困难的问题也会一下子变得简单明了。”
诺贝尔物理学奖得主维格纳评价道:“一旦冯•诺伊曼博士分析了一个问题,该怎么办就一清二楚了。”
冯·诺依曼在造核武器的时候,受到了过多的核辐射,在50多岁的时候被查出罹患骨癌。当时人们对核辐射的危害认识还不够,没有做好防护工作。
因为他对美国军方太重要了,年纪又不大,军方希望他能多做几年贡献,于是不惜一切代价对他进行治疗。他的妻子和弟弟目睹了治疗的过程,吓得他们分别立下遗嘱说:一旦自己陷入如此境地,千万不要抢救!
1957年,冯·诺依曼因骨癌去世,享年54岁。