计算机组成原理_ 指令系统_

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

• 指令字中少了一个地址字段,可缩短指令字长
三、数据寻址方式
4. 间接寻址
EA=(A) 有效地址由形式地址间接提供
寻址特征
主存
寻址特征
主存
OP
A
OP
A
A EA
A 1 A1
一次间址
EA 操作数
多次间址
A1 0 EA
• 执行指令阶段 2 次访存 • 可扩大寻址范围 • 便于编制程序
EA 操作数
多次访存
(4) 陷阱(Trap)与陷阱指令 意外事故的中断
• 一般不提供给用户直接使用 在出现事故时,由 CPU 自动产生并执行(隐指令)
• 设置供用户使用的陷阱指令 如 8086 INT TYPE 软中断 提供给用户使用的陷阱指令,完成系统调用
三、操作类型
5. 输入输出

端口地址
如 IN ALX,,n
出 CPU 的寄存器 如 OUT n, AXL
... ... … ... …
(3) 调用和返回
地址 2000 2100 2101
主程序 CALL SUB1
子程序SUB1 2400
2500 CALL SUB2
2501
.
2560 CALL SUB2
2561
RETURN
子程序SUB2 2700
...
RETURN 主存空间分配 程序执行流程
三、操作类型
高字节
低字节
字地址
低字节 字地址低字节
0 102H 341H56H2 78H3 4 4567
0 708H56H1 34H212H3 44567
字地址 为 高字节 地址
字地址 为 低字节 地址
二、数据在存储器中存放方式
存储器按字节编址,存储字长64位,机器字长32位,
可访问的类型有字节、半字、字、双字
循环移位(带进位和不带进位)
三、操作类型
4. 转移 (1) 无条件转移 JMP (2) 条件转移 结果为零转 (Z = 1) JZ 结果溢出转 (O = 1)JO 结果有进位转(C = 1)JC 跳过一条指令 SKP
如 300
完成触发器

305 SKP DZ D = 0 则跳 306 307
三、操作类型
0 LDA
1 1 ADD
2 2 DEC
3 3 JMP
4 LDA
5 SUB
6 INC
7 STA
8 LDA
9
...
1000 1001 1200
7 2000 2001
2500 1100
指令地址寻址方式
顺序寻址 顺序寻址 顺序寻址
跳跃寻址 顺序寻址
三、数据寻址方式
操作码
寻址特征 形式地址 A
形式地址
指令字中的地址
2. 算术逻辑操作 加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算 与、或、非、异或、位操作、位测试、位清除、位求反
如 8086 ADD SUB MUL DIV INC DEC CMP NEG
AAA AAS AAM AAD AND OR NOT XOR TEST
3. 移位操作Fra Baidu bibliotek算术移位
逻辑移位
第7章 指令系统 7.2 操作数类型和操作类型
一、操作数类型
机器中常见的操作数类型有:
地址 数字 字符 逻辑数
无符号整数 有符号整数 定点数、浮点数、十进制数 ASCII 逻辑运算
二、数据在存储器中存放方式
当存储数据占多个字节时,有两种字节次序:
例:1 2 3 4 5 6 7 8 H 的存放方式
双字(地址48) ▲ 双字
字(地址40) ✓
16 24
32
双字(地址64) ▲ 双字
40 48 56
64 72
三、操作类型
1. 数据传送

寄存器
目的 寄存器
例如 MOVE
置“1”,清“0”
寄存器 存储器
STORE MOVE PUSH
存储器 寄存器
LOAD MOVE POP
存储器 存储器
MOVE
三、操作类型
1.任意位置开始
地址(十六进制)
00 字节(1B) 半字( 2B)
双字( 5B/8B)
08
双字( 3B/8B)
字(4B)
半字(1B/2B)
10 半字(1B/2B)
字(4B)

优点:不浪费存储资源 缺点:除了一个字节之外,访问任何类型数据,可能花费两个存储 周期,读写控制复杂。
二、数据在存储器中存放方式
CPU 的寄存器 端口地址
小结
操作数 类型
数据存放 方式
操作 类型
第7章 指令系统 7.3 寻址方式
一、寻址方式
寻址方式
确定 本条指令 的 操作数地址 下一条 欲执行 指令 的 指令地址
指令寻址
寻址方式
数据寻址
二、指令寻址方式
顺序 跳跃
+1
( PC ) + 1
PC
由转移指令指出
指令地址
指令
PC
有效地址
操作数的真实地址
约定 指令字长 = 存储字长 = 机器字长
三、数据寻址方式
1. 立即寻址 形式地址 A就是操作数
立即寻址特征
OP # A 立即数 可正可负 补码
• 指令执行阶段不访存 • A的位数限制了立即数的范围
三、数据寻址方式
2. 直接寻址 EA=A 有效地址由形式地址直接给出
寻址特征
数据按字节编址,存储字长64位,机器字长32位, 可访问的类型有字节、半字、字、双字 2. 从一个存储字起始位置开始
地址(十六进制)
00 字节(1B) 08
字( 4B)
10 半字(2B)
18
双字( 8B)
优点:任何类型数据访问都可在一个周期内完成,读写控制简单 缺点:浪费宝贵存储资源
二、数据在存储器中存放方式
二、数据在存储器中存放方式
边界对准
地址(十进制)
字(地址 4) ✓
字(地址 0)✓
0
字节 字节 字节 字节 字节 字节
字节 字节 8
半字(地址22) 半字(地址20) 半字(地址 18) 半字(地址 16) 半字(地址30) 半字(地址28) 半字(地址 26) 半字(地址 24)
字(地址44)✓
主存
LDA
A
A 操作数
ACC
• 执行阶段访问一次存储器 • A的位数决定了该指令操作数的寻址范围 • 操作数的地址不易修改(必须修改A)
三、数据寻址方式
3. 隐含寻址 操作数地址隐含在操作码中
寻址特征
主存
ADD
A
ACC
A 操作数
另一个操作数 隐含在 ACC 中
ALU
如 8086
暂存
MUL 指令 被乘数隐含在 AX(16位)或 AL(8位)中
三、数据寻址方式
数据按字节编址,存储字长64位,机器字长32位, 可访问的类型有字节、半字、字、双字 3. 边界对准方式-从数据长度的整数倍位置开始存储
地址(十六进制)
00 字节(1B) 字节(1B)
08
字( 4B)
10 半字(2B) 18
半字(2B) 双字( 8B)
数据存放的起始地址是数据长度的整数倍。 前两种方案的折中,一个周期可完成存储访问,空间浪费也不严重
相关文档
最新文档