GVKun编程网logo

一套用了 70 年的计算机架构 —— 冯·诺依曼架构(冯诺依曼计算机框架)

9

想了解一套用了70年的计算机架构——冯·诺依曼架构的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于冯诺依曼计算机框架的相关问题,此外,我们还将为您介绍关于01、计算机原理结构,及冯诺依曼体系

想了解一套用了 70 年的计算机架构 —— 冯·诺依曼架构的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于冯诺依曼计算机框架的相关问题,此外,我们还将为您介绍关于01、计算机原理结构,及冯诺依曼体系结构、[每天一个知识点]7-冯·诺依曼体系结构、【计算机组成原理】第一章 冯诺依曼计算机特点、下一代计算机架构会是什么样?提前来看看的新知识。

本文目录一览:

一套用了 70 年的计算机架构 —— 冯·诺依曼架构(冯诺依曼计算机框架)

一套用了 70 年的计算机架构 —— 冯·诺依曼架构(冯诺依曼计算机框架)

本文已收录到  GitHub · AndroidFamily,有 Android 进阶知识体系,欢迎 Star。技术和职场问题,请关注公众号 [彭旭锐] 进 Android 面试交流群。

前言

大家好,我是小彭。

上一篇文章里,我们讨论了可计算问题与图灵机的计算机模型。在理解了图灵机模型后,我们将从和图灵同时代的另一位计算机科学家提出的 “冯·诺依曼架构” 开始,正式开始计算机组成原理的核心内容。

那么,冯·诺依曼架构是怎样的结构呢,冯·诺依曼架构是基于图灵机的吗,我们现在用的手机和电脑还在使用冯·诺依曼架构吗?今天我们将围绕这些问题展开。


学习路线图:


1. 计算机的早期历史

在 1936 年,艾伦·图灵在论文《论可计算数及其在可判定性问题上的应用》中开创性地提出了计算机的通用逻辑模型 —— 图灵机模型。这一理论深刻地影响了第一代计算机科学家,更多能够实现计算功能的计算机被制造出来,图灵也因此被誉为 “计算机科学之父”。

随着计算机的元器件从继电器升级到电子管(也叫真空管),计算机也从 “机电” 时代进入到 “电子” 时代。第一台电子计算机一般认为是 ABC( atanasoff-Berry Computer),然而它与其他早期的计算机一样,都是 不可重新编程 的(参考资料上的用词是 “不可编程”,我认为 “不可重新编程” 更恰当)。一台计算机只能执行一个特定的程序,如果需要修改程序功能,就需要将整个计算器拆开,然后重新组装电路。

到了 1943 年,Colossus Mark I 计算机(巨人 1 号)在英国 Bletchley 公园(二战时的密码破译机构)被建造出来,以破解纳粹通信,好家伙一口气造了 10 台。 Colossus Mark I 被认为是第一台可编程的电子计算机,编程方法就是使用大量的开关和插线板(PlugBoards)。 但 Colossus Mark I 并不是通用计算机,它只被设计用于执行密码分析相关的计算。

Colossus Mark I

—— 图片引用自 Wikipedia

直到 1945 年,John Mauchly 和 J. Presper Eckert 在美国宾夕法尼亚大学建造了 ENIAC(Electronic Numerical Integrator and Computer,中译:埃尼亚克), ENIAC 被认为是第一台可编程的通用电子计算机,也被认为是第一台现代意义上的计算机。 但是,ENIAC 和 Colossus Mark I 一样都使用插线板编程,虽然不需要拆掉整台计算机来重新编程,但是编程效率依然非常低,据说一个简单程序在 ENIAC 上编程最多要花费三个星期。

这对于早期异常昂贵的计算机来说,需要停机这么长时间来重新编程是无法接受的。人们迫切需要一种更高效更灵活的编程方式,有人开始研究 使用存储器来保存程序和程序处理的数据。 在 1944 年,ENIAC 的发明者之一 J. Presper Eckert 发明了一种基于水银管的存储器,这为后来的存储程序概念提供了实现基础。

ENIAC

—— 图片引用自 Wikipedia

