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

计算机组成原理 寻址方式_计算机组成原理寻址方式的判断一、寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,与硬件结构紧密相关,而且直接影响指令格式和指令功能。分为指令寻址和数据寻址两大类。二、指令寻址分为顺序寻址和跳跃寻址两种。顺序寻址可通过程序计数器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 相对寻址示意图

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 10大计算机经典算法「建议收藏」

    10大计算机经典算法「建议收藏」算法一:快速排序法                  快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出

    2022年5月27日
    37
  • 链表排序之选择排序法_单链表直接选择排序

    链表排序之选择排序法_单链表直接选择排序选择排序的优点在于它每次选择出最大或者最小的值,将它们进行排序此选择排序的思想在于选择出最小的节点,创建新链表,将原链表的最小节点删除,继续循环TYPE*lain(intl,TYPE*head){TYPE*first,*tail,*p_min,*min,*p;first=NULL;while(head!=NULL){

    2022年10月11日
    0
  • javascript 暂时性死区[通俗易懂]

    javascript 暂时性死区[通俗易懂]暂时性死区:ES6之前JS的一个BUG(美其名曰暂时性死区)。在使用typeof等运算符操作一个未声明的变量时,不会报错,该变量的值以undefined作处理ES6:ES6的变量声明方法(let,const,class…)解决了暂时性死区问题,会进行显式报错。ES6之前的暂时性死区console.log(typeofa); //undefined(noerror)ES6之后的变量声明console.log(typeofa); //UncaughtRefe..

    2022年6月15日
    62
  • SENT协议

    SENT协议工作中用到了SENT协议的传感器,就专门研究的一下,以下内容主要来自于CANoe的帮助文档中的SENT协议的部分内容。概述SENT(SingleEdgeNibbleTransmission)协议是汽车电子中常用于传感器信号的一种数字信号接口,其有特定的协议,是单向通信,是汽车电子中一种低成本通信的实现方式硬件SENT协议常用于传感器信号,其基本引脚连接如下:…

    2022年6月29日
    61
  • pytest接口自动化测试框架_pytest接口自动化框架

    pytest接口自动化测试框架_pytest接口自动化框架pytest接口自动化完整框架思维导图

    2022年7月29日
    3
  • ftp命令用法_FTP常用命令的使用方法

    ftp命令用法_FTP常用命令的使用方法1.登录:ftp192.168.xx.xx回车后输入用户名和密码或者直接输入ftp回车再输入open192.168.XX.XX2.常用命令:ls和dir显示文件列表cd目录和cd…切换ftp服务器路径lcd切换本地目录put和get上传、下载文件send上

    2022年9月2日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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