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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字地址 为 低字节 地址
字地址 为 高字节 地址
(小端方式)
(大端方式)
7.2 操作数类型和操作种类
存储器中的数据存放(存储字长为
4字节32位存储器
32
位)
地址
字地址0
0
字地址4
4
半字地址10
半字地址8
8
字节地址15 字节地址14
半字地址12
12
字节地址19 字节地址18 字节地址17 字节地址16 16
7.3 寻 址 方 式
4. 间接寻址 EA =(A) 有效地址由形式地址间接提供
寻址特征
主存
寻址特征
主存
OP
A
OP
A
A EA
A 1 A1
一次间址
EA 操作数
多次间址
A1 0 EA
• 执行指令阶段 2 次访存 • 可扩大寻址范围 • 便于编制程序
EA 操作数
多次访存
间接寻址编程举例 主程序
80 转 子程序 81
(2)变长码 操作码长度不等(复杂长,简单短) 优点:指令平均长度短 缺点:规则性差,编译效率低
(3) 扩展操作码技术
7.1 机 器 指 令
操作码的长度随地址数的减少而增加
4 位操作码 8 位操作码 12 位操作码 16 位操作码
OP A1 A2 A3
0000 0001
AA11
AA22
AA33


2
二、复习要点
• 1) 理解指令的基本格式、定长与扩展操作码格式。 • 2)掌握指令寻址方式的基本概念、常见寻址方式及
其有效地址的计算。 • 3)了解CISC和RISC的基本概念
3
7.1 机 器 指 令
• 指令是指示计算机执行某项运算或处理功能的 命令,一台计算机支持的全部指令构成这台计 算机的指令系统。指令系统与机器的运行性能、 硬件结构的复杂程度和制造成本、使用的方便 性等密切相关,是设计一台计算机的基本依据。
指令操作码扩展1
4位
4位
OOPP OP OAP1
7.1 机 器 指 令
4位
4位
A21
A321
…… … …
0000 XXXX YYYY ZZZZ
扩展标志
15条三地址指令
1110 XXXX YYYY ZZZZ
扩展标志
1111 0000 XXXX YYYY 15条二地址指令
1111 1110 XXXX YYYY
二、指令字长
操作码的长度
指令字长决定于 操作数地址的长度
8n
操作数地址的个数
1. 指令字长 固定 指令字长 = 存储字长
2. 指令字长 可变 按字节的倍数变化
7.1 机 器 指 令
举例:
1、假设指令字长为16位,操作数的地址码为6位, 指令有零地址、一地址、二地址三种格式。
(1)设操作码固定,若零地址指令有P种,一地 址指令有Q种,则二地址指令有多少种? (2)采用扩展操作码技术,若二地址指令有X种, 零地址指令有Y种,则一地址指令最多有几种?
1111 1111
1111 1111
1111 1111
0000 1111
16条零地址指令
13
7.2 操作数类型和操作种类 一、操作数类型
地址
无符号整数
数字
定点数、浮点数、十进制数
字符
ASCII
逻辑数 逻辑运算
二、数据在存储器中的存放方式
字地址
低字节
字地址
低字节
0 3210 4 7654
00123 44567
15
7.2 操作数类型和操作种类
有的计算机不要求对准边界存储数据,如
下图所示,但这种方式增加硬件的复杂程度, 并且有可能导致访问次数增加。例如存储一个 字,则需要2个存储周期。
32位、4个字节
地址
半字的一半 字节
半字
0
一字的3/4 半字
半字另一半 4
一字的1/4
8
16
7.2 操作数类型和操作种类
寻址方式
指令寻址 数据寻址
7.3 寻 址 方 式
一、指令寻址
顺序 跳跃
( PC ) + 1
PC
由转移指令指出
指令地址
指令
指令地址寻址方式
PC +1
0 LDA
11 ADD 22 DEC 33 JMP
4 LDA
5 SUB
6 INC
77 STA 88 LDA
9
...
1000 1001 1200
7 2000 2001
Rn-1
ALU
操作数
• 由用户指定哪个通用寄存器作为基址寄存器 • 基址寄存器的内容由操作系统确定 • 在程序的执行过程中 R0 内容不变,形式地址 A 可变
8. 变址寻址 EA = ( IX ) +A
BR 为基址寄存器
寻址特征
OP
A
主存
BR
ALU
操作数
• 可扩大寻址范围 • 便于程序搬家 • BR 内容由操作系统或管理程序确定 • 在程序的执行过程中 BR 内容不变,形式地址 A 可变
7.3 寻 址 方 式
(2) 采用通用寄存器作基址寄存器
寻址特征
OP R0
R0 A
R0 作基址寄存器 主存