在建造 ENIAC 的同时,Mauchly 和 Eckert 也在同步研究一种新设计 EDVAC,并向 John von Neumann(冯·诺依曼)提出咨询。冯·诺依曼也参与到 EDVAC 项目中,并且写了一份著名的内部文档 《First Draft of a Report on the EDVAC》 ,详细阐述了 “存储程序计算机(Stored-program Computer)” 的概念,这就是后来人们所说的 “冯·诺依曼架构”。

后来,他们在 1947 年对 ENIAC 进行诸多改进,ENIAC 也成为了世界上第一台存储程序计算机。而 1948 年建造完成的 Manchester Baby 则被认为是世界上第一台基于冯·诺依曼架构的通用计算机。从 Baby 到现在 70 多年的时间,所有的单片机、PC 电脑、智能手机、服务器依然在遵循这一计算机架构。 现代所有的计算机科学上的发展都是在软件和硬件能力上做优化,根本上的计算机架构依然没有改变。 冯·诺依曼也因而被誉为 “电子计算机之父”。


2. 冯·诺依曼架构 —— 电子计算机的实现结构

2.1 什么是冯·诺依曼架构?

冯·诺依曼架构(Von Neumann Architecture) 是冯·诺依曼和其他人提出的电子计算机通用架构。冯·诺依曼架构将通用计算机定义为以下 3 个基本原则:

  • 1、采用二进制: 指令和数据均采用二进制格式;
  • 2、存储程序: 一个计算机程序,不可能只有一条指令,而是由成千上万条指令组成的。指令和数据均存储在存储器中,而不是早期的插线板中,计算机按需从存储器中取指令和取数据;
  • 3、计算机由 5 个硬件组成: 运算器、控制器、存储器、输入设备和输出设备。在最开始的计算机中,五个部件是围绕着运算器运转的,这使得存储器和 I/O 设备之间的数据传送也需要经过运算器。 而现代计算机中,五个部件是围绕着存储器运转的,这使得存储器和 I/O 设备可以直接完成数据传送,而不需要经过 cpu。

冯·诺依曼架构

—— 图片引用自 Wikepedia

在冯·诺依曼架构之前还有一个哈佛架构,现在说的比较少。两者的区别在于冯·诺依曼是将指令和数据存储在同一个存储器的不同位置,存在争用问题;而哈弗架构将指令和数据存储在不同存储器中,规避了争用问题,与 cpu L1 缓存将指令和数据分离的思想类似。

2.2 冯·诺依曼瓶颈

冯·诺依曼瓶颈的概念最早由 John Backus 在 1977 年的图灵奖领奖演讲中提出: 由于 cpu 和存储器之间共享同一个系统总线,并且 cpu 和存储器之间存在巨大的速度差,导致 cpu 需要不断地被迫等待数据读取或写入到存储器,因此遏制了 cpu 的吞吐量 (关于总线系统,我们后面会专门讲)。

要从根本上解决冯·诺依曼瓶颈,还是只能重新构建一套新的计算机体系,例如生物计算机、量子计算机。不过,目前它们都还处在非常原始的阶段。现代计算机体系只能采用优化策略来减弱冯·诺依曼瓶颈的影响,这些内容我们后面都会提到,例如:

  • 1、增加一个位于 cpu 和主内存之间的高速缓存
  • 2、将指令缓存和数据缓存分离
  • 3、cpu 分支预测
  • 4、将存储器集成到 cpu 芯片内部,以减少内存访问(SoC 芯片)

相关文章:

  • 计算机的存储器金字塔长什么样?
  • 我把 CPU 三级缓存的秘密,藏在这 8 张图里

3. 总结

如果说图灵机描述的是计算机的抽象模型,那么冯·诺依曼架构则是对图灵机这个抽象模型的实现架构。 冯诺依曼架构确立了现代电子计算机的基础和结构,学习计算机组成原理,其实就是学习和拆解冯诺依曼架构。计算机组成原理怎么学,我们下回说。关注我,带你了解更多。


参考资料

  • Von Neumann architecture —— Wikipedia
  • Von Neumann Bottleneck —— Wikipedia
  • Harvard Architecture —— Wikipedia
  • Stored-program Computer —— Wikipedia
  • EDVAC —— Wikipedia
  • EDIAC —— Wikipedia
  • Delay-line memory —— Wikipedia
  • Colossus Computer —— Wikipedia
  • Manchester Baby —— Wikipedia

