指令系统


指令格式

在这里插入图片描述

一丶操作码

反映机器做什么操作

1. 长度固定类型

用于指令字长较长的情况,RISC(比如IBM 370 操作码8位)

2. 长度可变

操作码分散在指令字的不同字段中

下面是一种扩展操作码的技术
在这里插入图片描述

保留码点(1111,11111111…),短操作码一定不能是长操作码的前缀,计算机在译码是就很难识别指令

一般来说:经常出现的指令用短操作码

操作类型

1.数据传送

在这里插入图片描述

2. 算术逻辑操作

在这里插入图片描述

3. 移位操作

在这里插入图片描述

4. 转移

在这里插入图片描述

5. 输入输出(独立编址)

在这里插入图片描述

二丶地址码

地址码结构

简化地址码结构的方法尽量采用的是隐地址
隐地址存在于计算机指令的地址结构中,和显地址对应。如果地址是以隐含的方式约定,而指令中并不给出该地址码,则这种隐含约定的地址就称为隐地址
缩短地址码的长度有效的方法采用寄存器寻址

四地址

在这里插入图片描述
取指令访问内存,4 A1,A2都是内存地址,A3结果也要在内存中,A4也要

访问空间小,这样的指令是基本不可能的

三地址

在这里插入图片描述
现代计算机往往用PC寄存器来代替A4,虽然地址码长度变长,增大了寻找范围,但还是四次访存

二地址

在这里插入图片描述
将结果保存在A1或者A2中,访存次数依旧是四次

单地址

在这里插入图片描述
如果一个操作数在ACC中,且把结果放在寄存器ACC中,那么变成单地址,两次访存

零地址

还有一些特殊的零地址指令,比如ACC清零,ACC取反等等

操作数类型

在这里插入图片描述

三丶指令字长

在这里插入图片描述
所以

  • 指令字长固定 指令字长=存储字长
  • 指令字长不固定 按照字节倍数变化

内存中数据的存储

数据内部存放

如果存放01234567H
在这里插入图片描述

数据间存放

在这里插入图片描述

有可能花费多个存储周期,读写控制也比较复杂

寻址方式

寻址方式是指寻找指令或者操作数有效地址的方式,即确定本条指令的数据地址及下一条待执行指令地址的方法!

为什么要设置多种类型??

寻址方式:确定本条指令的操作数地址,下一条要执行指令的指令地址

图解寻址方式

相对寻址:

  1. 相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将两者相加后得到操作数的有效地址
  2. 需要注意的是假如某条跳转指令(16位)存放在2000H,字节编址,那么这个指令执行后的值为取完这条指令后的PC值,也就是2000H+2+偏移量

基址寻址:

  1. 在多道程序的环境下,用户不可决定自己使用的主存区,编程的时候按照虚拟地址(以0开始),当程序被放入主存时,操作系统根据主存空间情况给基址寄存器赋值,从而将虚地址转化为实地址,
  2. 因为将CPU中基址寄存器的内容,加上指令格式中的形式地址而形成操作数的有效地址,大大的扩大了寻址空间

面向操作系统,主要为多道程序或数据分配空间,寄存器的值通常由OS管理,程序执行过程中不变,指令字中的可变

变址寻址

  1. 变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中变址寄存器的内容与指令格式中的形式地址而形成操作数的有效地址。
  2. 但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律变化。为此,必须使变址寄存器的内容实现有规律的变化(如自增1、自减1、乘比例系数)而不改变指令本身,从而使有效地址按变址寄存器的内容实现有规律的变化

面向用户,用户处理数组问题,变址寄存器由用户决定,程序执行过程中可变,而指令字不可变

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yilyil

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

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

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

打赏作者

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

抵扣说明:

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

余额充值