一、指令系统的发展
1.指令系统基本概念
指令:就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;
机器指令:介于微指令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。
指令系统:一台计算机中所有机器指令的集合,称为这台计算机的指令系统。(指令系统是表征一台计算机性能的重要因素它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围)
2.发展情况
复杂指令系统计算机,简称 CISC 。但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。
精简指令系统计算机:简称 RISC ,人们又提出了便于 VLSI 技术实现的精简指令系统计算机。
3.指令系统的性能要求
1)完备性:完备性是指用汇编语言编写各种程序时;指令系统直接提供的指令足够使用,前不必用软件来实现。完备性要求指含系统丰富、功能齐全、使用方便。一台讦算机中最基本、必不可少的指令是不多的。许多指令可用最基本的指令编程来实现。例如,乘除运算指令、浮点运算指令可直接用硬件来实现,也可用基本指令编写的程序来实现。采用硬件指令的目的是提高程序执行速度,便于用户编写程序。
2)有效性:有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。
3)规整性:规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指:一种操作性质的指令可以支持各种数据类型:如算术运算指令可支持字节、字、双字整数的运算,十进制数怎算和单、双精度浮点致运昇寺頂它售肴和数据格式的一致性是指:指令长度和数据长度一定的关系,以方便处理和存取。例如指令长数据长度通常是字节长度的整数倍。
4)兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的:即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和功能上有差异,做到所有软件都完全兼容是不可能的,只能做到,“向上兼容”即低档机上运行的软件可以在高档机上运行。
4.低级语言与高级语言的关系
二、指令格式
1.操作码
设计计算机时,对指令系统的每一条指令都要规定一个操作码。指令的操作码 OP 表示该指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等等。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。
组成操作码字段的位数一般取决于计算机指令系统的规模。较大的指令系统就需要更多的位数来表示每条特定的指令。等长(指令规整,译码简单)例如 IBM 370机,该机字长32位,16个通用寄存器R0~R15,共有183条指令;指令的长度可以分为16位、32位和48位等几种,所有指令的操作码都是8位固定长度。固定长度编码的主要缺点是:信息的冗余极大,使程序的总长度增加。
2.地址码
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。
由此可分为:三地址指令、二地址指令、单地址指令、零地址指令。
1)三地址指令。
指令格式如下:
这种格式虽然省去了一个地址,但指令长度仍比较长,所以只在子长较大的大、中型机中使用。
2)二地址指令
其格式如下:
二地址指令在计算机 得到了广泛的应用,但是在使用时有一点必须注意:指令执行之后,A1中原存的内容已经被新的运算结果替换了。
3)一地址指令
指令格式为:
单操作数运算指令,如“+1”、“-1”、“求反”。指令中给出一个源操作数的地址
4)零地址指令
其格式为:
“停机”、“空操作”、“清除”等控制类指令。
3.指令字长度
(1)概念
指令字长度(一个指令字包含二进制代码的位数)机器字长:计算机能直接处理的二进制数据的位数。单字长指令、半字长指令、双字长指令
1)多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题;缺点必须两次或多次访问内存以取出一整条指令,降低了 CPU 的运算速度,又占用了更多的存储空间。
2)指令系统中指令采用等长指令的优点:各种指令字长度是相等的,指令字结构简单,且指令字长度是不变的;
3)采用非等长指令的的优点:各种指令字长度随指令功能而异,结构灵活,能充分利用指令长度,但指令的控制较复杂。