计算机设计的两种理念

姜咏江

关于图灵和冯·诺伊曼计算机,我们是否可以总结为图灵的计算机思想由冯·诺伊曼等人具体实现了?不要让计算机历史上那些说不十分清楚的问题,耽误了我们今天的行程。

在计算机体系结构当中,没人能够颠覆程序数据存储的五大版块的逻辑结构(冯·诺伊曼结构),但不等于不能颠覆其中的某些方法,也许叫做改进更为恰当。

依照计算机逻辑的五大结构,去除输入输出,以哪一部分为中心进行设计,这是计算机核心设计的理念问题。这个问题关系到计算机工作方式与工作效率。直到目前为止,计算机核心设计的主流大部分还在处理器为中心的设计理念当中。这种理念是以CPU(运算器+控制器)为中心展开的。其重要的特征是将存储器做为功能单纯的部件处理,将程序和数据放在存储器中,而将程序执行的一应环境因素都放到CPU一方。这样做的结果,使程序执行完全变成了一种被动的方式,使多个程序的交替或同时执行必须有第三方程序(也就是我们常说的操作系统OS)执行来进行调度。这种程序执行的方式产生了巨大的机时消耗,严重地影响了计算机效率的提高。也许我们常常会提出这样的问题:我的计算机软硬件不断更新换代,为什么速度提高不大?我可以肯定地告诉大家,这是系统软件管理方式的弊端。

如何解决OS管理方式造成的弊端?那就是尽可能地在程序执行中减少所谓系统程序的干预。十年前出现的以存储器为中心的计算机微体系结构设计理念,可以突破程序被系统程序调度执行的局面,让程序自主地到处理器上运行,自动地实现自我调度,从而避免了系统程序干预,因而可以极大地提高计算机的工作效率。

以存储器为中心的计算机微体系结构设计理念,是将程序中心的全部环境条件都放到存储器一边,形成包括程序、数据和执行环境条件的一个整体,叫存储单位。原先的CPU变成了一个执行程序的服务设备,叫执行单位。执行单位只负责每一个指令的执行,将执行的结果一律会送给执行程序所在的存储单位,不保留指令执行的任何结果。这样做的结果,形成了执行单位上的指令无关特性,非常有利于程序转移执行。

人们将能够执行程序的基本单位叫做核。所谓的多核就是在一个芯片上放置多个核,让多个程序可以同时执行。由于程序任务的不同,一个程序可能要在多个不同性质的处理器上转换执行,传统的以CPU为中心执行程序的设计方式,就成为了影响程序迅速转移执行的羁绊。原因是程序数据要频繁地在各个固定的核之间传输,还要等待OS(或协议程序)进行调度。在这一过程中,大量的机时被所谓的系统程序调度所占用了,因而使硬件的改善大部分被这种系统软件运行的时间湮没掉了。

以存储器为中心的设计理念,将存储单位和执行单位独立出来,让程序执行变成了一种服务模式。存储单位主动提出要何种处理单位提供服务,只要发出信号,空闲的处理单位就会与之结合立即执行程序。反之,当程序需要其它性质处理单位服务的时候,立即就可以与当前的处理单位断开,不影响程序到其它处理单位执行。这种程序执行的模式是一种动态的过程。其中程序和处理器之间能够根据需要,自由地连接和断开,因而这种计算机被称为动态计算机,其核心部分CPU被称为动态CPU。

动态计算机的程序执行方式,对传统的OS管理下的程序执行方式是颠覆性的。动态计算机的设计制作还处在初级阶段,但最核心部分的程序运行已经通过验证,程序调度执行速度之快,是目前OS管理方式所无法比拟的。如果这种设计方式完全成熟,传统的操作系统的绝大部分核心功能就会退出历史舞台。

2015-1-19

转载本文请联系原作者获取授权,同时请注明本文来自姜咏江科学网博客。

链接地址:http://blog.sciencenet.cn/blog-340399-860796.html

上一篇:图灵与冯·诺伊曼的区别

下一篇:算法时间复杂度与程序执行时间计算

