计算机组成原理(7)指令系统——偏移寻址、堆栈寻址、CISC和RISC

数据寻址——偏移寻址 文章目录偏移寻址三种偏移地址区别:基址寻址问题:(b)要用几个bit指明寄存器?基址寻址的作用优点注意:变址寻址注意:变址寻址的作用优点注意:补充:基址&变址复合寻址相对寻址相对寻址的作用优点:小结*扩展:硬件如何实现数的“比较” 偏移寻址 相对寻址、基址寻址、变址寻址都属于偏移寻址。 三种偏移地址区别: 但是他们之间还是有区别的,在于偏移的“起点”不一样 基址寻址:以程序的起始存放地址作为“起点” 变址寻址:程序员自己决定从哪里作为“起点” 相对寻址:以程序计数器PC所指地址作为“起点” 阅读详情

上一回主要讲了寻址方式:指令寻址和数据寻址

指令寻址分为定长指令字结构(分为四地址指令、三地址指令等,操作码的长度固定,指令长度固定,就是后面的地址长度进行变化)和变长指令字结构

同时也可分为定长操作码和可扩展操作码(就是把其中的一种状态表示成可扩展形式)

数据寻址也分为多种形式,用特征码表示,有立即寻址、直接寻址等,不同的方式访问主存的次数也不一样


偏移寻址

偏移寻址:基址寻址、变址寻址、相对寻址

有效地址的产生需要进行加法计算

基址寻址

EA=(BR)+A

优点:

  • 可以扩大寻址范围 ,因为A的位数少,BR的位数多,相加的话增加了EA的位数,寻址范围就扩大了,可将主存的每段首地址放到基地址,段内的位移量由指令字中的形式地址指出。
  • 用户不必考虑程序存于主存的哪,有利于多道程序的设计,可用于编制浮动程序。可以把D理解为相对位置,BR理解为起始位置,那么程序放在哪由BR决定。

分类:隐式(a)和显式(b),显式由用户指出哪个寄存器用做基址寄存器,存放基地址。

基地址是面向操作系统的,其内容由操作系统或管理程序确定

变址寻址

EA=(IX)+A

优点:可扩大寻址范围;适合编制循环程序:可设定A为数组的首地址,不断改变变址寄存器IX的内容,来实现数组中挨个访问

面向用户,与基址寻址过程相似

为了实现在主存中浮动,可将基址寻址和变址寻址一起使用,EA=A+(BR)+(IX) 所以一般在主存中存储都是混合使用的

相对寻址

EA=(PC)+A

A是相对于当前指令地址的位移量,可正可负

前面两种寻址方式更适合于数据数组的寻址,而相对寻址更适合指令寻址。

优点:便于程序浮动:不同于基址寻址的全局浮动,它是在程序内部浮动,用于程序转移,只需要看PC在哪即可,不用从头数。

 

堆栈寻址

操作数放在堆栈中,隐含使用堆栈指针(SP)为操作数地址。堆栈式存储器中的一块特殊的存储区,按照先进后出的原则进行存储数据。

主要就是需要掌握入栈和出栈的过程,比如说:两个数相加后的数放回堆栈中的过程。

还有硬堆栈(在一组寄存器中实现)和软堆栈(在主存中实现)之分。

CISC与RISC

主流的CPU指令集类型

CISC:复杂指令集计算机

与其他设计相比,在CISC中进行程序设计要比在其他设计中容易,因为每一项简单或复杂的任务都有一条对应的指令。

80-20规律:在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%。

代表:x86架构,主要用于笔记本、台式机等

RISC:精简指令集计算机

因为80-20规律,所以其实只需要少量指令就可完成大部分工作,复杂的指令可以用那些基本指令组合而成。

特点:一条指令完成一个基本“动作”,多条指令组合完成一个复杂的基本功能。

代表:ARM架构,主要用于手机、平板等

秒懂 堆栈寻址 STMFA STMFD LDMFA LDMED( ARM中的汇编指令) 堆栈寻址 LDM:(load much)多数据加载,将地址上的值加载到寄存器上 STM:(store much)多数据存储,将寄存器的值存到地址上 堆栈是一种按特定顺序进行存取的存储区。这种特定的顺序可归结为“后进先 岀(LIFO)”或“先进后出(FILO)”。堆栈寻址是隐含的,它使用一个专门的寄存器 (堆栈指针)指向一块存储器区域(堆栈)。栈指针所指定的存储单元就是堆栈的栈顶。 存储器堆栈可分为两种: ① 向上生长:即向高地址方向生长,称为递增堆栈(ascending stack) ② 向下生长:即向低 阅读详情

