【计算机组成原理】指令系统

🎄欢迎来到@边境矢梦°的csdn博文🎄
🎄本文主要梳理计算机组成原理中 指令系统的知识点和值得注意的地方 🎄
🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈
🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆

目录

🍁指令系统的概念及指令格式

🌳寻址方式及指令寻址方式

🌻操作数寻址方式

🌸指令格式设计

🏵️MIPS指令概述

🪴MIPS指令详解


🍁指令系统的概念及指令格式

  • 指令概念
  1. 指令
    1. 计算机能直接识别、执行的操作命令(机器指令);
    2. 冯诺依曼结构计算机“程序控制”原理实现的载体.
  2. 指令系统(指令集)
    1. 一台计算机中所有机器指令的集合
    2. 系列机:同一公司不同时期生产,基本系统结构和指令系统相同的计算机。如IBM,PDP-11,VAX-11,Intel-x86
    3. 兼容机:不同公司生产,基本系统结构和指令系统相同的计算机如IBM兼容机
  3. 指令字长
    1. 指令中包含的二进制位数
    2. 与机器字长相比: 单字长、双字长、半字长等长度指令
    3. 多字长指令
      1. 解决寻址较大存储空间的问题
      2. 取指多次访内,影响速度,占用空间大
    4. 等长指令 : 指令字长度固定 (简化)
    5. 变长指令 : 指令字长度根据需要可变 (复杂)
  • 指令的分类
    • 根据计算机层次结构分类
    • 根据指令中地址码字段的个数分类
    • 根据指令中操作数的物理位置分类
    • 根据指令的功能分类
  • 指令格式
    • 用二进制代码表示指令的结构形式
  • 二说指令系统

 

🌳寻址方式及指令寻址方式

  1.  指令的顺序寻址
    1. 程序的指令序列在主存顺序存放。执行时从第一条指令开始(!),逐条取出并逐条执行,这种程序的顺序执行过程,称为顺序寻址方式 .
    2. CPU中设置程序计数器(PC)对指的顺序号进行计数。PC开始时存放程序的首地址,每执行一条指令,PC 加”1”,指出下条指令的地址直到程序结束。
  2. 指令的跳跃寻址

🌻操作数寻址方式

  1. 立即数寻址
  2. 寄存器寻址
  3. 直接寻址
  4. 间接寻址
  5. 寄存器间接寻址
  6. 相对寻址
  7. 基址寻址
  8. 变址寻址
  9. 总结

🌸指令格式设计

  1. 指令格式设计的主要内容
  2. 举例

🏵️MIPS指令概述

MIPS指令是一种精简指令集计算机(RISC)指令集,属于80年代初期由斯坦福大学Hennessy教授领导的研究小组研制成功的。MIPS指令集有多个版本,如MIPS I、MIPS II、MIPS III、MIPS IV、MIPS V、MIPS32和MIPS64。

MIPS指令集有以下特点:

  1. 简单的Load/Store结构:MIPS指令集采用简单的Load/Store结构,即指令主要涉及加载数据到寄存器(Load)和从寄存器中存储数据(Store)。这种结构简化了指令集的设计,并使得编译器更容易生成高效的代码。
  2. 易于流水线CPU设计:MIPS指令集的另一个特点是易于流水线CPU设计。流水线设计是一种提高CPU性能的技术,它将指令执行过程划分为多个阶段,每个阶段由不同的硬件单元处理。这种设计可以使得CPU在执行指令时具有更高的吞吐量和更快的执行速度。
  3. 易于编译器开发:MIPS指令集的设计使得编译器更容易生成高效的代码。由于MIPS指令集结构简单,编译器可以更轻松地分析代码并生成相应的指令序列。这有助于提高编译器的性能和生成代码的质量。
  4. MIPS指令的寻址方式非常简单:MIPS指令的寻址方式相对简单,每条指令的操作也非常简单。这使得指令集更易于理解和实现,同时也有助于提高CPU的执行效率。
  5. MIPS指令集广泛应用于嵌入式系统:在早期,MIPS指令集主要应用于嵌入式系统,如Windows CE的设备、路由器、家用网关和视频游戏机等。现在,MIPS指令集已经在PC机、服务器中得到广泛应用。

🪴MIPS指令详解

MIPS指令集包括R型、I型和J型指令,这些指令在计算机程序中有着不同的用途和功能。以下是对这些指令的详细解释:

  1. R型指令(寄存器型指令):
    R型指令是指操作数和保存结果均通过寄存器进行的指令。这些指令通常涉及对寄存器中的数据进行算术或逻辑操作,并将结果存储回原始寄存器或另一个寄存器中。R型指令包括加法、减法、乘法、除法等算术操作,以及与寄存器中的数据进行比较、位移等逻辑操作。

