3计算机组成原理(第三章)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在一个指令系统中,若所有指令的长度都相等,称 为定长指令字结构;若各种指令的长度随指令功能 不同而不同,称为变长指令字结构。
4
2、操作码
指令系统中的每一条指令都有一个唯一确定的操作 码,指令不同,其操作码的编码也不同。
操作码字段的位数取决于计算机指令系统的规模。
通常,希望用尽可能短的操作码字段来表达全部指 令。于是,形成了操作码结构设计的不同方法。
B2
D2
7
变长编码
变长编码是一种操作码长度不固定,而指令长度固定
的设计方法。操作码分散在指令字的不同位置上。
特点:操作码字段位数不固定将增加指令译码难度, 使控制器的设计复杂化。但是,它有效地利用了指令 中的每个二进制位,压缩了操作码字段的平均长度。
例如:PDP-11(字长16位)的指令可分为单字长、两
第三章 指令系统
CPU的主要工作是执行指令,指令是指挥计算机执行某些 操作的命令,一台计算机所有指令的集合构成该计算机的 指令系统。指令和指令系统是计算机最基本的概念。
指令系统是计算机的主要属性,位于硬件和软件的交界面 上,它既是硬件设计的依据,又是软件设计的基础。
1
本章主要内容
指令格式 操作码的扩展、地址码的结构 常见的寻址方式 指令的类型
15 12 11 8 7 4 3 0
OPຫໍສະໝຸດ Baidu
A1
A2
A3
如果按照定长编码方法,这个4位操作码字段最多只能设 计出16条不同的三地址指令。
10
指令操作码的扩展技术
…
0000 XXXX YYYY ZZZZ 扩展窗口
1、操作码一定不能重复 2、短码不能是长码前缀
15条三地址指令
1110 XXXX YYYY ZZZZ
6
IBM 370机的指令格式
8 4 4 4 4 4 12
RR 型 RX 型 RS 型 SI 型 SS 型
OP
8
R1 R2 R1 X2
4 4
OP一样长,操 作码译码器设计 就简单多了。
OP
8
B2
4
D2
12
OP
8
R1 R2
8
B2
4 B1 4
D2
12
OP
8
I2
8
D1
12 4 12
OP
L1
B1
D1
A2
执行的操作: (A1) OP (A2)
A1为目的操作数地址,兼做存放结果的地址;A2为 源操作数地址。(A1原先的值无需保存) A1、A2 可以是内存单元地址,也可以是运算器中的 通用寄存器。如果是内存中的单元地址,则执行一条
二地址指令至少要访问4次主存。
14
一地址指令
计算机中有许多寄存器 其中有一个称为累加寄 存器(AC),存放操作数
OP
A1
A2 A3
A3
执行的操作: (A1) OP (A2)
A1为被操作数地址, A2为操作数地址, A3为结果的存放地址。
A1、A2、A3可以是内存单元地址,也可以是运算器 中的通用寄存器。如果全是内存中的单元地址,则执 行一条三地址指令至少需要访问4次主存。
13
二地址指令
格式:
OP
A1 A1
一条指令必须有一个操作码,可能包含几个地址码。 指令涉及指令长度、操作码结构、地址码结构等问题。
3
1、指令长度
指令长度是指一条指令中所包含的二进制代码的位 数,它取决于操作码字段的长度、操作数地址的个 数及长度。一般希望指令长度短一些。 指令长度与机器字长没有固定的关系。指令长度可 以等于机器字长,也可以大于或小于机器字长。
格式:
OP
A1
AC
执行的操作: (AC) OP (A1)
这种指令以累加寄存器AC中的数为被操作数,指令中 地址码字段所指明的数为操作数,操作结果又放回累 加寄存器AC中(隐含约定AC)。 A1可以是内存中的单元地址,也可以是运算器中的通 用寄存器。如果是内存中的单元地址,则执行一条一 地址指令至少需要访问2次主存。
扩展窗口
1111 1110 XXXX YYYY
扩展窗口
1111 1111 1110 XXXX
…
1111 1111 1111 0000 1111 1111 1111 1111
…
1111 1111 0000 XXXX
…
1111 0000 XXXX YYYY
15条二地址指令
15条一地址指令
16条零地址指令
2
一、机器指令的格式
指令是控制计算机完成指定操作的命令。作为命令,首先 要告诉计算机做什么;其次,计算机处理的对象是数据, 指令还需要指明数据从哪里来、结果要到哪里去。这些问 题是构成指令的基本要素。所以一条指令由两部分构成:
OP Addr 用 二进制代码 表示
操作码(OP):指明做什么操作 地址码(Addr):指明操作数的地址。
11
3、地址码
根据一条指令中有几个操作数地址,可将该指令称为
几地址指令。
常规情况下,指令应有被操作数、操作数以及操作结 果这三个数,因而就形成了三地址指令格式。三地址 指令是早期计算机指令的基本格式。
在三地址格式基础上,后来又发展成了二地址格式、
一地址格式和零地址格式。
12
三地址指令
格式:
字长、三字长三种。其中,单字长指令的操作码字段
占4~16位不等,可遍及整个指令长度。
8
PDP-11机的指令格式
OP不一样长, 控制器设计变 得难多了。
9
指令操作码的扩展技术
变长操作码通常采用扩展操作码方法来设计。 扩展思路:让地址码字段多的指令,操作码字段短一些; 让地址码字段少的指令,操作码字段长一些。 假设,某机器指令长16位,包括一个操作码字段和三个 地址字段,其中操作码字段4位,每一个地址字段也是4 位。其格式如下:
指令操作码的编码可分为定长编码和变长编码。
5
定长编码
定长编码方式是最简单的一种操作码编码方式,操作码 的位数和位置固定,但指令长度不固定。操作码的位数 越多,所能表示的操作种类就越多。 操作码不同,所涉及的操作数的个数也不完全相同,所 以指令的长度会随操作码的不同而变化。 特点:字段规整、译码简单。 例如,IBM370 (字长32位)就是采用这种定长操作码 格式。 IBM 370的指令可分为三种不同的长度,不论指 令的长度有多少位,其操作码字段一律都是8位。
15
零地址指令
格式:
OP
零地址指令只有操作码,而没有地址码。
例如下面的情况不需要地址码:
指令不需要操作数,例如停机指令。 操作数隐含约定在累加器AC中。
操作数隐含指定在堆栈中,例如堆栈计算机,零地址
4
2、操作码
指令系统中的每一条指令都有一个唯一确定的操作 码,指令不同,其操作码的编码也不同。
操作码字段的位数取决于计算机指令系统的规模。
通常,希望用尽可能短的操作码字段来表达全部指 令。于是,形成了操作码结构设计的不同方法。
B2
D2
7
变长编码
变长编码是一种操作码长度不固定,而指令长度固定
的设计方法。操作码分散在指令字的不同位置上。
特点:操作码字段位数不固定将增加指令译码难度, 使控制器的设计复杂化。但是,它有效地利用了指令 中的每个二进制位,压缩了操作码字段的平均长度。
例如:PDP-11(字长16位)的指令可分为单字长、两
第三章 指令系统
CPU的主要工作是执行指令,指令是指挥计算机执行某些 操作的命令,一台计算机所有指令的集合构成该计算机的 指令系统。指令和指令系统是计算机最基本的概念。
指令系统是计算机的主要属性,位于硬件和软件的交界面 上,它既是硬件设计的依据,又是软件设计的基础。
1
本章主要内容
指令格式 操作码的扩展、地址码的结构 常见的寻址方式 指令的类型
15 12 11 8 7 4 3 0
OPຫໍສະໝຸດ Baidu
A1
A2
A3
如果按照定长编码方法,这个4位操作码字段最多只能设 计出16条不同的三地址指令。
10
指令操作码的扩展技术
…
0000 XXXX YYYY ZZZZ 扩展窗口
1、操作码一定不能重复 2、短码不能是长码前缀
15条三地址指令
1110 XXXX YYYY ZZZZ
6
IBM 370机的指令格式
8 4 4 4 4 4 12
RR 型 RX 型 RS 型 SI 型 SS 型
OP
8
R1 R2 R1 X2
4 4
OP一样长,操 作码译码器设计 就简单多了。
OP
8
B2
4
D2
12
OP
8
R1 R2
8
B2
4 B1 4
D2
12
OP
8
I2
8
D1
12 4 12
OP
L1
B1
D1
A2
执行的操作: (A1) OP (A2)
A1为目的操作数地址,兼做存放结果的地址;A2为 源操作数地址。(A1原先的值无需保存) A1、A2 可以是内存单元地址,也可以是运算器中的 通用寄存器。如果是内存中的单元地址,则执行一条
二地址指令至少要访问4次主存。
14
一地址指令
计算机中有许多寄存器 其中有一个称为累加寄 存器(AC),存放操作数
OP
A1
A2 A3
A3
执行的操作: (A1) OP (A2)
A1为被操作数地址, A2为操作数地址, A3为结果的存放地址。
A1、A2、A3可以是内存单元地址,也可以是运算器 中的通用寄存器。如果全是内存中的单元地址,则执 行一条三地址指令至少需要访问4次主存。
13
二地址指令
格式:
OP
A1 A1
一条指令必须有一个操作码,可能包含几个地址码。 指令涉及指令长度、操作码结构、地址码结构等问题。
3
1、指令长度
指令长度是指一条指令中所包含的二进制代码的位 数,它取决于操作码字段的长度、操作数地址的个 数及长度。一般希望指令长度短一些。 指令长度与机器字长没有固定的关系。指令长度可 以等于机器字长,也可以大于或小于机器字长。
格式:
OP
A1
AC
执行的操作: (AC) OP (A1)
这种指令以累加寄存器AC中的数为被操作数,指令中 地址码字段所指明的数为操作数,操作结果又放回累 加寄存器AC中(隐含约定AC)。 A1可以是内存中的单元地址,也可以是运算器中的通 用寄存器。如果是内存中的单元地址,则执行一条一 地址指令至少需要访问2次主存。
扩展窗口
1111 1110 XXXX YYYY
扩展窗口
1111 1111 1110 XXXX
…
1111 1111 1111 0000 1111 1111 1111 1111
…
1111 1111 0000 XXXX
…
1111 0000 XXXX YYYY
15条二地址指令
15条一地址指令
16条零地址指令
2
一、机器指令的格式
指令是控制计算机完成指定操作的命令。作为命令,首先 要告诉计算机做什么;其次,计算机处理的对象是数据, 指令还需要指明数据从哪里来、结果要到哪里去。这些问 题是构成指令的基本要素。所以一条指令由两部分构成:
OP Addr 用 二进制代码 表示
操作码(OP):指明做什么操作 地址码(Addr):指明操作数的地址。
11
3、地址码
根据一条指令中有几个操作数地址,可将该指令称为
几地址指令。
常规情况下,指令应有被操作数、操作数以及操作结 果这三个数,因而就形成了三地址指令格式。三地址 指令是早期计算机指令的基本格式。
在三地址格式基础上,后来又发展成了二地址格式、
一地址格式和零地址格式。
12
三地址指令
格式:
字长、三字长三种。其中,单字长指令的操作码字段
占4~16位不等,可遍及整个指令长度。
8
PDP-11机的指令格式
OP不一样长, 控制器设计变 得难多了。
9
指令操作码的扩展技术
变长操作码通常采用扩展操作码方法来设计。 扩展思路:让地址码字段多的指令,操作码字段短一些; 让地址码字段少的指令,操作码字段长一些。 假设,某机器指令长16位,包括一个操作码字段和三个 地址字段,其中操作码字段4位,每一个地址字段也是4 位。其格式如下:
指令操作码的编码可分为定长编码和变长编码。
5
定长编码
定长编码方式是最简单的一种操作码编码方式,操作码 的位数和位置固定,但指令长度不固定。操作码的位数 越多,所能表示的操作种类就越多。 操作码不同,所涉及的操作数的个数也不完全相同,所 以指令的长度会随操作码的不同而变化。 特点:字段规整、译码简单。 例如,IBM370 (字长32位)就是采用这种定长操作码 格式。 IBM 370的指令可分为三种不同的长度,不论指 令的长度有多少位,其操作码字段一律都是8位。
15
零地址指令
格式:
OP
零地址指令只有操作码,而没有地址码。
例如下面的情况不需要地址码:
指令不需要操作数,例如停机指令。 操作数隐含约定在累加器AC中。
操作数隐含指定在堆栈中,例如堆栈计算机,零地址