计算机设计核心思想,科学网—计算机设计的两种理念,颠覆os的计算机 - 姜咏江的博文...相关推荐

  1. 我国计算机科学的发展源头要追溯到几年前,科学网—计算机新技术革命要求必须从源头做起 - 姜咏江的博文...

    在科研界有一句话,叫"站在巨人的肩膀上".在人类知识积累的过程中,这句话是真理.但这句话用的不是地方,也会产生运用不当的谬误,这就叫"具体问题,具体分析".在目 ...

  2. 冯诺曼伊体系 计算机五大逻辑,科学网—再谈冯·诺伊曼结构 - 姜咏江的博文

    再谈冯·诺伊曼结构 姜咏江 为了说明问题简单,我引用一段百度百科当中的文字和图: 冯.诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯.诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本 ...

  3. 计算机技术狂人叫什么,科学网-计算机科技创新需要狂人思维模式-姜咏江的博文...

    计算机科技创新需要狂人思维模式 "世界级"创新的科技发明,开始总是不被人认同和理解,这是正常的事情.许多大科学家出道之初,周围的人常称其为"狂人",对其&quo ...

  4. 计算机的科技创新,科学网—计算机科技创新需要狂人思维模式 - 姜咏江的博文...

    计算机科技创新需要狂人思维模式 "世界级"创新的科技发明,开始总是不被人认同和理解,这是正常的事情.许多大科学家出道之初,周围的人常称其为"狂人",对其&quo ...

  5. 计算机一个人,科学网—现在一个人能造计算机吗? - 姜咏江的博文

    现在一个人能造计算机吗? 姜咏江 自己一个人造计算机?说梦话吧!其实这已经成为了现实.当一二十年前出现了现场可编程器件FPGA之后,就有了一个人单独设计制造计算机的条件.FPGA器件借助现在已经存在的 ...

  6. 计算机内部总线和外部总线,科学网-怎样将计算机内部总线扩展为外部网络?-姜咏江的博文...

    怎样将计算机内部总线扩展为外部网络? 姜咏江 透明计算公示成果的第一条就是"将原来计算机的内部总线扩展为外部网络".现在我们来谈谈能不能将计算机内部总线扩展成外部网络. 1.什么是 ...

  7. 信息与计算机,科学网—信息与计算机(1) - 姜咏江的博文

    信息与计算机(1)信息的概念姜咏江 当今科学研究中使用最多的概念是什么?信息!然而信息却是那样地让人们困惑.有句话说:"把复杂的问题说简单了,那是学问:将简单的问题说复杂了,那是蒙人!&qu ...

  8. cmu计算机专业必修课程,科学网—西行记-8: CMU计算机系的本科教学体系 - 戚正伟的博文...

    CMU大学的计算机系是1965年成立,属于早期建计算机系的大学. 现在是计算机学院,在多个学科上有很大优势. 本科教学也有一些特点,整个课程360 units,换成我们国内的约90学分,其中计算机科学 ...

  9. r语言算巢式设计方差分析_科学网—巢式设计之R篇 - 林元震的博文

    巢式设计(Nested design),也称为嵌套设计或系统分组设计.把研究对象分成若干组,每组内又分若干亚组,每个亚组又有若干观测值的设计,称为巢式设计.根据因素数的不同,巢式设计可分为二因素(二级 ...

最新文章

  1. MySQL数据库字符集和整理
  2. mysql乐观锁总结和实践
  3. 20天拿到美团快手小米搜狐跟谁学offer
  4. Windows Server 2016 Technical Preview 5 X64 中文版下载地址
  5. Python 技术篇-使用pygame库实现音乐播放实例演示,带漂亮小界面!
  6. JS中绑定事件顺序(事件冒泡与事件捕获区别)
  7. (9)MSP430F5529 定时器Timer_A
  8. JIRA中vm后缀文件语法说明
  9. 玩玩短视频平台和网课平台开发1——腾讯云对象储存COS的初步配置
  10. 中的listeners_C++中Future和Promise的一种简单实现
  11. mysql5.6 慢查询_MySQL5.6 如何优化慢查询的SQL语句
  12. jquery audio没有声音_Python实用案例编程入门:第十四章 通过声音控制您的计算机
  13. TOP 1%的软件工程师和其他 99%有什么不同?
  14. jQuery 中的 attr
  15. 凝思系统激活序列号_凝思6.0虚拟机搭建--遇到的问题
  16. 艺考生冬日穿泳装秀三围
  17. c语言表白情书作品,程序员一句话表白情书
  18. win32 打印机任务管理的 node 模块 (3)详解Win32 Spooler API 获取打印机列表及状态
  19. Dubbo3.0 整合 Nacos
  20. 最全的Go资料汇总和最走心的学Go建议

热门文章

  1. 未来的计算机事业作文600字,模块计算机考试的感想
  2. NPN三极管和PNP三极管的工作原理
  3. Android Studio教学视频118集(共18.2G)
  4. 如何用linux搭建简单的论坛
  5. 交互式多模型算法IMM——机动目标跟踪中的应用
  6. 分享 最全的拉丁语系名字列表,详细到了字根出处,男孩们以后别再起什么Kevin, Mike, Jack了
  7. 视频号9大变现模式,总有一个适合你
  8. java实现图片验证码_JAVA实现图片验证码
  9. 谁是IPFS中国区“奶王”?IPFS.FUND周欢当仁不让
  10. XMLHttpRequest.send()