第3章 3个学科形态_第1页
第3章 3个学科形态_第2页
第3章 3个学科形态_第3页
第3章 3个学科形态_第4页
第3章 3个学科形态_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章3个学科形态

抽象、理论和设计是计算学科中的3个学科形态,它反映了人们从感性认识到理性认识,再由理性认识回到实践的认识过程。本章分别从一般科学技术方法论和计算学科的角度对抽象、理论和设计3个学科形态进行论述,并以“学生选课”为例,按“3个学科形态”对相关概念进行划分。然后,以计算机语言的发展为主线,介绍学科的相关内容,包括自然语言与形式语言、图灵机和冯·诺依曼计算机、机器指令与汇编语言、计算机的层次结构、虚拟机、高级语言、应用语言和自然语言的形式化问题等。最后,给出计算机科学14个分支领域抽象、理论和设计3个学科形态的主要内容。3.1引言“计算作为一门学科”报告在确定计算学科二维定义矩阵的“横向”关系时,最初有两种方案:一种是“模型(Model)”与“实现(Implementation)”相对;另一种是“算法(Algorithm)”与“机器(Machine)”相对。显然,以上两种方案都可以反映计算学科研究的基本内容。但是,在对分支领域有关概念归属于何种形态时,出现了分类界限模糊的问题。后来,专家们认识到,计算学科的基本原理已被纳入理论、抽象和设计3个过程中,学科的各分支领域正是通过这3个过程来实现它们的目标。因此,选择了3个过程作为计算学科二维定义矩阵的“横向”内容,并将其确定为学科的3个学科形态,也即从事学科领域工作的3种文化方式。抽象、理论和设计3个概念源于一般科学技术方法论,是计算学科中的3个最基本概念。为便于理解,我们分别从一般科学技术方法论的角度、计算学科的角度对3个学科形态进行论述,并对一个关于“学生选课”实例的相关概念进行学科形态的划分。3.2一个关于“学生选课”的例子

众所周知,人类的认识过程是从感性认识到理性认识,再回到实践中去的过程。感性认识是采用一定的方式,以可感知的文字或图形等形式对客观事物的特征进行描述,并通过构建模型而实现。感性认识包括两个方面的内容:一方面是感性认识的认识方法(或工具)的建立;另一方面是采用已建立起来的认识方法来实现对客观世界的感性认识。

在计算领域,感性认识、理性认识、实践分别与更为具体的抽象、理论和设计3个学科形态相比应。下面,我们举一个“学生选课”的例子,为计算机初学者学习和掌握学科方法论中最基本的内容——感性认识(抽象)、理性认识(理论)和实践(设计)的学习作个铺垫。例3.1现给出“学生”和“课程”两个实体,它们的联系为:一个学生可以选修若干门课程,每门课程可以被任一学生选修。请建立一个信息管理系统,以实现对“学生选课”这一信息的管理。对“学生选课”例子的感性认识现给出“学生”和“课程”两个实体,它们的联系为:一个学生可以选修若干门课程每门课程可以被任一学生所选修请建立一个信息管理系统,以实现对“学生选课”这一信息的管理。概念模型用于信息世界的建模,是客观世界到信息世界的抽象。概念模型中的主要概念有:实体、属性、码、域、联系等。实体:客观存在并可相互区别的事物。属性:实体所具有的某一种特性。码:能惟一标识实体的属性集。域:属性的取值范围。联系:指不同实体集之间的联系。两个实体之间的联系分为:一对一(1:1)、一对多(1:N)、多对多(N:M)3类。

E-R模型(Entity-Relationship)1976年,美籍华人陈平山(PeterPingshanChen)提出的用E-R模型来描述客观世界并建立概念模型的抽象方法。实体用矩形表示,属性用椭圆形表示,联系用菱形表示,实体间的联系有一对一(1:1)、一对多(1:N)和多对多(N:M)3种情况。要实现对客观事物的感性认识,必须将客观世界(在例中客观世界就是“学生选课”)抽象为信息世界。图3.1学生选课E-R图关系模型概念模型不是机器世界所支持的数据模型,而是客观世界到机器世界的一个中间层次概念模型还需要转换成机器世界能支持的数据模型。在数据库领域中,数据库管理系统(DBMS)能支持的数据模型有:层次、网状、关系以及面向对象等数据模型。关系模型支持的是一种二维表结构的数据模型,它由关系数据结构、关系数据操作和关系数据的完整性约束条件三部分组成。其中关系就是一张二维表。概念模型(E-R图)——》关系模型转换:学生(学号,姓名,年龄,性别);课程(课程号,课程名);学生选课(学号,课程号,成绩)概念模型是对现实原形的理想化,因此,将概念模型直接转换成关系模型,还不能说完全达到了对“学生选课”这一客观世界的理性认识,换言之,就是所转换的关系模型有可能还存在问题。

