指令系统
指令系统概述
指令是要计算机执行某种操作的命令。从层次结构来说,可以分为:为微指令,机器指令,宏指令。
微指令:微程序的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令:用机器字表示,简称指令。
指令系统:一台计算机的所有机器指令的集合,称为这台计算机的指令系统。
指令系统的性能要求
- 完备性
用汇编语言编写各种程序时,
指令系统丰富、功能齐全、使用方便。
- 有效性
该指令系统编写的程序能够高效率地运行。
高效率主要表现在程序占据存储空间小、执行速度快。
-
规整性
规整性包括对称性、均齐性、指令格式和数据格式的一致性- 对称性
在指令系统中所有的寄存器和存储单元都可同等对待,所有的指令都可使用各种寻址方式。
- 匀齐性
一种操作性质的指令可以支持各种数据类型
- 指令格式和数据格式的一致性
指令长度和数据长度有一定的关系(后面介绍),以方便处理和存取。
-
兼容性
系列机各机种之间具有相同的基本结构和共有的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。
指令格式
机器指令是机器字来表示。表示一条指令的机器字,就称为指令字,通常简称指令。
指令格式,则是指令字用二进制代码来表示的结构形式,通常由操作码字段和地址码字段组成。操作码字段表示指令的操作特征和功能,而地址字段指定参与操作的操作数的地址。
操作码
设计计算机时,对指令系统的每一条指令都要规定一个操作码。
指令的操作码表示指令该进行什么性质的操作,加减乘除,存数,移位,取数等等。
地址码
根据一个指令有几个操作数地址,称为几操作数指令或几地址指令。一般有:零地址指令、一地址指令、二地址指令、三地址指令。
- 零地址指令
只有操作码,没有地址码。eg:停机指令,就没有地址码
- 一地址指令
只有一个地址码,指定一个操作数,另一个操作数是隐含的。eg:累加寄存器。
- 二地址指令
有两个地址码字段兼做存放操作结构的地址。
在二地址指令格式中,从操作数的物理位置来说,可以归结为三种类型:
1.访问内存的指令格式,称为存储器-存储器(SS)型。
2.访问寄存器的指令格式,称为寄存器-寄存器(RR)型。
3.即要访问内存单元,又要访问寄存器,称为寄存器-存储器(RS)型。
- 三地址指令
三地址指令中有三个操作数
指令字长度
指令字长度:一个指令字中包含二进制代码的位数;机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。
半字长指令:指令字长度等于半个机器字长度的指令。
单字长指令:指令字长度等于机器长度的指令。
双字长指令:指令字长度等于两个机器长度的指令。
多字长指令的缺点:必须两次或三次访问内存以取出一整条指令,这就降低了CPU的运算速度,同时又占用了更多的空间。
操作数类型
- 地址数据
- 数值数据
- 字符数据
- 逻辑数据
寻址方式
存储器既可以存放数据,也可以存放指令。
形成指令地址或者操作数地址的方式,是寻址方式,可分为:指令寻址方式和数据寻址方式。
指令寻址方式
指令寻址分为顺序寻址和跳跃寻址两种:
- 顺序寻址
通过程序计数器 PC 加 1,自动形成下一条指令的地址。
- 跳跃寻址
通过转移类指令实现。例如,对于 JMP 7 指令,无论在什么位置,它执行完后,便无条件地将 7 送至 PC,跳过其他指令,直接执行第 7 条指令。
数据寻址方式
更新中。。。