对计算机及计算机科学体系的理解

如题所述

计算机科学与技术的体系
计算机是本世纪最重大的科学技术成就之一,它已成为现代化国家各行各业广泛使用的强有力信息处理工具。计算机使当代社会的经济、政治、军事、科研、教育、服务等方面在概念和技术上发生了革命性的变化,对人类社会的进步已经并还将产生极为深刻的影响。目前,计算机是世界各发达国家激烈竞争的科学技术领域之一。

电子计算机虽然叫做“计算机”,它的早期功能主要也确实是计算,但后来高水平的计算机已远远超越了单纯计算的功能,还可以模拟、思维、进行自适应反馈处理等等,把它叫做“电脑”更为合乎实际。由于电子计算机功能的飞跃性发展,应用于生产和生活的各个方面,直接和显著地提高了生产、工作和生活的效率、节奏和水平,在软科学研究和应用中它也起着关键作用,因此它已被公认是现代技术的神经中枢,是未来信息社会的心脏和录魂。在这种背景下,从对计算机的技术研究,又上升到了对计算机的科学研究,于是,计算机科学逐渐建立起来了。

尽管在1946年世界第一台电子计算机ENIAC就已经问世,但是直到1963年美国斯坦福大学Forsythe教授才引入“计算机科学”这个术语。不过对于它的含义,在不同发展阶段的不同背景的人们常持有不同的理解。

D.E.Knuth认为:“我中意的描计算机科学的办法是把它看作是算法的学问。算法是精确定义的一系列规则:指出怎样从给定的输入信息经过有限步骤产生所求的输出信息”。关于算法的学问,主要涉及研究算法的理论、执行算法的机器、描述算法的语言以及对于具体算法的分析。这种提法大体反映了50年代计算机硬软件取得的成就,包括了用物理形式实现的各种计算设备以及算法、程序和程序设计语言等。然而,仅从这些方面尚未能说明计算机科学的本质。

P.Wegner强调计算机科学是一种“关于信息结构转换的科学”,他认为“工业革命中起核心作用的是‘能量’;在计算机革命中它将被‘信息’反取代。”显然,把计算机科学看作是研究信息结构的表示、变换、传输、利用,这是很大的进步。它反映了计算机实践的信息处理内函,强调了计算机科学的数学统一性。60年代对自动机理论、形式语言理论、运算语义和数学语义理论进行了抽象研究,这些都导致人们把计算机科学作为某种数学模型的抽象演绎来研究。

70年代后,人们又提出计算机科学是计算机工程技术的理论基础的观点。例如对软件工程的理论研究;对知识表示、存贮和利用的研究等。这反映了对创新软件工艺所做的努力,从而把计算机科学当作技术科学来研究。总之,我们认为计算机科学正是在于寻求一个科学基础,在这个基础上可以从事包括计算机设计、计算机编程、信息处理、问题的求解算法、运算过程本身以及它们之间互相关系的研究。

近年来,人们逐渐意识到“计算机科学”一词不能概括社会信息化提出的要求。1986年10月在国际信息处理联合会召开的第十届世界计算机大会上,Bjoner、Nygaard等人提出用“信息学(Informatics)”代替“计算机科学”的观点。他们认为“计算机科学”含义过窄,而“信息学”才是在计算机不断创新的环境中发展起来的,象数学、物理学那样的基础科学。这些观点值得我们充分注意。

事实上,计算机科学的萌发比这一术语在文献中出现的时间要早得多;它的产生发展都与计算机器的设计、制造、实践紧密相关。

计算机的发展留下一些明显的里程碑,人们把计算机分成若干代。不过关于划代的精确年份尚无一致意见。有人按器件演变来划分,有人则按第一个十年、第二个十年……来划分。下面是文献上最新的划代情况。

第一代计算机(1951-1958):硬件上以电子管(1906年发明)为逻辑元件。鉴于ENIAC的使用范围比较窄,技术上还不能体现一代机的特征,所以以1951年出现的UNIVAC为标志。该机在1952年总统选举中通过分析5%选票就断定艾森豪威尔将击败中蒂文森,从而使美国舆论明显地意识到进入了“计算机时代”。第一代计算机的系统软件还很少,不得不用机器语言或汇编语言编写程序。而不同计算机的这些语言又有较大差别。此外,通常只允许一名专业人员操作机器,CPU的利用率还很低。

第二代计算机(1959-1964):硬件上以晶体管(1948年发明)取代了电子管,机器体积减小而可靠性提高。磁盘开始使用。软件开始用操作系统和高级语言。因此非专业人员开始使用计算机,除数据处理外也用于过程控制。

第三代计算机(1965-1970):硬件上用中小规模集成电路取代了晶体管,使计算机体积进一步缩小而可靠性更高。操作系统更加完善,高级语言更加实用。数据通信把用户远程终端与远程计算机联系起来,出现了大范围网络。

第四代计算机(1971-现在):进入了大规模集成电路的微处理器时代。微型计算机大量涌现。中大型机也从CPU为中心发展为以存贮器为中心的系统结构,并开发了多处理机系统。软件技术扮演越来越重要的角色,软件工程进入实用化。数据库技术和网络技术都取得很大的发展。