感性认识中存在的问题在学生(学号,姓名,年龄,性别)关系中增加系名、系主任等属性时,即学生关系变为(学号,姓名,年龄,性别,系名,系主任)时,便开始出现以下问题。插入异常——一个系刚成立,系主任已确定,但还未招学生时,则无法将系名和系主任的名字插入到数据库中(学生实体中学号为码,码不能缺)删除异常——当一个系的学生全部毕业,删除所有毕业生时,系名和系主任的名字也就删除了冗余太大——由于一个学生对应一个系名和系主任的名字,则该系系名和系主任的名字要重复。关系模式的形式化定义关系模式(R)是一个四元组,即R=<U,D,dom,F>其中:(1)U表示关系中所有属性的集合;(2)D表示属性集合U中属性所来自的域;(3)dom是属性到域的映射;(4)F是属性集合U上的一组数据依赖。

关系模式的形式化定义由于D、dom与模式设计关系不大,可将关系模式简单地表示为一个二元组

R=<U,F>1NF的定义:作为一张二维表的关系,每一个分量必须是不可再分的数据项,满足这个条件的关系模式就属于1NF。2NF的定义:若R∈1NF,且每一个非主属性不存在对码的部分函数依赖,则

R∈2NF。在定义中,非主属性为不属于码的那些属性。3NF的定义:若R∈2NF,且每一个非主属性不存在对码的传递函数依赖,则

R∈3NF。对“例子”问题的理性认识例子最初是属于1NF、2NF、3NF,但是当在学生属性集U中增加系名和系主任后,就出现了这样的传递函数依赖:学号(码)→系名,系名→系主任。因此,它就不属于3NF了。不属于3NF的所有关系模型都会出现插入异常、删除异常和冗余的问题。还必须依靠分解算法对模式进行分解,并满足3NF的要求。在数据依赖理论的指导下,可完成模式的分解任务。就例子而言,可以再划分一个关系,即系(系号,系名,系主任名),从而满足了关系模式规范化的要求,实现了对例子的理性认识。从概念模型向满足规范化要求的关系模型的转换,其实质是认识过程由感性认识(抽象)上升到理性认识(理论)的过程,这个过程包含两方面的内容:一方面是有关理论的建立;另一方面是如何在理论的指导下,在具体的设计中,实现对客观世界的理性认识。前者是对科学研究而言的,而后者是对工程设计而言的。“学生选课”系统的工程设计建立起正确的关系模型后,还要根据具体的关系数据库管理系统对该模型进行定义,下面,给出定义该模型的SQL语句:CREATETABLESTUDENT(SNOCHAR(9)NOTNULL,SNCHAR(16),SAGEINT,SEXCHAR(1));“学生选课”系统的工程设计CREATETABLECOURSE(CNOCHAR(6)NOTNULL,CNCHAR(22));CREATETABLESC(SNOCHAR(9)NOTNULL,CNOCHAR(6),GRADEINT);CREATETABLEDEPARTMENT(DNOCHAR(9)NOTNULL,DNCHAR(16),DEANCHAR(8));“学生选课”系统的工程设计接下来,便可以进行数据的输入、修改和查询,从而完成对“学生选课”的管理。一个简单的查询:查询选修了“数据库”课程,并且成绩在90分以上的所有学生的学号和姓名。SELECTSNO,SNFROMSTUDENT,SC,COURSEWHERECN='数据库'ANDGRADE>90;系统运行以上语句后,即可在屏幕上显示所求的结果。

