计组笔记3.2指令系统

3.2指令系统

指令的定义

指令就是计算机执行某种操作的命令,以二进制代码形式存放

从计算机组成的层次结构看,有不同的指令概念

  • 微指令-- 微程序级的命令,属于硬件
  • 宏指令-- 若干条机器指令组成的命令,属于软件
  • 机器指令 – 通常所说的指令,可以控制计算机执行某种操作

指令系统,也叫指令集,是计算机能执行的全部指令的集合,大致分为CISC与RISC
在这里插入图片描述
指令集部分了解即可,重点在后面
在这里插入图片描述

指令格式

操作码OP 地址码A (操作数OD)

操作码OP

操作码 – 指令中使用若干位来表明操作类型的编码

操作码是区别不同类别指令的主要依据!!!操作码长度n位,指令数量为2的n次方

地址码

地址码蕴含了参与指令操作数据的相关信息

注意:

数据可能是源操作数、运算结果,以及后继指令信息

少数情况下,直接给出数据本身;多数情况下,指明数据存放的地址,如寄存器编号、存储单元的地址

一条指令可能包含多个地址码,即有多个操作数
在这里插入图片描述

地址码结构

有分为显地址和隐地址

主要还是三地址指令、二地址指令、一地址指令和零地址指令,具体看下图
在这里插入图片描述
补充:

固定长度操作码和可变长度操作码

重点可变长度操作码(扩展操作码)

地址码部分多,减少操作码位数;地址码部分少,增加操作码位数
在这里插入图片描述

指令的字长结构

主要是变字长指令,看图即可
在这里插入图片描述

例题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

寻址方式

采用地址指定方式时,形成操作数或指令地址的方式,称为寻址方式

根据寻址目标,可分为指令寻址数据寻址

最基本的四类寻址方式

  • 立即寻址类
  • 直接寻址类
  • 间接寻址类
  • 变化寻址类
    在这里插入图片描述

直接寻址

直接寻址没什么好说的,就基本是直接找,看图就行

需要特别注意:

寄存器直接寻址!!

当操作数不在内存中,而是放在通用寄存器中时,就可以采用这一种寻址方式了。

这时,指令中给出的操作数地址是通用寄存器的编号!!!注意是寄存器的编号!!!寄存器里放的才是操作数
在这里插入图片描述

间接寻址

主存间接寻址

指令指向的地址是形式地址,形式地址指向的是数据真的地址

类似指针!

寄存器间接寻址

指令也是存寄存器编号

与寄存器直接寻址区别: 寄存器里的内容是操作数的地址,而不是操作数
在这里插入图片描述

变化类寻址

变化寻址是重点!!!

分为 变址寻址,基址寻址和相对寻址

基址寻址和变址寻址的对比

相同点

基址寻址 = Rn + A

变址寻址 = Rn + A

Rn都为为寄存器地址,A形式地址

不同点

  • 基址寻址Rn为基准,A为偏移量
  • 变址寻址A为基准,Rn为偏移量

基准是偏移的基准,是不变的,理解记忆

相对寻址

PC + A,具体看图

在这里插入图片描述

程序的局部性原理

简单来说,操作系统分给这个程序多少,最多就用多少,别的地方用不了

在这里插入图片描述

例题

在这里插入图片描述
在这里插入图片描述
重点例题!!!!

表格Ms表示源操作数的寻址方式
Md表示目的操作数的寻址方式

MDR的位数一般与总线宽度相同,按字编址,16位,所以MDR为16
在这里插入图片描述
在这里插入图片描述

感谢吞凡草大佬的补充!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值