有没有专门做帽子的网站/营销型企业网站的功能
指令系统
- 指令系统
- 指令的概述
- 指令的格式
- 指令的字长取决于
- 操作数类型和操作种类
- 操作数的类型
- 数据在存储器中的存放方式
- 操作类型
- 寻址方式
- 指令寻址
- 数据寻址
- 立即寻址
- 直接寻址
- 隐含寻址
- 间接寻址
- 寄存器寻址
- 寄存器间接寻址
- 基址寻址
- 变址寻址
- 堆栈寻址
- RISC 和 CISC 技术
- RISC 即精简指令系统计算机
- CISC 即复杂指令系统计算机
- RISC 和 CISC 的比较
大家好呀!我是小笙,本章我主要分享计算机组成原理的指令系统知识,希望内容对你有所帮助!
指令系统
指令的概述
指令的格式

-
操作码:反映机器做什么操作
-
长度固定:将操作码集中放在指令字的一个字段内(用于指令字段较长的情况。例如: IBM370)
-
长度可变:操作码分散在指令字的不同字段中(有效地压缩操作码的平均长度,在字长较短的微型计算机中被广泛采用。例如:PDP-11)
-
扩展操作码技术:操作码的位数随地址数的减少而增加
-
-
地址码:地址码用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址
分类:四地址指令、三地址指令、二地址指令、一地址指令、零地址指令
指令的字长取决于
- 操作码的长度
- 操作数地址的长度
- 操作数地址的个数
指令字长可以分为固定和可变:固定的时候,指令字长 = 存储字长 ; 可变的时候,按字节的整数倍数变化
操作数类型和操作种类
操作数的类型
- 地址:无符号整数
- 数字:定点数、浮点数、十进制数
- 字符:ASCII
- 逻辑数:逻辑运算
数据在存储器中的存放方式
-
不对准边界(从任意位置开始访问)
优点:不浪费存储资源
缺点:除了访问每个字节之外,访问其他任何类型的数据都可能花费两个存储周期的时间;读写控制比较复杂
-
对准边界(从一个存储字的起始位置开始访问)
优点:无论访问任何类型的数据,在一个周期均可完成;读写控制简单
缺点:浪费了宝贵的存储资源
-
边界对转方式(从地址的整数倍位置开始访问)
数据存放的起始位置是数据长度的整数倍(前面两种方式的折中方案)
操作类型
- 数据传送:数据传送包括寄存器与寄存器、寄存器与存储单元、存储单元与存储单元之间的传送
- 算术逻辑操作:算术运算和逻辑运算
- 移位操作:分为算术移位、逻辑移位和循环移位
- 转移:跳转、无条件/条件转移等
- 输入输出:从外设中的寄存器读入一个数据到 CPU 的寄存器内,或将数据从 CPU 的寄存器输出至某外设的寄存器中
寻址方式
寻址方式:确定本条指令的数据地址以及下一条将要执行的指令地址的方法
寻址方式分为指令寻址和数据寻址两大类
指令寻址
- 顺序寻址可通过程序计数器PC加1,自动形成下一条指令的地址
- 跳跃寻址则通过转移类指令实现

数据寻址
指令的地址码字段通常都不代表操作数的真实地址
- 形式地址:指令中的地址(可以理解为逻辑地址)
- 有效地址:操作数的真实地址
以下寻址方式建立在 指令字长 = 存储字长 = 机器字长
立即寻址
操作数本身设在指令字内,即形式地址 A 不是操作数的地址,而是操作数本身,又称之为立即数(数据是采用补码形式存放的)

优点:只要取出指令,便可立即获得操作数,这种指令在执行阶段不必再访问存储器
缺点:显然 A 的位数限制了这类指令所能表述的立即数的范围
直接寻址
EA = A 有效地址由形式地址直接给出

优点:寻找操作数比较简单,也不需要专门计算操作数的地址,在指令执行阶段对主存只访问一次
缺点:A 的位数限制了操作数的寻址范围,而且必须修改A的值,才能修改操作数的地址
隐含寻址
指令字中不明显地给出操作数的地址,其操作数的地址隐含在操作码或某个寄存器中

由于隐含寻址在指令字中少了一个地址,因此,这种寻址方式的指令有利于缩短指令字长
间接寻址
倘若指令字中的形式地址不直接指出操作数的地址,而是指出操作数有效地址所在的存储单元地址,也就是说,有效地址是由形式地址间接提供的,即为间接寻址,即EA=(A)

优点:它扩大了操作数的寻址范围以及便于编程
缺点:在于指令的执行阶段需要访存两次(一次间接寻址)或多次(多次间接寻址),致使指令执行时间延长

寄存器寻址
在寄存器寻址的指令字中,地址码字段直接指出了寄存器的编号,即EA=Ri

优点
- 操作数不在主存中,故寄存器寻址在指令执行阶段,无须访存,减少了执行时间
- 地址字段只需指明寄存器编号(计算机中寄存器数有限),故指令字较短,节省了存储空间
寄存器间接寻址
Ri 中的内容不是操作数,而是操作数所在主存单元的地址号,即有效地址EA=(Ri)(有效地址不是存放在存储单元中,而是存放在寄存器中)

基址寻址
基址寻址需设有基址寄存器 BR,其操作数的有效地址EA等于指令字中的形式地址与基址寄存器中的内容(称为基地址)相加,即 EA = A + (BR)
- 隐式:计算机内部专门设置一个基址寄存器 BR,使用时用户不必明显指出该基址寄存器
- 显式:一组通用的寄存器里,由用户来明确指出哪个寄存器用作基址寄存器

优点
- 基址寻址可以扩大操作数的寻址范围
- 基址寻址在多道程序中极为有用
- 用户也不可以修改基址寄存器的内容,确保系统安全可靠地运行
变址寻址
变址寻址与基址寻址极为相似。其有效地址EA等于指令字中的形式地址A与变址寄存器 X的内容相加之和,即 EA = A +(IX)
变址寻址主要用于处理数组问题,在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器X的内容,便可很容易形成数组中任一数据的地址,特别适合编制循环程序

优点
- 只要变址寄存器位数足够,也可扩大操作数的寻址范围
- IX 的内容由用户给定
- 在程序执行过程中 IX 内容可变,形式地址A是不可变的
- 便于处理数组问题
堆栈寻址
堆栈分为硬堆栈(多个寄存器)、软堆栈(指定的存储空间)
堆栈寻址就其本质也可视为寄存器间接寻址,因SP可视为寄存器,它存放着操作数的有效地址

RISC 和 CISC 技术
RISC 即精简指令系统计算机
主要特征:
- 选用使用频率较高的一些简单指令;复杂指令的功能由简单指令来组合实现
- 指令长度固定、指令格式种类少、寻址方式少
- 只有 LOAD/STORE 指令访存
- CPU 中有多个通用寄存器
- 采用流水技术,一个时钟周期内完成一条指令
- 采用组合逻辑实现控制器
CISC 即复杂指令系统计算机
主要特征:
- 系统指令复杂庞大,各种指令使用频度相差大
- 指令长度不固定、指令格式种类多、寻址方式多
- 访存指令不受限制
- CPU 中设有专有寄存器
- 大多数指令需要多个时钟周期执行完毕
- 采用微程序控制器
RISC 和 CISC 的比较
CISC | RISC | |
---|---|---|
指令系统 | 复杂,庞大 | 简单,精简 |
指令数目 | 大于200条 | 小于100条 |
指令字长 | 不固定 | 定长 |
可访存指令 | 不加限制 | 只有Load/Store指令 |
控制方式 | 绝大多数为微程序 | 绝大多数用组合逻辑 |
通用寄存器数量 | 较少 | 多 |
相关文章:

计算机组成原理 — 指令系统
指令系统 指令系统指令的概述指令的格式指令的字长取决于 操作数类型和操作种类操作数的类型数据在存储器中的存放方式操作类型 寻址方式指令寻址数据寻址立即寻址直接寻址隐含寻址间接寻址寄存器寻址寄存器间接寻址基址寻址变址寻址堆栈寻址 RISC 和 CISC 技术RISC 即精简指令…...

使用easyYapi生成文档
easyYapi生成文档 背景1.安装配置1.1 介绍1.2 安装1.3 配置1.3.1 Export Postman1.3.2 Export Yapi1.3.3 Export Markdown1.3.4 Export Api1.3.6 常见问题补充 2. java注释规范2.1 接口注释规范2.2 出入参注释规范 3. 特定化支持3.1 必填校验3.2 忽略导出3.3 返回不一致3.4 设置…...

蓝桥杯练习题总结(三)线性dp题(摆花、数字三角形加强版)
目录 一、摆花 思路一: 确定状态: 初始化: 思路二: 确定状态: 初始化: 循环遍历: 状态转移方程: 二、数字三角形加强版 一、摆花 题目描述 小明的花店新开张,为了吸…...