相关推荐

什么是中断向量表?作用是什么?为什么需要偏移?

中断向量表(interrupt vector table)包含中断服务程序地址的特定内存区域,这些服务程序是处理外部硬件中断请求的代码。

kashine的博客 2万+

计算机组成原理(第四章 指令)

文章目录指令的基本格式跳转指令定长操作码拓展操作码指令寻址数据寻址三种偏移寻址(指令执行期间访存一次)相对寻址基址寻址变址寻址访存次数总结CISC 和 RISC 指令的基本格式 跳转指令 定长操作码 定长操作码 :指令系统中所有指令的操作码长度都相同 n位操作码字段的指令系统做大能够表示2n条指令 拓展操作码 指令寻址 数据寻址 立即寻址 and 寄存器寻址 指令执行阶段不需要访存 三种偏移寻址(指令执行期间访存一次) 相对寻址 相对寻址:以PC所指地址作为‘’

sparky的博客 1904

【计算机组成原理】指令系统(三)—— 指令寻址与数据寻址

数据寻址:确定 本条指令的地址码指明的真实地址。数据寻址有如上图所示方式,为了标识数据寻址的方式,在指令结构中增加了寻址方式位这一字段。注意:取出当前指令后, PC会指向下一条指令,相对寻址是相对于下一条指令的偏移。

haoweixl的博客 5027

常见的偏移寻址

常用的三种偏移寻址是相对寻址、基址寻址、变址寻址。 相对寻址随含引用的专用寄存器是程序计数器(PC),即EA-A+(PC),它是当前P的内容期上指令地址学段中A的值一股来说,地址字段的值在这种操作下被看成2的补码数的值。因此有效地址是对当前指令地址的一个上下范围的偏移,它基于程序的局部性原理。使用相对寻址可节省指令中的地址位数,也便于程序在内存中成块搬动。 基址寻址被引用的专用寄存器含有一个存储器地址,地址字段含有一个相对于该地址的偏移至(通常是无符号整数)。寄存器的引用可以是显式的,也可以是隐式的。基

zxd2021112122的博客 2599

408计算机组成原理学习笔记——指令系统

1.指令格式 2.指令的寻址方式 3.CISC/RISC 4.程序的机器级代码表示

JiangNan_1002的博客 4775

王道计算机考研——计算机组成原理笔记

计算机组成原理 1.计算机系统概述 1. 计算机发展历程 2.计算机系统的组成 冯诺依曼体系结构:以运算器为核心 冯诺依曼体系结构的特点 现在计算机体系结构:以内存为核心 CPU,主机,外设 3.存储器 主存储器由存储体,MAR,MDR组成 和右边的图进行类比,MAR存储CPU想要获取数据的地址,在存储体中找到后放在MDR中,CPU从MDR中把数据取走。 存储体是由一个个存储单元组成的 存储字:存储单元中二进制代码的集合 存储字长:存储单元中二进制代码的位数

拧发条鸟的博客 3万+

计算机组成原理——指令系统(指令格式,寻址方式,CISC和RISC)

1.指令格式 基本格式:操作码字段+地址码字段 1)零地址指令 零地址指令只需要操作码OP,没有显式的地址。 一般用于不需要操作数的指令:比如空操作指令,停机指令,关中断指令 还有在堆栈计算机中,在堆栈顶取值的操作 2)一地址指令 1.单操作数的指令 指令的含义:OP(A1)——> A1 取A1地址的操作数,进行OP操作后,结果存回原地址 比如:加1,减一,求反码,求补码等 2.有隐藏约定目的的双操作数指令 指令含义:(ACC)OP (A1)——> ACC

Lkskywalker的博客 4635

计算机组成原理笔记|04指令系统

指令格式 一条指令由操作码和地址码组成,其中地址码可能有0~4个 按地址码数目分类 零地址指令 不需要地址码,如空操作、停机、关中断等指令 一地址指令 只需要单操作数,如加1、减1、取反、求补等 指令含义:OP(A1)→A1,完成一条指令需要3次访存:取指→读A1→写A1 需要两个操作数,但其中一个操作数隐含在某个寄存器(如隐含在ACC) 指令含义:(ACC)OP(A1)→ACC,完成一条指令需要2次访存:取指→读A1 注:A1指某个主存地址,(A1)表示A1所指向的地址中的内

笔记|思路|总结 4737

计算机组成原理(5)----指令系统

计算机组成原理(5)----指令系统 1.指令格式 2.按地址码数目分类 (1)零地址指令 (2)一地址指令 (3)二地址指令 (4)三地址指令 (5)四地址指令 3.按指令长度分类 4.按操作码长度分类 •扩展操作码 5.按操作类型分类 6.指令寻址 (1)顺序寻址 (2)跳跃寻址 7.数据寻址 (1)直接寻址 (2)间接寻址 (3)寄存器寻址 (4)寄存器间接寻址 (5)隐含寻址 (6)立即寻址 偏移寻址: (7)基址寻址 (8)变址寻址 (9)基址+变址

weixin_69884785的博客 6400

计组 | 【四 指令系统】知识点及例题

一 知识点 1、一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令。 2、 指令字长:一条指令的总长度(可能会变),一般取字节的整数倍 机器字长: CPU进行一次整数运算所能处理的二进制数据的位数(通常和ALU直接相关) 存储字长:一个存储单元中的二进制代码位数(通常和MDR位数相同) 3、中断隐指令是由硬件实现的,并不是指令系统中存在的指令。 4、累加器:存放中间结果的寄存器 5、PC存放当前欲执行指令的地址,而指令的操作码则保存操作数地址。 6、特权指令是指仅用于操作..

"You are worthy! You can do it!" 4853

数字IC设计避坑指南:为什么477条net的DRV问题无法修复?解析don‘t touch hierarchy的影响

本文深入解析了数字IC后端实现中,因“don't touch hierarchy”约束导致大量DRV违规(如477条net)无法自动修复的根本原因。文章以Cadence Innovus工具为例,详细阐述了DRV修复机制与设计保护约束的冲突原理,并提供了从日志定位、风险评估到分级解除约束的完整实战策略,帮助工程师有效解决此类设计收敛难题。

hope8的博客 290

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

文章目录1. 指令格式1.1 指令的基本概念1.2 指令的分类1.2.1 按地址码数目分类1.2.2 按指令的长度分类1.2.3 按操作码长度分类1.2.4 按操作类型分类1.2.4 小结1.3 扩展操作码1.3.1 扩展操作码的组成1.3.2 扩展操作码的设计1.3.3 扩展操作码与定长操作码的对比2. 指令的寻址方式2.1 指令寻址和数据寻址2.1.1 指令寻址(通过PC)2.1.2 数据寻址2.1.2.1 直接寻址2.1.2.2 间接寻址2.1.2.3 寄存器寻址2.1.2.4 寄存器间接寻址2.1.

渐渐的忘记,赶不上明天(读研ing,2024年毕业) 3424

安装cartographer,跑官网数据集

今天开始写一个关于google cartographer系列文章。此类文章网上已经很多,本系列文章主要记录重点部分及容易踩坑地方。 cartographer是一个完整的激光SLAM开源项目,属于graph slam,包含了完整的前端里程计和后端地图优化,既能够同时定位建图,又能够基于先验地图进行独立全局定位。 值得 目录 一、推荐首选看官网资料,已经很详细了 二、安装 三、源码文件架构 四、跑数据集 1、建图 2、基于先验地图的全局定位 一、推荐首选看官网资料,已经很详细了 原生版:

qq_18276949的博客 6144

【计算机组成原理-指令系统知识点及习题练习】

指令就是计算机执行某种操作的命令。计算机的指令包括微指令,机器指令,宏指令。指令系统是指计算机所能识别并执行的所有指令的集合,是计算机硬件与软件之间的接口,用于规定计算机能够执行的基本操作。指令类型定义属性作用关系实现方式微指令微程序级的命令,属于硬件由若干条微指令组成,用于解释和执行一条机器指令的功能控制计算机的基本操作,完成独立的算术或逻辑运算介于机器指令与硬件之间,每条机器指令由若干条微指令组成通过微程序控制单元实现,由微指令存储器和序控制器组成机器指令。

2301_77585795的博客 2353

新手避坑指南:用镭神C32和KVH 1750 IMU做标定,为什么直接上lidar_align会失败?

本文详细解析了使用镭神C32激光雷达和KVH 1750 IMU进行标定时常见的失败原因及解决方案。从IMU的微分传感器特性到Lidar-IMU标定的数学本质,再到可行的标定方案和实操注意事项,帮助新手避开认知陷阱,掌握正确的标定方法。

weixin_30162121的博客 327

新疆地形数据下载:30米、12.5米、5米DEM地形数据

