《计算机组成原理》复习第四章—指令系统

第四章指令系统

4.1 指令系统

指令其实就是计算机执行某种操作的命令。具体分为:宏指令、机器指令、微指令。例如软件想操作系统中发送一个写内存的宏指令,然后操作系统对cpu发出一系列取指、译码、执行的机器指令,最终cpu将这些机器指令转化为对硬件的操作信号(电路信号0、1),即微指令

我们所说的指令都是机器指令

4.2 指令格式

在这里插入图片描述

一条指令分为操作码部分(负责确定操作和获取数据)和地址码部分(负责控制地址)

这里将地址指令个数的不同,又将其进行了细分:

  • 三地址指令:从地址A和B获取数据,进行操作,将结果保存在C(add、sub)
  • 二地址指令:将地址A的数据进行操作,结果保存在B(mov)
  • 一地址指令:将地址A的数据进行操作,结果还保存在A(inc)
  • 零地址指令:控制类指令(ret)

这里有几个概念性的问题:

机器字长:CPU一次能处理的二进制数据的位数

指令字长:一条指令中包含二进制数据的位数(CPU可以一次处理多条指令)

指令字长等于机器字长的指令,称为单字长指令

指令字长等于半个机器字长的指令,称为半字长指令

指令字长等于两个机器字长的指令,称为双字长指令

存储字长:一个存储单元存储二进制代码的位数

4.3 操作数类型

4.4 指令和数据的寻址方式(重点)

寻址方式是指CPU根据地址码找到下一条指令或操作数的方式,分为指令寻址数据寻址

一、指令寻址

顺序寻址:PC = PC+1,也就是程序计数器自动寻找下一条指令的地址

跳跃寻址:通过JMP转移类指令实现

在这里插入图片描述

二、操作数寻址

通常我们要寻找操作数,其可能存放的位置有

  • 指令
  • CPU某一寄存器
  • 内存

所以我们要根据操作数的位置不同,实现不同的寻址方式

1.隐含寻址

对于一些特殊的操作数,其数值固定地存放在隐含地寄存器中,所以我们不需要显式地指出就可以访问到

在这里插入图片描述

2.立即寻址

操作数就在指令本身,立刻可以使用,不需要访问地址

在这里插入图片描述

3.直接寻址

地址码中存放的是操作数在内存的地址,我们需要一次访存来获取操作数

在这里插入图片描述

4.间接寻址

地址码中存放的是一个地址,这个地址对应了内存中存放操作数的地址,也就类似于C语言中的指针,指向了操作数的地址

在这里插入图片描述

5.寄存器寻址

地址码存放的是寄存器的编号,也就是操作数存放在寄存器中

在这里插入图片描述

6.寄存器间接寻址

地址码存放是寄存器的编号,寄存器存放的是操作数在内存中的地址,也就相当于指针保存在寄存器中

7.相对寻址

由PC提供基地址,指令的地址码提供偏移地址或者位移量,两者相加得到操作数的有效地址

在这里插入图片描述

8.基址寻址

这次基地址由基址寄存器给出,指令的地址码提供偏移地址或者位移量,两者相加得到操作数的有效地址

在这里插入图片描述

9.变址寻址

这次由指令提供基地址,CPU中特定的变址寄存器提供偏移值,以形成操作数的有效地址

在这里插入图片描述

总结一下

操作数在内存中主要是:一次访存(直接)、两次访存(间接)、寄存器访存(寄存器间接)、带偏移寻址(相对、基址、变址)

操作数在指令中:立即寻址

操作数在寄存器中:寄存器寻址、隐含寻址

在这里插入图片描述

4.5 CISC与RISC的基本概念

目前比较普遍的两个指令集分别是X86架构的CISC(Complex Instruction Set Computer)和ARM、MIPS架构的RISC(Reduced Instruction Set Computer)

4.5.1 复杂指令系统CISC

CISC的主要特点如下:

  • 指令数目很多
  • 指令的长度不固定,指令的格式多,寻址方式多
  • 指令的使用频率相差很大(二八定律)
  • 指令采用微程序控制,难以优化编译,运行速度慢

CISC主要应用在桌面PC,笔记本电脑市场

4.5.2 精简指令系统RISC

RISC设计初衷是为了简化指令系统,尽量使用寄存器——寄存器的操作指令,指令的格式也要求一致,其主要特点如下:

  • 尽量选取使用频率高的简单指令,复杂指令的功能由简单指令组合实现
  • 指令长度固定,指令格式少,寻址方式少
  • 只有Load/Store指令访存,其余指令都在寄存器之间进行
  • CPU中通用寄存器比较多,采用流水线技术
  • 指令采用硬布线控制,重视编译优化,以减少程序运行时间

RISC主要应用在移动端,手机市场。

4.5.3 CISC和RISC的对比

我觉得RISC比CISC优势还是很大的:

①RISC更能提高运算速度,寄存器多,指令少,采用流水线技术

②RISC有利于编译程序的代码优化

在这里插入图片描述

本章小结

  • 一台计算机所有的指令集合被称之为指令系统,其通常由操作码和地址码字段组成
  • 地址码格式有三地址、二地址、单地址和零地址;指令字长分别为:单字长,半字长,双字长
  • 指令寻址方式分为顺序寻址和跳跃寻址
  • 操作数寻址方式通常有上面提到的九种加上段寄存器寻址等
  • RISC和CISC的对比,各自的优缺点
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值