第二章机器体系构机对语言的影响课件

上传人:我*** 文档编号:141248756 上传时间:2020-08-05 格式:PPT 页数:51 大小:414.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章 机器体系机构对语言的影响,学习目标:了解程序语言的基本特征;掌握虚拟计算机和绑定时间。 学习程序设计语言的基本特征; 了解计算机的硬件结构; 掌握虚拟计算的基本概念和虚拟计算机的层次; 掌握编译与解释的基本概念及各自特点; 掌握绑定时间的基本概念及其与语言实现关系;,Evaluation only. Created with Aspose.Slides f

2、or .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 Aspo

3、se Pty Ltd.,概述,早期程序设计语言的设计目标是:使程序能够在价格昂贵的硬件机器上高效运行。因此,尽管当时使用的语言(如fortran)编程很困难,但它们都拥有高效的转换机制将源程序转换为机器代码。 但如今,计算机的性能价格比不断提高,软件的体系结构发生了重大变化,软件的成本越来越变得昂贵,因此现在程序设计强调程序设计的正确性、可读性和可维护性。 可见软件的体系结构对语言的设计也起到重要的作用,主要表现在两个方面:程序将在那种计算机上运行;实际的硬件所支持的程序执行模型或虚拟机。,Evaluation only. Created with Aspose.Slides for .NET

4、 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,2.1 计算机的操作 2.2 虚拟计算机和绑定时间,第2章 机器体系机构对语言的影响,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,2.1 计算机的操作,一台计算机是一个可以执行算法和存储数据的有机整体。一台计算机*包含六个主要组成部分,并与程序设计语言组成部分紧密对应,它们分别是

5、: 数据:计算机提供的基本数据元素和数据结构。 基本操作:计算机对数据实施的基本动作。 顺序控制:控制操作执行顺序的机制。 数据存取:对每次操作执行所需数据的存取控制机制。 存储机制:计算机提供的存储分配机制。 操作环境:支持程序和外部环境通信的机制。 注:这六个部分也是设计程序语言的六个基本特征。 *:此处所讲得的计算机可以是物理硬件设备,也可以是通过软件模拟的计算机。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty

6、Ltd.,本节主要内容,计算机的硬件结构 固件计算机 翻译器和软件模拟计算机,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.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,数据,数据在程序执行过程中需要存储,

7、从图可见,主要有四个存储部件:主存(MM)高速缓存(Cache),高速寄存器(R)和外部辅助存储器(SM)。这些存储部件的性能不同,存储数据的特点有异。 计算机由一些内部数据类型可被硬件直接操作,包括正型数据、单精度实数、固定长度字符串和位串。 其实,程序在某种意义上也是一种数据,其计算机的内部表示方法是机器语言。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,操作,每台计算机都有一个内部基本操作集与机器语言

8、指令相对应。 一个典型的操作集包括与内部数据类型相关的基本算术指令(即整数和实数的加、减、乘、除法指令),测试指令(如判断0,判断正、负数的指令),数据存取操作指令、控制I/O指令以及执行顺序控制指令等。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,顺序控制,在机器语言程序中,下一条要执行的指令通常由程序地址寄存器(AR)的内容确定,为了将控制转移到程序某处,必须提供修改AR内容的基本操作。而最终控制程序执

9、行顺序的是解释器。解释器是计算机操作的核心。如图所示。,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.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,数据存取,一般,一条机器指令的格式是:操作码+操作数域,如ADD AX, 8

10、012H. 一般操作数存储在寄存器R或主存储MM中。计算机必须提供一个指定和获取操作数的机制。同样,处理(计算)的结果也必须存储在某个地址单元中。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,存储管理,主存MM、辅助存储器SM与CPU的速率相差很大。如CPU每次操作的时间一般是纳秒(ns)级,MM的存取速率是微秒(us)级,而SM的存取速率是毫秒(ms)级,为了对速率进行平衡,需要采用不同的存取管理机制。

11、为了平衡CPU与SM之间的速率矛盾,OS通常使用多道程序设计技术。 为了平衡CPU与MM之间的速率矛盾,通常使用高速缓存cache。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,操作环境,计算机的操作环境包括外围存储器和I/O设备。这些外部设备构成了计算机的外部世界,任何同计算机的通信必须通过操作环境进行。不同的外部操作设备具有不同的通信速率,如高速存储器(扩充存储器),中速存储器(CD-ROM),低速存储

12、器(磁带),I/O设备(键盘、显示器、打印机、数据通信线路等),因此,程序设计语言必须提供不同的通信机制。,返回本节,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,固件计算机,前面,我们将计算机定义为能够存储和执行程序的数据结构和算法的集合,计算机内执行的程序是以机器语言编写的。 我们一般认为机器语言是低级语言,然而,实际上,任何一种语言(如C,java)都可以作为机器语言,只要精确的定义其算法和数据结构。即

13、任何一台精确定义的计算机都可以完全使用硬件或软件来实现。理论和逻辑上,硬件和软件具有统一性,即硬件上能够实现的使用软件肯定也能实现,反之亦然。但现实中由于成本及其他实现技术问题。很少采用纯硬件和纯软件实现。,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,固件计算机是一个相对较为严格的硬件实现方式。即在一台可进行微编程的硬件计算机上通过微程序模拟实现。该计算机的机器语言包括一个低级微指令集,它们规定了MM和ca

14、che间、各R间通过加法器或乘法器的数据传送。微程序在可编程的主机上模拟计算机操作。微程序通常存储在主机的一个特殊的ROM中,并由主机硬件高速运行。 计算机的微程序模拟也称之为仿真。由于计算机是使用微程序模拟的,并不实际存在,因此仿真计算机也称之为模拟计算机。,返回本节,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,翻译器和软件模拟计算机,如前所述,理论上,可以设计一种硬件或固件计算机来直接执行某种语言(如C

15、语言)编写的程序,但现实中仍然使用具有低级机器语言的实际计算机,why? 成本、速度、灵活性 高级语言在具有低级机器语言的实际计算机上如何运行? 解决方案: 翻译(编译); 软件模拟(软件解释);,Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,翻译(编译),翻译的过程是:将用高级语言编写的源程序转换成实际计算机上等价的机器语言程序(目标程序)。从而,计算机上的硬件可以直接运行目标程序。翻译是由翻译程序完成的,

16、翻译程序将源程序作为输入,输出结果是功能等价的目标语言程序。 典型的翻译器: 汇编器(assembler):汇编语言源程序 机器语言目标程序; 编译器(compiler):高级语言源程序 与实际计算机可运行的机器语言相近的目标程序。如, C源程序汇编语言程序机器语言程序 (经编译) (经汇编),Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.,装入或连接器(loader or linker):将各个分别编译的子程序目标程序装入到内存中适当的地址(重定向),并将各个子程序连接在一起构成一个地址相容的单一可执行程序,如下图所示: 子程序 编译后的地址 执行地址(重定向地址) P 0999 10001999 Q 01999 20003999 库函数 03999 40007999 预处理器(preprocessor)或

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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