计算机组成原理第七章指令系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) 调用和返回
地址 2000 2100 2101
操作数类型和操作种
主程序
CALL SUB1
2400 2500 2501
子程序SUB1
CALL SUB2
... ... ... …
...
2560 2561
CALL SUB2 RETURN
2700
子程序SUB2
RETURN 主存空间分配
… ... ...
7.1 机 器 指 令
(2)设一地址指令有Z种,则 [(24-X)×26-Z] ×26=Y ∴Z=(24-X)×26-Y×2-6
7.1 机 器 指 令 2、某计算机指令字长为16位,采用R-R寻址方式,
共有16个寄存器,指令系统有三地址、二地址、一 地址及零地址指令,采用扩展操作码技术设计指令 系统。
7.1 机 器 指 令
操作码的长度随地址数的减少而增加
OP
4 位操作码
0000 0001 1110 8 位操作码 1111 1111 1111 12 位操作码 1111 1111 … … … …
A1
A1 A1 A1 …
A2
A2 A2 A2 A2 A2 A2 … …
A3
A3 A3 A3 A3 A3 A3 A3 A3
指令操作码扩展1
4位 4位 4位
7.1 机 器 指 令
4位
OP OP
OP
A1 OP
A A1 2
A A2 A1 3

0000 XXXX YYYY ZZZZ
扩展标志 扩展标志

1110 XXXX YYYY ZZZZ 1111 0000 XXXX YYYY
15条三地址指令 15条二地址指令
15条一地址指令 16条零地址指令
AX, n n IN AL,
CPU 的寄存器
IN AL, AX, DX DX


CPU 的寄存器
OUT n, AL AX
端口地址
OUT DX, AL AX
7.3 式
寻 址 方
寻址方式 确定 本条指令 的 操作数地址
下一条 欲执行 指令 的 指令地址 指令寻址
寻址方式 数据寻址
7.3 式 一、指令寻址
4
7.1 机 器 指 令 一、指令的一般格式
操作码字段 地址码字段
1. 操作码
反映机器做什么操作 (1)定长码 指令系统中,所有指令OP码长度相等 优点:规则性好,编译效率高 缺点:指令平均长度长(占空间大,执行速度低)。
(2)变长码 操作码长度不等(复杂长,简单短) 优点:指令平均长度短 缺点:规则性差,编译效率低 (3) 扩展操作码技术
6. 寄存器间接寻址 EA = ( Ri )
寻址特征
OP R0 … … Ri … Rn Ri
7.3 式
寻 址 方
有效地址在寄存器中
主存 … 地址 …
• 有效地址在寄存器中, 操作数在存储器中,执行阶段访存 • 便于编制循环程序
寄存器
… 操作数
7. 基址寻址
7.3 式
寻 址 方
(1) 采用专用寄存器作基址寄存器 EA = ( BR ) + A BR 为基址寄存器
1111 1110 0000 XXXX 16条一地址指令 1111 1110 1111 XXXX 1111 1111 0000 XXXX 15条一地址指令 1111 1111 1110 XXXX
1111 1111 1111 0000 16条零地址指令 1111 1111 1111 1111
31
13
一、操作数类型
寻址特征 OP A A 主存 OP 寻址特征 A A 1 A1 EA 主存
7.3 式
寻 址 方
EA
一次间址
EA 操作数
多次间址
A1
0
• 执行指令阶段 2 次访存 • 可扩大寻址范围 • 便于编制程序
EA
操作数
多次访存
间接寻址编程举例
主程序
7.3 式

寻 址 方
子程序

80 81
转 子程序
… … …
12
1111 1111 1111 1111

1111 1111 1110 XXXX 1111 1111 1111 0000