01、计算机原理结构,及冯诺依曼体系结构

01、计算机原理结构,及冯诺依曼体系结构

1、计算机组成原理结构

计算机组成原理是入门和底层层面的第一课程,在硬件和软件之间需要一座桥梁,而“计算机组成原理”就扮演了这角色,它既隔离了软件和硬件,也提供了让软件无需关心硬件,就能直接操硬件的接口。

计算机组成原理是一个入门的计算机结构体系,如图

计算机应用程序(即应用软件)是运行计算机体系结构只上的,即系统软件之上,包含操作系统、编译原理、计算机网络;而系统软件又是依赖于计算机的硬件部分:计算机组成,包括CPU/GPU、内存/硬盘、显示器/键盘,等硬件。

学习资料有:

Coursera 上北京大学的《计算机组成》开放课程,图灵奖获作者《计算机组成与设计:硬件 / 软件接口》

2、冯诺依曼体系结构

计算机硬件:CPU,所有的计算都是有CPU完成的;

      内存(Memory):打开的浏览器、运行的游戏、都要加载到内存中才能由cpu运行,程序读取的数据、计算得到的结果,也都要放在内存里。

      主板(Motherboard):存放在内存里的程序和数据,需要被 CPU 读取,CPU 计算完之后,还要把数据写回到内存中,而CPU和内存的连接就是通过主板(Motherboard)实现的;

        主板的芯片组(Chipset)和总线(Bus)解决了 CPU和内存之间如何通信的问题。芯片组控制了数据传输的流转,也就是数据从哪里到哪里的问题。总线则是实际数据传输的高速公路。因

        此,总线速度(Bus Speed)决定了数据能传输得多快。

冯·诺依曼体系结构(Von Neumann architecture),也叫存储程序计算机

      包含两个概念:一个是可编程,一个是存储计算机

      任何一台计算机的任何一个部件都可以归到运算器、控制器、存储器、输入设备和输出设备中,而所有的现代计算机也都是基于这个基础.架构来设计开发的。

                 

 

[每天一个知识点]7-冯·诺依曼体系结构

[每天一个知识点]7-冯·诺依曼体系结构

