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

【计算机组成原理】24王道考研笔记——第四章 指令系统

第四章 指令系统

一、指令系统

指令是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该 机的指令系统,也称为指令集。

指令格式:

image.png

1.1分类

按地址码数目分类:

image.png

image.png

image.png

image.png

按指令长度分类:

image.png

按操作码长度分类:

image.png

按操作类型分类:

image.png

1.2 扩展操作码

image.png

设地址长度为n,上一层留出m中状态,下一层可扩展出m*2n种状态

操作码分类

定长操作码: 在指令字的最高位部分分配固定的若干位(定长)表示操作码。

  • 一般n位操作码字段的指令系统最大能够表示2n 条指令。
  • 优:定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利;
  • 缺:指令数量增加时会占用更多固定位,留给表示操作数地址的位数受限。

扩展操作码(不定长操作码) :全部指令的操作码字段的位数不固定,且分散地放在指令字的不同位置上。

  • 最常见的变长操作码方法是扩展操作码,使操作码的长度随地址码的减少而增加,不同地址数的 指令可以具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。
  • 优: 在指令字长有限的前提下仍保持比较丰富的指令种类;
  • 缺 :增加了指令译码和分析的难度,使控制器的设计复杂化。

二、指令的寻址方式

2.1 指令寻址

image.png

image.png

2.2 数据寻址

数据寻址确定本条指令的地址码指明的真实地址,而指令寻址始终由程序计数器PC给出下一条欲执行指令的指令地址。

2.2.1 直接寻址

image.png

2.2.2 间接寻址

image.png

2.2.3 寄存器寻址

image.png

2.2.4 寄存器间接寻址

image.png

2.2.5 隐含寻址

image.png

2.2.6 立即寻址

image.png

2.2.7 偏移寻址

基址寻址、变址寻址、相对寻址都属于偏执寻址,区别在于偏移的“起点”不一样

  • 基址寻址:以程序的起始存放地址作为“起点”
  • 变址寻址:程序员自己决定从哪里作为“起点”
  • 相对寻址:以程序计数器PC所指地址作为“起点”

总结:

image.png

2.3 堆栈寻址

image.png

三、程序的机器代码表示

对应关系:

image.png

常用指令:

image.png

image.png

AT&T格式和Intel格式区别:

image.png

选择语句:

image.png

循环语句:

image.png

image.png

函数调用:

image.png

四、CISC和RISC的基本概念

image.png

image.png

主要参考:王道考研课程
后续会持续更新考研408部分的学习笔记,欢迎关注。
github仓库(含所有相关源码):408数据结构笔记

http://www.lryc.cn/news/126437.html

相关文章:

  • C#使用FileInfo和DirectoryInfo类来执行文件和文件夹操作
  • 每日一学——TCP/IP参考模型
  • LAXCUS分布式操作系统:技术创新引领高性能计算与人工智能新时代
  • 两只小企鹅(Python实现)
  • Linux | 使用wget命令调用服务接口
  • POJ Prime Path 埃氏筛法+广度优先搜索
  • React React Native
  • 分布式定时任务系列5:XXL-job中blockingQueue的应用
  • QT网络编程之TCP
  • 《游戏编程模式》学习笔记(四) 观察者模式 Observer Pattern
  • 前端一键升级 package.json里面的依赖包管理
  • 当速度很重要时:使用 Hazelcast 和 Redpanda 进行实时流处理
  • 筛法求欧拉函数
  • consul限制注册的ip
  • 用AI攻克“智能文字识别创新赛题”,这场大学生竞赛掀起了什么风潮?
  • EJB基本概念和使用
  • 神经网络基础-神经网络补充概念-09-m个样本的梯度下降
  • 分布式 - 消息队列Kafka:Kafka消费者分区再均衡(Rebalance)
  • BIO、NIO和AIO
  • 理解 Go 中的切片:append 操作的深入分析(篇1)
  • 由于找不到mfc140u.dll,无法继续执行代码怎么修复?
  • 【0.1】lubancat鲁班猫4刷入debian网络ping 域名不通问题
  • KafkaStream:基本使用
  • 【数据结构】二叉树
  • 基于灰狼优化(GWO)、帝国竞争算法(ICA)和粒子群优化(PSO)对梯度下降法训练的神经网络的权值进行了改进(Matlab代码实现)
  • jenkins自动化构建保姆级教程(持续更新中)
  • HTTPS 的加密流程
  • Jmeter 参数化的几种方法
  • 剑指Offer45.把数组排成最小的数 C++
  • 【java毕业设计】基于SSM+MySql的人才公寓管理系统设计与实现(程序源码)--人才公寓管理系统