1111 1110 XXXX YYYY 扩展标志 1111 1111 0000 XXXX
指令操作码扩展2:
7.1 机 器 指 令
0000 XXXX YYYY ZZZZ 15条三地址指令 1110 XXXX YYYY ZZZZ 1111 0000 XXXX YYYY 14条二地址指令 1111 1101 XXXX YYYY
顺序 跳跃
+1 PC
寻 址 方
( PC ) + 1
由转移指令指出
指令地址
0 1 1 2 2 3 3 4 5 6 7 7 8 8 9
PC
指令
LDA ADD DEC JMP LDA SUB INC STA LDA ... 1000 1001 1200 7 2000 2001 指令地址寻址方式 顺序寻址 顺序寻址 顺序寻址
若结果存于 ACC
3次访存
(4) 一地址
8 24
OP
A1
2 次访存
(ACC) OP (A1)
ACC
寻址范围 224 = 16 M
(5) 零地址
无地址码
二、指令字长
7.1 机 器 指 令
操作码的长度
指令字长决定于 操作数地址的长度 8n 操作数地址的个数 1. 指令字长 固定 指令字长 = 存储字长 2. 指令字长 可变 按字节的倍数变化
在数据对准边界存储的计算机中,对于以二进制表示的存储地址来 说,半字地址的最低位、字地址的最低两位和双字地址的最低三位 恒为零。这种方式的整个字的存储时间要短,需要1个存储周期。 按字存储时有大端和小端二种排放格式。即高字节内容放在高字节 地址中为小端模式。 15
7.2 操作数类型和操作种 类 有的计算机不要求对准边界存储数据,如 下图所示,但这种方式增加硬件的复杂程度, 并且有可能导致访问次数增加。例如存储一个 字,则需要2个存储周期。
举例: 1、假设指令字长为16位,操作数的地址码为6位, 指令有零地址、一地址、二地址三种格式。 (1)设操作码固定,若零地址指令有P种,一地 址指令有Q种,则二地址指令有多少种? (2)采用扩展操作码技术,若二地址指令有X种, 零地址指令有Y种,则一地址指令最多有几种? 解: (1)24-P-Q
寻址特征
OP A 主存
BR
ALU
操作数
• 可扩大寻址范围
• 便于程序搬家 • BR 内容由操作系统或管理程序确定 • 在程序的执行过程中 BR 内容不变,形式地址 A 可变
(2) 采用通用寄存器作基址寄存器
寻址特征
OP R0 A
7.3 式
寻 址 方
R0 作基址寄存器 主存
32位、4个字节
半字的一半 字节 一字的3/4 半字 半字 半字另一半 一字的1/4 地址 0 4 8
16
三、操作类型
1. 数据传送

目的
7.2 类
寄存器
存储器
STORE MOVE PUSH
操作数类型和操作种
寄存器
寄存器
MOVE
存储器
寄存器
LOAD MOVE POP
存储器
存储器
MOVE
例如
置“1”,清“0”
2
二、复习要点
• 1) 理解指令的基本格式、定长与扩展操作码格式。 • 2)掌握指令寻址方式的基本概念、常见寻址方式及 其有效地址的计算。 • 3)了解CISC和RISC的基本概念
3
7.1 机 器 指 令 • 指令是指示计算机执行某项运算或处理功能的 命令,一台计算机支持的全部指令构成这台计 算机的指令系统。指令系统与机器的运行性能、 硬件结构的复杂程度和制造成本、使用的方便 性等密切相关,是设计一台计算机的基本依据。 • 指令系统的评价: 1)完备性 指令齐全,编程方便 2)高效性 程序占内存空间少,运行速度快 3)规则性 指令和数据使用规则统一简单,易 学易记 4)兼容性 同一系列机器,程序向上兼容
2. 直接寻址
EA = A
7.3 式
寻 址 方
有效地址由形式地址直接给出
主存
寻址特征
LDA
A
A 操作数 ACC
• 执行阶段访问一次存储器
• A 的位数决定了该指令操作数的寻址范围
• 操作数的地址不易修改(必须修改A)
3. 隐含寻址
ADD
操作数地址隐含在操作码中
主存 A ACC
7.3 式
寻 址 方
程序执行流程
7.2 类 (4) 陷阱(Trap)与陷阱指令
意外事故的中断
• 一般不提供给用户直接使用
操作数类型和操作种
在出现事故时,由 CPU 自动产生并执行(隐指令)
• 设置供用户使用的陷阱指令
如 8086 INT TYPE 软中断 提供给用户使用的陷阱指令,完成系统调用
5. 输入输出


