计算机组成原理(华科版)第四章指令系统.pptx
第四章指令系统
指令系统的发展与性能01计算机的性能与它所设置的指令系统有很密切的关系,而指令系统的设置又与机器的硬件结构紧密相关。通常性能好的计算机都要设置指令丰富、功能齐全、通用性强、使用方便高效的指令系统,而这些需要复杂的硬件结构来支持。02
0102030405指令就是指挥计算机执行某种操作的命令。微指令是微程序级的命令,属于硬件;一台计算机中所有机器指令的集合,称为该计算机的指令系统。宏指令是由若干条机器指令组成的软件指令,属于软件;机器指令则介于微指令与宏指令之间,通常简称为指令。4.1.1指令系统的发展
20世纪70年代末期,随着大规模集成电路VLSI技术的飞速发展,硬件成本不断下降,而软件成本不断上升。为增加计算机的功能,以及缩小指令系统与高级语言的差异,以便于高级语言的编译,降低软件开发成本,于是产生了以增加指令数和设计复杂指令为手段的计算机,大多数计算机的指令系统多达几百条,称这些计算机为复杂指令系统计算机,简称CISC(ComplexInstructionSetComputer)。1IBM公司在1975年开始探讨指令系统的合理性问题,Johncocke提出了精简指令系统的想法。1982年,美国加州伯克利大学、斯坦福大学、IBM公司都先后研制出便于VLSI技术实现的精简指令系统计算机,简称RISC(ReducedInstructionSetComputer)。1983年后,RISC计算机商品化。2
1.完备性完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便高效。2.高效性高效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小,执行速度快。3.规整性规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。4.兼容性系列机各机种之间具有相同的基本结构和共同的基本指令集,因而,指令系统是兼容的,即各机种上基本软件可以通用。4.1.2指令系统的性能
4.1.3计算机语言与硬件结构的关系一台计算机能够直接识别并执行的语言并不是高级语言,而是一种用二进制码表示的、由一系列指令组成的机器语言。因此,任何问题不管使用那一种计算机语言(汇编语言或某种高级语言)描述,都必须通过翻译程序转换成相应的机器语言后才能执行。机器语言存在着可读性差、不易编程、不易维护等许多缺陷,这就给编写程序带来许多困难。但是,可以用预先规定的符号来分别替代用二进制码表示的操作码、操作数或地址,这种用助记符来表示二进制码指令序列的语言,称为汇编语言(AssemblyLanguage),它基本上是与机器语言一一对应的。
指令格式就是用二进制代码表示的一条指令的结构形式,通常由操作码和地址码两种字段组成。操作码字段表征指令操作的性质和功能,地址码字段通常指定参与操作的操作数的地址。一条指令的指令格式形式为:计算机指令格式的设定一般与机器的字长、存储器的容量以及指令的功能有关。操作码字段 地址码字段4.2指令格式
4.2.1指令操作码与地址码1.操作码2.地址码指令中参加运算的操作数既可存放在主存储器中,也可存放在寄存器中,地址码应该指出该操作数所在的存储器地址或寄存器地址。根据指令的操作数地址码的数目的不同,可将指令分成零地址指令、一地址指令、二地址指令、三地址指令和多地址指令等多种格式。操作码指出该指令应该执行什么性质的操作和具有何种功能。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。
(1)三地址指令格式其格式为 OPCODE——操作码,A1——第一个源操作数存储器地址或寄存器地址,A2——第二个源操作数存储器地址或寄存器地址,A3——操作结果的存储器地址或寄存器地址。其数学形式描述为:(A1)OP(A2)→A3OPCODE A1 A2 A3
(2)二地址指令格式其格式为 OPCODE——操作码,A1——第一个源操作数存储器地址或寄存器地址,A2——第二个源操作数和存放操作结果的存储器地址或寄存器地址。其数学形式描述为:(A1)OP(A2)→A1
或者(A1)OP(A2)→A2OPCODE A1 A2
01OPCODE——操作码,02A——操作数的存储器地址或寄存器地址。03其数学形式描述为:OP(A)→A04或者