R型指令的格式通常为:opcode Rs Rd shamt funct。其中,opcode是操作码,Rs是源寄存器1,Rd是目标寄存器,shamt是移位量(当涉及到移位操作时),funct是具体的操作类型。

具体R型指令包括:

  • 带有3个寄存器的指令:这些指令通常涉及对两个源寄存器中的数据进行算术或逻辑操作,并将结果存储到目标寄存器中。例如,ADD R1, R2, R3将把R2和R3中的内容相加,并将结果存储到R1中。
  • 带有2个寄存器的指令:这些指令通常涉及对一个源寄存器中的数据进行算术或逻辑操作,并将结果存储到另一个寄存器中。例如,SUB R1, R2, R3将把R2和R3中的内容相减,并将结果存储到R1中。
  • 带有1个寄存器的指令:这些指令通常只对一个寄存器中的数据进行操作,例如,MOV R1, #10将把常量值10加载到R1中。
  1. I型指令(立即数型指令):
    I型指令是指面向立即数的指令。立即数是指直接在指令中指定的常数值,而不是从内存或寄存器中获取的值。I型指令通常用于对常量和某些特定的寄存器进行算术或逻辑操作。

I型指令的格式通常为:opcode Rs Rd imm。其中,opcode是操作码,Rs是源寄存器(如果有),Rd是目标寄存器,imm是立即数。

具体I型指令包括:

  • 面向运算的I型指令:这些指令通常涉及对两个立即数进行算术或逻辑操作,并将结果存储到目标寄存器中。例如,ADD I1, I2, I3将把I2和I3的值相加,并将结果存储到I1中。
  • 面向访存的I型指令:这些指令通常涉及对一个立即数和内存地址进行算术或逻辑操作,并将结果存储到目标寄存器中。例如,LW R1, I2(mem)将从内存地址为I2的值加载到R1中。
  • 面向数位设置的I型指令:这些指令通常涉及对一个立即数的特定位进行设置或清除操作。例如,BSET bit, I1将把I1中特定位的值设置为1。
  • 面向条件转移(分支)的I型指令:这些指令通常用于根据条件进行跳转或分支操作。例如,BEQ I1, I2, label将比较I1和I2的值是否相等,如果相等则跳转到标签指定的位置。
  1. J型指令(转移型指令):
    J型指令是指向转移的指令。这些指令通常用于控制程序的执行流程,包括跳转、分支和子程序调用等操作。J型指令通常包含一个目标地址,程序将直接跳转到该地址执行相应的指令。

J型指令的格式通常为:opcode rs rd。其中,opcode是操作码,rs是源寄存器(如果有),rd是目标地址寄存器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/207023.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python-docx 深入word源码 自定义页码页脚以动态显示总页数和当前页数

代码和效果图 先上能够正常显示页码页脚的Python代码和效果图,之后再解释原理和思路 from docx import Document from docx.shared import Pt from docx.oxml import OxmlElement from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.oxml.ns import qn…

mysql区分大小写吗

mysql在windows下默认是不区分大小写的,在linux下默认是区分大小写的。 所以,为了避免出问题,许多公司的数据库编程规范中明确规定:库名、表名、列名、索引名一律小写,不同单词之间以下划线分割,且控制在3…

深入探究Photoshop图像修复与润饰技巧

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在Photoshop中,图像修复和润饰是强…

用HeidiSQL在MySQL中新建用户

用HeidiSQL登录到MySQL数据库,注意登录的时候要使用有权限的用户: 选择工具-》用户管理: 点击左上角的“添加”: 输入用户名、密码,并且分配权限: 点击右边的“添加对象”: 可以根据自己…

【WebSocket】通信协议基于 node 的简单实践和心跳机制和断线重连的实现

前后端 WebSocket 连接 阮一峰大佬 WebSocket 技术博客 H5 中提供的 WebSocket 协议是基于 TCP 的全双工传输协议。它属于应用层协议,并复用 HTTP 的握手通道。它只需要一次握手就可以创建持久性的连接。 那么什么是全双工呢? 全双工是计算机网络中的…

台灯显色指数多少好?最适合学生的护眼台灯推荐

世界卫生组织最新研究报告显示,2020年全球近视患者约为25亿,其中中国近视人数达6亿,青少年近视率已高居世界第一,且呈现出发病年龄小、发病率高、近视度数深的特点。一款好用的护眼台灯,可以有效的预防近视&#xff0c…

