3计算机组成原理(第三章)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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中。
操作数隐含指定在堆栈中,例如堆栈计算机,零地址
相关文档
最新文档