Hero Image
冯·诺依曼结构:EDVAC 报告

1945 年在宾夕法尼亚大学完成的 ENIAC 是当时世界上最快的电子计算机:它用近一万八千只电子管,每秒做五千次加法。但要换一种计算,就得在面板上重新接线、重新拨动开关,这是一组程序员要干好几天的活。 两名程序员在操作 ENIAC 的控制面板,宾夕法尼亚大学摩尔学院,约 1946 年。United States Army · Wikimedia Commons · 公有领域 ENIAC 的工程师 J. 普雷斯珀·埃克特和约翰·莫奇利已经在规划下一台机器 EDVAC,打算把程序存放在存储器里。冯·诺依曼开始参加他们的会议,并在 1945 年 6 月写了一份文本,用一种抽象的、几乎是生物学的语言,谈论“器官”和“神经元”,把小组的想法组织起来。 《EDVAC 报告初稿》的扉页,日期为 1945 年 6 月 30 日。John von Neumann · Wikimedia Commons · 公有领域 计算机的组成部分 《EDVAC 报告初稿》描述的计算机包括: 运算器,进行计算; 控制器,逐条读取指令并让它们得到执行; 存储器,同时存放数和指令,全都写成二进制数字串; 输入和输出设备。 决定性的新意在第 3 项。由于程序存放在与数据相同的存储器里,换一种计算就是改动存储器里的数,而不是改动导线。程序甚至可以计算并修改自己的指令。这就是 1936 年图灵的通用机的思想,落实到了电子管和水银延迟线上。 四行的程序 设想一个有八个位置的存储器,编号从 0 到 7,再加一个叫累加器的寄存器: