第七章(指令系统)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章指令系统
7.1 机器指令
7.2 操作数类型和操作类型
7.3 寻址方式
7.4 指令格式举例
7.5 RISC 技术
7.1 机器指令
一、指令的一般格式
操作码字段地址码字段
1. 操作码反映机器做什么操作
(1)长度固定
用于指令字长较长的情况,RISC
如IBM 370操作码8 位
(2)长度可变
操作码分散在指令字的不同字段中
(3) 扩展操作码技术
操作码的位数随地址数的减少而增加
OP
A 1
A 2
A 3
000000011110…A 1A 1A 1…
A 2A 2A 2…
A 3A 3A 3
…
A 2A 2A 2
…
A 3A 3A 3
…
111111111111
…000000011110…
111111111111
…
111111111111…111111111111…000000011111…
111111111111
…111111111111…A 3A 3A 3
…
000000011110…
4 位操作码
8 位操作码
12 位操作码
16 位操作码
15条三地址指令
15条二地址指令
15条一地址指令
16条零地址指令
7.1
2. 地址码
(1) 四地址
(2) 三地址
OP A 1A 2A 3A 4
8 6 6 6 6
A 1第一操作数地址A 2第二操作数地址A 3结果的地址A 4下一条指令地址
若PC 代替A 4
(A 1) OP (A 2) A 3
8 8 8 8
OP
A 1A 2A 3
(A 1) OP (A 2) A 3
4 次访存4 次访存
寻址范围26
= 64寻址范围28
= 256
若A 3 用A 1 或A 2 代替
7.1
设指令字长为32 位操作码固定为8 位
(3) 二地址
OP A 1A 2
8 12 12
(A 1) OP (A 2) A 1
(A 1) OP (A 2) A 2或
4 次访存
若ACC 代替A 1(或A 2)
若结果存于ACC (4) 一地址
(5) 零地址
OP
A 1
8 24
无地址码
(ACC) OP (A 1) ACC
2 次访存
寻址范围212
= 4 K
寻址范围224
= 16 M
3次访存
7.1
二、指令字长
指令字长决定于操作码的长度
指令字长= 存储字长
2. 指令字长可变
操作数地址的长度
操作数地址的个数
1. 指令字长固定
按字节的倍数变化
7.1
小结
当用一些硬件资源代替指令字中的地址码字段后
当指令的地址字段为寄存器时
•可扩大指令的寻址范围•可缩短指令字长
•可减少访存次数
三地址
OP R 1,R 2, R 3
二地址OP R 1, R 2 一地址
OP R 1
•指令执行阶段不访存
•可缩短指令字长7.1
7.2 操作数类型和操作种类
一、操作数类型
地址数字字符逻辑数
无符号整数
定点数、浮点数、十进制数ASCII 逻辑运算
二、数据在存储器中的存放方式
字地址为低字节地址
字地址为高字节地址
3762154
0字地址
04
低字节
0451267
3字地址
04
低字节
存储器中的数据存放(存储字长为32位)
地址(十进制)
04812162024283236
双字
双字(地址32)双字双字(地址24)半字(地址20)半字(地址22)半字(地址16)半字(地址18)字节(地址8)字节(地址9)字节(地址10)字节(地址11)字(地址4)
字(地址0)字节(地址14)
字节(地址15)字节(地址13)字节(地址12)
边界对准
地址(十进制)
048
字节( 地址7)字节( 地址6)字( 地址2)
半字( 地址10)
半字( 地址8)
半字( 地址0)
字( 地址4)边界未对准
✓✓✓✓
▲
▲
7.2
三、操作类型
1.数据传送
源目的
寄存器寄存器寄存器
寄存器
存储器存储器存储器
存储器
置“1”,清“0”
2. 算术逻辑操作
加、减、乘、除、增1、减1、求补、浮点运算、十进制运算与、或、非、异或、位操作、位测试、位清除、位求反如8086
MOVE
STORE LOAD MOVE
PUSH
POP
例如
MOVE MOVE 7.2
ADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD
AND OR NOT XOR TEST