【笔记】第7章 指令系统

机器指令:计算机系统的CPU能够识别、执行的命令。
指令集(指令系统):一个处理器能够执行的所有机器指令构成的集合称为指令集。指令集是计算机软硬件的交界面。

一、机器指令

  • 指令的格式是什么:操作码、地址码、寻址方式
  • 指令的字长:固定字长、可变字长

1. 指令的一般格式:操作码字段+地址码字段

  1. 操作码:反应机器做什么操作,对什么样的数据做操作
    - 长度固定:用于指令字长较长的情况,RISC(精简指令集计算机)
    - 长度可变:操作码分散在指令字的不同字段中
    - 扩展操作码技术:操作码的长度随地址数的减少而增加(即扩展);短操作码一定不能是长操作码的前缀;每减少一种地址码最多可构成2^4种操作码
  2. 地址码
    在这里插入图片描述

2. 指令字长

  1. 指令字长取决于:操作码的长度、操作数地址的长度、操作数地址的个数
  2. 指令字长固定:指令字长=存储字长
  3. 指令字长可变:按字节的倍数变化

3. 总结

  1. 当用一些硬件资源代替指令字中的地址码字段后
    - 可扩大指令的寻址范围(固定指令长度)
    - 可缩短指令字长(减少地址码个数)
    - 可减少访存次数
  2. 当指令的地址字段为寄存器时
    三地址 OP,R1,R2,R3
    二地址 OP,R1,R2
    一地址 OP,R1
    - 可缩短指令字长
    - 指令执行阶段不访存

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

1. 操作数类型

  1. 地址:无符号整数
  2. 数字:定点数、浮点数、十进制数
  3. 字符:ASCII
  4. 逻辑数:逻辑运算

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

字节编制

  1. 从任意位置开始存储
    优点:不浪费存储资源
    缺点:除了访问一个字节外,访问其它任何类型的数据都可能花费两个存储周期的时间。读写控制比较复杂。
  2. 从一个存储字的起始位置开始访问
    优点:无论访问何种类型的数据,在一个周期均可完成,读写控制简单
    缺点:浪费存储资源
  3. 边界对准方式—从地址的整数倍位置开始访问
    数据存放的起始地址是数据长度(按编址单位进行计算)的整数倍,在一个周期内可完成存储访问,空间浪费不太严重。

3. 操作类型

  1. 数据传送
    在这里插入图片描述
  2. 算术逻辑操作:加减乘除、增减1、求补、浮点运算、十进制运算、与、或、非、异或、位操作、位运算、位测试、位清除、位求反
  3. 移位操作:算术移位、逻辑移位、循环移位
  4. 转移
    • 无条件转移JMP
    • 条件转移
    • 调用和返回
    • 陷阱Trap与陷阱指令
      在这里插入图片描述
  5. 输入输出
    • 入:端口中的内容 → CPU的寄存器
    • 出:CPU的寄存器 → 端口中的内容

三、寻址方式

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

1. 指令寻址

  1. 顺序:(PC)+ 1 → PC
  2. 跳跃:有转移指令指出

2. 数据寻址

  1. 指令格式:操作码+寻址特征+形式地址A
  2. 形式地址:指令字中的地址
  3. 有效地址:操作数的真实地址
  4. 约定:指令字长=存储字长=机器字长

立即寻址

在这里插入图片描述

直接寻址

在这里插入图片描述

隐含寻址

  • 指令字中少了一个地址字段,可缩短指令字长
    在这里插入图片描述

间接寻址

  1. 分类:一次间址、多次间址
  2. @A:@间址特征
    在这里插入图片描述

寄存器寻址

  1. 执行阶段不访存,只访问寄存器,执行速度快
  2. 寄存器个数有限,可缩短指令字长
    在这里插入图片描述

寄存器间接寻址

  1. 有效地址在寄存器中,操作数在存储器中,执行阶段访存
  2. 便于编址循环程序,修改操作数地址只需修改寄存器内容
    在这里插入图片描述

基址寻址

  1. 采用专用寄存器作基址寄存器
    - 程序动态定位:多道程序分时进行时,程序起始地址放在BR中,程序执行时动态形成操作数地址。
    在这里插入图片描述
  2. 采用通用寄存器作基址寄存器
    在这里插入图片描述

变址寻址

在这里插入图片描述

相对寻址

在这里插入图片描述

堆栈寻址

  1. 堆栈特点:先进后出
  2. 分类:硬堆栈、软堆栈
    在这里插入图片描述
  3. SP的修改与主存编址方法有关:按字编址、按字节编址

四、指令格式举例

设计指令格式时应考虑的各种因素:

1. 指令系统的兼容性

2. 其他因素

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

3. IBM360

  1. 包含五种指令集
  2. SS格式常用于内存传输、翻译指令
    在这里插入图片描述

4. Intel8086

  1. 复杂指令计算机
  2. 指令字长1~6个字节
    · INC AX 1字节
    · MOV WORD PTR[0204],0138H 6字节
  3. 地址格式
    在这里插入图片描述

五、RISC(精简指令集计算机)技术

1. RISC的产生和发展

  1. 精简指令及计算机(Reduced Instruction Set Computer)
  2. 复杂指令集计算机(Complex Instruction Set Computer)

2. RISC的主要特性

  1. 指令集小:选用使用频度较高的一些简单组合,复杂指令的功能由简单指令来组合
  2. 指令长度固定、指令格式种类少、寻址方式少,译码容易
  3. 只有LOAD/STORE指令访存
  4. CPU中有多个通用寄存器
  5. 采用流水技术(一个时钟周期)内完成一条指令
  6. 采用组合逻辑实现控制器

3. CISC的主要特性

  1. 系统指令复杂庞大,各种指令只用频度相差大
  2. 指令长度不固定、指令格式种类多、寻址方式多,译码过程复杂,CPU硬件部分复杂
  3. 访存指令不受限制
  4. CPU中设有专用寄存器
  5. 大多数指令需要多个时钟周期执行完毕
  6. 采用微程序控制器

4. RISC和CISC的比较

  1. RISC更能充分利用VLSI(超大规模集成电路)芯片的面积
  2. RISC更能提高计算机运算速度:
    指令数、指令格式、寻址方式少,通用寄存器多,采用组合逻辑,便于实现指令流水。
  3. RISC便于设计,可降低成本,提高可靠性
  4. RISC不易实现指令系统兼容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

啊有礼貌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值