第二章机器体系构机对语言的影响文档资料

上传人:大米 文档编号:568780534 上传时间:2024-07-26 格式:PPT 页数:51 大小:402.50KB
返回 下载 相关 举报
第二章机器体系构机对语言的影响文档资料_第1页
第1页 / 共51页
第二章机器体系构机对语言的影响文档资料_第2页
第2页 / 共51页
第二章机器体系构机对语言的影响文档资料_第3页
第3页 / 共51页
第二章机器体系构机对语言的影响文档资料_第4页
第4页 / 共51页
第二章机器体系构机对语言的影响文档资料_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《第二章机器体系构机对语言的影响文档资料》由会员分享,可在线阅读,更多相关《第二章机器体系构机对语言的影响文档资料(51页珍藏版)》请在金锄头文库上搜索。

1、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.第2章 机器体系机构对语言的影响 学习目标学习目标 :了解程序语言的基本特征;掌握虚了解程序语言的基本特征;掌握虚拟计算机和绑定时间。拟计算机和绑定时间。-学习程序设计语言的基本特征;学习程序设计语言的基本特征;-了解计算机的硬件结构;了解计算机的硬件结构;-掌握虚拟计算的基本概念和虚拟计算机的层次;掌握虚拟计算的基本概念和虚拟计算机的层次;-掌握编译与解释的基本概念及

2、各自特点;掌握编译与解释的基本概念及各自特点;-掌握绑定时间的基本概念及其与语言实现关系;掌握绑定时间的基本概念及其与语言实现关系;Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 重点和难点重点和难点 :本章的重点是:虚拟计算机的基本概念;绑定时本章的重点是:虚拟计算机的基本概念;绑定时间的基本概念;编译与解释的基本概念以及各自间的基本概念;编译与解释的基本概念以及各自的特点。的特点。本章的难点是:绑定时间的基本概

3、念机器与语言本章的难点是:绑定时间的基本概念机器与语言实现的关系;实现的关系; 知识点知识点 :计算机的硬件结构;固件计算机;翻译;编译;计算机的硬件结构;固件计算机;翻译;编译;解释;虚拟计算机;绑定时间;解释;虚拟计算机;绑定时间;Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.概述概述l早期程序设计语言的设计目标是:使程序能够在早期程序设计语言的设计目标是:使程序能够在价格昂贵的硬件机器上高效运行。因此,尽管当

4、价格昂贵的硬件机器上高效运行。因此,尽管当时使用的语言(如时使用的语言(如fortran)编程很困难,但它们)编程很困难,但它们都拥有高效的转换机制将源程序转换为机器代码。都拥有高效的转换机制将源程序转换为机器代码。l但如今,计算机的性能价格比不断提高,软件的但如今,计算机的性能价格比不断提高,软件的体系结构发生了重大变化,软件的成本越来越变体系结构发生了重大变化,软件的成本越来越变得昂贵,因此现在程序设计强调程序设计的正确得昂贵,因此现在程序设计强调程序设计的正确性、可读性和可维护性。性、可读性和可维护性。l可见软件的体系结构对语言的设计也起到重要的可见软件的体系结构对语言的设计也起到重要的

5、作用,主要表现在两个方面:程序将在那种计算作用,主要表现在两个方面:程序将在那种计算机上运行;实际的硬件所支持的程序执行模型或机上运行;实际的硬件所支持的程序执行模型或虚拟机。虚拟机。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd. 2.1 计算机的操作计算机的操作2.2 虚拟计算机和绑定时间虚拟计算机和绑定时间第2章 机器体系机构对语言的影响Evaluation only.Created with Aspose.S

6、lides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.1 2.1 计算机的操作计算机的操作l一台计算机是一个可以执行算法和存储数据的有机整体。一台计算机*包含六个主要组成部分,并与程序设计语言组成部分紧密对应,它们分别是:数据:计算机提供的基本数据元素和数据结构。基本操作:计算机对数据实施的基本动作。顺序控制:控制操作执行顺序的机制。数据存取:对每次操作执行所需数据的存取控制机制。存储机制:计算机提供的存储分配机制。操作环境:支持程序和外部环境通信的机制。注:这六个部分也是设计程序语言的六个

7、基本特征。*:此处所讲得的计算机可以是物理硬件设备,也可以是通过软件模拟的计算机。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.本节主要内容本节主要内容l计算机的硬件结构计算机的硬件结构l固件计算机固件计算机l翻译器和软件模拟计算机翻译器和软件模拟计算机Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Cop

8、yright 2004-2011 Aspose Pty Ltd.计算机的硬件结构计算机的硬件结构Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数据数据l数据在程序执行过程中需要存储,从图可见,数据在程序执行过程中需要存储,从图可见,主要有四个存储部件:主存主要有四个存储部件:主存(MM)高速缓存高速缓存(Cache),高速寄存器,高速寄存器(R)和外部辅助存储和外部辅助存储器器(SM)。这些存储部件的性能不同,存储

9、。这些存储部件的性能不同,存储数据的特点有异。数据的特点有异。l计算机由一些内部计算机由一些内部数据类型数据类型可被硬件直接操作,可被硬件直接操作,包括正型数据、单精度实数、固定长度字符串包括正型数据、单精度实数、固定长度字符串和位串。和位串。l其实,程序在某种意义上也是一种数据,其计其实,程序在某种意义上也是一种数据,其计算机的内部表示方法是机器语言。算机的内部表示方法是机器语言。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose P

10、ty Ltd.操作操作l每台计算机都有一个内部基本操作集与机器语每台计算机都有一个内部基本操作集与机器语言指令相对应。言指令相对应。l一个典型的操作集包括与内部数据类型相关的一个典型的操作集包括与内部数据类型相关的基本算术指令(即整数和实数的加、减、乘、基本算术指令(即整数和实数的加、减、乘、除法指令),测试指令(如判断除法指令),测试指令(如判断0 0,判断正、,判断正、负数的指令),数据存取操作指令、控制负数的指令),数据存取操作指令、控制I/OI/O指令以及执行顺序控制指令等。指令以及执行顺序控制指令等。Evaluation only.Created with Aspose.Slides

11、 for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.顺序控制顺序控制l在机器语言程序中,下一条要执行的指令通常在机器语言程序中,下一条要执行的指令通常由程序地址寄存器由程序地址寄存器(AR)的内容确定,为了将控的内容确定,为了将控制转移到程序某处,必须提供修改制转移到程序某处,必须提供修改AR内容的内容的基本操作。而最终控制程序执行顺序的是解释基本操作。而最终控制程序执行顺序的是解释器。解释器是计算机操作的核心。如图所示。器。解释器是计算机操作的核心。如图所示。Evaluation only.Creat

12、ed with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数据存取数据存取l一般,一条机器指令的格式是:操作码一般,一条机器指令的格式是:操作码+操作操作数域,如数域,如ADD AX, 8012H.l一般操作数存储在寄存器一般操作数存储在寄存器

13、R或主存储或主存储MM中。中。计算机必须提供一个指定和获取操作数的机制。计算机必须提供一个指定和获取操作数的机制。同样,处理(计算)的结果也必须存储在某个同样,处理(计算)的结果也必须存储在某个地址单元中。地址单元中。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.存储管理存储管理l主存主存MM、辅助存储器、辅助存储器SM与与CPU的速率相差的速率相差很大。如很大。如CPUCPU每次操作的时间一般是每次操作的时间一般

14、是纳秒纳秒(ns)级级,MM的的存取速率是存取速率是微秒微秒(us)级级,而而SM的的存存取速率是毫秒取速率是毫秒(ms)级级, ,为了对速率进行平衡,为了对速率进行平衡,需要采用不同的存取管理需要采用不同的存取管理机制机制。l为了平衡为了平衡CPU与与SM之间之间的速率矛盾的速率矛盾,OS通常通常使用多道程序设计技术。使用多道程序设计技术。l为了为了平衡平衡CPU与与MM之间之间的速率矛盾,通常使的速率矛盾,通常使用用高速缓存高速缓存cache。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2

15、.0.0.Copyright 2004-2011 Aspose Pty Ltd.操作环境操作环境l计算机的操作环境包括外围存储器和计算机的操作环境包括外围存储器和I/O设备。设备。这些外部设备构成了计算机的外部世界,任何这些外部设备构成了计算机的外部世界,任何同计算机的通信必须通过操作环境进行。不同同计算机的通信必须通过操作环境进行。不同的外部操作的外部操作设备设备具有不同的通信速率,如高速具有不同的通信速率,如高速存储器(扩充存储器),中速存储器存储器(扩充存储器),中速存储器(CD-ROM),低速存储器(磁带),低速存储器(磁带),I/O设备(键设备(键盘、显示器、打印机、数据通信线路等)

16、,因盘、显示器、打印机、数据通信线路等),因此,程序设计语言必须提供不同的通信机制。此,程序设计语言必须提供不同的通信机制。返回本节返回本节Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.固件计算机固件计算机l前面,我们将计算机定义为能够存储和执行程前面,我们将计算机定义为能够存储和执行程序的数据结构和算法的集合,计算机内执行的序的数据结构和算法的集合,计算机内执行的程序是以机器语言编写的。程序是以机器语言编写的。l

17、我们一般认为机器语言是低级语言,然而,实我们一般认为机器语言是低级语言,然而,实际上,任何一种语言际上,任何一种语言(如(如C,java)都可以作为都可以作为机器语言,只要精确的定义其算法和数据结构。机器语言,只要精确的定义其算法和数据结构。即任何一台精确定义的计算机都可以完全使用即任何一台精确定义的计算机都可以完全使用硬件或软件来实现。理论和逻辑上,硬件和软硬件或软件来实现。理论和逻辑上,硬件和软件具有统一性,即硬件上能够实现的使用软件件具有统一性,即硬件上能够实现的使用软件肯定也能实现,反之亦然。但现实中由于成本肯定也能实现,反之亦然。但现实中由于成本及其他实现技术问题。很少采用纯硬件和纯

18、软及其他实现技术问题。很少采用纯硬件和纯软件实现。件实现。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.l固件计算机是一个相对较为严格的硬件实现方固件计算机是一个相对较为严格的硬件实现方式。即在一台可进行微编程的硬件计算机上通式。即在一台可进行微编程的硬件计算机上通过微程序模拟实现。该计算机的机器语言包括过微程序模拟实现。该计算机的机器语言包括一个低级微指令集,它们一个低级微指令集,它们规定了规定了MM和和cach

19、e间间、各各R R间通过加法器或乘法器的数据传送。微程间通过加法器或乘法器的数据传送。微程序在可编程的主机上模拟计算机操作。微程序序在可编程的主机上模拟计算机操作。微程序通常存储在主机的一个通常存储在主机的一个特殊特殊的的ROM中,并由中,并由主机硬件高速运行。主机硬件高速运行。l计算机的微程序模拟也称之为仿真。由于计算计算机的微程序模拟也称之为仿真。由于计算机是使用微程序模拟的,并不实际存在,因此机是使用微程序模拟的,并不实际存在,因此仿真计算机也称之为模拟计算机。仿真计算机也称之为模拟计算机。返回本节返回本节Evaluation only.Created with Aspose.Slide

20、s for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.翻译器和软件模拟计算机翻译器和软件模拟计算机l如前所述,理论上,可以设计一种硬件或固件如前所述,理论上,可以设计一种硬件或固件计算机来直接执行某种语言(如计算机来直接执行某种语言(如C C语言)编写语言)编写的程序,但现实中仍然使用具有低级机器语言的程序,但现实中仍然使用具有低级机器语言的实际计算机,的实际计算机,whywhy?成本、速度、灵活性成本、速度、灵活性l高级语言在具有低级机器语言的实际计算机上高级语言在具有低级机器语言的实际计算机上如何运

21、行?如何运行?解决方案:解决方案:l翻译(编译);翻译(编译);l软件模拟(软件解释);软件模拟(软件解释);Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.翻译(编译)翻译(编译)l翻译的过程是:将用高级语言编写的源程序转翻译的过程是:将用高级语言编写的源程序转换成实际计算机上等价的机器语言程序(目标换成实际计算机上等价的机器语言程序(目标程序)。从而,计算机上的硬件可以直接运行程序)。从而,计算机上的硬件可以直接

22、运行目标程序。翻译是由翻译程序完成的,翻译程目标程序。翻译是由翻译程序完成的,翻译程序将源程序作为输入,输出结果是功能等价的序将源程序作为输入,输出结果是功能等价的目标语言程序。目标语言程序。l典型的翻译器:典型的翻译器:汇编器(汇编器(assemblerassembler):汇编语言源程序):汇编语言源程序 机器机器语言目标程序;语言目标程序;编译器(编译器(compilercompiler):高级语言源程序):高级语言源程序 与实与实际计算机可运行的机器语言相近的目标程序。如,际计算机可运行的机器语言相近的目标程序。如, C C源程序源程序汇编语言程序汇编语言程序机器语言程序机器语言程序

23、(经编译)(经编译) (经汇编)(经汇编)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.装入或连接器(装入或连接器(loader or linkerloader or linker):将各个分别编译):将各个分别编译的子程序目标程序装入到内存中适当的地址(重定向),的子程序目标程序装入到内存中适当的地址(重定向),并将各个子程序连接在一起构成一个地址相容的单一可并将各个子程序连接在一起构成一个地址相容的单一可执行程

24、序,如下图所示:执行程序,如下图所示: 子程序 编译后的地址 执行地址(重定向地址) P 0999 10001999 Q 01999 20003999 库函数 03999 40007999预处理器预处理器(preprocessor)或宏处理器或宏处理器(macroprocessor):高:高级语言源程序级语言源程序相同语言的标准形式。如相同语言的标准形式。如C C语言。语言。注:通常将一个高级语言源程序翻译成一个可在机器上直接运行的机器语言目标程序不是一个翻译过程可完成的,可能需要经过一系列的处理和翻译。如C+源程序C语言程序汇编语言程序机器语言程序(可执行的目标语言程序)Evaluation

25、 only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.软件模拟(软件解释)软件模拟(软件解释)l通过使用一台主机上运行的程序来模拟一台机通过使用一台主机上运行的程序来模拟一台机器语言是高级语言的计算机的执行。即使用主器语言是高级语言的计算机的执行。即使用主机上的机器语言来构造一组程序软件(模拟软机上的机器语言来构造一组程序软件(模拟软件或解释软件)来模拟或解释运行用高级语言件或解释软件)来模拟或解释运行用高级语言编写的程序所需要的算法和数据结

26、构。编写的程序所需要的算法和数据结构。l模拟程序所执行的解释算法类似于模拟程序所执行的解释算法类似于“程序解释程序解释与执行图与执行图”,其功能是以一定的顺序执行所输,其功能是以一定的顺序执行所输入的程序的每条指令,并产生程序规定的输出。入的程序的每条指令,并产生程序规定的输出。l此时,我们称主机创造了一个高级语言的虚拟此时,我们称主机创造了一个高级语言的虚拟机。主机执行时,我们无法分辨它是直接在硬机。主机执行时,我们无法分辨它是直接在硬件上执行还是转换成机器语言后再执行。件上执行还是转换成机器语言后再执行。Evaluation only.Created with Aspose.Slides

27、for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.翻译与解释之比较翻译与解释之比较l相同点:二者都接受高级语言作为输入。相同点:二者都接受高级语言作为输入。l不同点:不同点:功能不同:翻译将源程序功能不同:翻译将源程序等价的目标语言程序;等价的目标语言程序;解释直接执行源程序(用户角度看)。解释直接执行源程序(用户角度看)。顺序控制:翻译遵循输入的物理序列语句;解释遵顺序控制:翻译遵循输入的物理序列语句;解释遵循程序的逻辑控制流程。循程序的逻辑控制流程。执行次数:翻译对每条语句只处理一次;解释则可执行次

28、数:翻译对每条语句只处理一次;解释则可能对同一条语句反复解释处理(如循环),也可能能对同一条语句反复解释处理(如循环),也可能完全忽略一些语句(如控制流不能到达的语句)。完全忽略一些语句(如控制流不能到达的语句)。信息完整性:翻译可能造成源程序信息丢失,调试、信息完整性:翻译可能造成源程序信息丢失,调试、测试较为困难;解释不会。测试较为困难;解释不会。代价:翻译需要耗费更大的存储空间;解释需要较代价:翻译需要耗费更大的存储空间;解释需要较长的执行时间(解码长的执行时间(解码 时间)。时间)。Evaluation only.Created with Aspose.Slides for .NET

29、3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.l由此可见,翻译与解释各有利弊,且是两个极由此可见,翻译与解释各有利弊,且是两个极端。除汇编和端。除汇编和OSOS中的控制语言及交互式语言之中的控制语言及交互式语言之外,在现实中,通常将二者结合。外,在现实中,通常将二者结合。l典型的二者结合的语言实现结构如图所示。典型的二者结合的语言实现结构如图所示。二者的结合二者的结合Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0

30、.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.语言的实现语言的实现l编译型语言编译型语言源程序在执行之前需先转换成目标机器语言,模拟源程序在执行之前需先转换成目标机器语言,模拟(解释)被限制为只是提供一个函数库。翻译型语言(解释)被限制为只是提供一个函数库。翻译型语言的的翻译翻译器相对较为复杂和庞大,其侧重点是产生尽可器相对较为复杂和庞大,

31、其侧重点是产生尽可能高效运行的目标代码。如能高效运行的目标代码。如C,C+,Pascal,Fortran,Ada等。等。l解释型语言解释型语言不产生目标机器代码,只是产生更易于执行的中间代不产生目标机器代码,只是产生更易于执行的中间代码,由软件解释执行。解释型语言通常执行效率较低,码,由软件解释执行。解释型语言通常执行效率较低,但翻译速度较快。解释型语言的翻译器较为简单,语但翻译速度较快。解释型语言的翻译器较为简单,语言实现的大部分复杂性在于模拟软件。如言实现的大部分复杂性在于模拟软件。如Java,LISP,ML,Prolog,Smalltalk等。等。返回本节返回本节Evaluation o

32、nly.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2.2 2.2 虚拟计算机和绑定时间虚拟计算机和绑定时间l上一节,我们将一台计算机定义为算法和数据上一节,我们将一台计算机定义为算法和数据结构的集合,则一台计算机的实现方式有:结构的集合,则一台计算机的实现方式有:通过硬件实现:直接使用物理设备支持算法通过硬件实现:直接使用物理设备支持算法和数据结构;和数据结构;通过固件实现:使用微程序设计实现支持算通过固件实现:使用微程序设计实现支持算法和数

33、据结构;法和数据结构;通过软件模拟:构造一种算法和数据结构支通过软件模拟:构造一种算法和数据结构支持源程序的算法和数据结构;持源程序的算法和数据结构;上述方法的综合:直接利用计算机的硬件、上述方法的综合:直接利用计算机的硬件、软件和软件和/ /或微程序支持。或微程序支持。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.本节主要内容本节主要内容l虚拟计算机和语言实现虚拟计算机和语言实现l虚拟机的层次虚拟机的层次l绑定和

34、绑定时间绑定和绑定时间Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.虚拟计算机和语言实现虚拟计算机和语言实现l如果程序设计语言以它们的虚拟计算机来定义,如果程序设计语言以它们的虚拟计算机来定义,则每种语言可借助该虚拟计算机来描述语义?则每种语言可借助该虚拟计算机来描述语义?然而,程序设计语言是对每个语法结构给出语然而,程序设计语言是对每个语法结构给出语义,语言的定义仅仅是隐式的指出了一台虚拟义,语言的定义仅仅是隐式

35、的指出了一台虚拟计算机。相同语言在不同的计算机上实现时,计算机。相同语言在不同的计算机上实现时,实现者所看到的是不同的虚拟计算机。因此,实现者所看到的是不同的虚拟计算机。因此,同一语言的两个不同的语言实现可能实现了不同一语言的两个不同的语言实现可能实现了不同的数据结构和操作。同的数据结构和操作。l这引出了实现过程中的第一个问题:程序设计这引出了实现过程中的第一个问题:程序设计语言实现者对语言定义所隐含的虚拟计算机具语言实现者对语言定义所隐含的虚拟计算机具有不同的理解。有不同的理解。Evaluation only.Created with Aspose.Slides for .NET 3.5 C

36、lient Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.l当一种程序设计语言在一台具体的计算机上实现当一种程序设计语言在一台具体的计算机上实现时,实现者首先确定虚拟计算机,然后才考虑构时,实现者首先确定虚拟计算机,然后才考虑构造虚拟计算机。例如,如果要实现整数加法和乘造虚拟计算机。例如,如果要实现整数加法和乘方运算,实现者可考虑由具体计算机提供的加法方运算,实现者可考虑由具体计算机提供的加法来实现虚拟计算机的加法运算,而用软件模拟来来实现虚拟计算机的加法运算,而用软件模拟来实现虚拟计算机的乘方运算。如果要实现指示整实现虚拟计算机的乘方运

37、算。如果要实现指示整形变量形变量X X,实现者可以考虑由包含,实现者可以考虑由包含X X值的内存地址值的内存地址直接指示直接指示X X,也可以使用指针来指示,也可以使用指针来指示X X。l这引出了实现过程中的第二个问题:不同具体计这引出了实现过程中的第二个问题:不同具体计算机所提供的不同设施对语言的实现产生差异。算机所提供的不同设施对语言的实现产生差异。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.l此外,实现者还

38、要考虑在程序的翻译阶段需要此外,实现者还要考虑在程序的翻译阶段需要完成哪些工作,在程序执行阶段需要做哪些事完成哪些工作,在程序执行阶段需要做哪些事情。通常在执行时,只有在程序翻译时采用了情。通常在执行时,只有在程序翻译时采用了某些操作建立了运行时间结构后,具体的表示某些操作建立了运行时间结构后,具体的表示虚拟计算机的数据结构或操作才能够被使用。虚拟计算机的数据结构或操作才能够被使用。如果实现者省略了这些操作以简化翻译器,则如果实现者省略了这些操作以简化翻译器,则数据结构与算法在运行时将会有不同的表示。数据结构与算法在运行时将会有不同的表示。l这引出了实现过程中的第三个问题:语言实现这引出了实现

39、过程中的第三个问题:语言实现者关于如何使用具体计算机所提供的设施来模者关于如何使用具体计算机所提供的设施来模拟虚拟计算机的不同考虑以及为了支持这些虚拟虚拟计算机的不同考虑以及为了支持这些虚拟计算机而构造的翻译器存在差异。拟计算机而构造的翻译器存在差异。返回本节返回本节Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.虚拟机的层次返回本节返回本节Evaluation only.Created with Aspose.Sl

40、ides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.绑定和绑定时间绑定和绑定时间l绑定:程序元素与其特性或性质的约束关系。绑定:程序元素与其特性或性质的约束关系。l绑定时间:绑定所发生的时间(翻译或执行)。绑定时间:绑定所发生的时间(翻译或执行)。l绑定和绑定时间可由语言定义或由实现来确定。绑定和绑定时间可由语言定义或由实现来确定。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copy

41、right 2004-2011 Aspose Pty Ltd.绑定时间的分类绑定时间的分类l执行时(运行时刻)执行时(运行时刻)绑定在程序执行时完成。具体包括变量与值以及变绑定在程序执行时完成。具体包括变量与值以及变量与其存储单元的绑定关系。这种绑定关系存在两量与其存储单元的绑定关系。这种绑定关系存在两种主要子类:种主要子类:l进入时:在进入一个子程序或一个块结构时发生。如在进入时:在进入一个子程序或一个块结构时发生。如在C C语言中,形式参数与语言中,形式参数与 实际参数的绑定,形式参数与存储实际参数的绑定,形式参数与存储单元的绑定在程序执行进入一个子程序时就发生。如单元的绑定在程序执行进入

42、一个子程序时就发生。如 int maxInt(int x, int y) main() if (x等价的目标语言程序;等价的目标语言程序;解释直接执行源程序(用户角度看)。解释直接执行源程序(用户角度看)。顺序控制:翻译遵循输入的物理序列语句;解释遵顺序控制:翻译遵循输入的物理序列语句;解释遵循程序的逻辑控制流程。循程序的逻辑控制流程。执行次数:翻译对每条语句只处理一次;解释则可执行次数:翻译对每条语句只处理一次;解释则可能对同一条语句反复解释处理(如循环),也可能能对同一条语句反复解释处理(如循环),也可能完全忽略一些语句(如控制流不能到达的语句)。完全忽略一些语句(如控制流不能到达的语句)

43、。信息完整性:翻译可能造成源程序信息丢失,调试、信息完整性:翻译可能造成源程序信息丢失,调试、测试较为困难;解释不会。测试较为困难;解释不会。代价:翻译需要耗费更大的存储空间;解释需要较代价:翻译需要耗费更大的存储空间;解释需要较长的执行时间(解码长的执行时间(解码 时间)。时间)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.l虚拟计算机是一个层次性的结构,典型的虚拟虚拟计算机是一个层次性的结构,典型的虚拟计算机

44、可分成计算机可分成7 7个层次。下层为上层提供支持个层次。下层为上层提供支持和服务。和服务。l绑定是指程序元素与其特性或性质的约束关系。绑定是指程序元素与其特性或性质的约束关系。绑定时间是指绑定所发生的时间,主要有翻译绑定时间是指绑定所发生的时间,主要有翻译或时和执行时。绑定和绑定时间可由语言定义或时和执行时。绑定和绑定时间可由语言定义或由实现来确定。或由实现来确定。l绑定时间对于程序设计语言的效率和灵活性起绑定时间对于程序设计语言的效率和灵活性起重要的作用。对于追求效率为主要目标的语言,重要的作用。对于追求效率为主要目标的语言,通常应尽可能进行早绑定。而追求灵活性为主通常应尽可能进行早绑定。

45、而追求灵活性为主要目标的语言,应采用迟绑定。对于两个兼顾要目标的语言,应采用迟绑定。对于两个兼顾的语言,应提供绑定时间选择机制。的语言,应提供绑定时间选择机制。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.习题习题lT1,2,5补充习题:补充习题:1 1)程序设计语言具有那几个基本特征。)程序设计语言具有那几个基本特征。2 2)什么叫固件计算机,虚拟计算机,绑定,绑)什么叫固件计算机,虚拟计算机,绑定,绑定时间。定时间。3 3)编译和解释的实现原理是什么,各有何特点。)编译和解释的实现原理是什么,各有何特点。4 4)请画出虚拟计算机系统的典型层次结构。并)请画出虚拟计算机系统的典型层次结构。并简述各个层次是由什么支持实现的。简述各个层次是由什么支持实现的。5 5)绑定时间可分成哪几个类型。)绑定时间可分成哪几个类型。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号