当前位置: 首页 > web >正文

计算机组成原理——指令格式

4.1 指令格式

出自up主Beokayy传送门

1. 指令字长

  • 指令字长即一条指令中所包含的二进制代码的位数。
  • 指令字长和机器字长无固定关系,与存储字长呈倍数关系。
  • 通常情况下:
    • 单字长指令:指令字长=存储字长。
    • 半字长指令:指令字长=半个存储字长。
    • 双字长指令:指令字长=两个存储字长。
  • 机器周期与取指周期的关系:
    • 若指令字长=存储字长,则机器周期等于取指周期。
    • 若指令字长=两个存储字长,则机器周期等于二分之一的取指周期。

2. 指令的基本格式

操作码字段地址码字段
  • 操作码:指出该指令应该执行什么性质的操作以及具有何种功能。
  • 地址码:给出被操作的信息的地址。

3. 指令格式的分类

零地址指令

  • 只给出操作码OP,没有显式地址。
  • 这种指令有两种可能:
    • 不需要操作数的指令,例如空操作指令、停机指令、关中断指令等。
    • 在堆栈计算机里,运算类指令的执行过程通常是:参与运算的两个操作数会自动地从栈顶和次栈顶弹出,然后被传送到运算器中进行运算,运算完成后的结果又会自动地压入堆栈。

一地址指令

OPA1
  • 这种指令有两种可能:
    • 只有目的操作数的单操作数指令。按A1地址读取操作数,进行OP操作后,结果存回原地址。
    • 隐含约定目的地址的双操作数指令。按A1地址读取源操作数,另一个操作数可隐含约定放置在ACC中,运算结果也将存放在ACC中。

二地址指令

OPA1A2
  • (A1)OP(A2)->A1。
  • A1为目的操作数,A2为源操作数,本次运算结果将存放于目的操作数地址A1。

三地址指令

OPA1A2A3
  • (A1)OP(A2)->A3

四地址指令

OPA1A2A3A4
  • (A1)OP(A2)->A3,A4为吓一跳要执行指令的地址。

4. 定长操作码与扩展操作码

定长操作码

  • 将指令字的最高位部分分配固定的若干位表示操作码。
  • n位操作码字段的指令系统最大能够表示 2 n 2^n 2n种指令。

扩展操作码

  • 指令的操作码字段的位数不固定,操作码的长度随地址码的减少而增加,不同地址数的指令可具有不同长度的操作码,从而在满足需要的前提下有效地缩短指令字长。
    扩展操作码
    注:图片有误,零地址指令前几位全是1
  • 扩展原则:
    • 不允许短码是长码的前缀
    • 个指令的操作码不能重复
http://www.xdnf.cn/news/9362.html

相关文章:

  • Silvaco TCAD 2020 Windows版本安装教程
  • 60、【OS】【Nuttx】编码规范解读(八)
  • 8天Python从入门到精通【itheima】-49~50
  • SOC-ESP32S3部分​​​​​​​:15-PWM脉冲宽度调制
  • 使用 curl 进行 HTTP 请求:详尽指南
  • MATLAB绘制滤波器系数特性图
  • vue+threeJs 创建多色几何体+加载obj模型+跳转ojb模型中心
  • WPF【10_1】数据库与WPF实战
  • Blaster - Multiplayer P107-PXXX: 弹药
  • 四、web安全-行业术语
  • C++11 -- 右值引用和移动语义
  • 注意力机制模块代码
  • Oracle 12c新增的数字转换验证VALIDATE_CONVERSION函数
  • rabbitmq的高级特性
  • 理解 Kubernetes 的架构与控制平面组件运行机制
  • WebSocket学习总结
  • Python Day34 学习
  • 深度学习能取代机器学习吗?
  • 庄家抬轿指标,通达信炒股软件副图指标公式,指标使用图文教程
  • Linux Ubuntu24.04配置安装MySQL8.4.5高可用集群主从复制!
  • AI 编程如何让你轻松采集网站数据?
  • GitHub 趋势日报 (2025年05月26日)
  • 体现物联网环境下安全防护的紧迫性 :物联网环境下的个人信息安全:隐忧与防护之道
  • 【Spring AI】Spring AI 1.0.0-M7、M8更新至1.0.0版本兼容的所需修改要点
  • 【ARM】如何通过ARMDS的Map文件查看堆栈调用情况
  • 【MAP容器姓名成绩输入查询修改删除】2022-2-4
  • 5 WPF中的Page页面的使用
  • 2.3 TypeScript 非空断言操作符(后缀 !)详解
  • C++中回调函数详解
  • javaEE1