计算机组成原理15——指令系统2

文章围绕计算机组成原理,详细介绍了指令寻址(顺序/跳跃)和数据寻址(如立即寻址到堆栈寻址)的各种方式,强调了寻址方式在硬件结构中的重要性。作者通过实例展示了不同寻址方式的特点和优势,鼓励读者讨论和理解这些概念。
摘要由CSDN通过智能技术生成

本系列文章是学习了网课《哈尔滨工业大学–计算机组成原理》之后,用以梳理思路而整理的听课笔记及相关思维拓展。本文涉及到的观点均为个人观点,如有不同意见,欢迎在评论区讨论。

寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,与硬件结构紧密相关,分为指令寻址和数据寻址两大类。

指令寻址

指令寻址有顺序寻址和跳跃寻址两种。
顺序寻址可通过程序计数器PC加1,自动形成下一条指令的地址;
跳跃寻址则通过转移类指令实现。

下图显示了两种指令寻址的方式
程序的首地址是0,将0送至程序计数器PC,启动机器运行后,程序按0,1,2,3,,,顺序执行。
其中1,2,3号指令地址由PC自动形成,3号地址指令为“JMP 7”,执行完第3号指令后,无条件将7送至PC,此时,指令地址跳过4、5、6三条,直接执行第7条指令,接着又顺序执行第8、9条等指令。
在这里插入图片描述

数据寻址

下面是数据寻址的指令格式:
在这里插入图片描述

一般指令中的地址码字段都不代表操作数的真实地址,称其为形式地址,这个形式地址需要和前面的寻址方式共同作用,才能确定真实地址。

1、立即寻址

操作数本身在指令字内,形式地址A不是操作数地址,而是操作数本身,所以又称之为立即数。
只需要取出指令,便可立即获得操作数,不必再访问 存储器。

在这里插入图片描述

2、直接寻址

形式地址A就是操作数的真实地址EA,只需要对存储器访问一次。

在这里插入图片描述

3、隐含寻址

指令中不明显给出操作数的地址,操作数的地址隐含在操作码或某个寄存器中。就是一个操作数的真实地址通过形式地址的方式给出来,另外一个操作数的直接隐含在寄存器中,不需要管它。
比如说,一地址的加法指令,加法指令只包含了其中一个操作数的地址,另外一个操作数隐含在累加器ACC中。

在这里插入图片描述

4、间接寻址

形式地址中存放的是地址:这个地址指向的存储单元存放的是指向操作数的有效地址。
该方式可以扩大寻址范围,因为指令中地址位数有限。但是访问内存次数多次,指令执行时间长。

在这里插入图片描述

5、寄存器寻址

地址码直接指出了寄存器的编号,访问寄存器无需访存,执行时间短。

在这里插入图片描述

6、寄存器间接寻址

加上间接两个字,一般都是指转了一道手,原本的操作数应该就存在这个寄存器中,但是现在我没存,我在寄存器中存放的是操作数的地址。
但是比间接寻址少访问一次内存,因为第一次访问的是寄存器,第二次才是访问的内存。

7、基址寻址

基址寻址需要又基址寄存器BR,操作数的有效地址EA = 基址BR + 指令中的形式地址A。
下图中的(a)是隐式基址寄存器,是计算机中专门的一个寄存器,用户不必明显指出该基址寄存器。
下图中的(b)是显式基址寄存器,需要用户明确指出哪个寄存器用作基址寄存器,存放基地址。
基址寻址方式可以扩大地址访问范围,形式地址A受限于指令中形式地址的位数。采用基址加形式地址,可以访问更大地址范围的数据。
并且基址可以做到空间隔离,用户不可更改基址寄存器中的地址,只能修改形式地址,保障系统安全运行。

在这里插入图片描述

8、变址寻址

变址寻址看起来和基址寻址很相似,但是还是有很大区别的:
基址寻址:基址寄存器不变,形式地址发生变化,一般用于为程序或者数据分配存储空间,其值不可变。
变址寻址:变址寄存器变化,形式地址不变。
在这里插入图片描述

书上举例变址寻址处理数组问题更加方便,变址寄存器可以自增、自减;
变址寻址方式处理,比直接寻址多了一个变址寄存器,从而简化了程序。
在这里插入图片描述
在这里插入图片描述

9、相对寻址

将形式地址A和程序计数器PC相加,得到有效地址EA。

在这里插入图片描述

10、堆栈寻址

有个前提条件,计算机要设有堆栈。
下图是以软堆栈为例的示意图
堆栈指针SP指出堆栈地址,采用CPU中的寄存器作为SP。操作数从栈顶地址SP指示的存储单元存或取。

在这里插入图片描述

  • 13
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统的功能模块主要是实现管理员服务端;首页、个人心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值