第7章 指令系统结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理
第7章 指令系统结构
第 7 章 指令系统结构
7.1 指令格式
7.2 指令操作码的编码格式
7.3 寻址方式 7.4 精简指令系统计算机
第 7 章 指令系统结构
指令系统设计是中央处理器设计的基础。
指令格式、寻址方式和指令系统是指令系统结构的重 要方面。 指令格式对CPU的基本组织产生强有力的影响
操作后源地址内容不变仅被拷贝。
⑤
多地址指令:用于实现成批数据处理。
7.1 指令格式
3、地址个数对程序长度和指令长度的影响
同一个问题,用地址数越多的指令编写的程序越短,但 指令长度越长. 例:分别用三地址、二地址、一地址指令编制计算 x=(a×b+c-d)/(e+f)的程序。
(1)三地址指程序
MUL A,B,X; ADD X,C,X; SUB X,D,X; ADD E,F,Y; DIV X,Y,X; (A) ×(B) X (X)+(C) X (X)-(D) X (E)+(F) Y (X)/(Y) X
基于通用寄存器的计算机
7.1 指令格式
3、地址个数对程序长度和指令长度的影响
例:分别用三地址、二地址、一地址指令编制计算 x=(a×b+c-d)/(e+f)的程序。 (2)二地址指令程序
MOV X,A; (A) X MUL X,B; (X) ×(B) ADD X,C; (X)+(C) SUB X,D; (X)-(D) MOV Y,E; (E) Y ADD Y,F; (F)+(Y) DIV X,Y; (X)/(Y) 基于通用寄存器的计算机
7.3 寻址方式
七、相对寻址方式
也称程序计数器寻址,其有效地址是指令中地址码部分给出 的形式地址(偏移量Disp)与程序计数器PC的内容之和。 即有效地址是以当前PC的内容为基准浮动的,浮动的距离就 是偏移量。偏移量可正可负。 相对寻址方式主要应用于相对转移指令。由于目的地址随PC 变化不固定,所以非常适用于浮动程序的装配与运行。 基址寻址面向系统,解决程序的存储定位问题;变址寻址面 向用户,用以访问字串和数组。
7.1 指令格式
计算机是通过执行指令来处理各种数据的。为了指出 数据的来源、操作结果的去向及所执行的操作,一条 指令必须包含下列信息:
(1) 操作码,具体说明了操作的性质及功能。计算机通过识别 该操作码来完成不同操作。
(2) 操作数的地址。CPU通过该地址就可以取得所需的操作数 。 (3) 操作结果的存储地址。把对操作数的处理所产生的结果 保存在该地址中,以便再次使用。 (4) 下一条指令的地址。一般来说,当程序顺序执行时,下 条指令的地址由程序计数器(PC)指出,仅当改变程序的运 行顺序(如转移、调用子程序)时,下条指令的地址才由指 令给出。
操作码字段规定CPU实现的操作
算数逻辑操作直接由ALU执行
指令的地址字段和寻址方式对CPU的组织有显著影响(寄
存器的数目和类型)
因此CPU的组织应当根据应用目标和计算机性能来仔 细考虑指令系统结构。
第 7 章 指令系统结构
software
instruction set
hardware
7.4 精简指令系统计算机 1、RISC由来 经实际分析发现:
1、各种指令使用频率相差悬殊。80%指令使用很少。
2、指令系统的复杂性带来系统结构的复杂性,增加了 设计时间和售价,也增加了VLSI设计负担,不利于微 机向高档机器发展。 3、复杂指令操作复杂、运行速度慢。
由此提出“精简指令系统计算机(RISC)”的概念。
7.3 寻址方式
4、寄存器间接寻址方式 在指令的地址码部分直接给出的 既不是操作数也不是操作数的地 址,而是操作数地址的地址。
OP …… Rn 存储器
优点:改变寄存器 Rn中的内容 就可访问内存的不同地址。修改 Rn: A 十分方便。 缺点:二次寻址速度慢。
例:MOV AX,[BX]
A: 操作数
7.3 寻址方式
5、变址寻址方式 把CPU中变址寄存器的内容和指令地址部分给出的 地址之和作为操作数的地址来获得操作数。这种方 式多用于字串处理、矩阵运算和成批数据处理。
存储器
OP
………… Rx
A
加 法 器
A:
A+K: 操作数
Rx:
K
7.3 寻址方式
六、基址寻址方式
将整个存储空间分成若干个段,段的首地址存放在基址寄存 器中,操作数的存储地址与段的首地址的距离即段内偏移量 由指令直接给出。操作数存储单元的实际有效地址就等于基 址寄存器的内容与段内偏移量之和。 改变基址寄存器的内容(基准量)并由指令提供位移量就可以访 问存储器的任一单元。基址寄存器用于程序装配可为浮动程 序分配存储单元 基址寻址面向系统,解决程序的存储定位问题;变址寻址面 向用户,用以访问字串和数组。
7.4 精简指令系统计算机 2、RISC的特点 RISC不是简单地简化指令系统,而是通过简化指令 使计算机的结构更加简单合理,从而提高运算速度 。
4、CPU中通用寄存器数量相当多;大部分指令都在一个机 器周期内完成。 5、以硬布线逻辑为主,不用或少用微程序控制 6、特别重视编译工作,以简单有效的方式支持高级语言, 减少程序执行时间
通常在指令字中用一个固定长度的字段来表示基本的操 作码,而对于一部分少地址指令则把它们的操作码扩充 到该指令的地址字段,即操作码长度可以改变。 这种方法在不增加指令字长度的情况下可表示更多的指 令,但增加了译码和分析难度,需更多硬件支持。微机 中常使用此方式。
7.2 指令操作码的编码格式
指令操作码的扩展技术
在指令中有一个固定长度的字段表示基本操作码,而 对于一部分不需要某个地址码的指令,把它们的操作 码扩充到该地址字段,也称扩展操作码技术.
例:设某机器的指令字长为16位,包括基本操作码4位 和三个地址字段,每个地址字段长4位,其格式为:
15… 12 11……8 7 ……4 3…..0 OP A1 A2 A3
0000 XXXX YYYY ZZZZ
1110
XXXX
0000 1 1 01 111 0 111 0 111 1 111 1 1111
YYYY
YYYY YYYY 0000 1111 0000 1110 1111
ZZZZ
ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ 0000
15条三地 址指令 14条二地 址指令 31条一地 址指令
(2)15条三地址指令,14条两地址指令,31条一地址指令 ,16条零地址指令.
(1)15条三地址指令,15条两地址指令,15条一地址 指令,16条零地址指令.
0000 XXXX YYYY ZZZZ
1110
XXXX
0000 1 1 10 1111 1111 1111 1111
YYYY
YYYY YYYY 0000 1110 1111 1111
百度文库
7.4 精简指令系统计算机 1、RISC由来 计算机的不断升级扩充,同时又兼容过去产品使指 令系统日趋复杂,形成了“复杂指令系统计算机 (CISC)”。 如VAX11/780有303条指令,18种寻址方式。 Pentium机有191条,9种寻址方式。 复杂指令系统增加硬件复杂性,降低机器运行速度 。
7.4 精简指令系统计算机 2、RISC的特点 RISC不是简单地简化指令系统,而是通过简化指令 使计算机的结构更加简单合理,从而提高运算速度 。
1、仅选使用频率高的一些简单指令和很有用但不复杂指令 ,指令条数少。 2、指令长度固定,指令格式少,寻址方式少 3、只有取数/存数指令访问存储器,其余指令都在寄存器中 进行,即限制内存访问
7.1 指令格式
从上述分析可知,一条指令实际上包括两种信息即 操作码和地址码。 1、典型的指令格式
操作码
令有不同的操作码。
地址码
操作码——指明该指令执行什么性质的操作,不同的指
地址码——指明操作数所在的地址,结果存放的地址以
及下一条指令的地址,或者是操作数本身。
7.1 指令格式
2、指令格式的五种类型(根据操作对象地址长度不同划分)
X X X
Y X
7.1 指令格式
3、地址个数对程序长度和指令长度的影响
例:分别用三地址、二地址、一地址指令编制计算 x=(a×b+c-d)/(e+f)的程序。
(3)一地址指令程序
LOAD E; (E) AC ADD F; (AC)+(F) AC STORE X; (AC) X LOAD A; (A) AC MUL B; (AC) ×(B) AC ADD C; (AC)+(C) AC SUB D; (AC)-(D) AC DIV X;(AC)/(X) AC STORE X; (AC) X 基于通用寄存器的计算机
答案:( 24 -x)26条
7.3 寻址方式
寻址方式
指令中如何提供操作数或操作数地址。换句话说就 是规定如何对地址字段作出解释以找到操作数。 不同类型计算机的寻址方式亦有差别,但大多可以归 结为立即寻址、直接寻址、间接寻址、变址寻址以及 相对寻址等几种寻址方式,或者这几种方式的组合与 变形。
零地址指令格式产生堆栈机
7.2 指令操作码的编码格式
指令操作码的位数限制指令系统中完成操作的指令 条数。 固定格式操作码
操作码长度固定,一般集中于指令字的一个字段中。在 字长较大的大中型以及超级小型机上广泛使用。
优点:有利于简化硬件设计,减少译码时间
7.2 指令操作码的编码格式
指令操作码的位数限制指令系统中完成操作的指令 条数。 可变格式操作码
扩展操作码 标志 扩展操作码 标志
1111 1111 1111 1111 1111 1111 1111
扩展操作码 标志
1111
1111
1111
1111
16条零地 址指令
思考题
某计算机系统的指令字长为16位,有二地址指令和一 地址指令两种类型,每个地址字段的长度为6位。如 果二地址指令有x条,问一地址指令最多可以有多少 条?
① ② ③ ④ 零地址指令 一地址指令 二地址指令 三地址指令
例如:[A1]+[A2]→[A3],
OP
例如:NOP 、HLT,也叫无操作数指令
例如:递增,移位,取反,INC AX,NOT BX
OP
A
例如:[A1]+[A2]→[A1],[A2]为源,[A1]目的
OP OP
A1 A1
A2 A2 A3
其中:[A1]、[A2]为源地址,[A3]为目的地址,
ZZZZ
ZZZZ ZZZZ ZZZZ ZZZZ 0000 1111
15条三地 址指令 15条二地 址指令 15条一地 址指令 16条零地 址指令
扩展操作码 标志 扩展操作码 标志
1111 1111 1111 1111 1111 1111
扩展操作码 标志
(2)15条三地址指令,14条两地址指令,31条一 地址指令,16条零地址指令。
2、直接寻址方式 指令的地址码部分给出的就是操作数在存储器中的 地址。 特点是简单直观, 便于硬件实现,但 操作数地址是指令 的一部分,只能用
操作数 0110H OP …… A 存储器
于访问固定的存储
器单元。
例: MOV
AX,[0110H]
7.3 寻址方式
3、寄存器寻址方式 在指令的地址码部分给出某一寄存器的名称,而所 需的操作数就在这个寄存器中。 这种方式数据传送快,计算机中多用。 例:MOV AX,BX 其中BX为源操作数地址,AX为目的操作数地址,操 作的结果为将BX中的数据传送(COPY)到AX中。
7.3 寻址方式
1、立即寻址方式
在这种方式中,指令的地址码部分就是指令的操作 数,而不是操作数的地址。 优点:取指同时取得操作数,提高指令的运行速度 。
缺点:操作数的长度受指令长度的影响,且不便修 改。适合操作数固定的情况。
例: MOV AX,1AH的结果:
( AX )← 1AH
7.3 寻址方式
5.2.2 指令操作码的扩展技术
例:设某机器的指令字长为16位,包括基本操作码4位 和三个地址字段,每个地址字段长4位,其格式为:
15… 12 11……8 7 ……4 3…..0 OP A1 A2 A3
采用扩展操作码的方式,设计: (1)15条三地址指令,15条两地址指令,15条一地址指令 ,16条零地址指令.
第7章 指令系统结构
第 7 章 指令系统结构
7.1 指令格式
7.2 指令操作码的编码格式
7.3 寻址方式 7.4 精简指令系统计算机
第 7 章 指令系统结构
指令系统设计是中央处理器设计的基础。
指令格式、寻址方式和指令系统是指令系统结构的重 要方面。 指令格式对CPU的基本组织产生强有力的影响
操作后源地址内容不变仅被拷贝。
⑤
多地址指令:用于实现成批数据处理。
7.1 指令格式
3、地址个数对程序长度和指令长度的影响
同一个问题,用地址数越多的指令编写的程序越短,但 指令长度越长. 例:分别用三地址、二地址、一地址指令编制计算 x=(a×b+c-d)/(e+f)的程序。
(1)三地址指程序
MUL A,B,X; ADD X,C,X; SUB X,D,X; ADD E,F,Y; DIV X,Y,X; (A) ×(B) X (X)+(C) X (X)-(D) X (E)+(F) Y (X)/(Y) X
基于通用寄存器的计算机
7.1 指令格式
3、地址个数对程序长度和指令长度的影响
例:分别用三地址、二地址、一地址指令编制计算 x=(a×b+c-d)/(e+f)的程序。 (2)二地址指令程序
MOV X,A; (A) X MUL X,B; (X) ×(B) ADD X,C; (X)+(C) SUB X,D; (X)-(D) MOV Y,E; (E) Y ADD Y,F; (F)+(Y) DIV X,Y; (X)/(Y) 基于通用寄存器的计算机
7.3 寻址方式
七、相对寻址方式
也称程序计数器寻址,其有效地址是指令中地址码部分给出 的形式地址(偏移量Disp)与程序计数器PC的内容之和。 即有效地址是以当前PC的内容为基准浮动的,浮动的距离就 是偏移量。偏移量可正可负。 相对寻址方式主要应用于相对转移指令。由于目的地址随PC 变化不固定,所以非常适用于浮动程序的装配与运行。 基址寻址面向系统,解决程序的存储定位问题;变址寻址面 向用户,用以访问字串和数组。
7.1 指令格式
计算机是通过执行指令来处理各种数据的。为了指出 数据的来源、操作结果的去向及所执行的操作,一条 指令必须包含下列信息:
(1) 操作码,具体说明了操作的性质及功能。计算机通过识别 该操作码来完成不同操作。
(2) 操作数的地址。CPU通过该地址就可以取得所需的操作数 。 (3) 操作结果的存储地址。把对操作数的处理所产生的结果 保存在该地址中,以便再次使用。 (4) 下一条指令的地址。一般来说,当程序顺序执行时,下 条指令的地址由程序计数器(PC)指出,仅当改变程序的运 行顺序(如转移、调用子程序)时,下条指令的地址才由指 令给出。
操作码字段规定CPU实现的操作
算数逻辑操作直接由ALU执行
指令的地址字段和寻址方式对CPU的组织有显著影响(寄
存器的数目和类型)
因此CPU的组织应当根据应用目标和计算机性能来仔 细考虑指令系统结构。
第 7 章 指令系统结构
software
instruction set
hardware
7.4 精简指令系统计算机 1、RISC由来 经实际分析发现:
1、各种指令使用频率相差悬殊。80%指令使用很少。
2、指令系统的复杂性带来系统结构的复杂性,增加了 设计时间和售价,也增加了VLSI设计负担,不利于微 机向高档机器发展。 3、复杂指令操作复杂、运行速度慢。
由此提出“精简指令系统计算机(RISC)”的概念。
7.3 寻址方式
4、寄存器间接寻址方式 在指令的地址码部分直接给出的 既不是操作数也不是操作数的地 址,而是操作数地址的地址。
OP …… Rn 存储器
优点:改变寄存器 Rn中的内容 就可访问内存的不同地址。修改 Rn: A 十分方便。 缺点:二次寻址速度慢。
例:MOV AX,[BX]
A: 操作数
7.3 寻址方式
5、变址寻址方式 把CPU中变址寄存器的内容和指令地址部分给出的 地址之和作为操作数的地址来获得操作数。这种方 式多用于字串处理、矩阵运算和成批数据处理。
存储器
OP
………… Rx
A
加 法 器
A:
A+K: 操作数
Rx:
K
7.3 寻址方式
六、基址寻址方式
将整个存储空间分成若干个段,段的首地址存放在基址寄存 器中,操作数的存储地址与段的首地址的距离即段内偏移量 由指令直接给出。操作数存储单元的实际有效地址就等于基 址寄存器的内容与段内偏移量之和。 改变基址寄存器的内容(基准量)并由指令提供位移量就可以访 问存储器的任一单元。基址寄存器用于程序装配可为浮动程 序分配存储单元 基址寻址面向系统,解决程序的存储定位问题;变址寻址面 向用户,用以访问字串和数组。
7.4 精简指令系统计算机 2、RISC的特点 RISC不是简单地简化指令系统,而是通过简化指令 使计算机的结构更加简单合理,从而提高运算速度 。
4、CPU中通用寄存器数量相当多;大部分指令都在一个机 器周期内完成。 5、以硬布线逻辑为主,不用或少用微程序控制 6、特别重视编译工作,以简单有效的方式支持高级语言, 减少程序执行时间
通常在指令字中用一个固定长度的字段来表示基本的操 作码,而对于一部分少地址指令则把它们的操作码扩充 到该指令的地址字段,即操作码长度可以改变。 这种方法在不增加指令字长度的情况下可表示更多的指 令,但增加了译码和分析难度,需更多硬件支持。微机 中常使用此方式。
7.2 指令操作码的编码格式
指令操作码的扩展技术
在指令中有一个固定长度的字段表示基本操作码,而 对于一部分不需要某个地址码的指令,把它们的操作 码扩充到该地址字段,也称扩展操作码技术.
例:设某机器的指令字长为16位,包括基本操作码4位 和三个地址字段,每个地址字段长4位,其格式为:
15… 12 11……8 7 ……4 3…..0 OP A1 A2 A3
0000 XXXX YYYY ZZZZ
1110
XXXX
0000 1 1 01 111 0 111 0 111 1 111 1 1111
YYYY
YYYY YYYY 0000 1111 0000 1110 1111
ZZZZ
ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ 0000
15条三地 址指令 14条二地 址指令 31条一地 址指令
(2)15条三地址指令,14条两地址指令,31条一地址指令 ,16条零地址指令.
(1)15条三地址指令,15条两地址指令,15条一地址 指令,16条零地址指令.
0000 XXXX YYYY ZZZZ
1110
XXXX
0000 1 1 10 1111 1111 1111 1111
YYYY
YYYY YYYY 0000 1110 1111 1111
百度文库
7.4 精简指令系统计算机 1、RISC由来 计算机的不断升级扩充,同时又兼容过去产品使指 令系统日趋复杂,形成了“复杂指令系统计算机 (CISC)”。 如VAX11/780有303条指令,18种寻址方式。 Pentium机有191条,9种寻址方式。 复杂指令系统增加硬件复杂性,降低机器运行速度 。
7.4 精简指令系统计算机 2、RISC的特点 RISC不是简单地简化指令系统,而是通过简化指令 使计算机的结构更加简单合理,从而提高运算速度 。
1、仅选使用频率高的一些简单指令和很有用但不复杂指令 ,指令条数少。 2、指令长度固定,指令格式少,寻址方式少 3、只有取数/存数指令访问存储器,其余指令都在寄存器中 进行,即限制内存访问
7.1 指令格式
从上述分析可知,一条指令实际上包括两种信息即 操作码和地址码。 1、典型的指令格式
操作码
令有不同的操作码。
地址码
操作码——指明该指令执行什么性质的操作,不同的指
地址码——指明操作数所在的地址,结果存放的地址以
及下一条指令的地址,或者是操作数本身。
7.1 指令格式
2、指令格式的五种类型(根据操作对象地址长度不同划分)
X X X
Y X
7.1 指令格式
3、地址个数对程序长度和指令长度的影响
例:分别用三地址、二地址、一地址指令编制计算 x=(a×b+c-d)/(e+f)的程序。
(3)一地址指令程序
LOAD E; (E) AC ADD F; (AC)+(F) AC STORE X; (AC) X LOAD A; (A) AC MUL B; (AC) ×(B) AC ADD C; (AC)+(C) AC SUB D; (AC)-(D) AC DIV X;(AC)/(X) AC STORE X; (AC) X 基于通用寄存器的计算机
答案:( 24 -x)26条
7.3 寻址方式
寻址方式
指令中如何提供操作数或操作数地址。换句话说就 是规定如何对地址字段作出解释以找到操作数。 不同类型计算机的寻址方式亦有差别,但大多可以归 结为立即寻址、直接寻址、间接寻址、变址寻址以及 相对寻址等几种寻址方式,或者这几种方式的组合与 变形。
零地址指令格式产生堆栈机
7.2 指令操作码的编码格式
指令操作码的位数限制指令系统中完成操作的指令 条数。 固定格式操作码
操作码长度固定,一般集中于指令字的一个字段中。在 字长较大的大中型以及超级小型机上广泛使用。
优点:有利于简化硬件设计,减少译码时间
7.2 指令操作码的编码格式
指令操作码的位数限制指令系统中完成操作的指令 条数。 可变格式操作码
扩展操作码 标志 扩展操作码 标志
1111 1111 1111 1111 1111 1111 1111
扩展操作码 标志
1111
1111
1111
1111
16条零地 址指令
思考题
某计算机系统的指令字长为16位,有二地址指令和一 地址指令两种类型,每个地址字段的长度为6位。如 果二地址指令有x条,问一地址指令最多可以有多少 条?
① ② ③ ④ 零地址指令 一地址指令 二地址指令 三地址指令
例如:[A1]+[A2]→[A3],
OP
例如:NOP 、HLT,也叫无操作数指令
例如:递增,移位,取反,INC AX,NOT BX
OP
A
例如:[A1]+[A2]→[A1],[A2]为源,[A1]目的
OP OP
A1 A1
A2 A2 A3
其中:[A1]、[A2]为源地址,[A3]为目的地址,
ZZZZ
ZZZZ ZZZZ ZZZZ ZZZZ 0000 1111
15条三地 址指令 15条二地 址指令 15条一地 址指令 16条零地 址指令
扩展操作码 标志 扩展操作码 标志
1111 1111 1111 1111 1111 1111
扩展操作码 标志
(2)15条三地址指令,14条两地址指令,31条一 地址指令,16条零地址指令。
2、直接寻址方式 指令的地址码部分给出的就是操作数在存储器中的 地址。 特点是简单直观, 便于硬件实现,但 操作数地址是指令 的一部分,只能用
操作数 0110H OP …… A 存储器
于访问固定的存储
器单元。
例: MOV
AX,[0110H]
7.3 寻址方式
3、寄存器寻址方式 在指令的地址码部分给出某一寄存器的名称,而所 需的操作数就在这个寄存器中。 这种方式数据传送快,计算机中多用。 例:MOV AX,BX 其中BX为源操作数地址,AX为目的操作数地址,操 作的结果为将BX中的数据传送(COPY)到AX中。
7.3 寻址方式
1、立即寻址方式
在这种方式中,指令的地址码部分就是指令的操作 数,而不是操作数的地址。 优点:取指同时取得操作数,提高指令的运行速度 。
缺点:操作数的长度受指令长度的影响,且不便修 改。适合操作数固定的情况。
例: MOV AX,1AH的结果:
( AX )← 1AH
7.3 寻址方式
5.2.2 指令操作码的扩展技术
例:设某机器的指令字长为16位,包括基本操作码4位 和三个地址字段,每个地址字段长4位,其格式为:
15… 12 11……8 7 ……4 3…..0 OP A1 A2 A3
采用扩展操作码的方式,设计: (1)15条三地址指令,15条两地址指令,15条一地址指令 ,16条零地址指令.