3.3抽象形态3.3.1一般科学技术方法论中的抽象形态在一般科学技术方法论中,科学抽象是指在思维中对同类事物去除其现象的、次要的方面,抽取其共同的、主要的方面,从而做到从个别中把握一般,从现象中把握本质的认知过程和思维方法。科学抽象是科学认识由感性认识向理性认识飞跃的决定性环节。抽象源于现实世界,源于经验,是对现实原形的理想化,尽管理想化后的现实原形与现实事物有了质的区别,但它们总是现实事物的概念化,有现实背景,从严格意义上来说还是粗糙的、近似的。因此,要实现对事物本质的认识还必须通过经验与理性的结合,完成从抽象到抽象的升华。尽管科学抽象还有待升华,但它仍然是科学认识的基础和决定性环节。学科中的抽象形态包含着具体的内容,它们是学科中所具有的科学概念、科学符号和思想模型。3.3.2计算学科中的抽象形态理论、抽象和设计是我们从事本领域工作的3种主要形态(或称文化方式),它提供了我们定义计算学科的条件。按人们对客观事物认识的先后次序,我们将报告中的抽象列为第一个学科形态,理论列为第二个学科形态。抽象源于实验科学。按客观现象的研究过程,抽象形态包括以下4个步骤的内容:(1)形成假设;(2)建造模型并作出预测;(3)设计实验并收集数据;(4)对结果进行分析。3.3.3例子中有关抽象形态的主要内容及其简要分析在“学生选课”例子中,有关抽象形态的内容可以用集合的方式表示为:A={学生,属性,码,关系,学号,姓名,年龄,性别,课程,课程号,课程名,成绩,E-R图,“学生选课”E-R图,关系模型,“学生选课”关系模型,……}对“学生选课”问题的抽象(感性认识)就是通过建立“学生选课”的E-R模型和关系模型来实现的,这一步是实现“学生选课”系统的关键。3.4理论形态3.4.1一般科学技术方法论中的理论形态科学认识由感性阶段上升为理性阶段,就形成了科学理论。科学理论是经过实践检验的系统化了的科学知识体系,它是由科学概念、科学原理以及对这些概念、原理的理论论证所组成的体系。理论源于数学,是从抽象到抽象的升华,它们已经完全脱离现实事物,不受现实事物的限制,具有精确的、优美的特征,因而更能把握事物的本质。3.4.2计算学科中的理论形态在计算学科中,从统一合理的理论发展过程来看,理论形态包括以下4个步骤的内容:(1)表述研究对象的特征(定义和公理);(2)假设对象之间的基本性质和对象之间可能存在的关系(定理);(3)确定这些关系是否为真(证明);(4)结论。3.4.3例子中有关理论形态的主要内容及简要分析在与“学生选课”例子有关的关系数据库领域中,理论形态的主要内容可以用集合的方式表示为:T={关系代数,关系演算,数据依赖理论,……}在数据库理论的指导下,我们就可以在“学生选课”关系模型(感性认识)的基础上,建立对“学生选课”问题的理性认识,从而为“学生选课”管理系统的设计奠定基础。3.5设计形态3.5.1一般科学技术方法论中的设计形态1.设计形态与抽象、理论两个形态存在的联系设计源于工程,并用于系统或设备的开发,以实现给定的任务。(1)设计形态(技术方法)和抽象、理论两个形态(科学方法)具有许多共同的特点。设计作为变革、控制和利用自然界的手段,必须以对自然规律的认识为前提(可以是科学形态的认识,也可以是经验形态的认识)。(2)设计要达到变革、控制和利用自然界的目的,必须创造出相应的人工系统和人工条件,还必须认识自然规律在这些人工系统中和人工条件下的具体表现形式。所以,科学认识方法(抽象、理论两个形态),对具有设计形态的技术研究和技术开发是有作用的。2.设计形态的主要特征与抽象、理论两个形态的主要区别(1)设计形态具有较强的实践性。(2)设计形态具有较强的社会性。(3)设计形态具有较强的综合性。3.5.2计算学科中的设计形态在计算学科中,从为解决某个问题而实现系统或装置的过程来看,设计形态包括以下4个步骤的内容:(1)需求分析;(2)建立规格说明;(3)设计并实现该系统;(4)对系统进行测试与分析。设计、抽象和理论3个形态针对具体的研究领域均起作用,在具体研究中,就是要在其理论的指导下,运用其抽象工具进行各种设计工作,最终的成果将是计算机的软硬件系统及其相关资料(如需求说明、规格说明和设计与实现方法说明等)。3.5.3例子中有关设计形态的主要内容及简要分析在关系数据库中,有关设计形态的内容是指:在关系数据库理论的指导下,运用一定的抽象工具(如E-R图等)进行的各种设计工作。最终的内容包括Oracle、Informix、SyBase、FoxPro等各种关系数据库管理系统软件、应用软件(如学生、财务等具体的管理信息系统)以及相关资料(如需求说明、规格说明和设计与实现方法说明等资料)。“学生选课”一例中,有关设计形态的内容是指:在数据库理论的指导下,运用E-R图和关系模型,实现对例子的感性认识和理性认识,最后借助某种关系数据库管理系统(如Oracle等),实现“学生选课”应用软件的编制。最终成果是“学生选课”应用软件以及相关资料(如需求说明书)。就例子而言,其内容可以用集合的方式表示为:D={“学生选课”应用软件,“学生选课”需求说明书,……}

3.7计算机语言的发展及其

3个学科形态的内在联系

计算机语言在计算学科中占有特殊的地位,它是计算学科中最富有智慧的成果之一,它深刻地影响着计算学科各个领域的发展。不仅如此,计算机语言还是程序员与计算机交流的主要工具。因此,可以说如果不了解计算机语言,就谈不上对计算学科的真正了解。

现在,我们从自然语言与形式化语言、图灵机和冯·诺依曼型计算机、机器指令与汇编语言、计算机的层次结构、虚拟机的意义和作用、高级语言、应用语言和自然语言的形式化问题等方面,介绍计算机语言的发展历程及其在抽象、理论和设计3个学科形态取得的主要成果,从而揭示计算机语言发展过程中3个学科形态的内在联系。3.7.1自然语言与形式语言

自然语言的定义人类的语言(文字)是人类最普遍使用的符号系统。其最基本、最普遍的形式是自然语言符号系统自然语言是某一社会发展中形成的一种民族语言。例如,汉语、英语、法语和俄语等。

自然语言符号系统的基本特征歧义性;不够严格和不够统一的语法结构。例3.2他的发理得好。他的理发水平高;理发师理他的发理得好。例3.3他的小说看不完。他写的小说看不完;他收藏的小说看不完;他是个小说迷。高级语言的歧义性问题

高级程序设计语言其实也有语义的歧义性问题,高级程序设计语言存在较少的歧义性而已例3.4

IF(表达式1)THENIF(表达式2)THEN语句1ELSE语句2。IF(表达式1)THEN(IF(表达式2)THEN语句1ELSE语句2);IF(表达式1)THEN(IF(表达式2)THEN语句1)ELSE语句2。

形式语言

人们在自然语言符号系统的基础上,逐步建立起了人工语言符号系统(也称科学语言系统),即各学科的专门科学术语(符号),使语言符号保持其单一性、无歧义性和明确性。人工语言符号系统发展的第二阶段叫形式化语言,简称形式语言。形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。形式语言的基本特点有一组初始的、专门的符号集;有一组精确定义的,由初始的、专门的符号组成的符号串转换成另一个符号串的规则。在形式语言中,不允许出现根据形成规则无法确定的符号串。形式语言的语法形式语言的语法:形式语言中的转换规则。语法不包含语义。在一个给定的形式语言中,可以根据需要,通过赋值或模型对其进行严格的语义解释,从而构成形式语言的语义。语法和语义要作严格的区分。例3.5语言W定义为:初始符号集:{a,b,c,d,e}。形成规则:上述符号组成的有限符号串中,能组成一英语单词的为一公式;否则不是。问:W是否为一形式语言?答:不是。因为,根据形成规则,无法精确地定义转换规则。原因:形成规则(语法)中包含了语义。例3.6语言X定义为:初始符号集:{a,b,c,d,e,(,),

}。形成规则:上述符号组成的有限符号串中,构成表达式的为一公式,否则不是。问:X是否为一形式语言?答:不是。原因:与例3.5相同。

例3.7语言Y定义为:初始符号集:{a,b,c,d,e,(,),

}。形成规则:上述符号组成的有限符号串中,凡以符号“(”开头且以“)”结尾的符号串,为一公式。问:Y是否为一形式语言?答:不是。因为,根据形成规则,无法对不是以符号“(”开头且以“)”结尾的符号串进行判定。例如,(a+b)

c。

例3.8语言Z定义为:初始符号集:{a,b,c,d,e,(,),

}。形成规则:上述符号组成的有限符号串中,凡以符号“(”开头且以“)”结尾的符号串,为一公式,否则不是。问:Z是否为一形式语言?答:是。形式化的产物由于技术科学(计算学科主要是一门技术科学)的语言从类型上说基本上是描述性、断定性而非评论性的,在描述性语言中又以分析陈述为主。技术科学就更有可能充分运用形式语言来表达自己深刻而复杂的内容,并进行演算化的推理。计算机语言是一种形式化语言。计算机的诞生又与形式化研究的进程息息相关。不论是计算机语言还是数字计算机,它们都是形式化的产物。

3.7计算机语言的发展及其

3个学科形态的内在联系

3.7.2图灵机与冯·诺依曼型计算机图灵机及其他计算模型图灵的观点及结论:凡是能用算法方法解决的问题,也一定能用图灵机解决;凡是图灵机解决不了的问题,任何算法也解决不了。与图灵机等价的计算模型:递归函数λ-演算POST规范系统图灵机是从过程这一角度来刻画计算的本质,其结构简单、操作运算规则也较少,从而为更多的人所理解。图灵机

图灵机由一条两端可无限延长的带子、一个读写头以及一组控制读写头工作的命令组成,图灵机写在带子上的符号为一个有穷字母表:{S0,S1,S2,…,Sp}。可以认为这个有穷字母表仅有S0、S1两个字符,其中S0可以看作是“0”,S1可以看作是“1”,由“0”和“1”组成的字母表可以表示任何一个数。由于“0”和“1”只有形式的意义,因此,也可以将S0改称为“白”,S1改称为“黑”,甚至,还可以改称为“桌子”和“老虎”,这样改称的目的在于割断与直觉的联系,并加深对布尔域中的值{真,假},以及二进制机器本质的理解。机器的控制状态表为:{q1,q2,…,qm}。将一个图灵机的初始状态设为q1,在每一个具体的图灵机中还要确定一个结束状态qw。

一个给定机器的“程序”机器内的五元组(qiSjSkR(或L或N)ql)形式的指令集,五元组定义了机器在一个特定状态下读入一个特定字符时所采取的动作。5个元素的含义如下:

qi表示机器目前所处的状态;

Sj表示机器从方格中读入的符号;

Sk表示机器用来代替Sj写入方格中的符号;

R、L、N分别表示向右移一格、向左移一格、不移动;ql表示下一步机器的状态。

一个机器计算的结果是从机器停止时带子上的信息得到的。容易看出,q1S2S2Rq3指令和q3S3S3Lq1指令如果同时出现在机器中,当机器处于状态q1,第一条指令读入的是S2,第二条指令读入的是S3,那么机器会在两个方块之间无休止地工作。另外,如果q3S2S2Rq4和q3S2S4Lq6指令同时出现在机器中,当机器处于状态q3并在带子上扫描到符号S2时,就产生了二义性的问题,机器就无法判定。例3.9:b表示空格,q1表示机器的初始状态,

q4表示机器的结束状态,设带子上的输入信息是10100010,读入头位对准最右边第一个为0的方格,状态为初始状态q1。规则如下。q101L

q2q110L

q3q1

b

b

N

q4q200L

q2q211L

q2q2

b

b

N

q4q301L

q2q310L

q3q3

b

b

N

q4计算过程如下:计算结果是10100011,即对给定的数加1。以上命令计算的是这样一个函数:S(x)=x+1。当没有输入时,即初始状态所指的方格为空格(b)时,不改变空格符,读写头不动并停机。

图灵机的计算能力图灵机可以计算S(x)=x+1(后继函数),N(x)=0(零函数),Ui(n)(x1,x2,…,xn)=xi,1≤i≤n(投影函数)上述3个函数的任意组合。从递归论中,我们知道这3个函数属于初始递归函数,任何原始递归函数都是从这3个初始递归函数经有限次的复合、递归和极小化操作得到的。从可计算理论可知每一个原始递归函数都是图灵机可计算的。

冯·诺依曼型计算机

ENIAC的结构在很大程度上是依照机电系统设计的,还存在重大的线路结构等问题。在图灵等人工作的影响下,1946年6月,美国杰出的数学家冯·诺依曼(VonNeumann)及其同事完成了关于“电子计算装置逻辑结构设计”的研究报告,具体介绍了制造电子计算机和程序设计的新思想至今为止,大多数计算机采用的仍然是冯·诺依曼型计算机的组织结构,只是作了一些改进而已。因此,冯·诺依曼被人们誉为“计算机器之父”。

ENIAC1946年2月14日,世界上第一台数字电子计算机ENIAC在美国宾夕法尼亚大学研制成功。研制组的主要成员有:总设计师为36岁的莫契利(J.Mauchiy)副教授;解决工程技术问题的是24岁的电气工程师埃克特(P.Eckert);设计乘法器等大型逻辑元件的是勃克斯(A.Burks);协调项目进展的是美国弹道实验室的军方负责人戈德斯坦(H.Glodstine)中尉;项目负责人是莫尔学院资深教授勃雷纳德(J.Brainerd)。ENIAC是第一台使用电子线路来执行算术和逻辑运算以及信息存储的真正工作的计算机器,它的成功研制显示了电子线路的巨大优越性。但是,ENIAC的结构在很大程度上是依照机电系统设计的,还存在重大的线路结构等问题。莫契利和埃克特对冯·诺依曼是否是天才的判定:若冯·诺依曼来参观后提出的第一个问题就是机器的逻辑结构设计,则认为他是天才;否则,就不是。冯·诺依曼计算机的体系结构输入设备和输出设备作用:是将信息输入计算机和输出计算机。常用的文字输入设备是键盘(还有扫描仪、穿孔卡片读入机和鼠标等专用输入设备)当在键盘上按下一个键时,按下的键通过编码变换成机器可读的数据形式,如字符“A”变换成ASCII码“1000001”,该编码数据随即存入存储器等待处理,通过与“1000001”对应的字符点阵数据在屏幕上显示一个字符“A”。输出设备有打印机、显示器、绘图仪、磁记录设备等。基于总线的计算机系统的硬件组成

