计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断一、寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,与硬件结构紧密相关,而且直接影响指令格式和指令功能。分为指令寻址和数据寻址两大类。二、指令寻址分为顺序寻址和跳跃寻址两种。顺序寻址可通过程序计数器PC加1,自动形成下一条指令的地址;跳跃寻址则通过转移类指令实现。数据寻址种类较多,在指令字中必须设一字段来指明属于哪一种寻址方式。指令的地址码字段通常都不代表操作数的真实地址,把它称为真实地址,记作A。操作数的真实地址成为有效地址,记作EA,它是由寻址方式和形式地址共同来确定的。由

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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

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

数据寻址种类较多,在指令字中必须设一字段来指明属于哪一种寻址方式。指令的地址码字段通常都不代表操作数的真实地址,把它称为真实地址,记作A。操作数的真实地址成为有效地址,记作EA,它是由寻址方式和形式地址共同来确定的。由此可得指令的格式应如下所示。

操作码

寻址特征

形式地址A

1.立即寻址

立即寻址的特点是操作数本身设在指令字内,即形式地址A不是操作数的地址,而是操作数本身,又称之为立即数。数据是采用补码形式存放的。优点在于只要取出指令,便可立即获得操作数,在执行阶段不必再访问存储器。缺点是A的位数限制了这类指令所能表述的立即数的范围。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图1 立即寻址示意图

2.直接寻址

直接寻址的特点是,指令中的形式地址A就是操作数的真实地址EA,即EA=A。优点是寻找操作数比较简单,不需要专门计算操作数的地址,在指令执行阶段只访问一次。缺点在于A的位数限制了操作数的寻址范围,而且必须修改A的值,才能修改操作数的地址。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图2 直接寻址示意图

3.隐含寻址

隐含寻址是指指令字中不明显地给出操作数的地址,其操作数的地址隐含在操作码或某个寄存器中。例如,一地址格式的加法指令只给出一个操作数的地址,另一个操作数隐含在累加器ACC中,这样累加器ACC成了另一个数的地址。由于隐含寻址在指令字中少了一个地址,因此,这种寻址方式的指令有利于缩短指令字长。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图3 隐含寻址示意图

4.间接寻址

倘若指令字中的形式地址不直接指出操作数的地址,而是指出操作数有效地址所在的存储单元地址,也就是说,有效地址是由形式地址间接提供的,即为间接寻址,即EA=(A)。优点是与直接寻址相比,扩大了操作数的寻址范围,并且便于编程,缺点在于指令的执行阶段需要访存多次,致使指令执行时间延长。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图4 间接寻址示意图

5.寄存器寻址

在寄存器寻址的指令字中,地址码字段直接指出了寄存器的编号,即EA=R。其操作数在由R所指的寄存器中。由于操作数不在主存中,故寄存器寻址在指令执行阶段无须访存,减少了执行时间。由于地址字段只需指明寄存器编号(计算机中寄存器数有限),故指令字较短,节省了存储空间,因此寄存器寻址在计算机中得到广泛应用。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图5 寄存器寻址示意图

6.寄存器间接寻址

寄存器中的内容不是操作数,而是操作数所在主存单元的地址号,即有效地址EA=(R)。与寄存器寻址相比,指令的执行阶段还需访问主存。与间接寻址相比,因有效地址不是存放在存储单元中,而是存放在寄存器中,故称其为寄存器间接寻址,比间接寻址少访存一次。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图6 寄存器间接寻址示意图

7.基址寻址

基址寻址需设有基址寄存器BR,其操作数的有效地址EA等于指令字中的形式地址与基址寄存器中的内容(称为基地址)相加,即EA=A+(BR)。因为基址寄存器的位数可以大于形式地址A的位数,所以基址寻址可以扩大操作数的寻址范围。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图7 基址寻址示意图

8.变址寻址

变址寻址与基址寻址极为相似。其有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和,即EA=A+(IX)。

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图8 变址寻址示意图

变址寻址与基址寻址的有效地址形成过程极为相似,但是由于二者的应用场合不同,因此从本质上讲他们还是有很大区别的。基址寻址主要用于为程序或数据分配存储空间,故基址寄存器的内容通常由操作系统或管理程序确定,在程序的执行过程中其值是不可变的,而指令字中的A是可变的。在变址寻址中,变址寄存器的内容是由用户设定的,在程序执行过程中其值可变,而指令字中的A是不可变的。变址寻址主要用于处理数组问题。

9.相对寻址

相对寻址的有效地址是将程序计数器PC的内容(即当前指令的地址)与指令字中的形式地址A相加而成,即EA=(PC)+A。常被用于转移类指令

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断

图9 相对寻址示意图

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/206766.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Python学习-01-初始Python

    Python学习-01-初始PythonPython基础知识总结一、前期1.1解释型语言和编译型语言编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运

  • LVS实现负载均衡「建议收藏」

    LVS实现负载均衡「建议收藏」一、LVS1、LVS是什么?LVS(LinuxVirtualServer)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分…

  • Youtube最佳Red5 官方视频下载指南,字幕【亲测成功】

    Youtube最佳Red5 官方视频下载指南,字幕【亲测成功】

  • Fiddler抓包原理解析

    Fiddler抓包原理解析

  • centos7怎么退出vi_centos7怎么退出vi

    centos7怎么退出vi_centos7怎么退出vi一、首先用vi命令打卡要编辑的文件:注意:vi命令的使用如下打开或新建文件,并将光标至于第一行首:[root@centos6/]#vi/etc/my.cnf打开文件,并将光标移至最后一行行首:[root@centos6/]#vi+/etc/my.cnf打开文件,并将光标置于第n行首:[root@centos6/]#vi+n/etc/my.cnf打开文件,并将光标置于第一个与pattern匹配的串处…

  • vue 父组件调用子组件_react父组件向子组件传值

    vue 父组件调用子组件_react父组件向子组件传值Vue中子组件调用父组件的三种方法:1.直接在子组件中通过“this.$parent.event”来调用父组件的方法。父组件<template><div><child></child></div></template><script>importchildfrom’./components/childcomponent’;exportdefault{co

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号