4.1指令系统的发展与性能要求
1.指令系统的发展
计算机的程序是由一系列的机器指令组成
计算机的指令有微指令、机器指令、宏指令之分。
微指令是微程序级的命令,属于硬件;
宏指令是由若干机器指令组成的软件指令,属于软件;
机器指令介于微指令与宏指令之间,通常简称为指令
一台计算机上的所有机器指令的集合成为这台计算机的指令系统
有CISC和RISC之分,前者是复杂指令系统计算机,后者是精简指令系统计算机
2.指令系统的性能要求
(1)完备性:指令足够使用
(2)有效性:程序占据存储空间小、执行速度快
(3)规整性:包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性
(4)兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令集
3.低级语言与硬件结构的关系:略
4.2指令格式
机器指令是用机器字来表示的。表示一条指令的机器字成为指令字,简称指令。
指令格式,是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成
操作码字段:OP;
地址码字段:A
1.操作码
OP表示该指令应进行什么性质的操作,如加、减、乘、除等。
一般来说,一个包含n位的操作码最多能够表示 2^n 条指令
2.地址码
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令
有零地址指令、一地址指令、二地址指令和三地址指令
在二地址指令格式中,可以归结为三种类型:
(1)访问内存的指令格式,称为存储器-存储器(SS)型指令,这种操作时都是涉及内存单元
(2)访问寄存器的指令格式,称为寄存器-寄存器(RR)型指令
(3)寄存器-存储器(RS)型指令
3.指令字长度
一个指令字中包含二进制代码的位数,称为指令字长度。
机器字长是指计算机能直接处理的二进制数据的位数,决定了计算机的运算精度。机器字长通常与主存单元的位数一致。
指令字长度等于机器字长度的指令,称为单字长指令;等于半个机器字长的指令,称为半字长指令;等于两个机器字长度的指令,称为双字长指令
4.指令助记符
硬件只能识别1和0,操作码在机器上都有对应的二进制代码。便于书写和阅读,用英文的缩写代替,缩写码叫做指令助记符,如ADD、SUB、MOV、JMP等
4.3操作数类型
略
4.4指令和数据的寻址方式
存储器既可以存放数据,也可以存放指令。
寻址方式分为两类,指令寻址方式和数据寻址方式。
冯.诺依曼型结构的计算机中,内存中指令的寻址与数据的寻址是交替进行的
哈佛型计算机中指令寻址和数据寻址是独立进行的
(1)指令的寻址方式
有顺序寻址和跳跃寻址之分
(2)操作数基本寻址方式
形成操作数的有效地址的方式,称为操作数的寻址方式
有 隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、偏移寻址(相对寻址(使用PC)、基址寻址、变址寻址)
段寻址方式 :基地址+偏移量
4.5典型指令
- MOV 传送
- STO 存数 : 由CPU向存储器传送字
- LAD 取数 : 由存储器向CPU传送字
- EXC 交换 : 源和目标交换内容
- CLA 清零
- SET 置1
- PUS 进栈
- POP 退栈
- ADD、SUB、MUL、DIV、ABS、NEG(变负)、INC(增量,操作数加1)、DEC(减量,操作数减一)
- AND、OR、NOT、EOR(异或)、TES(测试)、COM(比较)、SHI(移位)、ROT(循环移)
- JMP、JMPX(条件转移)、JMPC(转子)、RET(返回)