|||
计算机设计的两种理念
姜咏江
关于图灵和冯·诺伊曼计算机,我们是否可以总结为图灵的计算机思想由冯·诺伊曼等人具体实现了?不要让计算机历史上那些说不十分清楚的问题,耽误了我们今天的行程。
在计算机体系结构当中,没人能够颠覆程序数据存储的五大版块的逻辑结构(冯·诺伊曼结构),但不等于不能颠覆其中的某些方法,也许叫做改进更为恰当。
依照计算机逻辑的五大结构,去除输入输出,以哪一部分为中心进行设计,这是计算机核心设计的理念问题。这个问题关系到计算机工作方式与工作效率。直到目前为止,计算机核心设计的主流大部分还在处理器为中心的设计理念当中。这种理念是以CPU(运算器+控制器)为中心展开的。其重要的特征是将存储器做为功能单纯的部件处理,将程序和数据放在存储器中,而将程序执行的一应环境因素都放到CPU一方。这样做的结果,使程序执行完全变成了一种被动的方式,使多个程序的交替或同时执行必须有第三方程序(也就是我们常说的操作系统OS)执行来进行调度。这种程序执行的方式产生了巨大的机时消耗,严重地影响了计算机效率的提高。也许我们常常会提出这样的问题:我的计算机软硬件不断更新换代,为什么速度提高不大?我可以肯定地告诉大家,这是系统软件管理方式的弊端。
如何解决OS管理方式造成的弊端?那就是尽可能地在程序执行中减少所谓系统程序的干预。十年前出现的以存储器为中心的计算机微体系结构设计理念,可以突破程序被系统程序调度执行的局面,让程序自主地到处理器上运行,自动地实现自我调度,从而避免了系统程序干预,因而可以极大地提高计算机的工作效率。
以存储器为中心的计算机微体系结构设计理念,是将程序中心的全部环境条件都放到存储器一边,形成包括程序、数据和执行环境条件的一个整体,叫存储单位。原先的CPU变成了一个执行程序的服务设备,叫执行单位。执行单位只负责每一个指令的执行,将执行的结果一律会送给执行程序所在的存储单位,不保留指令执行的任何结果。这样做的结果,形成了执行单位上的指令无关特性,非常有利于程序转移执行。
人们将能够执行程序的基本单位叫做核。所谓的多核就是在一个芯片上放置多个核,让多个程序可以同时执行。由于程序任务的不同,一个程序可能要在多个不同性质的处理器上转换执行,传统的以CPU为中心执行程序的设计方式,就成为了影响程序迅速转移执行的羁绊。原因是程序数据要频繁地在各个固定的核之间传输,还要等待OS(或协议程序)进行调度。在这一过程中,大量的机时被所谓的系统程序调度所占用了,因而使硬件的改善大部分被这种系统软件运行的时间湮没掉了。
以存储器为中心的设计理念,将存储单位和执行单位独立出来,让程序执行变成了一种服务模式。存储单位主动提出要何种处理单位提供服务,只要发出信号,空闲的处理单位就会与之结合立即执行程序。反之,当程序需要其它性质处理单位服务的时候,立即就可以与当前的处理单位断开,不影响程序到其它处理单位执行。这种程序执行的模式是一种动态的过程。其中程序和处理器之间能够根据需要,自由地连接和断开,因而这种计算机被称为动态计算机,其核心部分CPU被称为动态CPU。
动态计算机的程序执行方式,对传统的OS管理下的程序执行方式是颠覆性的。动态计算机的设计制作还处在初级阶段,但最核心部分的程序运行已经通过验证,程序调度执行速度之快,是目前OS管理方式所无法比拟的。如果这种设计方式完全成熟,传统的操作系统的绝大部分核心功能就会退出历史舞台。
2015-1-19
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-24 01:06
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社