上帝的bug之一,冯·诺依曼(John von Neumann,1903~1957),犹太人,原籍匈牙利后加入美国国籍,化学专业毕业的数学家、物理学家、计算机科学家,被称为现代计算机之父和博弈论之父,在理论数学、气象学、量子力学、湍流、激波、博弈论、计算机等方面都有重要贡献。(湍流、激波等研究是为军队服务的,1947年美军发嘉奖令,表扬他是物理学家、工程师、武器设计师和爱国主义者

今天的重点是冯·诺依曼体系结构是什么,因为最近行业里很火的一个事情是2014年国家自然科学奖一等奖被号称颠覆冯·诺依曼体系结构的透明计算夺得,要想知道这个透明计算能否超越汉芯,就得了解下被颠覆的是什么。

冯·诺依曼体系结构的要点是二进制计算和存储程序方式,在结构上分为运算器、控制器、存储器、输入设备和输出设备5部分。一般认为的第一台电子计算机是ENIAC,它是十进制计算的,十进制计算部件特别难以制造,使用二进制则简单得多,越简单越容易提高速度和集成度。存储程序方式是指程序作为一种数据存储在内存中,通用的运算部件读取内存中的指令进行相应的操作,这与ENIAC通过修改电路改变功能也是一个巨大的飞跃。现代计算机体系结构除了某些专用系统之外,几乎都是冯·诺依曼体系结构,或者是它的衍生品哈佛体系结构。

另:至于透明计算,怎么看怎么是个网络引导模块,早些年的无盘工作站,现在流行的云桌面,基本都是一类东西@_@


【计算机组成原理】第一章 冯诺依曼计算机特点

【计算机组成原理】第一章 冯诺依曼计算机特点

一、主要内容:
组成原理知识点汇总与复习
授课:sunnyACT张思鹏(中城投丝路@180科技)
 
二、学习参考:
sunnyACT张思鹏(中城投丝路@180科技)xmind使用参考:
必备工具|三分钟带你认识神秘的思维导图【10分钟掌握】- http://www.fishcoo.com/html/1/106/152/198/2755.html
sunnyAct社区 http://www.fishcoo.com
必备工具|用思维导图做笔记10分钟掌握-
http://www.fishcoo.com/html/1/106/152/198/2778.html
http://www.fishcoo.com/html/1/106/152/index.html
《计算机组成原理》关键知识点xmind总结sunnyAct社区:
http://www.fishcoo.com/html/1/106/157/231/2956.html

下一代计算机架构会是什么样?提前来看看

下一代计算机架构会是什么样?提前来看看

【黑客联盟2016年12月06日讯】HPE 宣布成功研制“基于存储的计算架构”(Memory-Driven Computing)。它颠覆了以往 把 CPU 作为计算机核心的惯例,而采取多个处理器共用中央存储集群的运行模式。

虽然 HPE 声称该架构有极广的适用性,但它主要是为大型数据中心所设计,尤其是对物联网大数据的分析、处理。另外,HPE 并没有打算向服务器市场推出基于全新架构的产品,这次的发布会更像是一个广告——为 HPE 使用新技术的的各类企业产品做推广,尤其是 HPE 的持久存储和尚在开发中的非易失性存储产品。将来,新的计算架构是否会颠覆企业服务器市场?我们拭目以待。


众所周知,今天的电脑,是以 CPU 作为核心,内存和硬盘存储作为辅助。这其实是 1940 年代“计算机之父”约翰·冯·诺依曼设计的系统架构,距今已超过 60 年。

计算机巨头 HPE(惠普企业)认为,革新计算机系统架构的时机正在成熟。

本月 28 日,(QQ公众号:黑客联盟)了解到HPE 宣布,已成功开发出下一代计算机架构:基于存储的计算。这是一个把存储,而非处理器,作为计算机运算核心的概念。HPE 认为,它能带来数个量级的计算性能和效率提升。

注:HPE(惠普企业)全称为“Hewlett Packard Enterprise”,为原惠普公司企业业务部,现已独立拆分。


动图演示:从传统以 CPU 为核心的计算架构到基于存储的计算架构

如图所示,采用传统架构的大型数据中心,大量工作被浪费在系统之间数据的传输。而在基于存储的计算架构中,多个 SoC 共享中央存储集群,极大提高传输数据的效率

作为对“基于存储的计算”的概念验证,HPE 还展示了采用新一代计算架构的原型机:


研究人员正在组装“the Machine”原型机的核心部件


“The Machine”原型机组装完成

原型机的每一个 SoC 有独立 DRAM(系统内存),但通过光子通讯共享 2 到 4TB 的“持久存储”(persistent memory)。所有处理器能通过光纤维,在其他节点(nodes)上连接持久存储。这构成了一个容量巨大、可按字节寻址的中央存储集群。该公司没有透露 CPU 信息,但外媒猜测,它可能使用了 64 位 ARM v8-A 或英特尔 X86 处理器。

HPE 用这台原型机展示了:

计算节点与被系统共享的 Fabric-Attached Memory 存储集群连接。

一个经过优化的、基于 Linus 的操作系统在 SOC 芯片上运转。

计算机的光通讯设备,包括新的 X1 光子模块能连接上网并正常运转。

新的软件编程工具,能对富余的持久存储空间加以利用。

HPE 表示,这个新的计算架构能够按照 HPE 工程师们的设计,让各个基础模块协同运转。

“The Machine”项目

据美国高德纳公司预计:到 2020 年,世界物联网设备将达到 208 亿台,这会生成前所未有的海量数据。届时,数据增长的速度,会大大高于现有计算架构对数据进行处理、存储和加密的速度。

这要求数据中心和服务器,把数据处理性能提高到一个前所未有的新水平。而在摩尔定律已失效的情况下,在现有计算架构上实现这一目标显得不切实际。这便是 HPE “the Machine”项目的初衷:为数据中心和超算系统开发下一代高性能计算架构。


“the Machine”的项目 logo

上文中的原型机,便是诞生于“the Machine”项目。HPE 声明,“基于存储的计算”会颠覆已成为老古董的、以 CPU 为核心的计算机架构。因此,它将成为计算机发展史上的“关键里程碑”。

HPE 副总经理 Antonio Neri 对(QQ公众号:黑客联盟) 说:“‘The Machine’是 HPE 迄今为止规模最大、最复杂的研究项目。用这个原型机,我们展示了“基于存储的计算”的前景,并为相关创新打开了大门。我们的客户和整个计算行业,都将在这项创新中受益。我们会继续研究能颠覆现有游戏规则的黑科技。”

在项目的设计阶段,模拟程序就预测,新架构的运行速度将比现有计算系统高“数个数量级。现在,HPE 在现有的计算机硬件上测试了新的软件编程工具,并证明根据在不同工作情况下,理论上能达到最高 8000 倍的运算速度。


基于存储计算架构在不同任务下的运算速度。其中,在内存计算能达到现有技术的 15 倍, 海量图形推理 100 倍,近似物搜索 300 倍,金融模型运算 8000 倍。

用更多节点和存储扩展原型机的配置之后, HPE 预计仍能达到相似倍数的性能提升。

“The Machine”项目更多地关注于百万兆级运算(exascale computing)。百万兆级运算是高性能计算(High Performance Computing)一个快速发展的领域,它致力于开发出,性能比现有云计算平台高几个数量级的计算机设备。

除了传说中的性能,HPE 基于存储的计算架构还拥有极为理想的扩展性从迷你物联网设备到百万兆级运算设备,该架构都可以应用。这使它成为,处理高性能计算和数据密集任务的理想平台,包括大数据分析。

新架构的商业化

HPE 已经决定,不会推出采用新架构的完整计算机系统。 这很可能是由于成本的限制。他们推出这台“the Machine”原型机也不是为了打造产品,而是向世界展示该项目的进展。在很长一段时间内,这台原型机会是世界上唯一一台基于存储计算架构的计算机。

但是,“the Machine”项目开发出的这一系列技术,将会被分拆应用于 HPE 的各项独立产品中。这些技术可被分为四类:1.非易失性存储 (NVM,Non-Volatile Memory) 2. 光纤维 3. 软件生态系统 4. 安全。其中,非易失性存储产品和生态系统尤为重要。

非易失性存储

HPE 正努力把可按字节编址的(byte-addressable)非易失性存储产品带到市场,该公司计划最早在 2018/2019 年实现。它的目的是把 DRAM 的性能与传统存储产品大容量、持久的特点相结合。利用“The Machine”的项目成果,HPE 已经开发出了持久内存,这是开发出可按字节编址的非易失性存储产品的关键一步。该公司已经在 ProLiant DL360 和 DL380 Gen9 服务器上发布了 HPE 持久内存。

以下为 HPE 非易失性存储产品的路线图:

·现在:ProLiant设备将引入持久性内存以供各应用程序使用,这部分内存由DRAM及闪存混合构成。

2016年 – 2017年:采用经过改进的DRAM持久性内存。

2018年 – 2019年:为软件提供速度低于RAM但成本更为低廉的真正非易失性内存(简称NVM)。

2020年及之后: NVM技术将被应用于多个产品类别当中。

生态系统

HPE 已经为基于存储计算架构的软件开发做了很多工作。今年,HPE 发布了与 Hortonworks 和 Spark 在新架构上软件开发的合作。在今年 6 月,HPE 在 Github 发布了,帮助开发者熟悉新架构软件开发的代码包。该公司准备在明年,把这些代码用于已有的硬件上。HPE 将最早在 2018/2019 年, 开始把下一代分析工具和应用程序整合入新系统。他们计划在未来几年中,把生态系统的技术和标准整合入一整套的产品当中。


该公司对(QQ公众号:黑客联盟) 表示,他们会尽快把基于存储计算架构的各项附属技术商业化,推出各项衍生产品。

我们今天的关于一套用了 70 年的计算机架构 —— 冯·诺依曼架构冯诺依曼计算机框架的分享就到这里,谢谢您的阅读,如果想了解更多关于01、计算机原理结构,及冯诺依曼体系结构、[每天一个知识点]7-冯·诺依曼体系结构、【计算机组成原理】第一章 冯诺依曼计算机特点、下一代计算机架构会是什么样?提前来看看的相关信息,可以在本站进行搜索。

本文标签: