计算机组成原理---指令系统

机器指令系统的分类、常见的寻址方式、指令格式、设计指令系统时应考虑的各种因素。

 

人们习惯把每一条机器语言的语句称为机器指令,将全部机器指令的集合称为机器的指令系统。

机器的指令系统集中反应了机器的功能。

 

指令的一般格式

指令由操作码和地址码组成

 

操作码

其位数反应了机器的操作种类,机器允许的指令条数

通常采用扩展操作码技术,使操作码的长度随地址数的减少而增加,不同的地址数指令可以具有不同长度的操作码,从而满足需要的前提下,有效缩短指令字长。

 

地址码

这里的“地址”可以是主存的地址,也可以是寄存器的地址,甚至可以使I/O设备的地址。

 

四地址指令

OP为操作码;A1为第一操作数地址;A2为第二操作数地址;A3为结果地址;A4为下一条指令的地址。

 

三地址指令

可以完成(A1)OP(A2)->A3的操作,后续指令的地址隐含在程序计数器PC之中。

 

二地址指令

可以完成(A1)OP(A2)->A1的操作,即A1字段既代表源操作数的地址,又代表了本次运算结果的地址。直接寻址范围为2的12次方=4K。

 

一地址指令

可以完成(ACC)OP(A1)->ACC的操作,ACC既存放参与运算的操作数,又存放运算的中间结果。指令字长为32位,操作码位数为8位,直接寻址范围为2的24次方=16M。

 

零地址指令

零地址指令在指令字中无地址码,例如空操作(NOP),停机(HLT)这类指令没有地址码。

而子程序返回(RET)、中断返回(IRET)这类指令没有地址码,其操作数的地址隐含在堆栈指针SP中。

 

 

地址字段表示寄存器时,也有三地址、二地址、一地址之分,在指令的执行阶段都不必访问存储器,直接访问寄存器,使机器运行速度得到提高(因为寄存器类型的紫菱只需在取指阶段访问一次存储器)。

 

 

 

指令字长

指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数。

早期的计算机指令字长是固定的,随着计算机的发展,一台机器的指令系统可以采用位数不相同的指令,多次访问存储器,使CPU速度下降,常用的指令设计成单子长或短字长。

 

 

操作数类型

地址:无符号整数

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

字符:普遍采用ASCII码

逻辑数据

 

数据在存储器中的存放方式

存放在存储器或寄存器中,寄存器的位数便可反应机器字长。

存储器存储字长如果为32位,可按字节、半字、字、双字访问。

 

 

操作类型

数据传送、算术逻辑操作、移位、转移(无条件转移、条件转移、调用与返回、陷阱Trap与陷阱指令)、输入输出、其他(等待指令、停机指令、空操作指令、开中断指令、关中断指令、置条件码等指令)。

 

 

 

寻址方式

寻址方式分为指令寻址和数据寻址

 

指令寻址分为顺序寻址和跳跃寻址两种。

 

数据寻址

指令的地址码字段通常都代表操作数的真实地址,把它称为形式地址,记作A;

操作数的真实地址称为有效地址,记作EA。

 

1、立即寻址

立即寻址的特点是操作数本身设在指令字内,即形式地址A不是操作数的地址,而是操作数的本身,又称为立即数。

 

2、直接寻址

直接寻址的特点是,指令字中的形式地址A就是操作数的真实地址。

EA = A

 

3、隐含地址

隐含地址是指指令字中不明显的给出操作数的地址,其操作数的地址隐含在操作码或寄存器中

EA = A + (ACC)

 

4、间接寻址

倘若指令字中的形式地址不直接指出操作数的地址,而是指出操作数有效地址所在的存储单元

EA = (A)

 

5、寄存器寻址

在寄存器寻址的指令中,地址码字段直接指出了寄存器的编号

EA = R

 

6、寄存器间接寻址

Ri中的内容不是操作数,而是操作数所在的主存单元的地址号,即EA = (Ri)。

 

7、基址寻址

基址寄存器BR

EA = A + (BR)

 

8、变址寻址

变址寄存器IX

EA = A + (IX)

 

9、相对寻址

EA = (PC)+ A

相对寻址也可与间接寻址配合使用

 

 

 

 

RISC技术

RISC即精简指令系统计算机,与其对应的是CISC,即复杂指令系统计算机。

能否用最常用的20%的简单指令,重新组合不常用的80%的指令功能呢?这便引发出RISC技术。

 

RISC主要特征

执行程序所需的时间P

P = I * C * T

I是高级语言编译后在机器上运行的机器指令数;

C为执行每条机器指令所需的平均机器周期;

T是每个机器周期的执行时间。

 

RISC和CISC的比较

1、充分利用VLSL芯片的面积

2、提高计算机运算速度

3、便于设计,可降低成本,提高可靠性

4、有效支持高级语言程序

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值