JTAG下载配置

JTAG除了用FT232HL外,还有没有经济一点的方案? 功能验证完以后。投板不用再需要焊接FT232HL这个器件了。可以通过SD卡升级到FLASH或者EMMC。开发一个板子可以不用EMMC且不用SD卡且不用串口。直接就设计上去,如果批量的就不再焊接。 这个USB口是JTAG&a…

第16届中国R会议暨2023X-AGI大会开幕,和鲸科技分享ModelOps在数据科学平台中的实践与应用

11月25日,第 16 届中国 R 会议暨 2023 X-AGI 大会在在中国人民大学逸夫会堂拉开帷幕,本次会议由中国人民大学统计学院、中国人民大学应用统计科学研究中心、统计之都、原灵科技和中国商业统计学会人工智能分会(筹)主办&#xff0c…

Linux:docker的数据管理(6)

数据管理操作*方便查看容器内产生的数据 *多容器间实现数据共享 两种管理方式数据卷 数据卷容器 1.数据卷 数据卷是一个供容器使用的特殊目录,位于容器中,可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数…

Apache Flink(四):Flink 其他实时计算框架对比

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…

用高性价比CRM系统,轻松管理复杂的销售流程

对于中小企业来说,选型CRM系统的重点便是性价比。中小企业预算有限,要在满足需求的前提下选择符合预算的CRM系统。那么,有没有性价比高的CRM系统?Zoho CRM就很不错哦。 Zoho CRM是一款SaaS云端CRM客户管理系统,多次荣…

4D雷达目标检测跟踪算法设计

1.算法流程 4D雷达点云跟踪处理沿用3D毫米波雷达的处理流程,如下图: 从接收到点云开始,先对点云做标定、坐标转换、噪点剔除、动静分离,再分别对动态目标和静态目标做聚类,然后根据聚类结果做目标的特征分析和检测等&a…

Vue3-数据交互请求工具设计

1.安装axios pnpm add axios 2.利用axios.create创建一个自定义的axios来使用 参考官网:axios中文文档|axios中文网 | axios 在src/utils文件夹下新建request.js,封装axios模块 import axios from axios const baseURL const instance axios.creat…

2023.11.12 阿里云产品全线故障

阿里云 11.12 故障原因曝光:访问密钥服务 (Access Key) 异常 (baidu.com) 故障原因竟然是因为生成白名单代码逻辑缺陷。

TP4056是一款单节锂离子电池恒流/恒压线性充电器IC

TP4056 1A 锂电池充电器 概述: TP4056 是一款单节锂离子电池恒流 / 恒压线性充电器 , 采用底部带散热片的ESOP-8L封装以及简单的外部应用电路,非常适合便携式设备应用,适合USB电源和适配器电源工作,内部采用防倒充电路,不需要外部隔离二极管。热反馈可对…

JVM 字节码

JVM概述 问题引出 你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接OOM!想解决线上JVM GC问题,但却无从下手。新项目上线,对各种JVM参数设置一脸茫然,直接默认吧&…

完美的输出打印 SQL 及执行时长[MyBatis-Plus系列]

导读 Hi,大家好,我是悟纤。过着爱谁谁的生活,活出不设限的人生。 在我们日常开发工作当中,避免不了查看当前程序所执行的SQL语句,以及了解它的执行时间,方便分析是否出现了慢SQL问题。 MyBatis-Plus提供了两种SQL分析打印的方式,用于输出每条SQL语句及其执行时间,针…

现代化工安全保障迎来巡查无人机新时代

当今现代化工企业呈现出规模不断扩大,设备逐渐趋向大型化的局面,由此导致化工安全生产面临日益严峻的挑战。然而,随着巡查无人机技术的成熟,这种新的高效手段正在提高化工安全检测的工作效率。 一、传统化工安全巡检存在弊端 化工…

博捷芯:半导体芯片切割,一道精细工艺的科技之门

在半导体制造的过程中,芯片切割是一道重要的环节,它不仅决定了芯片的尺寸和形状,还直接影响到芯片的性能和使用效果。随着科技的不断进步,芯片切割技术也在不断发展,成为半导体制造领域中一道精细工艺的科技之门。 芯片…

【MySQL:从零开始练级】环境安装与基础认识

hello大家好,失踪人口回归,今天开始新专栏MySQL:从零开始练级,今天给大家分享MySQL的环境安装与基础认识,希望大家能有所学习收获。 目录 1️⃣ Centos 7环境下安装 2️⃣什么是数据库 3️⃣服务器、数据库、表关系 4️⃣MySQ…