网络教学 Programming Language Design and Implementation 程序设计语言 E
程 序 设 计 语 言 Programming Language Design and Implementation 网络教学
第2章机器体系机构对语言的影响 学习目标]:了解程序语言的基本特征;掌握虚 拟计算机和绑定时间 学习程序设计语言的基本特征; 了解计算机的硬件结构; 掌握虚拟计算的基本概念和虚拟计算机的层次; 掌握编译与解释的基本概念及各自特点; 掌握绑定时间的基本概念及其与语言实现关系;
第2章 机器体系机构对语言的影响 [学习目标]:了解程序语言的基本特征;掌握虚 拟计算机和绑定时间。 -学习程序设计语言的基本特征; -了解计算机的硬件结构; -掌握虚拟计算的基本概念和虚拟计算机的层次; -掌握编译与解释的基本概念及各自特点; -掌握绑定时间的基本概念及其与语言实现关系;
[重点和难点]: 本章的重点是:虚拟计算机的基本概念;绑定时 间的基本概念;编译与解释的基本概念以及各自 的特点。 本章的难点是:绑定时间的基本概念机器与语言 实现的关系; [知识点] 计算机的硬件结构;固件计算机;翻译;编译; 解释;虚拟计算机;绑定时间
[重点和难点]: 本章的重点是:虚拟计算机的基本概念;绑定时 间的基本概念;编译与解释的基本概念以及各自 的特点。 本章的难点是:绑定时间的基本概念机器与语言 实现的关系; [知识点]: 计算机的硬件结构;固件计算机;翻译;编译; 解释;虚拟计算机;绑定时间;
概述 ●早期程序设计语言的设计目标是:使程序能够在 价格昂贵的硬件机器上高效运行。因此,尽管当 时使用的语言(如 Fortran)编程很困难,但它们 都拥有高效的转换机制将源程序转换为机器代码。 ●但如今,计算机的性能价格比不断提高,软件的 体系结构发生了重大变化,软件的成本越来越变 得昂贵,因此现在程序设计强调程序设计的正确 性、可读性和可维护性。 可见软件的体系结构对语言的设计也起到重要的 作用,主要表现在两个方面:程序将在那种计算 机上运行;实际的硬件所支持的程序执行模型或 虚拟机
概述 ⚫ 早期程序设计语言的设计目标是:使程序能够在 价格昂贵的硬件机器上高效运行。因此,尽管当 时使用的语言(如fortran)编程很困难,但它们 都拥有高效的转换机制将源程序转换为机器代码。 ⚫ 但如今,计算机的性能价格比不断提高,软件的 体系结构发生了重大变化,软件的成本越来越变 得昂贵,因此现在程序设计强调程序设计的正确 性、可读性和可维护性。 ⚫ 可见软件的体系结构对语言的设计也起到重要的 作用,主要表现在两个方面:程序将在那种计算 机上运行;实际的硬件所支持的程序执行模型或 虚拟机
第2章机器体系机构对语言的影响 2.1计算机的操作 2.2虚拟计算机和绑定时间
2.1 计算机的操作 2.2 虚拟计算机和绑定时间 第2章 机器体系机构对语言的影响
2.1计算机的操作 台计算机是一个可以执行算法和存储数据的有 机整体。一台计算机*含六个主要组成部分,并 与程序设计语言组成部分紧密对应,它们分别是: 数据:计算机提供的基本数据元素和数据结构。 基本操作:计算机对数据实施的基本动作。 顺序控制:控制操作执行顺序的机制。 数据存取:对每次操作执行所需数据的存取控制机 制 存储机制:计算机提供的存储分配机制。 操作环境:支持程序和外部环境通信的机制 注:这六个部分也是设计程序语言的六个基本特征。 *:此处所讲得的计算机可以是物理硬件设备,也可以是通过软件 拟的计算机
2.1 计算机的操作 ⚫ 一台计算机是一个可以执行算法和存储数据的有 机整体。一台计算机*包含六个主要组成部分,并 与程序设计语言组成部分紧密对应,它们分别是: –数据:计算机提供的基本数据元素和数据结构。 –基本操作:计算机对数据实施的基本动作。 –顺序控制:控制操作执行顺序的机制。 –数据存取:对每次操作执行所需数据的存取控制机 制。 –存储机制:计算机提供的存储分配机制。 –操作环境:支持程序和外部环境通信的机制。 注:这六个部分也是设计程序语言的六个基本特征。 *:此处所讲得的计算机可以是物理硬件设备,也可以是通过软件模 拟的计算机
本节主要内容 ●计算机的硬件结构 ●固件计算机 ●翻译器和软件模拟计算机
本节主要内容 ⚫ 计算机的硬件结构 ⚫ 固件计算机 ⚫ 翻译器和软件模拟计算机
计算机的硬件结构 外部存储(SM) 及ⅣO设备 主存(MM 高速缓冲存储器 (cache) 程序地址寄存器 数据寄存器ODR) (AR) 解释器 基本操作1 基本操作k CPU
计算机的硬件结构 外部存储(SM) 及I/O设备 主存(MM) 高速缓冲存储器 (cache) 程序地址寄存器 (AR) 数据寄存器(DR) 解释器 基本操作1 基本操作k CPU
数据 ●数据在程序执行过程中需要存储,从图可见, 主要有四个存储部件:主存(MM)高速缓存 ( Cache),高速寄存器(R)和外部辅助存 储器(SM)。这些存储部件的性能不同,存 储数据的特点有异。 ●计算机由一些内部数据类型可被硬件直接操作, 包括正型数据、单精度实数、固定长度字符串 和位串。 ●其实,程序在某种意义上也是一种数据,其计 算机的内部表示方法是机器语言
数据 ⚫ 数据在程序执行过程中需要存储,从图可见, 主要有四个存储部件:主存(MM)高速缓存 (Cache),高速寄存器(R)和外部辅助存 储器(SM)。这些存储部件的性能不同,存 储数据的特点有异。 ⚫ 计算机由一些内部数据类型可被硬件直接操作, 包括正型数据、单精度实数、固定长度字符串 和位串。 ⚫ 其实,程序在某种意义上也是一种数据,其计 算机的内部表示方法是机器语言
操作 ●每台计算机都有一个内部基本操作集与机器语 言指令相对应 一个典型的操作集包括与内部数据类型相关的 基本算术指令(即整数和实数的加、减、乘、 除法指令),测试指令(如判断0,判断正、 负数的指令),数据存取操作指令、控制1/0 指令以及执行顺序控制指令等
操作 ⚫ 每台计算机都有一个内部基本操作集与机器语 言指令相对应。 ⚫ 一个典型的操作集包括与内部数据类型相关的 基本算术指令(即整数和实数的加、减、乘、 除法指令),测试指令(如判断0,判断正、 负数的指令),数据存取操作指令、控制I/O 指令以及执行顺序控制指令等