计算机组成原理指令集分类,计算机组成原理 指令系统

本文详细介绍了计算机的指令系统,包括四地址、三地址、二地址和一地址指令格式,以及零地址指令的特点。同时,讨论了操作数类型、操作类型和数据存放方式,并探讨了各种寻址方式,如立即寻址、直接寻址、间接寻址等。此外,还提到了RISC和CISC计算机的区别,强调了寻址方式在程序设计和执行效率中的重要作用。
摘要由CSDN通过智能技术生成

一、机器指令

每一条 机器语言的指令叫 机器指令

全部机器指令的 集合叫机器的 指令系统

342fcf848c404f83dd3a4ee349c9d26b.png

指令由 操作码 和 地址码 组成,指令字长 与操作码长度、操作数地址长度、操作数地址个数有关。

b94bd60534553183057e7ecbe11da67e.png

操作码:指明该指令要完成的操作、对什么类型的数据进行操作(有的指令系统还在此处说明了操作数的寻址方式),其长度可以固定,也可变化,操作码位数随地址数减少而增加。

地址码:指出指令操作数地址、结果地址、下一条指令地址。

注:

操作吗并非一定如上图所示,集中在一个区域,可以分散在指令不同字段中。

使用频率高的指令用短操作码,使用频率低的用长操作码,可缩短编译时间

(1)四地址指令

格式:

a19222a175d2cf8d79d91391fc20e4e1.png

在执行过程中,访存 4 次,指令直接寻址范围太小

由于程序计数器 PC 有计数功能,可自动形成下一条指令地址,故可得三地址指令。

(2)三地址指令

格式:

0ece023faa4532dcd5b30f3437c6ae6a.png

在执行过程中,访存 4 次。

若将中间计算结果放入 CPU 寄存器中(而不放入主存),则可省去结果地址,得到二地址指令。

(3)二地址指令

格式:

b449234814276e4b2770cff6c5aebcad.png

在执行过程中,访存 3 次。

若将一位操作数直接放于运算器 ACC 中,则得到一地址指令。

(4)一地址指令

格式:

6c390e592149681c49ffcf1cdc32a036.png

在执行过程中,访存 2 次。

(5)零地址指令

无地址码,如 进栈出栈指令。

二、操作数类型和操作类型

1.操作数类型

地址:无符号整数

数字:定点数、浮点数、十进制数

字符:ASCII

逻辑数据

2.数据存放方式

任意位置开始:浪费存储空间,访存时间短

每次从一个字起始位置开始

按“边界对准”存储:从地址整数倍位置开始访问。如下图:

99e7cbb5dd0d9309135d136df2d6c692.png

3.操作类型

数据传送

算数逻辑运算

移位:分算术移位、逻辑移位、循环移位

转移

输入输出(对于 I/O 单独编址的计算机,才有输入输出指令)

其他:如等待指令、停机指令等

转移:

分无条件转移、条件转移、调用与返回、陷阱与陷阱指令

调用与返回指令通常配合使用

陷阱指令通常不提供给用户,作为隐指令,在有意外故障时由 CPU 自动产生并执行。

三、寻址方式

寻址方式指确定本条指令的数据地址,以及下一条指令的地址的方法。

分为:

指令寻址

数据寻址

1.指令寻址

顺序寻址:PC 自动加 1 ,形成下一条指令地址(注意,此处 “1”的含义,若指令字长 32 字节,存储单元 8 字节,则此时 PC+4)

跳跃寻址:由转移指令指出

2.数据寻址

3f8b57c2315c11427eb33cb52d63a28a.png

(1)立即寻址

特点:形式地址 A 不是地址,而是操作数本身,又称为立即数。

执行阶段不必访存。

(2)直接寻址

特点:形式地址 A 就是有效地址

执行阶段只访存 1 次,但是必须通过修改 A 的值才可修改操作数地址。

(3)隐含寻址

特点:指令字中补明显给出操作数地址,地址隐含于操作码或某个寄存器。

d499dc7ce401ec3e8073e22f691962a8.png

其中,寻址特征部分为隐含寻址,A 为直接寻址。

有利于缩短指令字长。

(4)间接寻址

a45df63d3f4cfbb66aa1be7d55542710.png

分为一次间址(如上图)、多次间址(A 所指的还不是最终地址)。

扩大了操作数寻址范围,利于编址程序,缺点为访存时间长。

(5)寄存器(直接)寻址

A 为寄存器编号,操作数在 A 所指寄存器中。

执行时无需访存,执行时间短。

(6)寄存器间接寻址

A 为寄存器编号, A 所指寄存器中存有效地址。

执行阶段仍需访存,便于编写循环程序。

(7)基址寻址

e88337657d17f274be1db6e75b93df69.png

采用专门寄存器做基址寄存器,有效地址 EA = 基址寄存器 BR 中地址 + A

a49094556fb35bf75715a8dbe7a5aae7.png

(8)变址寻址

950c15c8f76b86fee067625aac20ccd0.png

有效地址 EA = 变址寄存器 IX 中地址 + A

与基址寻址不同:

基址寄存器的内容由操作系统、管理程序确定,A 可变。

变址寄存器内容由用户确定,A 不可变。,主要用于处理数组问题。

(9)相对寻址

其有效地址为程序计数器 PC 中的地址,与指令字中的形式地址 A 相加而得。

(10)堆栈寻址

堆栈寻址指令字中没有形式代码字段,属于零地址指令。

四、RISC 技术

RISC 精简指令系统计算机

3e98419a7d4d8f4e494a27127ff94a78.png

CISC 复杂指令系统计算机

f133ecadd0d3f976eaefedc3597c95f7.png

本文中图片除第一张外均为刘宏伟教授在中国大学MOOC上的课件截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值