R1 通用寄存器
如 8086
ADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST
7.2 操作数类型和操作种类
3. 移位操作
算术移位 逻辑移位 循环移位(带进位和不带进位)
4. 转移
(1) 无条件转移 JMP (2) 条件转移
结果为零转 (Z = 1) JZ 结果溢出转 (O = 1)JO 结果有进位转(C = 1)JC 跳过一条指令 SKP
RETURN 子程序SUB2
... ...
RETURN 主存空间分配 程序执行流程
7.2 操作数类型和操作种类
(4) 陷阱(Trap)与陷阱指令
意外事故的中断
• 一般不提供给用户直接使用
在出现事故时,由 CPU 自动产生并执行(隐指令)
• 设置供用户使用的陷阱指令
如 8086 INT TYPE 软中断




1111 1111 1111 1111
15条三地址指令 15条二地址指令 15条一地址指令 16条零地址指令
2. 地址码 (1) 四地址
7.1 机 器 指 令
86 666
OP A1 A2 A3 A4
设指令字长为 32 位
A1 第一操作数地址
操作码固定为 8 位
A2 第二操作数地址 A3 结果的地址 A4 下一条指令地址
6. 寄存器间接寻址
EA = ( Ri )
寻址特征
OP
Ri
R0
7.3 寻 址 方 式
有效地址在寄存器中
主存
……
……
Ri 地址
操作数


Rn 寄存器
• 有效地址在寄存器中, 操作数在存储器中,执行阶段访存
• 便于编制循环程序
7.3 寻 址 方 式
7. 基址寻址
(1) 采用专用寄存器作基址寄存器
EA = ( BR ) + A
ZZZZ ZZHale Waihona Puke BaiduZ
15条三地址指令
1111 1111
0000 1101
XXXX XXXX
YYYY YYYY
14条二地址指令
1111 1110 0000 XXXX 16条一地址指令 1111 1110 1111 XXXX
31 1111 1111 0000 XXXX 15条一地址指令 1111 1111 1110 XXXX
4 次访存 寻址范围 26 = 64
(A1) OP (A2) A3
(2) 三地址
若 PC 代替 A4
8
8
88
OP A1 A2 A3
(A1) OP (A2) A3
4 次访存 寻址范围 28 = 256
若 A3 用 A1 或 A2 代替
(3) 二地址
8
12
12
7.1 机 器 指 令
OP
A1
或 (A1) OP (A2)
提供给用户使用的陷阱指令,完成系统调用
5. 输入输出

端口地址
CPU 的寄存器
如 IN ALX,, nn
IN ALX,, DDXX
出 CPU 的寄存器
端口地址
如 OUT n, ALX OUT DX, ALX
7.3 寻 址 方 式
寻址方式 确定 本条指令 的 操作数地址
下一条 欲执行 指令 的 指令地址
三、操作类型
1. 数据传送

寄存器
寄存器
存储器 存储器
目的 寄存器 存储器 寄存器 存储器
例如
MOVE
置“1”,清“0”
STORE MOVE PUSH
LOAD MOVE POP
MOVE
2. 算术逻辑操作
加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算
与、或、非、异或、位操作、位测试、位清除、位求反
第七章 指 令 系 统
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术
一、考试范围
• (一)指令格式 基本格式;定长操作码指令格式;扩展操作码指令
格式。 • (二)指令的寻址方式 有效地址的概念;数据寻址和指令寻址;常见寻址
方式。 • (三)CISC和RISC的概念


1110 A1 A2 A3
1111 0000 1111 0001
AA22
AA33




1111 1110 A2 A3
1111 1111
1111 1111
0000 0001
AA33




