冯·诺伊曼结构
文章来自微信公众号“科文路”,欢迎关注、互动。转发须注明出处。
谈及计算机体系结构相关知识时,总是会听到一个词“冯·诺伊曼结构”,这是个什么结构?网上的很多文章都错啦!
冯·诺伊曼结构
冯·诺伊曼结构(英语:Von Neumann architecture),也称冯·诺伊曼模型(Von Neumann model)或普林斯顿结构(Princeton architecture),于 1945 年由 John von Neumann 等人在 First Draft of a Report on the EDVAC 中提出。
EDVAC 与第一台电子计算机 ENIAC (埃尼阿克)不同,其首次使用了二进制,可以说是第一台现代意义的通用计算机。
现在大多计算机仍是冯·诺伊曼计算机的组织结构,因此冯·诺依曼又被称为“现代计算机之父”。
其设计概念如下图所示,
要素
原文 中提到的 5 个必要组件分别为:CA(a central arithmetical part), CC(a central control organ), M(a memory to carry out long and complicated sequences of operations), R(the outside recording medium of the device), O(transfer from its specific parts C and M into R)
下文的 5 个组件综合原文和英文维基百科。说实在的,看了一些文章,都写的 5 个组件分别是运算器、控制器、存储器、输入设备、输出设备,他们到底看原文了吗?
《EDVAC报告书的第一份草案》明确规定用二进制替代十进制运算,并将计算机分成 5 大组件:
- 算术逻辑单元 (ALU: arithmetic logic unit) :我也认同有的人写为运算器(Processing unit),包含算术逻辑单元(ALU: arithmetic logic unit)和处理器寄存器(Processor registers)
- 控制器(Control unit):包含指令寄存器(IR: instruction register)和程序计数器(PC: program counter)
- 内存(Memory):储存数据和指令
- 外部存储器(External mass storage)
- 输入输出装置(Input and output mechanisms)
冯·诺伊曼瓶颈,von Neumann bottleneck
冯·诺伊曼结构意味着存储程序型电脑(stored-program computer),其瓶颈在于指令的获取和数据的操作不能同时发生,因为其共享公共总线。
在 CPU 与存储器间的缓存存储器能缓和此问题。
哈佛架构(英语:Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构(Split Cache)。例如 ARM9、ARM10和ARM11。但是它并未完全突破冯.诺伊曼架构。
更新的技术:存内计算
冯·诺伊曼,John von Neumann
约翰·冯·诺伊曼(德语:John von Neumann),1903年12月28日~1957年2月8日,出生于匈牙利的美国籍犹太人数学家,理论计算机科学与博弈论的奠基者,在泛函分析、遍历理论、几何学、拓扑学和数值分析等众多数学领域及计算机科学、量子力学和经济学中都有重大贡献。
都看到这儿了,不如关注每日推送的“科文路”、互动起来~