首页 > 其他 > 详细

第四章 指令系统

时间:2018-08-12 18:34:29      阅读:227      评论:0      收藏:0      [点我收藏+]

总览

  1. 指令格式
    1. 指令的基本格式
    2. 定长操作码指令格式
    3. 不定长操作指令格式
  2. 指令的寻址方式
    1. 数据寻址和指令寻址
    2. 常见寻址方式
  3. CISC和RISC的基本概念

 

 

  1. 指令格式
    1. 指令的基本格式

操作码

地址码

  1. 零地址指令
    1. 没有操作数的指令。如操作指令、停机指令、关中断指令
    2. 堆栈计算机中的零地址运算类指令。堆栈计算机中参与运算的两个操作数隐含的从栈顶和次栈弹出,送到运算器进行运算,运算的结构再隐含地压入堆栈中。
  2. 一地址指令
    1. 只有目的操作数的单操作数指令,OP(A1) à A1
    2. 隐含约定目的地址的双操作数指令,另一个操作数由累加器ACC提供,运算结果也在ACC中,(ACC) OP (A1) à ACC
  3. 二地址指令
    1. (A1) OP (A2) à A2

二地址指令类型

操作数的物理位置

速度

M-M

主存

最慢

R-R

寄存器

最快

R-M

寄存器-主存

介于两者之间

 

  1. 三地址指令
    1. (A1) OP (A2) à A3
  2. 四地址指令
    1. (A1) OP (A2) à A3, A4为下一条指令地址
  3. 指令字长与机器字长
    1. 指令字长指一条指令所占用存储空间的大小,一般为字节的整数倍;指令字长取决于操作码的长度、操作地址的长度以及操作数地址的个数。
    2. 机器字长是CPU一次能处理的数据长度,通常等于内部寄存器的位数。
  1. 定长操作码指令格式

    在指令字的最高位部分分配固定的若干位表示操作码。对于具有n位操作码字段的指令系统,最多能够表示2^n条指令。

  2. 不定长操作码指令格式
    1. 不允许较短的操作码是较长操作码的前缀
    2. 各条指令的操作码一定不可以重复
    3. 用高位的剩余空间扩充低位的表示范围,以节省空间
  1. 指令的寻址方式
    1. 数据寻址和指令寻址
      1. 指令寻址:找到下一条将要执行指令的地址;一般来说有两种方式:顺序执行时,用(PC)+"1"来得到下一条指令的地址:跳转执行时,通过转移指令的寻址方式,计算出目标地址,送到PC中即可。目标转移地址的形成方式主要有3种:立即寻址、相对寻址和简介寻址。
      2. 数据寻址:找到当前正在执行指令的数据地址

操作码

寻址特征

形式地址(A)

 

  1. 常见数据寻址方式

 

寻址方式

有效地址计算方式

用途和特点

立即寻址

 

通常用于给寄存器赋初值

直接寻址

EA=A

 

隐含寻址

 

缩短指令字长

一次间接寻址

EA=(A)

扩大寻址范围,易于完成子程序返回

寄存器寻址

EA=Ri

指令字较短;指令执行速度较快

寄存器间接寻址

EA=(Ri)

扩大寻址范围

基址寻址

EA=A+(BR)

扩大操作数寻址范围;适用于多道程序设计,常用于为程序或数据分配存储空间

变址寻址

EA=A+(IX)

主要用于处理数组问题

相对寻址

EA=A+(PC)

用于转移指令和程序浮动

先间址再变址

EA=(A)+(IX)

 

先变址再间址

EA=(A+(IX))

 

 

  1. CISC和RISC的基本概念
    1. RISC的主要特点
      1. 指令长度固定,指令格式种类少,寻址方式种类少
      2. 只有取/存数指令访问存储器,其余指令的操作都在寄存器内完成
      3. CPU中有多个通用寄存器
      4. 采用流水线技术,大部分指令在一个时钟周期内完成。采用超标量和超流水线技术,可使每条指令的平均执行时间小于一个时钟周期。
      5. 控制器采用组合逻辑控制,不采用微程序控制
      6. 采用优化的编译程序
    2. CISC的主要特点
      1. 指令系统复杂庞大,指令数目一般多大200-300条
      2. 指令长度不固定,指令格式种类多,寻址方式种类多
      3. 可以访存的指令不收限制
      4. 由于80%的程序使用其20%的指令,因此CISC各指令的使用频率差距太大。
      5. 各种指令执行时间相差很大,大多数指令需多个时钟周期才能完成。
      6. 控制器大多数采用微程序控制。
      7. 难以用优化编译生成高效的目标代码程序。
    3. RISC和CISC的比较
      1. RISC比CISC更能提高计算机的运算速度,列入,由于RISC寄存器多,因此就可以减少访存次数,其次,由于指令数和寻址方式少,因此指令译码较快。
      2. RISC比CISC更便于设计,可降低成本,提高可靠性。
      3. RISC能有效支持高级语言程序。

第四章 指令系统

原文:https://www.cnblogs.com/stormax/p/9463713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!