1.指令系统的发展 计算机的程序是由一系列的指令组成的 指令就是要计算机执行某种操作的命令 一台计算机中所有机器指令的集合, 它是表征一台计算机性能的重要因素,其格式与 功能不仅直接影响到机器的硬件结构,也直接影 响到系统软件,影响到机器的适用范围
1. 指令系统的发展 计算机的程序是由一系列的指令组成的, 指令就是要计算机执行某种操作的命令。 指令系统:一台计算机中所有机器指令的集合, 它是表征一台计算机性能的重要因素,其格式与 功能不仅直接影响到机器的硬件结构,也直接影 响到系统软件,影响到机器的适用范围
2.从计算机组成的层次结构来说,计算机的指令 有 和 之分 微指令:微程序级的命令,它属于硬件; 宏指令:由若干条机器指令组成的软件指令,它属 于软件 机器指令(指令):介于微指令与宏指令之间,每条 指令可完成一个独立的算术运算或逻辑运算
2.从计算机组成的层次结构来说,计算机的指令 有微指令、机器指令和宏指令之分。 微指令:微程序级的命令,它属于硬件; 宏指令:由若干条机器指令组成的软件指令,它属 于软件; 机器指令(指令):介于微指令与宏指令之间,每条 指令可完成一个独立的算术运算或逻辑运算
3.计算机指令系统的发展过程 指令系统只有定点加减、逻辑运算、数据传送、 转移等十几至几十条指令。 增加了乘除运算、浮点运算、十进制运算 字符串处理等指令,指令数目多达一二百条,寻址方式 也趋多样化。 开始出现列(指基本指令系统相同 基本体系结构相同的一系列计算机)一个系列往往有多种型 号,它们在结构和性能上有所差异。同一系列的各机种有 共同的指令级而且新推出的机种指令系统一定包含所有旧 机种的全部指令,旧机种上运行的各种软件可以不加任何修 改便可在新机种上运行,大大减少了软件开发费用
3.计算机指令系统的发展过程 50年代:指令系统只有定点加减、逻辑运算、数据传送、 转移等十几至几十条指令。 60年代后期:增加了乘除运算、浮点运算、十进制运算、 字符串处理等指令,指令数目多达一二百条,寻址方式 也趋多样化。 60年代后期开始出现系列计算机(指基本指令系统相同、 基本体系结构相同的一系列计算机)一个系列往往有多种型 号,它们在结构和性能上有所差异。同一系列的各机种有 共同的指令级而且新推出的机种指令系统一定包含所有旧 机种的全部指令,旧机种上运行的各种软件可以不加任何修 改便可在新机种上运行,大大减少了软件开发费用
大多数计算机的指令系统多达几百条。我 们称这些计算机为。 但是如此庞大的指令系统难以保证正确性,不易调 试维护,造成硬件资源浪费。为此人们又提出了精简指 令系统计算机(RISC)
70年代末期:大多数计算机的指令系统多达几百条。我 们称这些计算机为复杂指令系统计算机(CISC)。 但是如此庞大的指令系统难以保证正确性,不易调 试维护,造成硬件资源浪费。为此人们又提出了精简指 令系统计算机(RISC)
4.刷指令系统性能的要求 个完善的指令系统应满足如下方面的要求 完备性用汇编语言编写各种程序时,指令系统直接 提供的指令足够使用,而不必用软件来实现。完备性 有效性利用该指令系统所编写的程序能够高效率 的运行。高效率主要表现在 般来说,一个功能更强、更完善的 指令系统,必定有更好的有效性
4. 对指令系统性能的要求 完备性 用汇编语言编写各种程序时,指令系统直接 提供的指令足够使用,而不必用软件来实现。完备性 要求指令系统丰富、功能齐全、使用方便。 有效性 利用该指令系统所编写的程序能够高效率 的运行。高效率主要表现在程序占据存储空间小、 执行速度快。一般来说,一个功能更强、更完善的 指令系统,必定有更好的有效性。 一个完善的指令系统应满足如下四方面的要求:
规整性规整性包括指令系统的 对称性、匀齐性、指令格式和数据格式的一致性 时称性指在指令系统中所有的寄存器和存储器单元 都可同等对待,所有的指令都可使用各种寻址方式; 齐性是指一种操作性质的指令可以支持各种数据 类型; 指令格式和数据格式的一致性是指指令长度和数 据长度有一定的关系,以方便处理和存取。 兼容性系列机各机种之间具有相同的基本结构和共同的基本 指令集,因而指令系统是兼容的,即各机种上基本软件可以通 用。但由于不同机种推出的时间不同,在结构和性能上有差异 做到所有软件都完全兼容是不可能的,只能做到“向上兼容” 即低档机上运行的软件可以在高档机上运行
规整性 规整性包括指令系统的 对称性、匀齐性、指令格式和数据格式的一致性。 对称性指在指令系统中所有的寄存器和存储器单元 都可同等对待,所有的指令都可使用各种寻址方式; 匀齐性是指一种操作性质的指令可以支持各种数据 类型; 指令格式和数据格式的一致性是指指令长度和数 据长度有一定的关系,以方便处理和存取。 兼容性 系列机各机种之间具有相同的基本结构和共同的基本 指令集,因而指令系统是兼容的,即各机种上基本软件可以通 用。但由于不同机种推出的时间不同,在结构和性能上有差异, 做到所有软件都完全兼容是不可能的,只能做到“向上兼容”, 即低档机上运行的软件可以在高档机上运行
5.低级语言与硬件结构的关系 计算机语言具有 和 之分 高级语言与低级语言的性能比较 比较内容 高级语言低级语言 对程序员的训练要求 (1)通用算法 有 (2)语言规则 较少 较 (3)硬件知识 不要 有要 对机器独立的程度 独立 不独立 3 编制程序的难易程度 4 编制程序所需时间 程序执行时间 易一短一—多 较长 6编译过程中对计算机资源的要求 短一少
5. 低级语言与硬件结构的关系 计算机语言具有高级语言和低级语言之分 高级语言与低级语言的性能比较 比 较 内 容 高 级 语 言 低 级 语 言 1 对程序员的训练要求 (1)通用算法 (2)语言规则 (3)硬件知识 有 较 少 不 要 有 较 多 要 2 对机器独立的程度 独 立 不 独 立 3 编制程序的难易程度 易 难 4 编制程序所需时间 短 较 长 5 程序执行时间 较 长 短 6 编译过程中对计算机资源的要求 多 少
,但人们采用符号语言或高级语言编写程序。为此, 必须借助汇编程序或编译程序,把符号语言或高级语言 翻译成二进制码组成的机器语言。 不同的机器有不同的指令,所以用汇编语言编写的程 序不能在其他类型的机器上运行 在 编写程序方面比汇编语言优越。但是高级语言程序“看 不见”机器的硬件结构,不能用于编写直接访问机器硬 件资源的系统软件或设备控制软件。为此, 。用汇编语言编写 的程序,可作为高级语言的一个外部过程或函数,利用 堆栈来传递参数或参数的地址
计算机能够直接识别和执行的唯一语言是二进制语 言,但人们采用符号语言或高级语言编写程序。为此, 必须借助汇编程序或编译程序,把符号语言或高级语言 翻译成二进制码组成的机器语言。 汇编语言依赖于计算机的硬件结构和指令系统。 不同的机器有不同的指令,所以用汇编语言编写的程 序不能在其他类型的机器上运行。 高级语言与计算机的硬件结构及指令系统无关,在 编写程序方面比汇编语言优越。但是高级语言程序“看 不见”机器的硬件结构,不能用于编写直接访问机器硬 件资源的系统软件或设备控制软件。为此,一些高级语 言提供了与汇编语言之间的调用接口。用汇编语言编写 的程序,可作为高级语言的一个外部过程或函数,利用 堆栈来传递参数或参数的地址