第七章 指 令 系 统
DESCRIPTION
7.1 机器指令. 7.2 操作数类型和操作类型. 7.3 寻址方式. 7.4 指令格式举例. 7.5 RISC 技术. 第七章 指 令 系 统. 教学目标: 旨在使学生了解指令系统与机器的主要功能以及与硬件结构之间存在的密切关系。 重点: 指令系统主要体现(操作类型、数据类型、地址格式和寻址方式);机器指令一般格式及指令字中各字段的作用;地址格式对访存次数及寻址范围的影响;寻址方式对操作数寻址范围等的影响; RISC 的主要特点及与 CISC 的区别。 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/1.jpg)
第七章 指 令 系 统第七章 指 令 系 统
7.1 机器指令
7.2 操作数类型和操作类型
7.3 寻址方式
7.4 指令格式举例
7.5 RISC 技术
![Page 2: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/2.jpg)
教学目标:旨在使学生了解指令系统与机器的主要功能以及与硬件结构之间存在的密切关系。
重点:指令系统主要体现(操作类型、数据类型、地址格式和寻址方式);机器指令一般格式及指令字中各字段的作用;地址格式对访存次数及寻址范围的影响;寻址方式对操作数寻址范围等的影响; RISC 的主要特点及与 CISC 的区别。
难点 : 掌握设计指令格式的方法,学会根据指令系统要求确定指令字中各字段的位数及其含义;扩展操作码;按字节和字寻址;“边界对准”和“边界不对准”。
![Page 3: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/3.jpg)
7.1 7.1 机 器 指 令机 器 指 令一、指令的一般格式
操作码字段 地址码字段
1. 操作码 反映机器做什么操作
(1) 长度固定
(2) 长度可变
用于指令字长较长的情况 , RISC
如 IBM 370 操作码 8 位
操作码分散在指令字的不同字段中
![Page 4: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/4.jpg)
(3) 扩展操作码技术操作码的位数随地址数的减少而增加
OP A1 A2 A3
00000001
1110
…
A1A1
A1
…
A2A2
A2
…
A3A3
A3
…
A2A2
A2
…
A3A3
A3
…
11111111
1111
…
00000001
1110
…
11111111
1111
…11111111
1111
…
11111111
1111
…
00000001
1111
…
11111111
1111
…
11111111
1111…
A3A3
A3
…
00000001
1110
…
4 位操作码
8 位操作码
12 位操作码
16 位操作码
15 条三地址指令
15 条二地址指令
15 条一地址指令
16 条零地址指令
7.17.1
![Page 5: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/5.jpg)
2. 地址码(1) 四地址
(2) 三地址
OP A1 A2 A3 A4
8 6 6 6 6
A1 第一操作数地址A2 第二操作数地址A3 结果的地址A4 下一条指令地址
若 PC 代替 A4(A1) OP (A2) A3
8 8 8 8
OP A1 A2 A3
(A1) OP (A2) A3
4 次访存
4 次访存
寻址范围 26 = 64
寻址范围 28 = 256
若 A3 用 A1 或 A2 代替
7.17.1
设指令字长为 32 位操作码固定为 8 位
![Page 6: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/6.jpg)
(3) 二地址
OP A1 A2
8 12 12
(A1) OP (A2) A1
(A1) OP (A2) A2
或 4 次访存
若 ACC 代替 A1 (或A2 )
若结果存于 ACC
(4) 一地址
(5) 零地址
OP A1
8 24
无地址码
(ACC) OP (A1) ACC
2 次访存
寻址范围 212 = 4 K
寻址范围 224 = 16 M
3 次访存
7.17.1
![Page 7: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/7.jpg)
二、指令字长
指令字长决定于
操作码的长度
指令字长 = 存储字长
2. 指令字长 可变
操作数地址的长度
操作数地址的个数
1. 指令字长 固定
按字节的倍数变化
7.17.1
![Page 8: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/8.jpg)
小结 当用一些硬件资源代替指令字中的地址码字段后
当指令的地址字段为寄存器时
• 可扩大指令的寻址范围• 可缩短指令字长• 可减少访存次数
三地址 OP R1, R2, R3
二地址 OP R1, R2
一地址 OP R1
• 指令执行阶段不访存• 可缩短指令字长
7.17.1
![Page 9: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/9.jpg)
7.2 7.2 操作数类型和操作种类操作数类型和操作种类一、操作数类型
地址数字字符逻辑数
无符号整数定点数、浮点数、十进制数ASCII
逻辑运算
二、数据在存储器中的存放方式
字地址 为 低字节 地址 字地址 为 高字节 地址
37 6
2 15 4
0字地址
04
低字节
04 5
1 26 7
3字地址
04
低字节
![Page 10: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/10.jpg)
存储器中的数据存放(存储字长为 32 位)地址(十进制)
0 4 812162024283236双字
双字(地址 32 )双字
双字(地址 24 )半字(地址 20 )半字(地址 22 )半字(地址 16 )半字(地址 18 )
字节(地址 8 )字节(地址 9 )字节(地址 10 )字节(地址 11 )字(地址 4 )字(地址 0 )
字节(地址 14 ) 字节(地址 15 ) 字节(地址 13 ) 字节(地址 12 )
边界对准
地址(十进制)
0
4
8
字节 ( 地址 7) 字节 ( 地址 6)
字 ( 地址 2)
半字 ( 地址 10) 半字 ( 地址 8)
半字 ( 地址 0)
字 ( 地址 4)
边界未对准
▲
▲
7.27.2
![Page 11: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/11.jpg)
三、操作类型1. 数据传送
源目的
寄存器 寄存器寄存器 寄存器
存储器 存储器存储器 存储器
置“ 1” ,清“ 0”
2. 算术逻辑操作加、减、乘、除、增 1 、减 1 、求补、浮点运算、十进制运算
与、或、非、异或、位操作、位测试、位清除、位求反
如 8086
MOVE STORE LOAD MOVE
PUSH POP
例如MOVE MOVE
7.27.2
ADD SUB MUL DIV INC DEC CMP NEG
AAA AAS AAM AAD
AND OR NOT XOR TEST
![Page 12: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/12.jpg)
3. 移位操作算术移位
4. 转移(1) 无条件转移 JMP
(2) 条件转移
结果为零转 ( Z = 1 ) JZ
结果溢出转 ( O = 1 ) JO
结果有进位转( C = 1 ) JC
跳过一条指令 SKP
循环移位(带进位和不带进位)
如300…
305
306307
SKP DZ D = 0 则跳
逻辑移位
完成触发器
7.27.2
![Page 13: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/13.jpg)
(3) 调用和返回
CALL SUB1
...
...
...
CALL SUB2
…...
CALL SUB2
…
RETURN
RETURN
...
...
主程序地址2000
21002101
子程序 SUB12400
25002501
25602561
2700
主存空间分配 程序执行流程
子程序 SUB2
7.27.2
![Page 14: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/14.jpg)
IN AX, n
OUT DX, ALOUT n, AX OUT DX, AX
(4) 陷阱( Trap )与陷阱指令意外事故的中断
• 设置供用户使用的陷阱指令如 8086 INT TYPE 软中断提供给用户使用的陷阱指令,完成系统调用
5. 输入输出
• 一般不提供给用户直接使用 在出现事故时,由 CPU 自动产生并执行(隐指令)
IN AL, DXIN AX, DX
入 端口地址 CPU 的寄存器
出 CPU 的寄存器 端口地址
7.27.2
如
如
IN AL, n
OUT n, AL
![Page 15: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/15.jpg)
7.3 7.3 寻 址 方 式寻 址 方 式
寻址方式 确定 本条指令 的 操作数地址
下一条 欲执行 指令 的 指令地址
指令寻址
数据寻址
寻址方式
![Page 16: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/16.jpg)
7.3 7.3 寻 址 方 式寻 址 方 式一、指令寻址
顺序 ( PC ) + 1 PC
跳跃 由转移指令指出
LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100...
0123456789
PC+1
指令地址寻址方式指令地址 指令
顺序寻址1顺序寻址2顺序寻址3
跳跃寻址7顺序寻址8
![Page 17: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/17.jpg)
二、数据寻址
形式地址 指令字中的地址 有效地址 操作数的真实地址 约定 指令字长 = 存储字长 = 机器字长
1. 立即寻址
• 指令执行阶段不访存• A 的位数限制了立即数的范围
形式地址 A操作码 寻址特征
OP # A
立即寻址特征
立即数 可正可负 补码
形式地址 A 就是操作数
7.37.3
![Page 18: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/18.jpg)
2. 直接寻址EA = A
操作数
主存寻址特征
LDA A
A ACC
• 执行阶段访问一次存储器
• A 的位数决定了该指令操作数的寻址范围
• 操作数的地址不易修改(必须修改 A )
有效地址由形式地址直接给出
7.37.3
![Page 19: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/19.jpg)
3. 隐含寻址操作数地址隐含在操作码中
ADD A
操作数
主存寻址特征
AACC
暂存
ALU
另一个操作数隐含在 ACC 中
如 8086
MUL 指令被乘数隐含在 AX ( 16 位)或 AL ( 8 位)中MOVS 指令 源操作数的地址隐含在 SI 中
目的操作数的地址隐含在 DI 中• 指令字中少了一个地址字段,可缩短指令字长
7.37.3
![Page 20: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/20.jpg)
4. 间接寻址EA = ( A ) 有效地址由形式地址间接提供
OP A
寻址特征
A EA
主存
EA A1
EA
A1
主存
EA
1
0
• 执行指令阶段 2 次访存
• 可扩大寻址范围• 便于编制程序
OP A
寻址特征
A
一次间址 多次间址操作数
操作数
多次访存
7.37.3
![Page 21: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/21.jpg)
…
……
子程序主程序
…
80
81
201
202
转 子程序
转 子程序
间接寻址编程举例
(A) = 81(A) = 202…
… @ 间址特征
7.37.3
JMP @ A
… …
……
……
… …
……
![Page 22: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/22.jpg)
5. 寄存器寻址EA = Ri
• 执行阶段不访存,只访问寄存器,执行速度快
OP Ri
寻址特征
• 寄存器个数有限,可缩短指令字长
操作数…
……
……
…
R0
Ri
Rn
寄存器
有效地址即为寄存器编号7.37.3
![Page 23: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/23.jpg)
EA = ( Ri )
6. 寄存器间接寻址
• 有效地址在寄存器中, 操作数在存储器中,执行阶段访存
操作数
主存OP Ri
寻址特征
• 便于编制循环程序
地址
……
…
……
…
R0
Ri
Rn
寄存器
有效地址在寄存器中7.37.3
问题 1 :间接寻址和寄存器间接寻址有什么异同?
![Page 24: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/24.jpg)
7. 基址寻址(1) 采用专用寄存器作基址寄存器
EA = ( BR ) + A BR 为基址寄存器
OP A
操作数
主存
寻址特征
ALUBR
• 可扩大寻址范围• 便于程序搬家• BR 内容由操作系统或管理程序确定• 在程序的执行过程中 BR 内容不变,形式地址 A 可变
7.37.3
![Page 25: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/25.jpg)
(2) 采用通用寄存器作基址寄存器
操作数
主存
寻址特征
ALU
OP R0 A R0 作基址寄存器
• 由用户指定哪个通用寄存器作为基址寄存器
通用寄存器
R0
Rn-1
R1
…
• 基址寄存器的内容由操作系统确定
• 在程序的执行过程中 R0 内容不变,形式地址 A 可变
7.37.3
![Page 26: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/26.jpg)
8. 变址寻址EA = ( IX ) +A
OP A
操作数
主存
寻址特征
ALUIX
• 可扩大寻址范围
• 便于处理数组问题
• IX 的内容由用户给定
IX 为变址寄存器(专用)
• 在程序的执行过程中 IX 内容可变,形式地址 A 不变
通用寄存器也可以作为变址寄存器
7.37.3
问题 2 :基址寻址和变址寻址有什么区别?
![Page 27: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/27.jpg)
例 设数据块首地址为 D ,求 N 个数的平均值
直接寻址 变址寻址LDA D
ADD D + 1
ADD D + 2
……
ADD D + ( N -1 )
DIV # N
STA ANS
LDA # 0
LDX # 0
INX
CPX # N
BNE M
DIV # N
STA ANS
共 N + 2 条指令 共 8 条指令
ADD X, DM
X 为变址寄存器
D 为形式地址
(X) 和 #N 比较
(X) +1 X
结果不为零则转
7.37.3
![Page 28: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/28.jpg)
9. 相对寻址 EA = ( PC ) + A
A 是相对于当前指令的位移量(可正可负,补码)
• A 的位数决定操作数的寻址范围• 程序浮动• 广泛用于转移指令
操作数
寻址特征
ALU
OP A
相对距离 A
1000PC
……主存
1000 AOP
7.37.3
![Page 29: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/29.jpg)
(1) 相对寻址举例
M 随程序所在存储空间的位置不同而不同
EA = ( M+3 ) – 3 = M
– 3*
LDA # 0
LDX # 0
ADD X, D
INX
CPX # N
BNE M
DIV # N
STA ANS
M
M+1
M+2
M+3
而指令 BNE 与 指令 ADD X, D 相对位移量不变– 3* 指令 BNE 操作数的有效地址为– 3*
相对寻址特征*
7.37.3
![Page 30: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/30.jpg)
(2) 按字节寻址的相对寻址举例
OP
位移量2000 H
2008 H
8
JMP * + 8
OP
06 H
2000 H
2008 H
8
设 当前指令地址 PC = 2000H
转移后的目的地址为 2008H
因为 取出 JMP * + 8 后 PC = 2002H
二字节指令
故 JMP * + 8 指令 的第二字节为 2008H - 2002H = 6H
7.37.3
![Page 31: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/31.jpg)
10. 堆栈寻址(1) 堆栈的特点
堆栈硬堆栈
软堆栈
多个寄存器
指定的存储空间
先进后出(一个入出口) 栈顶地址 由 SP 指出
– 1
1FFFH
+1
2000 H
进栈 ( SP )– 1 SP 出栈 ( SP ) + 1 SP
栈顶
栈底
2000 HSP
2000 H
… …
1FFF HSP
1FFFH 栈顶
栈底
进栈 出栈
1FFF H
栈顶
2000 H
栈顶
7.37.3
![Page 32: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/32.jpg)
(2) 堆栈寻址举例
15
200H
ACC
SPX
栈顶200H
栈底
主存15
1FFH
ACC
SP15
栈顶
200H
栈底
主存
X
1FFH
PUSH A 前 PUSH A 后
POP A 前 POP A 后
Y
1FFH
ACC
SPX
栈顶
200H
栈底
主存
151FFH
15
200H
ACC
SP 栈顶200H
栈底
主存
X
15
7.37.3
![Page 33: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/33.jpg)
(3) SP 的修改与主存编址方法有关① 按 字 编址
进栈
出栈
( SP )– 1 SP
( SP ) + 1 SP
② 按 字节 编址
存储字长 16 位 进栈
出栈
( SP )– 2 SP
( SP ) + 2 SP
存储字长 32 位 进栈
出栈
( SP )– 4 SP
( SP ) + 4 SP
7.37.3
![Page 34: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/34.jpg)
7.4 7.4 指令格式举例指令格式举例一、设计指令格式时应考虑的各种因素
1. 指令系统的 兼容性 (向上兼容)2. 其他因素
操作类型
数据类型
指令格式
包括指令个数及操作的难易程度
指令字长、操作码位数
寻址方式寄存器个数
地址码位数、地址个数寻址方式、是否采用扩展操作码
![Page 35: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/35.jpg)
二、指令格式举例1. PDP – 8 指令字长固定 12 位
操作码 间 页 地址码访存类指令
0 2 3 54 11
寄存器类指令 1 1 1 辅助操作码
0 2 3 11
I/O 类指令 1 1 0 设备 操作码0 2 3 1198
7.47.4
![Page 36: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/36.jpg)
2. PDP – 11
源地址OP
4 6 6 16 16
目的地址 存储器地址 1 存储器地址 2
OP
10 6 16
目的地址 存储器地址
目的地址4 6 6
源地址OP
10 6
目的地址OP – CODE
16
OP – CODE
指令字长有 16 位、 32 位、 48 位三种 零地址 (16 位 )
一地址 (16 位 )
二地址 R R (16 位 )
二地址 R M (32 位 )
二地址 M M (48 位 )
扩展操作码技术
7.47.4
![Page 37: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/37.jpg)
3. IBM 360
OP R1 R2 RR格式
8 4 4
OP R1 X B D RX格式
8 4 4 4 12
OP R1 R3 B D RS格式
8 4 4 4 12
OP B DI SI格式
8 8 4 12
OP B1 D1L B2 D2 SS格式
8 8 4 12 4 12
二地址 R R
基址加变址寻址二地址 R M
三地址 R M
基址寻址
二地址 M M 基址寻址
基址寻址立即数 M
7.47.4
![Page 38: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/38.jpg)
4. Intel 8086(1) 指令字长
(2) 地址格式
1 ~ 6 个字节
MOV WORD PTR[0204], 0138H 6 字节
INC AX 1 字节
一地址NOP 1 字节
CALL
段内调用 3 字节
零地址 5 字节段间调用
寄存器 — 寄存器
寄存器 — 立即数
寄存器 — 存储器
ADD AX , BX 2 字节
ADD AX , [3048H] 4 字节
ADD AX , 3048H 3 字节
二地址
CALL
7.47.4
![Page 39: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/39.jpg)
7.5 7.5 RISC RISC 技 术 技 术 一、 RISC 的产生和发展
80 — 20 规律 典型程序中 80% 的语句仅仅使 用处理机中 20% 的指令 执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高
RISC ( Reduced Instruction Set Computer )
CISC ( Complex Instruction Set Computer )
—— RISC 技术
能否用 20% 的简单指令组合不常用的 80% 的指令功能?
![Page 40: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/40.jpg)
二、 RISC 的主要特征
选用使用频率较高的一些 简单指令 复杂指令的功能由简单指令来组合 指令 长度固定 只有 LOAD / STORE 指令访存 流水技术 一个时钟周期 内完成一条指令 组合逻辑 实现控制器
多个 通用 寄存器
采用 优化 的 编译 程序
7.57.5
![Page 41: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/41.jpg)
典型例题:典型例题:7.4 零地址指令的操作数来自哪里?在一
地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。
7.6某指令系统字长为 16 位,地址码取 4位,试提出一种方案,使该指令系统有 8条三地址指令、 16 条二地址指令、 100条一地址指令。
![Page 42: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/42.jpg)
典型例题:典型例题:7.17 举例说明哪几种寻址方式在指令的
执行阶段不访问存储器,哪几种寻址方式在指令的执行阶段只需要访问一次存储器?完成什么样的指令,包括取指令在内共访问存储器 4 次?
7.18某机器共能完成 78 种操作,若指令字长为 16 位,试问一地址格式的指令地址码可取几位?若想使指令寻址范围扩大到 216 ,可采用什么方法?举出三种不同例子加以说明。
![Page 43: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/43.jpg)
课堂练习题:课堂练习题:1. 以下四种类型指令中,执行时间最长的是 _____ 。A. RR 型 B. RS 型 C. SS 型 D. 程序控制指令答案: C
2. 设变址寄存器为 X ,形式地址为 D ,( X )表示寄存器 X 的内容,这种寻址方式的有效地址为 _____ 。A. EA=(X)+D B. EA=(X)+(D)
C.EA=((X)+D) D. EA=((X)+(D))
答案: A
![Page 44: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/44.jpg)
课堂练习题:课堂练习题:3. 在指令的地址字段中,直接指出操作数本身的寻址方式,称为 ______ 。A. 隐含寻址 B. 立即寻址 C. 寄存器寻址 D. 直接寻址答案: B
4. 条件转移、无条件转移、转子程序、返主程序、中断返回指令都属于 A.______ 类指令,这类指令在指令格式中所表示的地址不是 B.______ 的地址,而是 C.______ 的地址。 答案: A. 程序控制 B. 操作数 C. 下一条指令
![Page 45: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/45.jpg)
课堂练习题:课堂练习题:5. 若机器字长 36 位,采用三地址格式访存指令,共完成 54 种操作,操作数可在 1K 地址范围内寻找,画出该机器的指令格式。解:
![Page 46: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/46.jpg)
课堂练习题:课堂练习题:6. 举例说明存储器堆栈的原理及入栈、出栈的过程。答案:所谓存储器堆栈,是把存储器的一部分用作堆栈区。入栈操作可描述为( A )→MSP,(SP-1)→SP
出栈操作可描述为( SP+1 )→ SP,(MSP)→A
![Page 47: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/47.jpg)
课堂练习题:课堂练习题:7. 堆栈寻址方式中,设 A 为累加器, SP 为堆栈指示器, MSP 为 SP 指示的栈顶单元。如果进栈操作的动作顺序是( A )→MSP , (SP)-1→SP 。那么出栈操作的动作顺序应为 ______ 。A.(MSP)→A , (SP)+1→SP
B.(SP)+1→SP , (MSP)→A
C.(SP-1)→SP , (MSP)→A
D.(MSP)→A , ( SP ) -1→SP答案: B
![Page 48: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/48.jpg)
课堂练习题:课堂练习题:8.某机指令格式如图所示:图中 X 为寻址特征位,且 X=0 时,不变址; X=1 时,用变址寄存器 X1 进行变址; X=2 时,用变址寄存器X2 进行变址; X=3 时,相对寻址。设( PC ) =1234H ,( X1 ) =0037H, (X2)=1122H ,请确定下列指令的有效地址(均用十六进制表示, H表示十六进制)(1)4420H (2)2244H (3)1322H (4)3521H (5)6723H
答案: ( 1 ) 0020H ( 2 ) 1166H ( 3 ) 1256H ( 4 ) 0058H ( 5 ) 1257H
![Page 49: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/49.jpg)
课堂练习题:课堂练习题:9. 用于对某个存储器中操作数的寻址方式称为______ 寻址。A. 直接 B. 间接C. 寄存器直接 D. 寄存器间接答案: C10. 程序控制类指令的功能 ______ 。A. 进行算术运算和逻辑运算B. 进行主存和 CPU 之间的数据传送C. 进行 CPU 和 I/O 设备之间的数据传送D. 改变程序执行的顺序答案: D
![Page 50: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/50.jpg)
课堂练习题:课堂练习题:11. 指令格式是指令用 A.______表示的结构形式 ,通常格式中由操作码字段和 B.______ 字段组成。答案: A. 二进制代码 B. 地址码 12.RISC 机器一定是 A._______CPU,但后者不一定是 RISC 机器 ,奔腾机属于 B.______ 机器。答案: A. 流水 B.CISC
13. 寄存器间接寻址方式中,操作数处在 ______ 。A.通用寄存器 B. 程序计数器 C.堆栈 D. 主存单元答案: D
![Page 51: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/51.jpg)
课堂练习题:课堂练习题:14. 指令格式如下所示,其中 OP 为操作码,试分析指令格式特点:解:( 1 )操作数字段 OP 可以指定 64 种基本操作( 2 )单字长( 16 位) = 地址指令( 3 )源寄存器和目标寄存器都是通用寄存器(各指定 16 个),所以是 RR 型指令,两个操作数均在通用寄存器中( 4 )这种指令结构常用于算术 / 逻辑运算类运算指令,执行速度最快。
![Page 52: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/52.jpg)
课堂练习题:课堂练习题:15. 下面描述 RISC 机器基本概念中,正确的表述是______ 。A.RISC 机器不一定是流水 CPU B.RISC 机器一定是流水 CPUC.RISC 机器有复杂的指令系统 D. 其 CPU 配备很少的通用寄存器答案: B16. 以下四种类型指令中,执行时间最长的是 ___ 。A.RR 型指令 B.RS 型指令 C.SS 型指令 D. 程序控制指令答案: C
![Page 53: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/53.jpg)
课堂练习题:课堂练习题:17. 堆栈是一种特殊的数据寻址方式,它采用A.___原理。按结构不同,分为 B.___堆栈和 C.___堆栈。答案: A.先进后出 B. 寄存器 C. 存储器 18. 什么是 RISC ? RISC 指令系统的特点是什么?解:
![Page 54: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/54.jpg)
课堂练习题:课堂练习题:19. 指令格式如下所示,其中 OP 为操作码字段,试分析指令格式特点。 解:( 1 )双字长二地址指令,用于访问存储器( 2 )操作码字段 OP 为六位,可以指定 64 种操作( 3 )一个操作数在源寄存器(共 16 个),另一个操作数在存储器中(由基址寄存器和位移量决定),所以是 RS 型指令。
![Page 55: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/55.jpg)
课堂练习题:课堂练习题:20. 单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常需采用______ 。A.堆栈寻址方式 B.立即寻址方式 C.隐含寻址方式 D.间接寻址方式答案: C
21. 寻址方式按操作数的物理位置不同,多使用A._____ 型和 B._____ 型,前者比后者执行速度快。答案: A.RR B.RS
![Page 56: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/56.jpg)
课堂练习题:课堂练习题:22. 什么是 CISC ? CISC 指令系统的特点是什么?解:
![Page 57: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/57.jpg)
课堂练习题:课堂练习题:23. 指令格式结构如下所示,试分析指令格式特点。
解:( 1 ) OP 字段指定 16 种操作( 2 )单字长二地址指令( 3 )每个操作数可以指定 8 种寻址方式( 4 )操作数可以是 RR 型、 RS 型、 SS 型
![Page 58: 第七章 指 令 系 统](https://reader031.vdocuments.site/reader031/viewer/2022012310/56812b33550346895d8f3eaf/html5/thumbnails/58.jpg)
作业:作业: 7.77.7 、、 7.87.8 、、 7.127.12 、、 7.147.14 、、7.167.16 、、 7.207.20