返回介绍

冯·诺伊曼计算机的诞生

发布于 2025-01-22 00:38:46 字数 1889 浏览 0 评论 0 收藏 0

早期的计算机都是专用计算机,是不可编程的, 例如常见的计算器, 虽然能轻松的完成基本数学运算, 但是你要是想拿来做文字处理, 表格处理,或者玩游戏那是肯定不可能了。

因为这些机器内部的电路和一个特定的程序密切相关, 对于这些计算机来讲, 重新编程就意味着完全从头开始设计, 加工,制造一个全新的机器出来,当然新的机器依然是专用的。

假设时间回到上个世纪 40 年代, 领导让你设计一台通用计算机, 你会怎么做?

首先你要考虑的是,这样的计算机 在理论上是否可行 , 如果理论上都造不出来,那就别白费力气了。

你最不擅长的就是数学理论, 苦思冥想还是找不到答案,突然有一天看到一篇划时代的论文,就像跌入山崖而无意中得到一本武林秘籍一样让你欣喜若狂。

这个论文叫做《可计算数字及其在判断性问题中的应用》, 作者阿兰 · 图灵, 他在论文中提出了一个假想的机器, 后来被称为图灵机。

在这个结构中一个程序由若干指令组成, 在运行之前, 要被“放到“某个地方, 你把这个地方称为 存储器 (内存), 可以把内存比喻成包含一个个格子的东西, 每个格子里放一条指令。

一个叫 控制器 的东西去读取“格子“中这个程序的第一条指令,分析指令到底要做什么事情, 然后 运算器 去执行这个指令, 执行完第一条就接着执行第二条, 如此一直运行下去......

控制器和运算器是如此紧密的在一起工作,你决定把它叫做 处理器

很多程序不仅仅是简单的运算,大部分情况下还要把运算的结果放回到内存的“格子”中, 现在有个问题困扰着你, 内存中已经有指令了, 也要把数据放到这里吗?

经过谨慎的思考,你们做了一个艰难的决定: 把指令和数据放到同一个内存中!   这样一来处理器在同一时刻,要么是在读取指令, 要么是在存取数据, 两件事不可能同时进行, 这自然带来了一些性能的问题。

但是你坚信这样的设计结构简单,成本低,容易实现,一定要坚持。

为了做人机交互, 还得有输入设备和输出设备来做辅助。

你们根据电子元件的特点, 抛弃了 ENIAC 所使用的 10 进制, 转而使用二进制, 采用布尔代数的逻辑运算, 这极大的简化了电路的设计。

后来冯·诺伊曼根据这个设计写了一篇草稿论文,叫做《First Draft of a Report on the EDVAC》, 很不幸,这份长达 101 页的草稿论文上只有一个人的名字:冯·诺伊曼 , 其他人,包括 ENIAC 的 Eckert and Mauchly 都被忽略了。

这份论文广为流传, 深深的影响了下一代计算机的设计, 人们把遵循这个结构的计算机称为冯·诺伊曼计算机。


一个冯·诺伊曼计算机被抽象成 5 大组成部分: 控制器、运算器、存储器、输入设备、输出设备。 将近 70 过去了, 它仍然统治着现代计算机 , 时间证明了这是一个伟大的体系结构 。

在冯·诺伊曼的时代,人们根本无法预料到光盘, 网络,鼠标, 键盘,触摸屏这些东西 , 但是他的结构经过几十年以后仍然能够支持这样的扩展, 我想这就是是抽象的威力吧。

我记得上高中的时候, 物理老师说牛顿提出三定律以后, 经典物理学的大厦已经建立起来的, 后人的工作就在在楼内楼外做点装饰而已 ,直到相对论和量子力学的出现。

而冯·诺伊曼结构提出后, 计算机这么多年来基本没什么变化, 无非就是追究速度更快, 容量更大, 显示更好而已, 不知道量子计算机是不是未来的突破?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文