第三章 指令系统
指令格式与寻址方式
指令的种类
指令的执行方式
1.指令格式:
基本概念:所谓指令系统是一台计算机的指令全集( Instruction Set),它所映出该计算机的全部功能,是计算机软件与硬件的接口。
指令是指挥计算机工作的命令。它一般由操作码和地址码两部分组成。
根据指令中所含地址码的个数可分为:
A.零地址指令 这是只有操作码,而没有地址码的指令
B.单地址指令 这是只提供一个地址码的指令。
C.双地址指令 这是含有两个地址码的指令。
D,三地址指令 这是含有三个地址码的指令。
E.多地址指令 指有三个以上地址码的指令;
如:矩阵指令、字符串处理指令、向量运算指令等,可有 7个地址码。
2.简单寻址方式寻址方式:寻址就寻找操作数的地址,
简称寻址;操作数的地址被称为有效地址,记作EA。可见,寻址就是寻找E
A。所以寻址方式就是寻找操作数的方式方法。
寻址方式的改进 可采用如下方法,来提高指令的寻址范围。
A.采用多字长指令 以字长为 16位的计算机为例,若用两个字来表示一条指令,如下所示,操作码和地址码各一个字,那么,该指令的寻址范围就可达
64K。
B.不增加指令长度,改变指令结构 以 16位机为例,
将指令格式改为如下所示。
其中,Q为操作码,D为形式地址,X是寻址方式特征码,这里 X占 3位,可以设定8种不同的寻址方式。
3.一般寻址方式
A.隐含寻址
B.立即寻址
a.指令格式
b.有效地址
C.直接寻址
a.指令格式与寻址
b.有效地址 EA=D
D.寄存器直接寻址
a.指令格式与寻址
b.有效地址 EA=Ri
E.寄存器间接寻址
a.指令格式与寻址 如下图 a所示
b.有效地址 EA=(Ri)
F.相对寻址
a.指令格式与寻址
b.有效地址 EA=(PC)+D
G.变址寻址
a.指令格式与寻址
b.有效地址 EA=(R1)+D
H.自行变址寻址
a.指令格式 QXD
b.有效地址 EA=(R1)+DI
I,基本寻址
J.基本加变址寻址第2节指令的种类
1.数据传送类指令这类指令包括数据传送指令、数据交换指令、
压栈指令和退栈指令。
(1)数据传送指令 该指令的功能包括,
a.把立即数传送到寄存器;
b.把立即数传送到存储单元;
c.数据从寄存器传送到寄存器;
d.数据从寄存器传送到存储单元;
e.数据从存储单元传送到存储单元;
f.数据从存储单元送到寄存器。
(2)数据交换指令 该指令的功能是实现两个操作数的位置互换,
包括:
a.寄存器与寄存器之间的数据交换;
b.寄存器与存储单元之间的数据交换;
c.存储单元与存储单元之间的数据交换。
(3)压栈与退栈指令压栈指令的功能是把数据存入栈区,而退栈指令的功能是从栈区中取出数据。
A.什么是堆栈
B.建栈、压栈和退栈
2.算术逻辑运算指令
(1)算术运算指令
a.低档小型机和微型机
b.高档小型机和微型机
c.大型机和巨型机
(2)逻辑运算指令 一般计算机都具有与、或、
非、异或和测试等逻辑运算指令;有些计算机还设有位操作指令,如位测试、位清除、
位求反等指令。
(3)移位指令 根据功能又分为算术移位、逻辑移位和循环移位指令 。
3.字符串处理指令它的功能包括:
a.字符串传送指令
b.字符串转换指令
c.字符串比较指令
d.字符趾查找指令
e.字符串抽取指令
f.字符串替换指令
4.输入输出指令对于计算机系统来说,输入和输出都是站在主机或 CPU这个角度来看的,也就是说,输入是指数从输入设备送到主机或 CPU;而输出是指数据从主机或 CPU
传送到输出设备 。
5.中断指令、特权指令和陷阱指令
(1) 中断指令:中断是中断 CPU正常工作的意思,也就是中断 CPU正在执行的程序,而让 CPU执行一段中服务系统中。
(2)特权指令:是指多用户、多任务的计算机系所具有的用于系统资源分配与管理的指令。
功能,a.改变系统的工作方式;
b.改变系统的工作方面;
c.检测用记的访问权限;
d.修改虚拟存储器的、段表、页表;
e.`任务的创建和切换等。
(3)陷阱指令什么是陷阱指令 陷阱指令实际上是一种意外事故的中断指令。指令事故包括:
a.电源电压不稳
b.存储器校验出错
c.外设出现故障
d.用户使用了不定义的指令或特权指令陷阱指令的形式 有两种,a.隐含形式 b.非隐含形式
6.转移指令
(1)转移指令:就是改变程序执行顺序的指令
(2)转移指令的分类
A.根据有无转移条条件,分为:
a.无条件转移指令
b.条件转移指令
B.根据目标地址的寻址方式,分为:
a.相对转移指令
b.绝对转移指令
7.转子指令与返主指令
(1)子程序调用的概念 子程序调用与返回的过程如下图所示:
(2)转子指令的功能 其功能是使 CPU转去执行子程序。
(3)返主指令的功能 其功能是使 CPU返回到断点处继续执行主程序,其操作是把断点地址送给程序计算机器;有断点寄存器的返主指令,还应恢复其值。
(4)子程序调用指令与转移指令的区别:
a.转移到的目标地址不同
b.子程序执行完毕后,要返回到主程序的断点处,
继续执行主程序;而转移指令执行后,就再也不能返回到原处去执行。
c.子程序还可以再调用别的子程序,这叫嵌套调用;
也可以直接或间接自己调用自己,这叫递归调用。
8.处理器控制指令这类指令是指直接控制 CPU实现某种功能的指令,包括:
(1)状态标志位的操作指令
(2)停机指令
(3)等待指令
(4)空操作指令
(5)封锁总线指令等。
第3节指令的执行方式
1.指令的执行过程每条指令的执行过程,大致分为三步:即取指令、分析指令和执行指令,分别简称取指、
分析和执行。
2.提高指令执行速度的方法
(1)选用高速芯片
(2)采用更好的运算方法
(3)减少执行过程的节拍数
(4)改进指令执行方式
3.指令的执行过程 每条指令的执行过程为:
取指令、分析指令和执行指令,简称取指、分析和执行;
4.指令的执行方式:
( 1) 顺序执行方式,即:一条指令接一条指令的执行方式;
( 2) 重叠执行方式,即:多条指令同时执行的方式;如下图,
( 3) 流水线方式 即:把指令的执行过程分为若干个子过程,分别由不同的硬件去执行的方式。
5.指令周期:
( 1) 指令周期:指执行指令所需要的时间;
由若干个机器周期组成;
( 2) 机器周期( CPU周期):指 CPU访问主存或输入输出端口所需要的时间; 如 Z80
CPU有 9个机器周期,P173 一个机器周期由若干个时钟周期组成;
( 3) 时钟周期:指 CPU处理操作的最少时间单位,也叫 T状态; Z80 CPU指令周期:如下图,
M1:取指令操作码周期,由 4个 T状态组成
M2:存储器读周期,由 3个 T状态组成; M3:
存储器写周期,由 3个 T状态组成;