目前,美国、日本、西欧正集中人力物力开发新一代计算机,它将从数据处理转为知识处理,从存贮计算数据转为推理和提供知识。

计算机科学理论来源于计算机工程技术,并指导计算机实践向更高阶段前进。

计算机科学的创始人公认为是英国数学家图灵(Alan Mathison Turing,1912-1954),1936年他提出图灵机模型。我们知道普通计算机都是一种自动计算装置,理论上曾提出多种计算模型,其中最有普遍性而且功能最强的模型就是图灵机。普通计算机的存贮器是有限的,而图灵机的存贮器是无限的。业已证明普通计算机的计算能力不会超过图灵机。图灵机只能计算递归函数,普通计算机大量遇到的正是这类函数。但是还存在图灵机不能计算的非递归函数,图灵本人就找到过这样的函数。普通计算机肯定也不能求解这类问题。此外,由于实际机器的许多物理限制,即使理论上由图灵机可解的一些问题,在普通计算机上也是“实际上”不可解的。

为了纪念图灵对计算机科学所做的贡献,美国计算机协会(ACM)设立了图灵奖。从1966年开始每年奖励在计算机科学上获得突出成就的科学家,这被认为是计算机科学领域的最高荣誉。

计算机科学研究受到各国政府的重视,许多国家都制定了长期发展规划。许多著名的计算机公司,如IBM公司,AT&T的贝尔(Bell)实验室都对计算机科学的发展做出了重要的贡献。

目前,计算机科学的研究领域可以概括为以下七个方面:

1.计算机系统结构的研究

传统的计算机系统基于冯诺依曼的顺序控制流结构,从根本上限制了计算过程并行性的开发和利用,迫使程序员受制于“逐字思维方式”,从而使程序复杂性无法控制,软件质量无法保证,生产率无法提高。因此,对新一代计算机系统结构的研究是计算机科学面临的一项艰巨任务。人们已经探索了许多非冯诺依曼结构,如并行逻辑结构、归约结构、数据流结构等。

智能计算机以及其它新型计算机的研究也具有深远的意义,例如光学计算机、生物分子计算机、化学计算机等处理方法的潜在影响是不可忽视的。计算机构造学正在发展着。

2.程序设计科学与方法论的研究

冯诺依曼系统结构决定了传统程序设计风格的缺陷,逐字工作方式,语言臃肿无力。缺少必要的数学性质。新一代语言要从面向数值计算转向知识处理,因此新一代语言必须从冯诺依曼设计风格中解放出来。这就需要分析新一代系统对语言的模型设计新的语言,再由新的语言推出新的系统结构。

3.软件工程基础理论的研究

软件工程的研究对软件生存期作了合理的划分,引入了一系列软件开发的原则和方法,取得较明显的效果。但未能从根本上解决“软件危机”问题。

软件复杂性无法控制的主要原因在于软件开发的非形式化。为了保证软件质量及开发维护效率,程序的开发过程应是一种基于形式推理的形式化构造过程。从要求规范的形式描述出发,应用形式规范导出算法版本,逐步求精,直至得到面向具体机器指令系统的可执行程序。由于形式规范是对求解问题的抽象描述,信息高度集中,简明易懂,使软件的可维护性得到提高。

显然,形式化软件构造方法必须以科学的程序设计理论和方法为基础,以集成程序设计环境为支持。近年来这些方面虽取得不少进展,但距离形式化软件开发的要求还相差甚远。因此,这方面仍有不少难题有待解决。

4.人工智能与知识处理的研究

人工智能的研究正将计算机技术从逻辑处理的领域推向现实世界中自然产生的启发式知识的处理,如感知、推理、理解、学习、解决问题等。为了建立以知识为基础的系统,提高解决问题的综合能力,以启发式知识表达为基础的程序语言和程序环境的研究就成为普遍关心的重要课题。

人工智能还包括许多分支领域,如人工视觉、听觉、触觉以及力觉的研究,模式识别与图象处理的研究,自然语言理解与语音合成的研究,智能控制以及生物控制的研究等。总之,人工智能向各方面的深化,对计算机技术的发展将产生深远的影响。

5.网络、数据库及各种计算机辅助技术的研究。

计算机通信网络覆盖面的日趋扩大,各行业数据库存的深入开发,各种计算机辅助技术如CAD、CAM、CAT、CAE、CIM(计算机集成化制造)等的广泛使用,也为计算机科学提出许多值得研究的问题。如编码理论,数据库的安全与保密,异种机联网与网间互连技术,显示技术与图形学,图象压缩、存贮及传输技术的研究等。

6.理论计算机科学的研究

自动机及可计算性理论的研究,例如窗灵机的理论研究还有许多工作可作。理论计算机科学使用的数学工具主要是信息论、排队论、图论、符号逻辑等,这些工具本身也需进一步发展。

7.计算机科学史的研究

在计算机科学的发展史上,有许多对认识论、方法论是很值得借鉴的丰富有趣的史料,它们同样是人类精神宝库的重要财富。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-22

科普中国·科学百科:计算机体系结构

相似回答