存储器见数据存储

CPU(运算器和控制器

)centralprocessingunitRegister、控制单元计算机中控制数据操作的电路并不与主存直接相连这些电路被封装在一起,即CPUCPU含有自己的存储单元(register)Register作为临时空间来存储CPU所操作的数,保存算术逻辑单元的输入与输出数据控制单元负责将主存中的数据移到register,然后通知算术逻辑单元所需要的数据在哪个register总线总线:CPU与主存之间用总线连接,利用总线CPU通过提供存储单元目标地址以及读信号来选择、读取数据CPU通过提供存储单元目标地址以及写信号来放置、写入信号谁发明了什么程序存储的概念:由宾西法尼亚大学Moore电子工程学院的J.P.Echert提出,JohnvonNeumann只是先发表了程序存储的概念CPU和主存储器通过总线相连基于冯·诺依曼计算机体系结构的程序执行在早期计算机设计中,人们认为,程序与数据是两种完全不同的实体。于是,自然将程序与数据分离,数据存放在存储器中,程序则作为控制器的一个组成部分(如外插型的程序)。这样,每执行一个程序,都要对控制器进行设置(如在ENIAC中,编制一个解决小规模问题的程序,就要在40多块几英尺长的插接板上,插上几千个带导线的插头)。显然,这样的机器效率不仅低,且灵活性也很差。冯·诺依曼计算机的体系结构,也即存储程序式计算机的体系结构,则是将程序与数据一样看待,对程序像数据那样进行适当的编码,然后与数据一起共同存放在存储器中。这样,计算机就可以通过改变存储器中的内容,对数据进行操作。从原来对程序和数据的严格区别到一样看待,这个观念上的转变是计算机史上的一场革命,它反映的正是计算的本质,即符号串的变化。下面,介绍Brookshear在其著作《计算机科学概论》中,给出的一个基于冯·诺依曼计算机体系结构的程序执行实例,以加深对存储程序式计算机体系结构的理解。(1)机器的结构和指令该机器有256个主存单元(分别用十六进制0

FF表示),16个通用寄存器(0

F),一个程序计数器和一个指令寄存器。机器的指令有12条,每条指令的长度均为2个字节,指令的前4位为操作码,后12位为操作数,如表3.1所示。操作码操作数描述1RXY将内存XY单元中的数据取出,存入寄存器R中,如1A43,将43单元中的数据取出,存入寄存器A中2RXY将数XY存放到寄存器R中3RXY将寄存器R中的数据存入主存地址为XY的单元中40RS将寄存器R中的数存入寄存器S中5RST将寄存器S与T中的用二进制补码表示的数相加,将结果存入寄存器R中6RST将寄存器S与T中的用浮点数表示的数相加,将结果存入寄存器R中7RST将寄存器S与T中的数进行或运算,将结果存入寄存器R中8RST将寄存器S与T中的数进行与运算,将结果存入寄存器R中9RST将寄存器S与T中的数进行异或运算,将结果存入寄存器R中AR0X将寄存器R中的数右移X次,每次将最低位移出的数字放在最高位的空缺中BRXY若寄存器R中的数与寄存器0中的数相同,就将内存XY单元中的数据(跳转地址)存入程序计数器中;否则,按原来的顺序继续执行C000停机,C000程序执行的一个例子⑴从A0开始,将A0放入程序计数器中,开始运行程序;⑵提取地址为A0的指令(2个字节),并把指令(11AA)存放到指令寄存器中,程序计数器+2;⑶执行指令11AA,通过总线,将AA地址中的值2取出来,放到1号寄存器中;⑷提取地址为A2的指令,并把指令(12AB)存放到指令寄存器中,程序计数器+2;⑸执行指令12AB,将AB地址中的值6取出来,存放到2号寄存器中;⑹提取地址为A4的指令,并把指令(7012)存放到指令寄存器中,程序计数器+2;⑺执行指令7012,将1号寄存器中的数据与2号寄存器中的数据相加,将结果存放到0号寄存器中;⑻提取地址为A6的指令,并把指令(30AC)存放到指令寄存器中,程序计数器+2;⑼执行指令30AC,将0号寄存器中的数据存放到内存地址为AC的存储单元中;⑽提取地址为A8的指令,并把指令(C000)存放到指令寄存器中,程序计数器+2;⑾执行指令C000,停机。

