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

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


相关推荐

  • microbiomeViz:绘制lefse结果中Cladogram「建议收藏」

    microbiomeViz:绘制lefse结果中Cladogram「建议收藏」平日经常会分析shotgun宏基因组的数据,我们的pipeline使用MetaPhlAn,Kraken等profiler。这种数据经常会产生一个表格,如下download.file(“https://bitbucket.org/biobakery/biobakery/raw/tip/demos/biobakery_demos/data/metaphlan2/output/SRS014459-Stool_profile.txt”,’SRS014459-Stool_profile.txt’)knitr

    2022年5月18日
    41
  • C语言编写简易病毒[通俗易懂]

    C语言编写简易病毒[通俗易懂]本次实验设计的是一个基于C语言的恶意代码,其执行流程如下:1、在病毒第一次执行时,即检测到注册表的任务管理器没有被禁用,则病毒依次执行以下功能:创建开机启动项,在系统目录路径下面复制文件,将其作为自启动路径;禁用任务管理器;禁用注册表编辑器;联网获取图片并修改桌面背景(重启生效);修改注册表屏蔽用户键盘输入为1(重启生效);删除驱动器盘符,使桌面以及开始菜单快捷方式失

    2022年7月18日
    15
  • CNN卷积神经网络框架_fpga 神经网络

    CNN卷积神经网络框架_fpga 神经网络理论建立与效果展示正在写。。。环境:Vivado2019.2。Part:xcku040-ffva1156-2-i,内嵌DSP个数1920个,BRAM600个也就是21.1Mb。说明:通过识别加高斯白噪声的正弦波、余弦波、三角波较简单的实例来利用FPGA实现一维CNN网络,主要是实现CNN网络的搭建。也就是将下列数据传输至FPGA,识别出下面哪些是正弦波、余弦波、三角波,通过简单实例实践,在融会贯通。实现流程:训练参数:通过pytorch对10000个训练集进行训练获得训练参数,反向计算不

    2022年9月22日
    3
  • C语言学生成绩管理系统

    C语言实现了学生成绩管理系统,可以对学生成绩进行录入、查询、修改、删除和排序。#include<stdio.h>#include<stdlib.h>#include<string.h>typedefstructStuScore{ intstuID; charstuName[10]; intyuwen;

    2022年4月9日
    58
  • JavaScript(1)高阶函数filter、map、reduce

    JavaScript(1)高阶函数filter、map、reduce前言需求:有这样一个数组[10,20,110,200,60,30,40]1.筛选出数组中小于100的元素2.将筛选出的每个元素的值x23.完成第2步之后,将数组中的所有元素加起来

    2022年7月31日
    8
  • java中synchronized使用方法

    java中synchronized使用方法

    2021年11月24日
    44

发表回复

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

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