50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

冯•诺依曼计算机将渐行渐远?

  • 2015-06-25
  • 本文字数:2144 字

    阅读完需:约 7 分钟

如果说图灵(Alan Turing)奠定的是计算机的理论基础,那么冯·诺依曼(John Von Neumann)则是将图灵的理论物化成为实际的物理实体,成为了计算机体系结构的奠基者。从第一台冯·诺依曼计算机诞生到今天已经过去了将近 70 年,计算机的技术与性能也都发生了巨大的变化,但整个主流体系结构依然是冯·诺依曼结构。

冯·诺依曼体系结构的特点:采用二进制,硬件由 5 个部分组成(运算器、控制器、存储器、输入设备和输出设备),提出了“存储程序”原理,使用同一个存储器,经由同一个总线传输,程序和数据统一存储同时在程序控制下自动工作。特别要指出,它的程序指令存储器和数据存储器是合并在一起的,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。因为程序指令和数据都是用二进制码表示,且程序指令和被操作数据的地址又密切相关,所以早先选择这样的结构是合理的。

但是,随着对计算机处理速度要求的提高和对需要处理数据的种类、量级的增大,这种指令和数据共用一个总线的结构,使得信息流的传输成为限制计算机性能的一个瓶颈,制约了数据处理速度的提高。由此,体现出了冯·诺依曼体系结构的局限性:

  1. 目前 CPU 的处理速度和内存容量的成长速率要远大于两者之间的流量,将大量数值从内存搬入搬出的操作占用了 CPU 大部分的执行时间,也造成了总线的瓶颈。
  2. 程序指令的执行是串行的,由程序计数器控制,这样使得即使有关数据已经准备好,也必须遵循逐条执行指令序列,影响了系统运行的速度;
  3. 存储器是线性编址,按顺序排列的地址访问,这是有利于存储和执行机器语言,适用于数值计算。但高级语言的存储采用的是一组有名字的变量,是按名字调用变量而非按地址访问,且高级语言中的每个操作对于任何数据类型都是通用的,不管采用何种数据结构,多维数组、二叉树还是图,最终在存储器上都必须转换成一维的线性存储模型进行存储。这些因素都导致了机器语言和高级语言之间存在很大的语义差距,这些语义差距之间的映射大部分都要由编译程序来完成,在很大程度上增加了编译程序的工作量。
  4. 冯·诺依曼体系结构计算机是为逻辑和数值运算而诞生的,它以 CPU 为中心,I/O 设备与存储器间的数据传送都要经过运算器,在数值处理方面已经达到很高的速度和精度,但对非数值数据的处理效率比较低,需要在体系结构方面有革命性突破。

科学家们一直在努力突破传统的冯·诺依曼体系结构框架,对冯·诺依曼计算机进行改良,主要体现在:

  1. 将传统计算机只有一个处理器串行执行改成多个处理器并行执行,依靠时间上的重叠来提高处理效率,形成支持多指令流、多数据流的并行算法结构。
  2. 改变传统计算机控制流驱动的工作方式,设计数据流驱动的工作方式,只要数据准备好,就可以并行执行相关指令。
  3. 跳出采用电信号二进制范畴,选取其他物质作为执行部件和信息载体,如光子、量子或生物分子等。

近几年,在计算机体系结构研究方面也已经有了重大进展,越来越多的非冯计算机相继出现,如光子计算机、量子计算机、神经计算机以及 DNA 计算机等等。

光子计算机(Photonic computer)是一种采用光信号作为物质介质和信息载体,依靠激光束进入反射镜和透镜组成的阵列进行数值运算、逻辑操作和信息的存储和处理。它可以实现对复杂度高、计算量大、实时性强的任务的高效、并行处理,比普通电子计算机快1000 倍,在图像处理、模式识别和人工智能方面有着非常巨大的应用前景。

神经计算机(Neural computer)是一种可以并行处理多种数据功能的神经网络计算机,它以神经元为处理信息的基本单元,将模仿大脑神经记忆的信息存放在神经元上。神经网络具有自组织、自学习、自适应及自修复功能,可以模仿人脑的判断能力和适应能力。美国科学家研究出的神经计算机可以模拟人的左脑和右脑,能识别语言文字和图形图像,能控制机器人行为,进行智能决策。它的左脑由100 万个神经元组成,用于存储文字和语法规则,右脑由1 万多个神经元组成,适用于图形图像识别。这将有可能成为人工智能硬件发展的主攻方向。