3.7计算机语言的发展及其

3个学科形态的内在联系

3.7.3机器指令与汇编语言

机器指令与汇编语言为了实现程序存储的概念,CPU要能识别二进制编码的指令机器语言——指令集合以及编码系统指令系统CPU必须能够解码并执行的机器指令很少一旦计算机可以执行一些基本的而且是精选的操作,加入额外的操作理论上是不会改变计算机的能力的是否充分利用这种特性导致了两种不同的计算机设计:CISC(reducedinstructionsetcomputer)RISC(complexinstructionsetcomputer)CISC最初人们采用的是进一步增强原有指令的功能,并设置更为复杂的指令的方法采用这种设计思路的计算机被称为复杂指令系统计算机(CISC)。CISC的思路是由IBM公司提出的,并以1964年IBM研制的IBM360系统为代表。

CISC缺点80%的指令只在20%的运行时间里用到;一些指令非常繁杂,而执行效率甚至比用几条简单的基本指令组合的实现还要慢。庞杂的指令系统也给超大规模集成电路(VLSI)的设计带来了困难,它不但不利于设计自动化技术的应用,延长了设计周期,增加了成本,容易增加设计中出现错误的机会,从而降低了系统的可靠性。

RISC思路主要是通过减少指令总数和简化指令的功能来降低硬件设计的复杂度,从而提高指令的执行速度。优点:与CISC技术相比简化了指令系统,适合超大规模集成电路的实现;

提高了机器执行的速度和效率;降低了设计成本,提高了系统的可靠性;

提供了直接支持高级语言的能力,简化了编译程序的设计。机器指令机器指令系统——每台数字电子计算机在设计中,都规定了一组指令。机器语言——用机器指令形式编写的程序。在裸机级,计算机语言关于算法的描述采用的是实际机器的机器指令,它的符号集是{0,1},支撑实际机器的理论是图灵机等计算模型;在图灵机等计算模型理论的指导下,有关设计形态的主要成果有冯·诺依曼型计算机等具体实现思想和技术,以及各类数字电子计算机产品。计算机语言在裸机级所取得的主要成果计算机语言抽象理论设计裸机级的主要内容和成果

语言的符号集为:{0,1};用机器指令对算法进行描述图灵机(过程语言的基础)、波斯特系统(字符串处理语言的基础)、λ-演算(函数式语言的基础)等计算模型冯·诺依曼型计算机等实现技术;数字电子计算机产品汇编语言采用字符和十进制数来代替二进制代码的思想。例3.10

对2+6进行计算的算法描述用机器指令对“2+6”进行计算的算法描述:

10110000000001100000010000000010101000100101000000000000汇编语言对“2+6”进行计算的算法描述:

MOVAL,6ADDAL,2MOVVC,AL

汇编语言语句与特定的机器指令有一一对应的关系,但是它毕竟不同于由二进制组成的机器指令,它还需要经汇编程序翻译为机器指令后才能运行。汇编语言源程序经汇编程序翻译成机器指令,再在实际的机器中执行。就汇编语言的用户而言,该机器是可以直接识别汇编语言的,从而产生了一个属于抽象形态的重要概念,即虚拟机的概念。

3.7计算机语言的发展及其

3个学科形态的内在联系

3.7.4以虚拟机的观点来划分计算机的层次结构

虚拟机抽象的计算机由软件实现,并与实际机器一样,都具有一个指令集并可以使用不同的存储区域。例如,一台机器上配有C语言和Pascal语言的编译程序,对C语言用户来说,这台机器就是以C语言为机器语言的虚拟机,对Pascal用户来说,这台机器就是以Pascal语言为机器语言的虚拟机。虚拟机的层次之分虚拟机可分为固件虚拟机操作系统虚拟机汇编语言虚拟机高级语言虚拟机应用语言虚拟机等虚拟机的意义和作用

当机器(实际机器或虚拟机)确定下来后,所识别的语言也随之确定;反之,当一种语言形式化后,所需要支撑的机器也可以确定下来。从计算机系统的层次结构图中可以清晰地看到这种机器与语言的关系。虚拟机是计算学科中抽象的重要内容。引入虚拟机的概念,就计算机语言而言,有以下意义和作用:有助于我们正确理解各种语言的实质和实现途径

