计算机组成原理——CPU
2017-12-1
1
我们现在在哪里——这部分我们将介绍什么
计算机
CPU ALU CU 排队
逻辑
寄存器 内部互连 和解码器控制
寄存器存储器 2
第7章 指令系统
指令系统在计算机中的地位
3
第7章 指 令 系 统
7.1 机器指令
7.2
7.3
7.4
7.5 RISC 操作数类型和操作类型寻址方式 指令格式举例 技术
4
7.1 机器指令
•指令的格式是什么 –操作码 地址码 寻址方式
•指令的字长
–固定字长、可变字长
5
7.1 机 器 指 令
一、指令的一般格式 操作码字段地址码字段
1. 操作码 反映机器做什么操作
(1)长度固定
用于指令字长较长的情况 ,RISC 如 IBM 370 操作码 8 位
(2)长度可变
操作码分散在指令字的不同字段中
6
操作码的位数随地址数的减少而增加 7.1 4 位操作码
8 位操作码
12 位操作码
16 位操作码OP A1 A2 A3 0000 0001 A A 1 A A 2 A …1 2 A 3 1110 … A 1 A … 2 A …3 3 1111 1111 0000 0001 A A 2 A A 3 1111 …3 1110 … A …2 2 A … 3 1111 1111 1111 1111 0000 0001 A A 3 …………3 1111 1111 1110 A 3 1111 1111 1111 1111 1111 1111 0000 0001
1111 …
1111 …1111 ……
1111 最多15条三地址指令 最多15条二地址指令 最多15条一地址指令 16条零地址指令
7
操作码的位数随地址数的减少而增加 7.1 4 位操作码
8 位操作码
12 位操作码
16 位操作码OP A1 A2 A30000 0001 A A 1A …1A 2A 2A 31110 … A ……3 A 12A 31111 1111 0000 0001 A A 2A 2A 31111 …3 1110 …A …… 2A 31111 1111 1111 1111 0000 0001 A A 3……31111 1111 …1110 … A 31111 1111 1111 1111 1111 1111 0000 0001
1111 …
1111 …1111 …1111 …
三地址指令操作码 每减少一种最多可多构成 24 种二地址指令 二地址指令操作码 每减少一种最多可多构成24 种一地址指令
8
2. 地址码7.1 (1)四地址8 6 6 6 6
OP A1 A2 A3 A4A 1 第一操作数地址A 2 第二操作数地址A 3 结果的地址A 4 下一条指令地址(A1) OP (A2) A3
(2)三地址8 8 8 8 OP A1 A2 A3(A1) OP (A2) A3设指令字长为 32 位 操作码固定为 8 位 4 次访存 寻址范围 26 = 64 若 PC 代替 A44 次访存 寻址范围 28 = 256 若 A 3 用 A1 或 A2 代替9
(3) 二地址 8 12 12 OP A1 A2 或 (A1) OP (A2) A1 (A1) OP (A2) A2 若结果存于 ACC 3次访存
(4) 一地址
8 24 OP A1 (ACC) OP (A1) ACC
(5) 零地址 无地址码 7.1 4 次访存 寻址范围 212 = 4 K 若ACC 代替 A1(或A 2) 2 次访存 寻址范围 224 = 16 M 10
二、指令字长 7.1
操作码的长度
指令字长决定于 操作数地址的长度
操作数地址的个数
1. 指令字长 固定
指令字长 = 存储字长
2. 指令字长 可变
按字节的倍数变化
11
小结 7.1 当用一些硬件资源代替指令字中的地址码字段后•可扩大指令的寻址范围
•可缩短指令字长
•可减少访存次数
当指令的地址字段为寄存器时
三地址 OP R1, R2, R3
二地址 OP R1, R2
一地址 OP R1
•可缩短指令字长
•指令执行阶段不访存12
计算机组成原理——CPU
2017-12-1
1
我们现在在哪里——这部分我们将介绍什么
计算机
CPU ALU CU 排队
逻辑
寄存器 内部互连 和解码器控制
寄存器存储器 2
第7章 指令系统
指令系统在计算机中的地位
3
第7章 指 令 系 统
7.1 机器指令
7.2
7.3
7.4
7.5 RISC 操作数类型和操作类型寻址方式 指令格式举例 技术
4
7.1 机器指令
•指令的格式是什么 –操作码 地址码 寻址方式
•指令的字长
–固定字长、可变字长
5
7.1 机 器 指 令
一、指令的一般格式 操作码字段地址码字段
1. 操作码 反映机器做什么操作
(1)长度固定
用于指令字长较长的情况 ,RISC 如 IBM 370 操作码 8 位
(2)长度可变
操作码分散在指令字的不同字段中
6
操作码的位数随地址数的减少而增加 7.1 4 位操作码
8 位操作码
12 位操作码
16 位操作码OP A1 A2 A3 0000 0001 A A 1 A A 2 A …1 2 A 3 1110 … A 1 A … 2 A …3 3 1111 1111 0000 0001 A A 2 A A 3 1111 …3 1110 … A …2 2 A … 3 1111 1111 1111 1111 0000 0001 A A 3 …………3 1111 1111 1110 A 3 1111 1111 1111 1111 1111 1111 0000 0001
1111 …
1111 …1111 ……
1111 最多15条三地址指令 最多15条二地址指令 最多15条一地址指令 16条零地址指令
7
操作码的位数随地址数的减少而增加 7.1 4 位操作码
8 位操作码
12 位操作码
16 位操作码OP A1 A2 A30000 0001 A A 1A …1A 2A 2A 31110 … A ……3 A 12A 31111 1111 0000 0001 A A 2A 2A 31111 …3 1110 …A …… 2A 31111 1111 1111 1111 0000 0001 A A 3……31111 1111 …1110 … A 31111 1111 1111 1111 1111 1111 0000 0001
1111 …
1111 …1111 …1111 …
三地址指令操作码 每减少一种最多可多构成 24 种二地址指令 二地址指令操作码 每减少一种最多可多构成24 种一地址指令
8
2. 地址码7.1 (1)四地址8 6 6 6 6
OP A1 A2 A3 A4A 1 第一操作数地址A 2 第二操作数地址A 3 结果的地址A 4 下一条指令地址(A1) OP (A2) A3
(2)三地址8 8 8 8 OP A1 A2 A3(A1) OP (A2) A3设指令字长为 32 位 操作码固定为 8 位 4 次访存 寻址范围 26 = 64 若 PC 代替 A44 次访存 寻址范围 28 = 256 若 A 3 用 A1 或 A2 代替9
(3) 二地址 8 12 12 OP A1 A2 或 (A1) OP (A2) A1 (A1) OP (A2) A2 若结果存于 ACC 3次访存
(4) 一地址
8 24 OP A1 (ACC) OP (A1) ACC
(5) 零地址 无地址码 7.1 4 次访存 寻址范围 212 = 4 K 若ACC 代替 A1(或A 2) 2 次访存 寻址范围 224 = 16 M 10
二、指令字长 7.1
操作码的长度
指令字长决定于 操作数地址的长度
操作数地址的个数
1. 指令字长 固定
指令字长 = 存储字长
2. 指令字长 可变
按字节的倍数变化
11
小结 7.1 当用一些硬件资源代替指令字中的地址码字段后•可扩大指令的寻址范围
•可缩短指令字长
•可减少访存次数
当指令的地址字段为寄存器时
三地址 OP R1, R2, R3
二地址 OP R1, R2
一地址 OP R1
•可缩短指令字长
•指令执行阶段不访存12