机器体系构机对语言的影响.ppt
《机器体系构机对语言的影响.ppt》由会员分享,可在线阅读,更多相关《机器体系构机对语言的影响.ppt(51页珍藏版)》请在三一办公上搜索。
1、,第2章 机器体系机构对语言的影响,学习目标:了解程序语言的基本特征;掌握虚拟计算机和绑定时间。学习程序设计语言的基本特征;了解计算机的硬件结构;掌握虚拟计算的基本概念和虚拟计算机的层次;掌握编译与解释的基本概念及各自特点;掌握绑定时间的基本概念及其与语言实现关系;,重点和难点:本章的重点是:虚拟计算机的基本概念;绑定时间的基本概念;编译与解释的基本概念以及各自的特点。本章的难点是:绑定时间的基本概念机器与语言实现的关系;,知识点:计算机的硬件结构;固件计算机;翻译;编译;解释;虚拟计算机;绑定时间;,概述,早期程序设计语言的设计目标是:使程序能够在价格昂贵的硬件机器上高效运行。因此,尽管当时
2、使用的语言(如fortran)编程很困难,但它们都拥有高效的转换机制将源程序转换为机器代码。但如今,计算机的性能价格比不断提高,软件的体系结构发生了重大变化,软件的成本越来越变得昂贵,因此现在程序设计强调程序设计的正确性、可读性和可维护性。可见软件的体系结构对语言的设计也起到重要的作用,主要表现在两个方面:程序将在那种计算机上运行;实际的硬件所支持的程序执行模型或虚拟机。,2.1 计算机的操作2.2 虚拟计算机和绑定时间,第2章 机器体系机构对语言的影响,2.1 计算机的操作,一台计算机是一个可以执行算法和存储数据的有机整体。一台计算机*包含六个主要组成部分,并与程序设计语言组成部分紧密对应,
3、它们分别是:数据:计算机提供的基本数据元素和数据结构。基本操作:计算机对数据实施的基本动作。顺序控制:控制操作执行顺序的机制。数据存取:对每次操作执行所需数据的存取控制机制。存储机制:计算机提供的存储分配机制。操作环境:支持程序和外部环境通信的机制。注:这六个部分也是设计程序语言的六个基本特征。*:此处所讲得的计算机可以是物理硬件设备,也可以是通过软件模拟的计算机。,本节主要内容,计算机的硬件结构固件计算机翻译器和软件模拟计算机,计算机的硬件结构,数据,数据在程序执行过程中需要存储,从图可见,主要有四个存储部件:主存(MM)高速缓存(Cache),高速寄存器(R)和外部辅助存储器(SM)。这些
4、存储部件的性能不同,存储数据的特点有异。计算机由一些内部数据类型可被硬件直接操作,包括正型数据、单精度实数、固定长度字符串和位串。其实,程序在某种意义上也是一种数据,其计算机的内部表示方法是机器语言。,操作,每台计算机都有一个内部基本操作集与机器语言指令相对应。一个典型的操作集包括与内部数据类型相关的基本算术指令(即整数和实数的加、减、乘、除法指令),测试指令(如判断0,判断正、负数的指令),数据存取操作指令、控制I/O指令以及执行顺序控制指令等。,顺序控制,在机器语言程序中,下一条要执行的指令通常由程序地址寄存器(AR)的内容确定,为了将控制转移到程序某处,必须提供修改AR内容的基本操作。而
5、最终控制程序执行顺序的是解释器。解释器是计算机操作的核心。如图所示。,数据存取,一般,一条机器指令的格式是:操作码+操作数域,如ADD AX,8012H.一般操作数存储在寄存器R或主存储MM中。计算机必须提供一个指定和获取操作数的机制。同样,处理(计算)的结果也必须存储在某个地址单元中。,存储管理,主存MM、辅助存储器SM与CPU的速率相差很大。如CPU每次操作的时间一般是纳秒(ns)级,MM的存取速率是微秒(us)级,而SM的存取速率是毫秒(ms)级,为了对速率进行平衡,需要采用不同的存取管理机制。为了平衡CPU与SM之间的速率矛盾,OS通常使用多道程序设计技术。为了平衡CPU与MM之间的速
6、率矛盾,通常使用高速缓存cache。,操作环境,计算机的操作环境包括外围存储器和I/O设备。这些外部设备构成了计算机的外部世界,任何同计算机的通信必须通过操作环境进行。不同的外部操作设备具有不同的通信速率,如高速存储器(扩充存储器),中速存储器(CD-ROM),低速存储器(磁带),I/O设备(键盘、显示器、打印机、数据通信线路等),因此,程序设计语言必须提供不同的通信机制。,返回本节,固件计算机,前面,我们将计算机定义为能够存储和执行程序的数据结构和算法的集合,计算机内执行的程序是以机器语言编写的。我们一般认为机器语言是低级语言,然而,实际上,任何一种语言(如C,java)都可以作为机器语言,
7、只要精确的定义其算法和数据结构。即任何一台精确定义的计算机都可以完全使用硬件或软件来实现。理论和逻辑上,硬件和软件具有统一性,即硬件上能够实现的使用软件肯定也能实现,反之亦然。但现实中由于成本及其他实现技术问题。很少采用纯硬件和纯软件实现。,固件计算机是一个相对较为严格的硬件实现方式。即在一台可进行微编程的硬件计算机上通过微程序模拟实现。该计算机的机器语言包括一个低级微指令集,它们规定了MM和cache间、各R间通过加法器或乘法器的数据传送。微程序在可编程的主机上模拟计算机操作。微程序通常存储在主机的一个特殊的ROM中,并由主机硬件高速运行。计算机的微程序模拟也称之为仿真。由于计算机是使用微程
8、序模拟的,并不实际存在,因此仿真计算机也称之为模拟计算机。,返回本节,翻译器和软件模拟计算机,如前所述,理论上,可以设计一种硬件或固件计算机来直接执行某种语言(如C语言)编写的程序,但现实中仍然使用具有低级机器语言的实际计算机,why?成本、速度、灵活性高级语言在具有低级机器语言的实际计算机上如何运行?解决方案:翻译(编译);软件模拟(软件解释);,翻译(编译),翻译的过程是:将用高级语言编写的源程序转换成实际计算机上等价的机器语言程序(目标程序)。从而,计算机上的硬件可以直接运行目标程序。翻译是由翻译程序完成的,翻译程序将源程序作为输入,输出结果是功能等价的目标语言程序。典型的翻译器:汇编器
9、(assembler):汇编语言源程序 机器语言目标程序;编译器(compiler):高级语言源程序 与实际计算机可运行的机器语言相近的目标程序。如,C源程序汇编语言程序机器语言程序(经编译)(经汇编),装入或连接器(loader or linker):将各个分别编译的子程序目标程序装入到内存中适当的地址(重定向),并将各个子程序连接在一起构成一个地址相容的单一可执行程序,如下图所示:子程序 编译后的地址 执行地址(重定向地址)P 0999 10001999 Q 01999 20003999 库函数 03999 40007999预处理器(preprocessor)或宏处理器(macroproc
10、essor):高级语言源程序相同语言的标准形式。如C语言。注:通常将一个高级语言源程序翻译成一个可在机器上直接运行的机器语言目标程序不是一个翻译过程可完成的,可能需要经过一系列的处理和翻译。如C+源程序C语言程序汇编语言程序机器语言程序(可执行的目标语言程序),软件模拟(软件解释),通过使用一台主机上运行的程序来模拟一台机器语言是高级语言的计算机的执行。即使用主机上的机器语言来构造一组程序软件(模拟软件或解释软件)来模拟或解释运行用高级语言编写的程序所需要的算法和数据结构。模拟程序所执行的解释算法类似于“程序解释与执行图”,其功能是以一定的顺序执行所输入的程序的每条指令,并产生程序规定的输出。
11、此时,我们称主机创造了一个高级语言的虚拟机。主机执行时,我们无法分辨它是直接在硬件上执行还是转换成机器语言后再执行。,翻译与解释之比较,相同点:二者都接受高级语言作为输入。不同点:功能不同:翻译将源程序等价的目标语言程序;解释直接执行源程序(用户角度看)。顺序控制:翻译遵循输入的物理序列语句;解释遵循程序的逻辑控制流程。执行次数:翻译对每条语句只处理一次;解释则可能对同一条语句反复解释处理(如循环),也可能完全忽略一些语句(如控制流不能到达的语句)。信息完整性:翻译可能造成源程序信息丢失,调试、测试较为困难;解释不会。代价:翻译需要耗费更大的存储空间;解释需要较长的执行时间(解码 时间)。,由
12、此可见,翻译与解释各有利弊,且是两个极端。除汇编和OS中的控制语言及交互式语言之外,在现实中,通常将二者结合。典型的二者结合的语言实现结构如图所示。,二者的结合,语言的实现,编译型语言源程序在执行之前需先转换成目标机器语言,模拟(解释)被限制为只是提供一个函数库。翻译型语言的翻译器相对较为复杂和庞大,其侧重点是产生尽可能高效运行的目标代码。如C,C+,Pascal,Fortran,Ada等。解释型语言不产生目标机器代码,只是产生更易于执行的中间代码,由软件解释执行。解释型语言通常执行效率较低,但翻译速度较快。解释型语言的翻译器较为简单,语言实现的大部分复杂性在于模拟软件。如Java,LISP,
13、ML,Prolog,Smalltalk等。,返回本节,2.2 虚拟计算机和绑定时间,上一节,我们将一台计算机定义为算法和数据结构的集合,则一台计算机的实现方式有:通过硬件实现:直接使用物理设备支持算法和数据结构;通过固件实现:使用微程序设计实现支持算法和数据结构;通过软件模拟:构造一种算法和数据结构支持源程序的算法和数据结构;上述方法的综合:直接利用计算机的硬件、软件和/或微程序支持。,本节主要内容,虚拟计算机和语言实现虚拟机的层次绑定和绑定时间,虚拟计算机和语言实现,如果程序设计语言以它们的虚拟计算机来定义,则每种语言可借助该虚拟计算机来描述语义?然而,程序设计语言是对每个语法结构给出语义,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 体系 语言 影响
链接地址:https://www.31ppt.com/p-6300787.html