计算机组成原理 - 7.指令系统


思维导图:

课程进度:

一、机器指令

1.指令的一般格式

操作码

  • 长度固定

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

  • 长度可变

地址码

  • 四地址、三地址

  • 二/一/零地址

2.指令字长

指令字长决定于

  • 操作码的长度
  • 操作数地址的长度
  • 操作数地址的个数

指令字长固定

指令字长 = 存储字长

指令字长可变

按字节的倍数变化

3.总结

1.当用一些硬件资源代替指令字中的地址码字段后

  • 可扩大指令的寻址范围
  • 可缩短指令字长
  • 可减少访存次数

2.当指令的地址字段为寄存器时

  • 三地址 OP R1, R2, R3
  • 二地址 OP R1, R2
  • 一地址 OP R1

指令执行阶段不访存

可缩短指令字长

二、操作数类型和操作类型

1.操作数类型

  • 地址:无符号整数
  • 数字:定点数、浮点数、十进制数
  • 字符:ASCII
  • 逻辑数:逻辑运算

2.数据在存储器中存放方式

参考存储器:大端模式和小端模式

从任意位置开始存储

从一个存储字的起始位置开始访问

边界对准方式——从地址的整数倍位置开始访问

对比

优点 缺点
任意位置 不浪费存储资源 除了访问一个字节之外,访问其它任何类型的数据,都可能花费两个存储周期的时间。读写控制比较复杂
起始位置 无论访问何种类型的数据,在一个周期内均可完成,读写控制简单 浪费了宝贵的存储资源
边界对准 数据存放的起始地址是数据长度的整数倍 本方案是前两个方案的折衷

3.操作类型

数据传送

算术逻辑操作

移位操作

算术移位 逻辑移位
循环移位(带进位和不带进位)

转移

  • 无条件转移 JMP

  • 条件转移

  • 调用和返回

  • 陷阱(Trap)与陷阱指令

    意外事故的中断:

    一般不提供给用户直接使用

    在出现事故时,由 CPU 自动产生并执行(隐指令)

    设置供用户使用的陷阱指令

    如 8086 INT TYPE 软中断
    提供给用户使用的陷阱指令,完成系统调用
  • 输入输出

三、寻址方式

1.指令寻址

  • 顺序 :(PC) + 1 —— PC

  • 跳跃 : 由转移指令指出

2.数据寻址

形式地址: 指令字中的地址
有效地址: 操作数的真实地址
约定 指令字长 = 存储字长 = 机器字长

1.立即寻址

2.直接寻址

3.隐含寻址

4.间接寻址

5.寄存器寻址

6.寄存器间接寻址

7.基址寻址

  • 采用专用寄存器作基址寄存器

  • 采用通用寄存器作基址寄存器

8.变址寻址

9.相对寻址

10.堆栈寻址

四、指令格式举例

1.设计指令

指令系统的 兼容性

其他因素

  • 操作类型:包括指令个数及操作的难易程度
  • 数据类型:确定哪些数据类型可参与操作
  • 指令格式:
    • 指令字长是否固定
    • 操作码位数、是否采用扩展操作码技术,
    • 地址码位数、地址个数、寻址方式类型
  • 寻址方式:指令寻址、操作数寻址
  • 寄存器个数:寄存器的多少直接影响指令的执行时间

2.指令格式举例

*Intel 8086 *

五、RISC技术

1.RISC的产生和发展

2.RISC的主要特征

3.CISC的主要特征

4.RISC和CISC的比较

注:本文章除思维导图,其他图片来源于课程PPT。


👇欢迎评论转发٩(๑•̀ω•́๑)۶😜


文章作者: MengXin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 MengXin !
评论
评论
  目录