【组成原理期末复习】04指令系统

本文详细介绍了计算机指令系统的发展、性能要求以及指令格式的设计,包括CISC和RISC的区别,以及指令的完备性、有效性、规整性和对称性。同时,探讨了指令格式中的操作码、地址码和指令长度,并讲解了不同类型的寻址方式。此外,还提到了操作数类型和数据寻址方式,以及指令和数据的寻址在冯诺依曼和哈佛结构中的不同处理。
摘要由CSDN通过智能技术生成

1.指令系统的发展与性能要求

  • 计算机的程序是由一系列指令组成的

  • 指令:计算机执行某种操作的命令。计算机的指令有微指令、机器指令和宏指令之分

    • 微指令:微程序级指令,即硬件操作信号
    • 机器指令:通常简称为指令,每一条指令可以完成一个独立的算术运算或逻辑运算操作
    • 宏指令:若干机器指令组成的软件指令
  • 指令系统:一台计算机中所有机器指令的集合

    • 一台计算机性能的重要因素,影响到机器的硬件结构、系统软件、机器的适用范围
    • 复杂指令系统计算机(CISC Complex):X86、X64
    • 精简指令系统计算机(RISC Reduced):MIPS、ARM、RISC-V、POWER PC
    • 20%:80%规律:CISC中最常用的简单指令占指令总数的20%,占据了80%的处理机时间;80%的不常用指令占了20%时间
  • 指令系统的性能要求

    • 完备性:指令系统丰富、功能齐全、使用方便
    • 有效性:程序占存储空间小、执行速度快
    • 规整性:
      • 对称性:所有的指令都能使用各种寻址方式、所有的寄存器和存储单元同等对待
      • 匀齐性:可支持各种数据类型
      • 一致性:指令长度通常是字节长度的整数倍
    • 兼容性:同系列机器“向上兼容”,即低档机上运行的软件可以在高档机上运行
  • 硬件和软件:

    • 计算机有高级语言和低级语言之分:
      • 低级语言面向硬件:机器语言(二进制语言)、汇编语言(符号语言)
      • 高级语言:与硬件结构和指令系统无关,但提供面向汇编语言的接口访问硬件
    • 指令系统体系结构(ISA):
      • 计算机硬件和软件沟通的桥梁
      • 主要包括:寄存器组织、存储器的组织和寻址方式、I/O系统结构、数据类型及其表示、指令系统、中断机制、机器工作状态的定义及切换、保护机制等

2.指令格式

  • 影响指令格式的因素:
    • 机器字长、存储器容量、指令的功能
  • 指令格式:
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AhwMywxF-1641605374193)(C:\Users\ACID\AppData\Roaming\Typora\typora-user-images\image-20220103161221033.png)]
    • 操作码:
      • 指令的操作码规定指令进行的操作:如加法、减法等
      • 操作码字段的位数取决于计算机指令系统的规模:如果有32条指令,就需要5位操作码
    • 地址码:
      • 每执行一条指令,程序计数器PC+1
      • 根据一条指令有几个操作数,可分为:
        • 零地址指令:只有操作码,可以执行例如停机操作
        • 单地址指令:单操作数运算指令,如+1、求反
        • 二地址指令:操作码、第一操作数A1、第二操作数A2
          • 指令执行后,运算结果保存在A1中
          • 根据操作数的物理地址位置可分为(由慢至快):
            • SS:存储器-存储器
            • SR:存储器-寄存器
            • RR:寄存器-寄存器
        • 三地址指令:操作码、第一操作数A1、第二操作数A2、结果A3
          • 通常指的是通用寄存器地址
  • 指令长度:
    • 一个指令字中包含二进制数的长度称为指令字长度
    • 机器字长:机器一次能处理的二进制位数
      • 指令字长通常与机器字长一致:
        • 半字长指令、单字长指令、双字长指令
        • 早期计算机使用多字长:
          • 优势:提供足够的地址位解决访问内存任何单元的寻址问题
          • 缺点:降低了CPU的运算速度、占了更多存储空间
        • 现在多采用等长指令,为了保证指令长度一样,可采用扩展操作码技术:
          • 高位编码为1111
  • 指令助记符:
    • 为了便于书写和阅读,使用英文缩写表示指令,必须用汇编语言翻译成二进制编码

3.操作数类型

  • 地址数据:所述情况下,必须完成某种计算才能确定在内存中的有效地址,此时看作无符号整数
  • 数值数据:1.定点整数和定点小数 2.浮点数 3.压缩十进制数,用BCD码表示
  • 字符数据:用ASII码表示
  • 逻辑数据:若干个二进制项

4.指令和数据的寻址方式

  • 寻址方式分为指令寻址和数据寻址方式,前者较简单,后者较复杂。
    • 在冯诺依曼型结构的计算机中,指令寻址和数据寻址交替进行
    • 在哈佛型结构的计算机中,指令寻址和数据寻址独立进行
  • 指令寻址方式:
    • 顺序寻址:
      • PC
    • 跳跃寻址:
      • 下一条指令的地址由本条指令给出
  • 操作数寻址方式:
    • 形成操作数有效地址的过程,称为寻址方式,即把形式地址变为物理地址的过程
    • 根据操作数放在不同的地方,可以有不同的寻址方式,不同的计算机有不同的寻址方式
      • 操作数存放的位置:
        • 指令中
          • 隐含寻址:例如规定累加寄存器AC作为第二操作数地址
          • 立即寻址:指令给的地址字段是操作数本身
        • 寄存器中
          • 寄存器寻址:给出通用寄存器的编号
          • 寄存器间接寻址:寄存器中存储的是操作数在内存中的地址
          • 堆栈寻址:需要一个隐式或显式的堆栈指示器,存取都与栈顶数据打交道
        • 主存中
          • 直接寻址:给出操作数在内存中的地址
          • 间接寻址:内存总存储的是操作数在内存中的地址
          • 偏移寻址:():基址
            • 相对寻址:EA=A+(PC)程序计数器 PC每次加一,相当于在特定范围内寻址
            • 基址寻址:EA=A+(Rb)基址寄存器 基址确定,给出偏移
              • 段寻址:程序分段,地址由段地址和偏移地址组成
            • 变址寻址:EA=(A)+R变址寄存器 给出首地址,偏移地址每次变化,这样无需修改指令,对数组运算、字符操作很有用
        • I/O设备的端口中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值