端口地址
A3
8
(2) 三地址
8
OP
A1
A2
A3
(A1) OP (A2)
A3
4 次访存 寻址范围 28 = 256 若 A3 用 A1 或 A2 代替
(3) 二地址
8
7.1 机 器 指 令
12 12
OP 或
A1
A2 A1 A2
微型机 小型机
(A1) OP (A2) (A1) OP (A2)
4 次访存 寻址范围 212 = 4 K 若ACC 代替 A1(或A2)
寻址特征
A
另一个操作数 隐含在 ACC 中
操作数
ALU 暂存
如 8086
MUL 指令
被乘数隐含在 AX(16位)或 AL(8位)中
MOVS 指令
源操作数的地址隐含在 SI 中
目的操作数的地址隐含在 DI 中
• 指令字中少了一个地址字段,可缩短指令字长
4. 间接寻址 EA =(A) 有效地址由形式地址间接提供
1111
2. 地址码 (1) 四地址
8 6 6 6 6
7.1 机 器 指 令
OP A1 A2 A3 A4
A1 第一操作数地址 A2 第二操作数地址 A3 结果的地址
设指令字长为 32 位 操作码固定为 8 位
4 次访存
寻址范围 26 = 64 若 PC 代替 A4
8 8
A4 下一条指令地址
(A1) OP (A2)
2. 算术逻辑操作
加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算
与、或、非、异或、位操作、位测试、位清除、位求反 如 8086 ADD SUB MUL DIV INC DEC CMP NEG
AAA AAS AAM AAD AND OR NOT XOR TEST
3. 移位操作
7.2 类
操作数类型和操作种
算术移位 逻辑移位 循环移位(带进位和不带进位)
4. 转移
(1) 无条件转移 JMP (2) 条件转移 结果为零转 结果溢出转 (Z = 1) JZ (O = 1)JO

300 …
完成触发器
结果有进位转(C = 1)JC
跳过一条指令 SKP
305 SKP DZ D = 0 则跳 306 307
7.2 类
15条三地址指令

0000 0001 1110 1111 1111 … …
15条二地址指令
… …
0000 0001 …
15条一地址指令
1111
16 位操作码 1111 1111
1111
1111 1111 …
1110
1111 1111 …
A3
0000 0001 …
16条零地址指令
1111
1111
1111
地址 数字
7.2 类
操作数类型和操作种
无符号整数 定点数、浮点数、十进制数 ASCII 逻辑运算
低字节 字地址 低字节
字符
逻辑数
字地址
二、数据在存储器中的存放方式
0 4 3 7 2 6 1 5 0 4 0 4 0 4 1 5 2 6 3 7
字地址 为 低字节 地址
字地址 为 高字节 地址
(小端方式)
2500 1100
跳跃寻址 顺序寻址
二、数据寻址
操作码 寻址特征
7.3 式
形式地址 A
寻 址 方
形式地址 指令字中的地址 有效地址 操作数的真实地址 约定 指令字长 = 存储字长 = 机器字长
1. 立即寻址
形式地址 A 就是操作数
立即寻址特征 OP # A 立即数 可正可负 补码
• 指令执行阶段不访存 • A 的位数限制了立即数的范围
… … …
转 子程序
201 202

@ 间址特征
… …
JMP @ A (A) (A)= =202 81
5. 寄存器寻址
EA = Ri
寻址特征
有效地ቤተ መጻሕፍቲ ባይዱ即为寄存器编号
Ri
R0 … …
7.3 式
寻 址 方
OP
… …
Ri …
操作数 …
Rn
寄存器
• 执行阶段不访存,只访问寄存器,执行速度快 • 寄存器个数有限,可缩短指令字长
(大端方式)
存储器中的数据存放(存储字长为 32 位)
4字节32位存储器
7.2 类
操作数类型和操作种
地址 0 4 半字地址8 8 12 16 20
字地址0 字地址4
半字地址10
字节地址15 字节地址14 半字地址12 字节地址19 字节地址18 字节地址17 字节地址16 半字地址22 字节地址21 字节地址20
第七章
指 令 系 统
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式
7.4 指令格式举例
7.5 RISC 技术
一、考试范围
• (一)指令格式 基本格式;定长操作码指令格式;扩展操作码指令 格式。 • (二)指令的寻址方式 有效地址的概念;数据寻址和指令寻址;常见寻址 方式。 • (三)CISC和RISC的概念
相关文档
最新文档