指令系统学习

本章总览

在这里插入图片描述

指令格式

在这里插入图片描述
在这里插入图片描述
我们设计一个比较粗糙的指令来举个例子:
在这里插入图片描述
它的意思是:把A1所指向的操作对象和A2所指向的那个操作对象通过OP这样的操作,操作的结果放到A3,而下一条指令由A4来指出。
用语言来描述非常的冗长,所以我们定义了一些符号来帮助解释:
在这里插入图片描述
上图直接写出A1、A2、A3表示地址,加上括号则是取该地址当中的内容。
那么这段指令在计算机中如何执行呢?
在这里插入图片描述
上图右侧主存内的蓝色部分释义为指令的操作码,黑子的是数据,很明显,A1与A2相加的数据放到了A4所指向的000011中。
上图分析可知,我们总共需要访存四次,能不能优化呢?
我们可以考虑让下一条指令的事情变得自动一点,就是改变现有的指令和数据的排列方式,我们让其指令统一放在一块区域、数据也统一放在一块区域。
在这里插入图片描述
这样的话只要程序没有特别要求,我们则只要自动的到下一个地址去取新指令即可。
所以专门设计一个控制单元用来控制指令地址的修改。
在这里插入图片描述
这样的话我们就不需要四地址指令了,因为下一条指令的地址我们不需要再放在地址码里了,即变成了三地址指令,而三地址指令的操作和四地址指令差不多,还有二地址指令等等,分析方法都一样:
在这里插入图片描述

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

指令寻址方式

回顾:数据是如何存放在存储体当中的

主存:
在这里插入图片描述
字节存储单元:
在这里插入图片描述
字存储单元:
在这里插入图片描述
按字编址和按字节编址:
在这里插入图片描述
那么现在我们就可以存放数据了,1个字节8个位,4个字节就是32位,所以可以每个字存储单元可以存放32位的数据,以下面的数据为例:
在这里插入图片描述
能明显看到的是,字存储单元和数据都有自己的高低地址。对于存储单元很明显左边是低地址,而右边是高地址:

以4号字存储单元为例,从左往右依次是4567,所以左高又低。

而对于数据则相反,左边是高地址,右边是低地址,这就导致在存放数据时有两种方法。大端方式,数据的高地址放在存储单元的低地址,而数据的低地址放在存储单元的高地址:
在这里插入图片描述
反过来的就是小端模式:
在这里插入图片描述
我们还需要理解几个字长的概念:
在这里插入图片描述

在这里插入图片描述

边界对齐存储的概念

在这里插入图片描述

指令寻址

如何到存储器中去寻找指令和数据呢?
两种方式:
在这里插入图片描述
对于指令寻址又有如下两种方式:
在这里插入图片描述
举个简单的例子:
在这里插入图片描述
本节回顾:
在这里插入图片描述

数据寻址

数据就是要操作的数据,即操作数,操作数的类型如下:
在这里插入图片描述
因为地址码的存在是为了定位到操作码想要操作的那些对象的地址,又因为对象的类型很丰富所以导致寻找到这些对象的方式也很丰富:
在这里插入图片描述
那么每次取到一条指令这个怎么知道要按照哪种方法去取数据呢?
很简单,就是给这些方法编号,即寻址方式位:
在这里插入图片描述
而寻址方式位这个号码是要反应在地址当中的,所以我们在指令当中专门给其留一个位置,即寻址特征:
在这里插入图片描述
相应的地址码这段我们就叫形式地址,这是因为这个地址并不是直接对应到存储器当中的一个真实的地址的,而是有了这个地址之后要根据寻址特征的要求把它转化成存储器当中的实际地址:
在这里插入图片描述
而数据寻址这块的内容主要就是来解决如何根据某种寻址方式的要求把形式地址转化为实际地址。

在这里插入图片描述

立即寻址

举例如下,如果我们有一条指令,而它要操作3这个数据对象,那么最简单的一种形式就是直接把3放进指令当中:
在这里插入图片描述
那么这种方式就叫立即寻址。
在这里插入图片描述

直接寻址

如果我们把操作数给放到存储器中,而形式地址给的是操作数的地址的话,这种方式就叫做直接寻址:
在这里插入图片描述
而图中深蓝色的部分为寻址特征位,因为不同题目有不同方式,所以就用深色表示某一种方式,而右侧那一串01的含义则是表示主存当中的操作数所在的地址。
在这里插入图片描述
即操作数就是我们的数据对象3就在这个位置:
在这里插入图片描述
LDA指令就是把主存当中的这个操作数3给提到ACC这个累加寄存器中。
在这里插入图片描述
因为这里的形式地址直接存的就是主存里面的真实的操作数3的地址,所以叫直接寻址。

间接寻址

而如果形式地址处写的不是真实的主存里面的真实的操作数3的地址的话,就叫间接寻址。
在这里插入图片描述

寄存器寻址

可以存放东西的部件除了主存,还有CPU当中的寄存器,即寄存器寻址,它的寻址方式跟直接寻址是一样的。
在这里插入图片描述

寄存器间接寻址

和之前主存系列的间接寻址是差不多的。
在这里插入图片描述

隐含寻址

在这里插入图片描述

小结一下

在这里插入图片描述

数据寻址2-偏移寻址

基址寻址

偏移地址的特点在于有效地址的产生需要进行一个加法的运算:
在这里插入图片描述
在这里插入图片描述

变址寻址

在这里插入图片描述

相对寻址

在这里插入图片描述
例题示例:
在这里插入图片描述
第二问的答案如下:
在这里插入图片描述
形式地址很多地方也叫偏移量,是用补码来表示的。

小结:

在这里插入图片描述

堆栈寻址

堆栈寻址不是很重要,当科普了解一下叭。
在这里插入图片描述
在这里插入图片描述

CISC和RISC

RISC和CISC就是设计指令系统的两种思路(或者说方向)。
CISC:复杂指令集的设计方法:
在这里插入图片描述
RISC:精简指令集的设计方法:
在这里插入图片描述
在这里插入图片描述

二者对比

在这里插入图片描述

本章回顾

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在地球迷路的怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值