1111 1111 1110 A3
1111 1111 1111 0000 1111 1111 1111 0001
(A1) OP (A2)
A2 A1 微型机 4 次访存
A2 小型机 寻址范围 212 = 4 K
若结果存于 ACC 3次访存 若ACC 代替 A1(或A2)
(4) 一地址
8
24
OP
A1
2 次访存
(ACC) OP (A1) ACC
(5) 零地址 无地址码
寻址范围 224 = 16 M
7.1 机 器 指 令
半字地址22
字节地址21 字节地址20 20
在数据对准边界存储的计算机中,对于以二进制表示的存储地址来 说,半字地址的最低位、字地址的最低两位和双字地址的最低三位 恒为零。这种方式的整个字的存储时间要短,需要1个存储周期。 按字存储时有大端和小端二种排放格式。即高字节内容放在高字节 地址中为小端模式。
• 指令执行阶段不访存 • A 的位数限制了立即数的范围
7.3 寻 址 方 式
2. 直接寻址 EA = A 有效地址由形式地址直接给出
寻址特征
LDA
A
主存 A 操作数
ACC
• 执行阶段访问一次存储器 • A 的位数决定了该指令操作数的寻址范围 • 操作数的地址不易修改(必须修改A)
7.3 寻 址 方 式
解: (1)24-P-Q
(2)设一地址指令有Z种,则 [(24-X)×26-Z] ×26=Y ∴Z=(24-X)×26-Y×2-6
7.1 机 器 指 令
2、某计算机指令字长为16位,采用R-R寻址方式, 共有16个寄存器,指令系统有三地址、二地址、一 地址及零地址指令,采用扩展操作码技术设计指令 系统。
• 指令系统的评价: 1)完备性 指令齐全,编程方便 2)高效性 程序占内存空间少,运行速度快 3)规则性 指令和数据使用规则统一简单,易
学易记
4)兼容性 同一系列机器,程序向上兼容
4
一、指令的一般格式
7.1 机 器 指 令
操作码字段 地址码字段
1. 操作码 反映机器做什么操作
(1)定长码 指令系统中,所有指令OP码长度相等 优点:规则性好,编译效率高 缺点:指令平均长度长(占空间大,执行速度低)。
3. 隐含寻址 操作数地址隐含在操作码中
寻址特征
主存
ADD
A
ACC
A 操作数
另一个操作数 隐含在 ACC 中
ALU
暂存
如 8086
MUL 指令 被乘数隐含在 AX(16位)或 AL(8位)中 MOVS 指令 源操作数的地址隐含在 SI 中
目的操作数的地址隐含在 DI 中 • 指令字中少了一个地址字段,可缩短指令字长
201 转 子程序 202
… …… …
……
… …… … …
7.3 寻 址 方 式
子程序
@ 间址特
JMP @ A ((AA))==28012
5. 寄存器寻址
7.3 寻 址 方 式
EA = Ri 有效地址即为寄存器编号
寻址特征
OP
Ri
R0
……
……


Ri 操作数
Rn 寄存器
• 执行阶段不访存,只访问寄存器,执行速度快 • 寄存器个数有限,可缩短指令字长
扩展标志 1111 1111 0000 XXXX 15条一地址指令 1111 1111 1110 XXXX
1111 1111 1111 0000 16条零地址指令
1111 1111 1111 1111 12
7.1 机 器 指 令
指令操作码扩展2:
0000 1110
XXXX XXXX
YYYY YYYY
2500 1100
顺序寻址 顺序寻址 顺序寻址
跳跃寻址 顺序寻址
二、数据寻址
7.3 寻 址 方 式
操作码
寻址特征 形式地址 A
形式地址
指令字中的地址
有效地址
操作数的真实地址
约定 指令字长 = 存储字长 = 机器字长
1. 立即寻址
形式地址 A 就是操作数
立即寻址特征
OP # A
立即数 可正可负 补码
如 300
完成触发器

305 SKP DZ D = 0 则跳 306 307
(3) 调用和返回
7.2 操作数类型和操作种类
地址 2000
2100 2101
主程序 CALL SUB1
... ... ... … ... …
2400 2500 2501 2560 2561
2700
子程序SUB1 CALL SUB2 CALL SUB2
相关文档
最新文档