计算机组成原理—4—指令系统

1、指令系统概述

  计算机的程序时由一系列的机器指令组成的。
  指令就是要计算机执行某种操作的命令。从计算机组成层次上看,计算机的指令有微指令、机器指令和宏指令之分。微指令就是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件指令;而机器指令介于宏指令和微指令之间,通常简称指令,每一条指令可完成一个独立的算数运算或逻辑运算操作。
  一台计算机中所有机器指令的集合,称为该计算机的指令系统。
  一个完善的指令系统应该满足如下四方面要求:完备性、有效性、规整性、兼容性。

2、指令格式

  机器指令使用机器字来表示的。表示一条指令的机器字就称为指令字,通常简称指令。
  指令格式,则是指令字用二进制代码表示的结构形式,通常由操作码字段和地址字段组成。操作码字段表征指令的操作特性与功能,而地址码字段通常指定参与操作的操作数的地址。

2.1 操作码

  操作码有以下性质:
  (1)设计计算机时,对指令系统的每一条指令都要规定一个操作码,且不同指令对应的操作码不同。
  (2)指令的操作码OP表示该指令应该进行什么性质的操作,如加减乘除、存取数等。
  (3)组成操作码字段的位数一般取决于计算机指令的规模。
  (4)指令字的操作码字段和地址字段段长通常是固定的(对於单片机不固定)。

2.2 操作码

  地址码按地址数有以下分类:
  (1)零地址指令的指令字只有操作码,而没有地址码。例如停机指令就不需要地址码,因为停机不需要操作数。
  (2)一地址指令只有一个地址码,它指定一个操作数,另一个操作数地址是隐含。如累加器。
  (3)二地址指令常称为双操作数指令,它有两个地址码字段A1和A2。分别指明参与操作的两个数在内存中或运算器中通用寄存器的地址,其中A1兼做存放操作结果的地址。
  (4)三地址指令字中有三个操作数地址A1、A2、A3。其中A1为被操作数地址,也称源操作数地址;A2为操作数地址,也称终点操作数地址;A3为存放操作结果的地址。

  地址码按操作数的物理位置有以下分类:
  (1)寄存器-寄存器(SS)型指令。
  (2)寄存器-寄存器(RR)型指令。
  (3)寄存器-存储器(RS)型指令。
  其中访问内存的速度比访问寄存器的速度慢,在复杂指令计算机CISC中一般采用多种格式混合使用。

2.3 指令字长度

  一个指令字中包含二进制代码的位数称为指令字长。而机器字长是指计算机能够直接处理的二进制数据的位数,它决定了计算机的运算精度。机器字长通常与主存单元的位数一致。指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于半个机器字长度的指令称为半字长指令;指令字长度等于两个机器字长度的指令称为双字长指令。
  在一个指令系统中,如果各种指令字长度是相等的称为等长指令字结构。如果各种指令字长度随功能而异就成为变长指令字结构。

2.4 指令助记符

  为了书写和阅读程序,每条指令通常用特定的缩写码表示,称为指令助记符。不同计算机的指令助记符的规定是不一样的。

2.5 操作数类型

  一般的数据类型。机器指令对数据进行操作,数据通常分为以下四类:
  地址数据 地址实际上也是一种形式的有效地址。多数情况下,对指令中操作数的引用必须完成某种计算,才能确定它们在主存中的有效地址。此时,将地址看作是无符号整数。
  数值数据 计算机中普遍使用的三种类型的数值数据是:①定点整数或定点小数;②浮点数;③压缩十进制数。一个字节用2位BCD码表示。
  字符数据 也称文本数据或字符串,目前广泛使用ASII码。
  逻辑数据 一个单元中有若干二进制位项组成,每个位的值可以是1或0。当数据以这种方式看待时,称为逻辑性数据,它创造了对某个具体位进行布尔逻辑运算的机会。

  其它还有Pentium数据类型和Power PC数据类型。感觉没什么用就不了解了。

2.6 指令和数据的寻址方式

  存储器既可用来存放数据,又可用来存放指令。因此,当某个操作数或某条指令存放在某个存储单元时,其存储单元的编号,就是该操作数或指令在存储器中的地址。在存储器中,操作数或指令字写入或读出的方式,有地址指定方式,相关联存储方式和堆栈存储方式。几乎所有计算机在内存中都采用地址指定方式。当采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式。寻址方式分为两类,即指令寻址方式和数据寻址方式,前者比较简单,后者比较复杂。值得注意的是,在冯·诺伊曼型结构的计算机中,内存中指令的寻址与数据的寻址是交替进行的,而哈佛型计算机中指令寻址方式和数据寻址是独立进行的。
  指令的寻址方式:顺序寻址方式,跳跃寻址方式。
  顺序寻址方式:指令地址在内存中按顺序安排,使用程序计数器(又称指令指针寄存器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址。
  跳跃寻址方式:下条指令的地址码不是由程序计数器给出,而是由本条指令给出的。注意程序跳跃后,按新的指令地址开始顺序执行。因此指令计数器的内容也必须相应的改变,以便及时跟踪新的指令地址。

  操作数的寻址方式,形成操作数有效地址的方法称为操作数的寻址方式,有以下方式:
  1、隐含寻址
  2、立即寻址
  3、直接寻址
  4、间接寻址
  5、寄存器寻址
  6、寄存器间接寻址
  7、偏移寻址。(相对寻址、基址寻址、变址寻址)
  8、段寻址
  9、堆栈寻址

2.7 典型指令

  一个较完善的指令系统,应当有数据处理、数据存储、数据传送、程序控制四大类指令。具体有:数据传送指令、算术运算指令、逻辑运算指令、程序控制类指令、输入输出类指令、字符串类指令、系统控制类指令。
  精简指令系统:RISC指令系统的最大特点是:①选取使用频率最高的一些简单指令。指令条数少;
②指令长度固定,指令格式种类少,寻址方式种类少;③只有取数/存数指令访问存储器(其余指令都在寄存器之间进行)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章