第四章指令系统 4.1指令系统的发展和性能要求
第四章 指令系统 4.1指令系统的发展和性能要求
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 编译过程中对计算机资源的要求 多 少
,但人们采用符号语言或高级语言编写程序。为此, 必须借助汇编程序或编译程序,把符号语言或高级语言 翻译成二进制码组成的机器语言。 不同的机器有不同的指令,所以用汇编语言编写的程 序不能在其他类型的机器上运行 在 编写程序方面比汇编语言优越。但是高级语言程序“看 不见”机器的硬件结构,不能用于编写直接访问机器硬 件资源的系统软件或设备控制软件。为此, 。用汇编语言编写 的程序,可作为高级语言的一个外部过程或函数,利用 堆栈来传递参数或参数的地址
计算机能够直接识别和执行的唯一语言是二进制语 言,但人们采用符号语言或高级语言编写程序。为此, 必须借助汇编程序或编译程序,把符号语言或高级语言 翻译成二进制码组成的机器语言。 汇编语言依赖于计算机的硬件结构和指令系统。 不同的机器有不同的指令,所以用汇编语言编写的程 序不能在其他类型的机器上运行。 高级语言与计算机的硬件结构及指令系统无关,在 编写程序方面比汇编语言优越。但是高级语言程序“看 不见”机器的硬件结构,不能用于编写直接访问机器硬 件资源的系统软件或设备控制软件。为此,一些高级语 言提供了与汇编语言之间的调用接口。用汇编语言编写 的程序,可作为高级语言的一个外部过程或函数,利用 堆栈来传递参数或参数的地址
4.2指令格式 1.操作码 指令格式则是指令字用二进制代码表示的结构形 式,由作字段和 字段组成。 字段表征指令的操作特性与功能 字段通常指定参与操作的操作数的地址 操作码字段 地址码字段
4.2指令格式 1. 操作码 指令格式则是指令字用二进制代码表示的结构形 式,由操作码字段和地址码字段组成。 操作码字段表征指令的操作特性与功能 地址码字段通常指定参与操作的操作数的地址 操作码字段 地址码字段