浅谈计算机历史与冯诺依曼结构

聊聊背景

提到 “世界第一台计算机” 的概念,大部分同学的反应都是 “ENIAC”,诞生于1946年(日本刚投降不久),一个占地 170㎡ 的庞然大物。如果你没有反应过来,请你找自己的编程启蒙老师好好聊聊。ENIAC当时被美国国防部用来做弹道计算,然而编写一个供其执行的程序需要长达数周的时间,这在今天看来是不可想象的。随后,冯 · 诺依曼团队从计算机的逻辑结构入手对ENIAC进行改造,并提出了沿用至今的 “冯 · 诺依曼结构”。

图 1:冯·诺伊曼

冯·诺依曼

冯诺依曼结构的三大核心原则如下:

  1. 采用二进制逻辑

  2. 程序先存储后执行

  3. 五大组件:运算器、控制器、存储器、输入设备、输出设备

Q&A

  1. 世界第一台计算机是ENIAC?

    这个说法没什么问题,但事实上广义的计算机最早可以追溯到公元前。1901年希腊古船残骸中发现的 安提凯希拉装置 依靠其复杂的齿轮结构,可以精确计算月轨和星轨。在ENIAC之前也有诸多电子计算机的尝试,如1944年由 IBM 建造的 “The Harvard Mark Ⅰ” 等。

  2. 现如今所有的计算机都基于当年的冯诺依曼结构吗?

    实际上,在上个问题中提到的 “The Harvard Mark Ⅰ” 就不是冯诺依曼结构(毕竟他比冯诺依曼结构得提出更早)。该计算机的逻辑结构后被称为 “哈佛结构”,它最大的特点是指令存储和数据存储是完全分开的。“哈佛结构” 的改进版本至今被应用于诸多处理器中,例如x86处理器、嵌入式arm等,其一级缓存和指令缓存便是分开的。

    此外,最早提出的冯诺依曼结构实际上是以运算器为核心的。而现在我们知道,冯诺依曼结构是以存储器为核心的。

  3. 计算机科学的最高奖是冯诺依曼奖吗?

    不是,是图灵奖。图灵的在计算机方面所做的工作要早于冯诺依曼,此外冯诺依曼本身是数学家,后来在参加 “曼哈顿计划”(造原子弹)时才研究的计算机。参研这种毁灭地球的武器或许也是ACM选图灵没选冯诺依曼的原因之一吧。对图灵感兴趣的同学可以观看电影《模仿游戏》。

你应该记住什么?

  1. 冯诺依曼结构的五大组件:运算器、控制器、存储器、输入设备、输出设备

  2. 冯诺依曼结构以存储器为核心,输入输出流经存储器

  3. 计算机科学的最高奖是图灵奖

posted @ 2020-12-01 23:41  Thijs_成哥  阅读(254)  评论(0)    收藏  举报