量子计算机(Quantum computer)是遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。量子计算机本身的特性,扩充了逻辑和数学理论,通过核自旋、光子、束缚离子和原子等制成的量子位,创造出经典条件下不可能存在的新的逻辑门。与经典的比特位不同,对量子位操作1 次等同于对经典位操作2 次,因为量子不像半导体只能记录0 和1,它可以同时表示多种状态。这些都为新的算法实现提供了条件,也为人工智能的发展提供了可能的硬件条件。

冯·诺依曼计算机以其技术成熟、价格低廉、软件丰富和大众的使用习惯,可能在今后很长的一段时期里还将为人类的工作和生活发挥着重要作用。当然,为了满足人们对计算机更快速、更高效、更方便的使用要求,为了让计算机能够模拟人脑神经元和脑电信号脉冲这样复杂的结构,就需要突破现有的体系结构框架并寻求新的物质介质作为计算机的信息载体,才能使计算机有质的飞跃。随着非冯计算机的商品化问世,我们将会迎来一个崭新的信息时代


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015-06-25 06:218330
用户头像

发布了 268 篇内容, 共 135.5 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

要不要去创业?

石云升

创业 5月日更

Nginx基础配置-基础模块配置

梁龙先森

nginx 大前端

从操作系统底层的IO原理入手讲解,同时提供高性能开发的实战案例!美团大佬最新总结的1053页Java高并发核心编程笔记!

Java架构之路

Java 程序员 架构 面试 编程语言

涵盖了Java基础+JVM+多线程并发编程+spring全家桶+Linux+数据结构+数据库+nginx+分布式,这份Java技术成长笔记太强了

Java架构之路

Java 程序员 架构 面试 编程语言

2021,国产数据库人的最好时代

BinTools图尔兹

数据安全 数据库管理 国产数据库

谈谈测试环境管理与实践

大卡尔

测试环境 工程效能

Dubbo 服务分组与多版本

青年IT男

区块链是什么意思?源中瑞开发BaaS平台促进企业数字转型升级

源中瑞-龙先生

企业数字化转型 #区块链# 源中瑞 Baas

北大学霸!手抄万字Java数组笔记,2小时吃透,你确定不拿走?

牛哄哄的java大师

Java 后端

吴凡 ベ莫离: 网友都说MyBatis多表查询太难了,小白:就这?我都学会了

牛哄哄的java大师

IDEA 这样设置,好看到爆炸!!!

楼下小黑哥

Java 程序员 IDEA 编程开发

如有神助!阿里P7大牛把Spring Boot讲解得如此透彻,送你上岸

飞飞JAva

如何高效率的度过一天?

程序员海军

效率 方法论

深入了解 JavaScript 对象

程序员海军

JavaScript 大前端 对象

模板格式不统一?百度AI产品经理为你讲解如何高效构建定制化OCR模型

百度大脑

百度 AI OCR

spring boot项目TPS压测性能优化

李日盛

Spring Boot 性能调优

Golang 实现 RTP

天黑黑

音视频 rtp Go 语言

Golang中runtime包的基本使用方式

liuzhen007

Go 语言 5月日更

架构实战营详细架构设计文档模板

Geek_e0c25c

京东丨阿里丨携程面试总结,已成功拿到京东offer

Java架构师迁哥

Map在Java 8中增加非常实用哪些函数接口?

xcbeyond

Java java8 5月日更 内容合集

编程规范的意义

顿晓

5月日更 编程规范

第八大洲环游记(三):人间胜境新西兰,AI孤岛or方舟?

脑极体

2021金三银四(拿下5个offer)面试经历,附阿里4面+京东4面【面经分享】

Java 编程 程序员 面试 计算机

Redis - 哈希表

旺仔大菜包

redis

硬核资源!清华博士的Spring Boot中AOP与SpEL笔记,码农:膜拜

牛哄哄的java大师

Java

谷歌大佬的LeetCode算法刷题笔记,详细讲解了刷 LeetCode 时常用的技巧。

Java架构之路

Java 程序员 架构 面试 编程语言

所谓软件测试工作能力强,其实就是这5点

程序员阿沐

软件测试 自动化测试 测试工程师 黑盒测试 白盒测试

前端项目配置ts,axios,router,vuex

Vue js ts vuex VueRouter

一击必杀!内网渗透——对不出网目标的精准打击

Thrash

安全

网络攻防学习笔记 Day6

穿过生命散发芬芳

5月日更 网络攻防

冯•诺依曼计算机将渐行渐远?_语言 & 开发_张天雷_InfoQ精选文章