指令

指令

指令的定义

指令又称为机器指令,是指计算机执行某种操作的命令,是计算机运行的最小功能单位,一台计算机的所有指令的集合构成的指令系统,又称为指令集
一台计算机只能够执行自己指令系统中的指令,不能够执行其他系统的指令

指令的分类

  1. 微指令:属于硬件,微程序级别的命令
  2. 宏指令:若干条机器指令组成的软件指令,属于软件
  3. 机器指令:介于宏指令和伪指令之间

一条指令可以完成一个独立的算数运算或者逻辑运算

性能要求

  1. 完备性:指令系统提供的指令够用,不用依赖软件实现,完备性要求指令系统丰富、功能齐全、使用方便
  2. 有效性:指令系统编写的指令系统所编写的程序能够高效率的运行,高效性表现在程序的占据内存的存储空间小、执行速度快
  3. 规整性:指令系统的对称性、匀齐性、指令格式和数据格式的一致性
  4. 兼容性:各种机种之间具有相同结构基本结构和共同的基本指令集,使得各机种上的软件可以统用

低级语言和硬件结构的关系

低级语言依赖于计算机的硬件结构和指令系统

低级语言的问题:依赖于机器、编写程序困难、编制所需时间较长、

低级语言的优点:执行时间短、编译过程中对计算机资源的需求较低

指令格式

指令字:表示一条指令的机器数
指令结构:操作码字段OP+地址码字段A

操作码:说明计算机执行哪种操作,是指令中不可缺少的组成部分
操作码字段的位数取决于计算机指令系统的规模
一般来说,一个n位操作码最多对应 2 n 2^n 2n个指令

操作数:各种操作的对象,通常操作指令均有一个或者两个的操作数

指令格式

  1. IN,AX,端口地址
  2. OUT,端口地址,AX

地址码
分类:

  1. 三级地址指令:有三个指定的通用寄存器的地址
  2. 二级地址指令:有两个参与操作数的内存的地址放在寄存器中
  3. 一级地址指令:指定一个操作数,另外一个操作数地址是隐含的
  4. 零地址指令:只有操作码

格式:

  1. 三级地址指令:OP+A1+A2+A3,将运算结果保存在A3
  2. 二级地址指令:OP+A1+A2,将运算结果保存在A1
    1. SS:存储器——存储器,速度最慢
    2. RS:存储器——寄存器
    3. RR:寄存器——寄存器,速度最快
  3. 一级地址指令:OP+A1,结果存储在A1中
  4. 0级地址指令:OP,空操作

基本概念

指令字长度:一个指令字中包含的二进制的位数
机器字长:计算机能够直接处理的二进制数据的位数,决定了计算机运算精度
单字长指令=机器字长的指令
半字长指令=半个机器字长的指令
双字长指令

多字长指令的优缺点

多字长指令
优点
提供足够的地址来解决访问内存单元的寻址问题
缺点
必须多次访问内存来取出一整条指令,降低了CPU的运算速度,占用了更多的存储空间

等字长
优点
各种指令字的长度是相同的,指令字简单且字长度不变

非等字长
优点
结构灵活,能够充分利用指令长度,但是指令的控制较为复杂

指令助记符

每个指令通常用三个或者四个英文字母的缩写表示

对各种指令的使用格式进行了解

典型指令指令助记符二级制操作码
加法ADD001
减法SUB010
传送MOV011
跳转JMP100
转子JSR101

操作数的类型

  1. 一般数据类型
    1. 地址数据:无符号整数
    2. 数值数据:定点整数、浮点数
    3. 字符数据:文本数据或者字符串
    4. 逻辑数据:一个单元由若干个二进制位项组成
  2. Pentium数据类型
  3. Power PC数据类型

指令和数据的寻址方式

寻址的时机:

  1. 冯诺·依曼型:指令寻址和数据寻址是交替进行的
  2. 哈弗型:指令寻址和数据寻址是独立进行的

操作数或者指令字写入或者读出的方式

  1. 地址指定
  2. 相联存放
  3. 堆栈存取

寻址方式:当采用地址指定的方式的时候,形成操作数和指令地址的方式

寻址方式:

  1. 指令寻址,较简单
  2. 数据寻址,较复杂

指令的寻址方式

  1. 顺序寻址方式
  2. 跳跃寻址方式

操作数的来源:

  1. 指令中的地址码部分直接给出操作数
  2. 操作数存放在CPU的通用寄存器中
  3. 内存的数据区域
    1. 有效地址:指令中直接给出操作数的实际访存地址
    2. 形式地址:在地址字段中给出

操作数的位置
9种操作数寻址的方式
寄存器寻址:操作数存放在相应的寄存器中,优点:
立即寻址:数据就包含在指令中,特点:
余下的操作数均在内存当中
隐含寻址:指令中隐含着操作数的地址,特点:
直接寻址:操作数在存储器中的地址,特点:简单直观、便于硬件实现
间接寻址:操作数存放在间接地址所指向的有效地址中所指向的地址中,感觉和二级指针比较像
寄存器间接寻址:操作数存放在主存储器中,操作数地址放在的某一个寄存器中
偏移寻址:两者相加后为操作数的有效地址

  1. 相对寻址
  2. 基址寻址
  3. 变址寻址
方式算法优点操作数的位置缺点
隐含寻址无存储器访问操作数在指定存储器内数据范围有限
立即寻址操作数=A无存储器访问操作数符有限
直接寻址EA=A简单地址范围有限
间接寻址EA=(A)大的地址范围多重存储器访问
寄存器寻址EA=R无存储器访问地址范围有限
寄存器间接寻址EA=®大的地址范围额外存储器访问
偏移寻址EA=A+®灵活复杂
段寻址EA=A+®灵活复杂
堆栈寻址EA=栈顶无需给出存储器地址需要堆栈指示器

典型指令

指令的分类

  1. 数据传送指令

    1. 一般传送指令:MOV、AX、BX
    2. 数据交换指令
    3. 堆栈操作指令
  2. 运算类指令

    1. 算数运算指令
    2. 逻辑运算指令
    3. 移位指令
  3. 程序控制类指令:控制程序执行的方向

  4. 输入、输出指令、字符串处理指令、特权指令、其他指令

RISC指令系统

CISC指令系统的缺点:指令种类太多、指令格式不规范、寻址方式太多
RISC优化了CICS的缺点

Power PC机的5种指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值