推动了计算机体系结构以及计算机语言的发展有助于各层次计算机语言自身的完善

3.7计算机语言的发展及其

3个学科形态的内在联系

3.7.5高级语言

虽然与机器语言相比,汇编语言的产生是一个很大的进步,但是用它来进行程序设计仍然比较困难。于是人们着手对它进行改进。一是发展宏汇编,即用一条宏指令代替若干条汇编指令,从而提高编程效率。现在人们使用的汇编语言,大多数都是宏汇编语言。二是创建高级语言,使编程更加方便。如用高级语言对例子2+6进行计算的算法描述,其描述与数学描述一样,即2+6。

高级语言的分类按语言的特点,可以将高级语言划分为:过程式语言(如Cobol,Forturn,Algol,Pascal,Ada,C)函数式语言(如Lisp)数据流语言(如SISAL,VAL)面向对象语言(如Smalltalk,CLU,C++)逻辑语言(如Prolog)字符串语言(如SNOBOL)并发程序设计语言(如ConcurrentPascal,Modula2)等高级语言的形式化

20世纪50年代美国语言学家乔姆斯基(NoamChomsky)关于语言分层的理论,巴科斯(Backus)、瑙尔(Naur)的关于“上下文无关方法表示形式”的研究成果推动了语法形式化的研究。其结果是,在ALGOL60的文本设计中第一次使用了BNF范式来表示语法,并且第一次在语言文本中明确提出应将语法和语义区分开来。高级语言的形式化20世纪50年代至60年代间,面向语法的编译自动化理论得到了很大发展,使语法形式化研究的成果达到实用化的水平。语法形式化问题基本解决以后,人们逐步把注意力集中到语义形式化的研究方面,20世纪60年代,相继诞生了操作语义学指称语义学公理语义学代数语义学等语义学理论数据类型的抽象相对于汇编语言和机器语言,高级语言的数据类型的抽象层次有了很大地提高,出现了整型实型字符型布尔型用户自定义类型抽象数据类型数据类型的抽象极大地方便了用户对数据的抽象描述,为实现软件设计的工程化奠定了基础。

高级语言中有关抽象、理论和设计3个形态的主要内容抽象理论设计常用的符号:数字(0

9),大小写字母(AZ、az),括号,运算符(+,,*,/)等;用高级语言对算法进行的描述;语言的分类方法;各种数据类型的抽象实现模型;词法分析、编译、解释和代码优化的方法;词法分析器、扫描器、编译器组件和编译器的自动生成方法形式语言和自动机理论;形式语义学:操作、指称、公理、代数、并发和分布式程序的形式语义特定语言:过程式的COBOL,FORTURN,ALGOL,Pascal,Ada,C),函数式的(LISP),数据流的(SISAL,VAL),面向对象的(Smalltalk,C++),逻辑的(Prolog),字符串(SNOBOL),和并发(ConcurrentPascal,Modula2)等语言;词法分析器和扫描器的产生器(如YACC,LEX),编译器产生器;语法和语义检查,成型、调试和追踪程序

3.7计算机语言的发展及其

3个学科形态的内在联系

3.7.6应用语言

计算机语言的划分一般将它划分为5代:第一代为机器语言;第二代为汇编语言;第三代为高级语言;第四代为“非过程性语言”;第五代为自然语言。

4GL提供了功能强大的非过程化问题定义手段,用户只需告知系统“做什么”,而无需说明“怎么做”

以数据库管理系统所提供的功能为核心,进一步构造了开发高层软件系统的开发环境,报表生成多窗口表格设计菜单生成系统等4GL的代表性软件系统有:PowerBuilder、Delphi和INFORMOX-4GL等。应用语言中有关抽象、理论和设计形态的主要内容抽象理论设计用应用语言对算法进行描述

特定应用领域的支撑理论:如数据库等领域的支撑理论在文件处理等方面的应用:如表生成,图、数据处理,统计处理等;第四代语言(4GL),如PowerBuilder、Delphi、Informox-4GL等;程序设计环境

3.7计算机语言的发展及其

3个学科形态的内在联系

3.7.7自然语言

自然语言计算机处理层次的划分四个层次:第一层次是文字和语音,即基本语言信息的构成;第二层次是语法,即语言的形态结构;第三层次是语义,即语言与它所指的对象之间的关系;第四层次是语用,即语言与它的使用者之间的关系。自然语言的输入问题键盘(汉字的编码输入也是通过键盘进行输入)扫描手写语音等方式进入计算机计算机可以对输入的文字进行各种加工和处理(如放大、变形等),现在大多数的报纸、杂志、书籍等就是这一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论