Elasticsearch(15) multi_match的使用
elasticsearch version: 7.10.1 multi_match是Elasticsearch中的一种查询类型,允许在一个或多个字段上执行全文本搜索,并合并各个字段的结果得分。这种查询有助于实现跨多个字段的统一搜索体验。 语法 {"query": {"multi_m…...

nodejs的线程模型和libuv库的基本使用
文章目录 nodejs中集成addon本地代码的回调问题单线程事件驱动模型libuvlibuv基本框架addon中使用libuv代码nodejs中集成addon本地代码的回调问题 在C++的代码中,回调函数是一个基本的代码调用方式。而在我自己的开发实践中,需要在addon这样一个nodejs的本地化模块中实现一个…...

Uni-app/Vue/Js本地模糊查询,匹配所有字段includes和some方法结合使用e
天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1.第一步 需要一个数组数据 {"week": "全部","hOutName": null,"weekendPrice": null,"channel": "门市价","hOutId": 98,"cTime": "…...

深度学习pytorch——激活函数损失函数(持续更新)
论生物神经元与神经网络中的神经元联系——为什么使用激活函数? 我们将生物体中的神经元与神经网络中的神经元共同分析。从下图可以看出神经网络中的神经元与生物体中的神经元有很多相似之处,由于只有刺激达到一定的程度人体才可以感受到刺激,…...

《苹果 iOS 应用开发与分发的关键问题解析》
一、背景 解决同事问的问题,来来回回被问好几次相同的问题,然后确认,我觉得不如写个文档 二、非研发人员安装iOS应用方式 TestFlightIPA 文件 对比 TestFlightIPA 文件安装方式TestFlight 是苹果提供的一个 beta 测试平台,开发者…...

爱上数据结构:顺序表和链表
一、线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条…...

python知识点总结(十)
python知识点总结十 1、装饰器的理解、并实现一个计时器记录执行性能,并且将执行结果写入日志文件中2、队列和栈的区别,并且用python实现3、设计实现遍历目录与子目录4、CPU处理进程最慢的情况通常发生在以下几种情况下:5、CPU处理线程最慢的…...

【Python】探索 Python 编程世界:常量、变量及数据类型解析
欢迎来CILMY23的博客 本篇主题为 探索 Python 编程世界:常量、变量及数据类型解析 个人主页:CILMY23-CSDN博客 Python系列专栏:http://t.csdnimg.cn/HqYo8 上一篇博客: http://t.csdnimg.cn/SEdbp C语言专栏: htt…...

vue页面实现左右div宽度,上下div高度分割线手动拖动高度或者宽度自动变化,两个div宽度或者高度拉伸调节,实现左右可拖动改变宽度的div内容显示区
实现左右或者上下div两部分拖动,宽度或者高度自动变化,实现流畅平滑的变化,还可以是实现拖动到一定宽度就不让拖动了,如果你不需要最小宽度,就直接去掉样式就行 这是页面。分左中右三部分,中间我是用来作为拖动的按钮…...

知攻善防应急靶场-Linux(1)
前言: 堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全应急响应和知攻善防实验室靶场,记录自己的学习过程&am…...

ffmpeg命令行
ffmpeg 如果要在linux gdb 调试,需要在configure 时候不优化 开启调试 ./configure --enable-debug --disable-optimizations make如何开启gdb 调试 gdb ffmpeg_gset args -i test.hevc -c:v copy -c:a copy output_265.mp4rh264 的流生成mp4 文件,不转…...

VMware虚拟机更换引导顺序
前言 我用wmware装了黑群晖测试,将img转成vmdisk的格式之后发现系统引导盘之后1G,有点太小了 我准备把wmware的黑群晖系统迁移到新添加的虚拟磁盘里 1.登录黑群晖的SSH 请先在黑群晖的控制面板中的终端机和SNMP里面启用SSH功能,才能使用ss…...

RAFT:让大型语言模型更擅长特定领域的 RAG 任务
RAFT(检索增强的微调)代表了一种全新的训练大语言模型(LLMs)以提升其在检索增强生成(RAG)任务上表现的方法。“检索增强的微调”技术融合了检索增强生成和微调的优点,目标是更好地适应各个特定领…...

Stable Diffusion 本地训练端口与云端训练端口冲突解决办法
方法之一,修改本地训练所用的端口 1 首先,进入脚本训练器的根目录 例如:C:\MarkDeng\lora-scripts-v1.7.3 找到gui.py 2 修改端口号 因为云端训练器也是占用28000和6006端口 那么本地改成27999和6007也是可以的 保存退出,运行启动…...

C++学习day1
思维导图 定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转 #include <iostream> using namespace std;…...

openGauss CM
CM 可获得性 本特性自openGauss 3.0.0版本开始引入。 特性简介 CM(Cluster Manager)是一款数据库管理软件,由cm_server和cm_agent组成。 cm_agent是部署在数据库每个主机上,用来启停和监控各个数据库实例进程的数据库管理组件…...

北斗短报文+4G应急广播系统:实时监控 自动预警 保护校园安全的新力量
安全无小事,生命重如山。学生是祖国的未来,校园安全是全社会安全工作的一个重要的组成部分。它直接关系到青少年学生能否安健康地成长,关系到千千万万个家庭的幸福安宁和社会稳定。 灾害事故和突发事件频频发生,给学生、教职员工…...

2024河北石家庄矿业矿山展览会|河北智慧矿山展会|河北矿博会
2024中国(石家庄)国际矿业博览会 时间:2024年7月4-6日 地点:石家庄国际会展中心.正定 随着全球经济的持续增长和矿产资源需求的不断攀升,矿业行业正迎来前所未有的发展机遇。作为矿业领域的盛会&…...

ruoyi使用笔记
1.限流处理 RateLimiter PostMapping("/createOrder") ApiOperation("创建充值订单") RateLimiter(key CacheConstants.REPEAT_SUBMIT_KEY,time 10,count 1,limitType LimitType.IP) public R createOrder(RequestBody Form form) {//业务处理return …...

论文《Exploring to Prompt for Vision-Language Models》阅读
论文《Exploring to Prompt for Vision-Language Models》阅读 论文概况论文动机(Intro)MethodologyPreliminaryCoOp[CLASS]位置Context 是否跨 class 共享表示和训练 ExperimentsOverall ComparisonDomain GeneralizationContext Length (M) 和 backbon…...

科普 | Runes 预挖矿概念
作者:Jacky X/推:zxl2102492 关于 Runes 协议的前世今生,可以点击阅读这篇文章 👇 《简述 Runes 协议、发展历程及最新的「公开铭刻」发行机制的拓展讨论》 什么是传统预挖矿概念 这轮比特币生态爆发之前,预挖矿&…...

蓝桥杯真题Day40 倒计时19天 纯练题!
蓝桥杯第十三届省赛真题-统计子矩阵 题目描述 给定一个 N M 的矩阵 A,请你统计有多少个子矩阵 (最小 1 1,最大 N M) 满足子矩阵中所有数的和不超过给定的整数 K? 输入格式 第一行包含三个整数 N, M 和 K. 之后 N 行每行包含 M 个整数…...

Android 14.0 SystemUI下拉状态栏增加响铃功能
1.概述 在14.0的系统产品rom定制化开发中,在对systemui的状态栏开发中,对SystemUI下拉状态栏的QuickQSPanel区域有快捷功能键开关,对于增加各种响铃快捷也是常用功能, 有需要增加响铃功能开关功能,接下来就来分析SystemUI下拉状态栏QuickQSPanel快捷功能键开关的相关源码…...

docker学习笔记 二-----docker介绍
老套路哈,第一章先科普一下三种常见的云服务类型,第二和第三章节写docker学习笔记。 一 、IAAS、PAAS、SAAS IAAS (Infrastructure as a Service):基础即服务,供应商仅提供给用户最基础设施的服务资源,也就是服务器资…...

螺旋矩阵的算法刷题
螺旋矩阵的算法刷题 本文主要涉及螺旋矩阵的算法 包括三个题目分别是 59. 螺旋矩阵 II54. 螺旋矩阵 中等LCR 146. 螺旋遍历二维数组 文章目录 螺旋矩阵的算法刷题一 、螺旋矩阵简单1.1 实现一(我认为这个方法更巧妙!!)1.2 实现二&…...

蓝桥杯算法赛(二进制王国)
问题描述 二进制王国是一个非常特殊的国家,因为该国家的居民仅由 0 和 1 组成。 在这个国家中,每个家庭都可以用一个由 0 和 1 组成的字符串 S 来表示,例如 101、 000、 111 等。 现在,国王选了出 N 户家庭参加邻国的庆典…...

7.JDK下载和安装
文章目录 一、下载二、安装三、JDK的安装目录介绍 写JAVA代码不是随随便便能写的,我们得先做一点准备工作。例如,我们平时想要玩一把游戏,就需要先下载、安装才能玩游戏。JAVA也是一样的,也是需要下载并安装相关的软件,…...