现在和将来的需要
由于半导体技术的进步以及对计算机系统的需要,计算机系统可能获得新的应用。然而,要设计和研制适合于具体需要的计算机系统,则有许多困难。如果要在新的应用中获得成功,必须在今后几年里克服这些困难。这里考虑三个主要需要的领域,即信息管理系统、数据通信,以及控制应用。
信息管理系统在计算机短暂的历史中,我们已经体会到:信息具有实在的价值,可以看作一种商品。利用这种商品的能力,是现在社会中一件有价值的主要任务。我们可以设想有许多各种类型的数据库,其中好些已经存在。
硬件和软件的成本,已经高到限制了大型应用项目和大型计算机的发展。数据库管理软件的改进以及它可用到较小计算机中,就可花较少的钱为更多的用户发展数据库。
计算机存贮器最终将为家庭、商业,以及工业部门的数据库所用,这是可以想象到的。我们可以预料,信息存贮包括报纸、必威体育备用地址 、杂志、音乐、书信、备忘录、文件、课本、小册子、书籍、商品零售目录、电话簿以及大事记等。上述应用有些已经实现,但大多数还不普及。在计算机系统可用到这些方面和类似方面之前,必须克服成本和性能的障碍。这些障碍单单依靠器件工艺发展不可能克服,它们都要求计算机系统结构的进步。
数据通信数据通信是计算机体系结构最便当的领域之一,系统帮助终端用户与其他用户联系,用户与程序或过程联系,以及过程与另外的过程通信。七十年代便已看到计算机/终端网络的建成,这种网络是以电话技术为基础设计的。现在由制造厂家提供的网络体系结构,包括了对终端从属、网络控制、错误恢复以及外厂设备附件的各种问题的解决办法。没有哪一种解决办法是标准的,而且希望得到一种合适的标准也未必可能,因为这是非常复杂和激烈竞争的领域。
数据通信的主要技术基础是电话线。它是上个世纪发明的,带宽方面受到限制。计算机
信道速度,比通常由贝尔系统提供的电话线路速度约高0.3~0.4个数量级。结果,系统设计人员竭尽全力去优化电话线路的利用。系统一直在增加包括微波和卫星传送以及超长距离“骨干”中继线等通信手段,但在不久将来要取代电话线是不可能的。
分散不仅意味着一个程序能够访问许多不同的处理机,而且也意味着,不同地方的用户也可访问一个处理机以及与它连结在一起的数据库。共享不是一个新的概念。过去发展分时是由于需要以合理的成本获得原始的(未加工的)计算能力,最初,数据共享只被看作一种次要的好处。今天,经济性已大大改善,达到了通过微型、小型和中型计算机可以以较低成本有效地利用原始计算能力的程度。因此,减少了仅为计算能力而共用一台计算机的需要。由于专用结构成本更低,很多以前的分时用户都已购买专用计算机。分时计算机不能满足用户高峰计算负荷时,常常采用这种解决办法。这就提出了重点从大型分时计算机向较小的专用设备转移的可能性。我们相信,较小计算机一般在多计算机的组织中将被连结在一起。
分散系统的处理机通信距离极远。短距离数据通信使用串行传输技术,这种传输技术具有通信规约和计算机信道速度功能或接近计算机信道速度的功能。这些短距离网络增加了计算机体系结构的财富,以支持分散系统、存贮器分级、微型计算机、小型计算机的混合体,以及大型计算机、特殊资源和促进计算机“群”的发展。短距离网络的问题与长距离网络一样,不同的是,短距离网络的规约比较简单。主机和磁盘控制器数目的不断增加,已在许多中心设备里产生了原始的后端网络。这些低级的分散系统,使用了六十年代初期为了不同目的而设计的标准输入/输出通道。今后可能会制订一项通道设计标准化的联邦法律,但是,除非它也出现一系列新的优良通道,否则还是不太可能去解决接口问题。
控制应用要预测八十年代控制应用的问题,焦点在将来的自动化工厂。今天,使制造过程某项特定的工作自动化,例如单机自动化、自动测试和检查、过程控制以及数据采集等,那是很平常的。要使工厂自动化,则要求未来的系统把这些单一的功能集中于生产控制系统中。将来的工厂系统将不得不与其他公司的数据处理系统相互作用,以便平衡生产计划、材料以及销售需要。
实时控制,对系统体系结构提出了环境方面的要求。监视操作必须是交互性的,以便允许人们做出必要的决定。工厂恶劣的环境,会束缚系统结构和设备性能。系统需要完成重复而危险的作业,目前这种作业则是由人来完成的,为此务必提出新的系统。
用户接口
一个系统是“易用”,“难用”或者“复杂”,是由人主观判断的。而他们对容易的看法大多数取决于他们的经验和所受的训练,因而并不一致。虽然如此,我们感到某些原则还是可以决定的,有助于用户选择喜欢的系统。我们把这个范围分成三个课题:容易使用,能配合用户的设备,以及标准化。
容易使用系统设计必须与人和工作环境相匹配。噪声、亮度、反差、标签以至按钮尺寸的设计,都必须考虑用户和打算做何种应用,所用的术语和语言必须是非计算机专业人员熟悉的和易于学习的。八十年代中,我们将不得不改变我们对响应时间的概念,即从越快越好到考虑人和生产率。
能配合用户的设备我们期待大量扩展计算机专业人员和其他人员的有效用户设备。这些设备将提供给非程序的或说明的范围,增加生产率。
今后很多用户对程序规格或执行细节几乎不加重视。非程序规格技术将有利于这些用户。目前正在按照一种基本上是非程序方法来规定复杂的数据库询问。非程序语言用于特殊应用领域时,很可能是成功的。很多不愿意学或者不能学习即使是最简单的程序设计语言或指令语言的人,将接受按用户要求做的接口,或者多选择型接口。
今天广泛使用的文本编辑程序,乃是为了用于一种打字机为典型输入输出设备的环境而设计的。那种环境正在迅速改变,到八十年代我们可望几乎每种交互终端都围绕显示技术而建立起来。
人们在适用于最终用户的询问设备方面兴趣更大。简单的问讯处理机,不需要很多专门写入程序。可以期待出现各种描述所要求信息的文本的和图示的方法。未来的系统,将允许在多重数据库里方便地生成新的数据群和询问。询问系统的这种能力正在扩充,它是用方便的和易理解的方式进行复杂询问来达到的,并将扩充包括报告的书写功能。这些技术的发展,将会触发整个新的计算机系统发展。
标准化由于一个企业的数据愈来愈多地处于一个计算机系统的控制之下,以及越来越多的工作站(或家庭)直接受到信息处理能力的支持,通过合作来增加价值的机会将会出现。这种合作包括以某种方法共享数据库和程序,其方法或者是远程访问,或者是副本交换。它包括了第一次设计或安装个别设备或装置时未考虑到的协作。这种协作意味着,搬运和转换的程度比目前的要高得多。
若用户和生产厂家在标准化方面不做出努力,就不可能得到最大的价值和容易使用,这对我们似乎是很清楚的,问题是标准化要搞到什么程度,使之它既不会放慢所期望的功能增长速度,又可引进新的能力。
系统质量
计算机的许多特性,是由系统元件相互作用来控制,而不是由任何一个元件的功能来控制的。这些特性是可靠性、安全性和价格性能比。
可靠性在今后十年中,元件的平均初次出故障时间和平均修复时间必须大大改进,大多数计算机所用的器件失效率看来正在下降。硬件容错技术,可解决很多遗留下来的问题,可是,关于软件错误控制还不是十分理想。尽管每个软件模块出错率已经减少,但是所用模块的数目正迅速增加,其增加的速率甚至足以导致系统的可靠性没有实质性改进。因此,不得不寻找各种技术,使得软件和硬件两方面都可更广泛地进行自动诊断。用户将会要求广泛利,失效弱化设计。当向联机操作方面发展时,他们要有更大的系统完整性和可用性。系统必须设计得可提供各种数据,以便迅速地隔离开失效的元件,并识别哪些元件应当换掉。必须研究软件和硬件可以远距离维护的设计系统问题。当系统的规模和复杂程度增加,以及相互连结的装置数增加时,把系统的某一部分失效或不能使用作为正常的而不是例外的情况,对于一个设计就变得更为重要。
过去,假若任何元件失效,整个系统便停下来,直到失效的元件或是修好或是拿掉,这种设计是合理的。而到八十年代,这将是绝对不能接受的。一个遥远的或许是洲际的系统,它的某个部分不在运行或者不在正确运行,常常是很可能的。系统必须设计得可以处理这种情况,并对网络剩余部分继续服务。在许多系统中,提供另外的装置、通路以及元件,以便最终用户从系统元件的失效中隔离开来,是很重要的。
今天的系统中有这种情况,即一次故障恢复过来是可能的,但只能从头重新开始一个过程。不幸,这种情况出现得太经常了,尤其是在一个系统经受不断改变时,如功能或硬件的增加或是一种应用的修改等。八十年代,系统设计人员对重新开始问题不得不多加注意。
安全性大家越来越关心数据库的保密性和可能的错用,加上速度和访问数据库的能力,以及它们之间共同数据连结的增加,都着重要求在安全性、保密性、完整性以及系统能提供的权力方面有实质性的改进。即使大部分计算机设备的误用可能确实为授权的用户所造成,但是计算机系统设计人员给予公众适当的保证也是非常重要的。
最大的安全性问题是缺乏用户对安全性和保密性的理解。今天唯一存在的高度发展模型在军事方面,这些模型在商业方面自然不能应用。硬设备如保护环,对发现执行中的错误是有用的,管理的安全性、保密性、可查性以及防止欺骗和检测方面有些帮助。在这个领域内,设计人员不得不帮助适当发展一些合适的机械。
目前存在的一个重要问题,是对任何系统的安全性水平都无法证明。这方面的突破,将大大有助于调整已提出的和现在已有的安全设施,因而会大大有助于达到所需要的安全程度。在这方面,我们还可能看到一种新的证明方法,其程序只做些公开的事而不泄漏信息。
价格性能比价格性能比的改进,将来自两个方面。技术和系统结构。我们相信,利用超大规模集成电路价格性能比潜力的主要问题,是决定把什么东西放在电路片上。随机逻辑价格并不便宜,但随着大规模集成电路的出现,使用多重微处理机来构成较大的系统将是很有效的。制作更完善微处理机或算术/逻辑单元电路片的技术,可推广到超大规模集成电路。在大型主机系统的微型结构中,一个多微机装置使用集成度达10万个门的电路片,可能是困难的。总之,要发挥超大规模集成电路的潜力,必须依靠新的系统结构。
今天的多重处理系统,当处理机数目超过2台时,其效率的增加是非常有限的。
研究领域
我们强调了今后十年中似乎正在作为技术上努力方向的重要领域正在出现的问题的范围。在我们能够继续发展这些工作之前,有一些要求在理论上有所进步。这些范围我们在这里扼要地加以介绍和阐述。
数据结构的适用性目前的计算机系统只适用于少数几种数据,通常,它们仅限于整数、字符、浮点数和由它们组成的数组。假若计算机系统能够直接适于更多成熟的数据结构的话,那么,若干优点便有可能得到利用。但是,我们必须首先回答如下几个问题:
1. 什么样的结构是重要的?它们怎样能够被表示出来以及什么样的算法可以结合起来。以便处理它们?
2. 一种体系结构如何设计以便新的数据结构可以方便地加于它的指令系统?
3. 一种系统结构的数据结构和原始指令将是什么呢?尤其是,若我们从头到尾开发一种体系结构的话,我们有没有一种方法去决定什么原始指令和数据结构能够去满足给定的可靠性、可用性、可维护性以及性能规格呢?
算法设计算法、计算机结构以及数据结构都是紧密相关的课题。对于一种给定的计算机结构,我们必须仔细地选择一种算法和相适应的数据结构。仅当所有这些都很好地匹配时,结果才能高效率处理,对那些具有特别限制的系统(例如高速、限定体积和限定存贮量),计算机结构、算法以及数据结构怎样互相发展,以达到预期的目标?算法受到普通计算机结构影响的程度如何?如果新型的和不寻常的计算机结构在今后十年中会有的话,那么,算法能否重新设计以便有效地利用这些结构呢?
形式分析新的数学技术最近已经用于解决模拟今后十年某些实际问题的理论问题。例如,近来的计算机文献,包括安全系统的理论处理、计算机网络的程序加工、网络的互联结构、分布系统的计算机控制、资源管理方针、同步和连锁技术以及防止死锁的技术等。虽然理论处理要给出我们面临的实际问题的最终回答是不可能的,但是这种研究对建立解决实际问题的基础是必不可少的。引人注意的是,计算机研究的数学,往往不同于传统和算术范围。它常常与组合理论、描述算术、图论以及网络理论等相结合。将来,理论的发展主要取决于这些领域在学院课程中如何更好地发展。
可靠性研究那些将会改进系统(特别是软件)可靠性的技术,需要大量的理论工作。这里所讨论的软件工程,对发展正确的软件是一种重要的工具。另外,需要技术来改进系统的可靠性,在硬件和软件发生意外故障时仍能继续工作。系统容错和错误恢复理论,目前十分薄弱。
结论
上述所讨论的问题即使仅仅是七十年代遗留下来的问题,但是,已可使人感到八十年代计算机系统结构的问题是够多的了。工业已经达到成熟而普及的水平,即问题需要并且可以在发展中逐步加以解决而不必采用革命的方法。计算机结构已发展到可以高度互连的共享与分散单元系统。尽管资源共享与分散常常相互冲突,然而适应资源共享与分散的体系结构目前正在出现。最后,安全、可靠性以及易用问题仍然是要求解决的基本问题。
[本文选自Computer1978年9月20~28页。何迺贤摘译]