新疆是我国陆地面积最大的省级行政区,总面积达166万平方公里。新疆的地形也十分的复杂,新疆的地形呈山脉与盆地相间排列,盆地被高山环抱,,俗称“三山夹两盆”。三山指阿尔泰山、昆仑山、天山,两盆是指塔里木盆地和准噶尔盆地。 对精度要求不高的话,可以直接使用图新地球下载 新疆30米地形数据 大小:9.26GB 来自ASTER v3的新疆30米地形数据 30米地形数据下载 新疆12.5米地形数据 12.5米DEM数据由于精度比较高,一般不会用到全省的数据,通常用的是一个地区的,因此,可以单独分

LocaSpace的博客 3495

《计算机组成原理(微课版)》第5章课后习题答案

5.3简答题。 (1)什么叫指令?什么叫指令系统? 指令是指控制计算机执行某种操作(如加、减、传送、转移等操作)的命令,而一台计算机中所有指令的集合称为该计算机的指令系统。 (2)计算机中为什么要设置多种操作数寻址方式? 这是为了在效率和方便性以及寻址空间大小保持平衡。 用于快速访问的寻址方式:立即数寻址、寄存器寻址等 扩大寻址范围的寻址方式:间接寻址、寄存器间接寻址、基址寻址等 便于程序设计灵活性的寻址方式:变址寻址、相对寻址、直接寻址等 既扩大寻址范围,又由利于指令执行速度提高的寻址方式:

weixin_54013327的博客 1万+

英飞凌TC3xx DSADC旋变软解码实战:从示波器波形到VX1000数据,手把手教你避坑

本文详细介绍了英飞凌TC3xx系列微控制器的DSADC模块在电机旋变软解码中的实战应用。从示波器波形分析到VX1000数据采集,提供了一套完整的调试方法论,帮助工程师快速定位和解决常见问题,提升解码精度和系统性能。

weixin_30598225的博客 517

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

指令系统

LoveHoneyYou的博客 4419

simulink中无迹卡尔曼(UKF)模块使用

simulink的UKF模块简单说明

qq_41059950的博客 2820

【YOLO部署Android安卓手机APP】YOLOv8部署到安卓实时目标检测识别——官方/自训练模型YOLOv8人脸/车辆等目标检测(可自定义更换其他目标)

本文首先讲解如何直接使用官方训练好的模型部署到手机APP进行人脸检测,然后讲解如何修改其他目标进行检测,以车辆检测为例进行讲解如何训练自己的模型部署到手机APP。本文为详细设计/配置文档,包含完整所需的环境配置搭建,项目工程配置步骤等,手把手记录使用pycharm和Android studio的工程开发过程,实现YOLO部署到安卓。实战开发,亲测无误。本项目实现了人脸检测和车辆检测,当然,以此你可以按照本项目开发步骤扩展更换为其他目标进行检测,例如更换为车牌、手势、人脸面部活动、人脸表情、火焰烟雾、行人等

嵌入式阿齐Archie 1万+

5 计算机组成原理第四章 指令系统

文章目录1 指令格式1.1 指令定义1.2 指令格式1.3 指令格式-地址码1.5 指令格式-操作码1.6 操作码分类1.7 操作类型2 数据存放指令寻址2.1 数据存放方式2.2 指令寻址2.3 操作数类型2.4 数据寻址2.4.1立即寻址2.4.2 直接寻址2.4.3 间接寻址2.4.4 寄存器寻址2.4.5 寄存器间接寻址2.4.6 隐含寻址2.5 数据寻址-2偏移寻址2.5.1 基址寻址2.5.2 变址寻址2.5.3 相对寻址2.5.4 相对寻址举例2.5.5 寻址方式小结2.5.6 堆栈寻址2.6

夜飘凌的博客 3275

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷1及答案解析)

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷1及答案解析)

王老师青少年编程 2023

【计组不挂科】计算机组成第三章< 指令系统 >习题库(选择题&判断题&填空题&填空计算题)(含答案与解析)

主要摘抄了指令系统的计算机组成题库

YYDsis的博客 1685

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【计算机组成原理】汇总四、指令系统

操作码 地址码操作码 d, s#王道书中:#要注意,一般不建议同时访问两个主存:add , # ×,访存太多是不可以的destination:目的地(d 目的操作数)source:来源地(s 源操作数)目的操作数d不可以是常量,因为进行完操作之后还要把数据放到d的位置。reg:寄存器registermem:内存memorycon:常数constant除了main函数,其他所有函数的汇编代码结构都一样!

关注:https://github.com/Suhan42 1736

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 计算机组成原理(6)指令系统
下一篇: 计算机组成原理(8)CPU——基本结构
yebulk
博客等级 码龄8年 352粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值