计算机组成原理:指令系统

计算机组成原理:指令集系统

  • 指令集体系结构(ISA)
    • ISA定义
    • ISA包含的内容
    • 举个栗子
  • 指令的基本组成(操作码+地址码)
    • 指令分类:地址码的个数
    • 定长操作码
    • 变长操作码
      • 变长操作码的原则
      • 变长操作码的设计
  • 指令寻址
    • 寻址方式的目的
    • 寻址方式分类
      • 有效地址直接在指令中给出
      • 有效地址间接给出
      • 有效地址计算得到
  • 重点解析:无符号数+有符号数
  • 指令设计风格
    • RISC
    • CISC
    • 不同指令风格下的相对寻址
      • CISC风格
      • RISC风格
  • 标志位生成
    • 有符号数和无符号数加减法电路的统一性
    • 选择题做法
    • 无符号、有符号整数的大于0小于0判断
  • MIPS基本指令
    • 过程调用
      • 过程调用过程

指令集体系结构(ISA)

ISA定义

计算机硬件与软件之间的接口。
在这里插入图片描述
可以把ISA视为封装好的函数的函数名;
软件通过直接使用函数名调用函数,但是并不关心这个函数是怎么具体实现的,不关心其硬件实现细节。
在这里插入图片描述
ISA(指令集体系结构)是硬件程序员给软件程序员提供的指令说明书,更像硬件与软件之间的一种约定。

在这里插入图片描述

ISA包含的内容

  1. 包含: 使用指令功能相关的全部信息
    首先要告诉你有哪些指令,其次告诉你每条指令都什么含义,每条指令分为哪几个部分,每个部分什么意思。
  2. 不包含: 指令中的功能如何具体用硬件来实现
    事实上,只要涉及到具体什么硬件,应该就不会包含在ISA中。

举个栗子

在这里插入图片描述

ISA包含:整数乘法相关的指令格式,比如可以实现2*3=c

但是不包含:ALU怎么实现的整数乘法,诸如靠加法+循环,或者是补码一位乘法(Booth算法)
在这里插入图片描述

问题:ISA包不包含指令的长度?包含。
2025年真题:
在这里插入图片描述
16题选择B,其他选项全是硬件相关的。

指令的基本组成(操作码+地址码)

要操作的数一般放在计算机中的哪个位置?

源操作数:计算机寄存器或内存中,或者直接给出(如立即数)
目的操作数:寄存器或内存

指令分类:地址码的个数

  1. 零地址指令 :指令只给出了操作码,没有给出地址码。例如:停机指令
    在这里插入图片描述

  2. 单地址指令:自增指令,例如i++
    在这里插入图片描述
    该操作数既是源操作数,又是目的操作数。

  3. 二地址指令:一个操作码+两个地址码,r1+r2->r1
    在二地址指令中,第一个地址默认为目的地址。
    在这里插入图片描述

  4. 三地址指令:r1+r2->r3
    在这里插入图片描述

定长操作码

指令种类一般是按照操作码的位数而言,先不考虑地址码的多少,只考虑有几种指令操作,确定操作码的位数。

地址码可以定长也可以变长。

在这里插入图片描述

变长操作码

在变长操作

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust实现高性能目录扫描工具ll的技术解析

Rust实现高性能目录扫描工具ll的技术解析 一、项目概述 本项目使用Rust构建了一个类ls命令行工具,具备以下核心特性: 多格式文件信息展示并行目录扫描加速人类可读文件大小运行时性能统计交互式进度提示 二、技术架构 1. 关键技术栈 clap&#xff…

【深度强化学习 DRL 快速实践】策略梯度算法 (PG)

PG(1984,Sutton) 核心改进点 策略梯度算法 (PG): 直接对策略函数进行建模,可以适用于连续的动作空间 model-free, on-policy, PG, stochastic 策略 核心改进点说明策略梯度优化通过Actor网络直接优化策略,适应连续动作…

G1垃圾回收器中YoungGC和MixedGC的区别

在 G1 垃圾回收器中,Mixed GC 和 Young GC 的区别主要体现在以下几个方面: 作用范围 Young GC:仅针对年轻代中的Region进行回收,包括 Eden 区和 Survivor 区的 Region。Mixed GC:会回收所有年轻代的 Region 以及部分…

从LLM到AI Agent的技术演进路径:架构解析与实现逻辑

人工智能技术正经历从基础语言模型到智能执行体的关键跃迁。解析LLM→RAG→Agent的技术演进三层架构,拆解大模型与知识库、工具链的融合机理,揭示感知-决策-执行闭环系统的构建逻辑。通过架构范式解析、代码实现示例及多模态实践案例,为开发者…

commix

Commix 基础用法和高级用法 基础用法 Commix 是一个自动化的命令行注入工具,用于检测和利用 Web 应用程序中的命令注入漏洞。以下是基本使用方法: 基本扫描 python commix.py -u "http://example.com/vuln.php?id1"指定注入点 python commi…

Git删除指定历史版本

问题: 在Git提交版本,有时有些小版本相比较于后续的大版本,都会包含,且后续存在的意义不太大,一般认为是可以删除的。或者,中间一些版本有问题但是也提交了,拉取这些版本根本没用,这…

使用 Pandas 进行多格式数据整合:从 Excel、JSON 到 HTML 的处理实战

前言 在数据处理与分析的实际场景中,我们经常需要整合不同格式的数据,例如 Excel 表格、JSON 配置文件、HTML 报表等。本文以一个具体任务(蓝桥杯模拟练习题)为例,详细讲解如何使用 Python 的 Pandas 库结合其他工具&…

今日行情明日机会——20250425

指数依然在震荡,等待方向选择,整体量能不搞但个股红多绿少。 2025年4月25日涨停板行业方向分析如下: 一、核心行业方向及驱动逻辑 一季报增长(17家涨停) 核心个股:惠而浦、鸿博股份、卫星化学驱动逻辑&am…

Python 快速获取Excel工作表名称

文章目录 前言准备工作Python 获取Excel中所有工作表的名称Python 获取Excel中隐藏工作表的名称 前言 在数据分析与办公自动化领域,通过Python处理Excel文件已成为必备技能。通过获取工作表名称,我们可以: 快速了解文件结构自动化处理多工作…

宁德时代25年时代长安动力电池社招入职测评SHL题库Verify测评语言理解数字推理真题

测试分为语言和数字两部分,测试时间各为17分钟,测试正式开始后不能中断或暂停

ECMAScript 1(ES1):JavaScript 的开端

1. 版本背景与发布 ●发布时间:1997 年 6 月,由 ECMA International 正式发布,标准编号为 ECMA-262。 ●历史意义:ES1 是 JavaScript 的首个标准化版本,结束了 Netscape Navigator 与 Internet Explorer 浏览器间脚本语…

C语言面试高频题——define 和typedef 的区别?

1. 基本概念 (1) #define 定义:#define 是预处理指令,用于定义宏。作用:在编译之前进行文本替换。语法:#define 宏名 替换内容示例:#define PI 3.14159 #define SQUARE(x) ((x) * (x))(2) typedef 定义:…

【自然语言处理与大模型】模型压缩技术之蒸馏

知识蒸馏是一种模型压缩技术,主要用于将大型模型(教师模型)的知识转移到更小的模型(学生模型)中。在大语言模型领域,这一技术特别重要。 知识蒸馏的核心思想是利用教师模型的输出作为软标签(sof…

PHP CURL发送POST请求(支持HEADER参数配置)

/** POST请求(raw数据请求,支持HEADER参数配置) * @param $url * @param $datas 支持数组或字符串 * # $CURLOPT_HTTPHEADER = [ X-AjaxPro-Method:ShowList, Content-Type: application/json; charset=utf-8, Content-Length: . strlen($data_string)]; …

利用JMeter代理服务器方式实现高效压测

前言 在当今快节奏的互联网时代,确保Web应用和服务能够在高负载下稳定运行变得至关重要。无论是电子商务平台、社交媒体网络还是在线教育服务,用户对网站响应速度和稳定性的期望从未如此之高。因此,性能测试不再是一个可选项,而是…

【JavaWeb后端开发04】java操作数据库(JDBC + Mybatis+ yml格式)详解

文章目录 1. 前言2. JDBC2.1 介绍2.2 入门程序2.2.1 DataGrip2.2.2 在IDEA执行sql语句 2.3 查询数据案例2.3.1 需求2.3.2 准备工作2.3.3 AI代码实现2.3.4 代码剖析2.3.4.1 ResultSet2.3.4.2 预编译SQL2.3.4.2.1 SQL注入2.3.4.2.2 SQL注入解决2.3.4.2.3 性能更高 2.4 增删改数据…

力扣-240.搜索二维矩阵 II

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, in…

Spark-Streaming(三)

一. kafka和flume的整合 任务需求一:利用flume监控某目录中新生成的文件&#xff0c;将监控到的变更数据发送给kafka&#xff0c;kafka将收到的数据打印到控制台 1. 在flume/conf/目录下添加flume-kafka.conf文件 配置文件如下 2. 启动flume和kafka消费者 3. 传入数据 查看fl…

Spring Boot 启动生命周期详解

Spring Boot 启动生命周期详解 1. 启动阶段划分 Spring Boot 启动过程分为 4个核心阶段&#xff0c;每个阶段涉及不同的核心类和执行逻辑&#xff1a; 阶段 1&#xff1a;预初始化&#xff08;Pre-initialization&#xff09; 目标&#xff1a;准备启动器和环境配置关键类&am…

《深入理解 AOP》

一、AOP 是什么 AOP&#xff08;Aspect Oriented Programming&#xff09;&#xff0c;即面向切面编程&#xff0c;是软件开发中一种重要的编程范式。它通过横向抽取机制&#xff0c;将那些与业务逻辑本身无关、却为业务模块所共同调用的逻辑或责任&#xff08;如事务处理、日…