首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地址空间、可寻址性、可寻址、寻址模式之间有什么区别?

地址空间、可寻址性、可寻址、寻址模式之间有什么区别?
EN

Stack Overflow用户
提问于 2022-05-25 15:33:25
回答 2查看 270关注 0票数 0

据我所知:

  • Address空间:分配给程序或process
  • Addressability:的可用内存量--计算机识别不同内存的方式-- locations.
  • Word-addressable:指的是大小等于"word“的内存单元,通常是一个字节,由单个二进制address
  • Addressing模式指出:指指令的操作数被指定为

的方式。

我不确定我是否正确,因为这些术语是非常相似的,有时我很难提到正确的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-25 16:39:16

地址空间:为程序或进程分配的可用内存量

是的,主要是:因此,在进程中的程序上下文中,地址空间用于可能使用的地址,而不是实际使用的地址。这包括不可用的位置和可用的位置。地址空间通常以位宽(例如32位或64位)来描述。

地址空间的关键点是每个进程都有自己的地址,因此每个进程都可以使用相同的地址。没有一个进程能够调用访问另一个进程的内存(地址空间)的地址(模块故意共享内存)。

在硬件方面,地址空间大小是地址总线使用的位数,地址总线在处理器和主存储器之间通信地址。这个位数可以超过地址空间,例如,在现代32位机器上,它可能有一个33位的地址空间,这意味着实际内存比单个进程所能寻址的要多。在64位机器上,用于寻址主存储器的位数可能高达48位(我的内存最大为32 GB,有35位)。

软件通常不知道硬件地址总线的大小,因此和其他一些原因意味着程序将使用完整的32位字表示32位进程上的地址,而对64位进程上的地址使用完整的64位字。

可寻址:计算机识别不同内存位置的方式。

是的。内存的一个基本属性或质量是它具有可寻址性,即我们可以将某些存储的地址(地址是一个数字)的地址作为头等实体使用,这意味着我们可以将地址作为参数传递给一个函数,该函数可以使用地址来访问它所引用的内存。这样,我们可以将任意大小的数据结构传递给函数。此外,一个实体也可以通过其地址引用另一个实体,用于表示丰富的数据结构。

让我们将此与CPU寄存器进行对比,CPU寄存器可以在机器代码指令中命名,但是它们没有地址,不能被占用地址,不能被索引:它们没有可寻址性(大多数CPU)。

Word-addressable:指的是一个内存单元,其大小等于“

”,通常是一个字节,由一个二进制地址指示。

在这种情况下,X-可寻址是指我们通过使用单个内存地址( a. )获得多少位存储,这是一个概念,即如果我们也存储在a+1a-1上,这些存储位置代表着不同的存储位置,每个都是宽度X

在定义单词为8位字节时,使用单词可寻址这个词是不寻常的。通常,单词-可寻址一词是用来与字节可寻址的术语形成对比的。现代计算机是字节可寻址的,这意味着每个地址有一个字节,8个位。32位字这样的多字节项占用存储(4)的多字节字节,这也意味着它们占用多个(字节)地址。我们指的是一个多字节项的最低地址。

有些计算机,特别是LC-3、MARIE和Hack这样的教育计算机是可寻址的,其中Word有16位宽;这简化了索引操作。为它们寻址的单词可寻址意味着每个地址(例如aa+1)都存储16位。早期的计算机,例如1950&60年代的计算机也使用单词寻址,字号从12位到36位不等,相当常见。

寻址模式:指指定指令操作数的方式

是的,它通常指内存操作数,但在某些处理器上,指的是操作数可能在内存或寄存器中的任何操作数。最基本的寻址模式可能是寄存器间接。

由于寻址内存是数据结构的基础,一些处理器提供了许多计算地址的方法,而不需要为寻址计算提供单独的指令。这非常方便。在复杂的寻址模式中,处理器计算一个地址(例如使用加法和可能的扩展),使用该有效地址,然后丢弃该地址。

如果我们想要重复访问完全相同的内存位置,我们可以执行与复杂寻址模式相同的计算,但是捕获计算的地址,以便以后可以直接使用它,而不必重复复杂的地址计算。

票数 4
EN

Stack Overflow用户

发布于 2022-05-25 17:51:27

埃里克的回答是好的,有一些不同的方式来思考它,或者根据问题的背景来描述它。但我们不知道。

地址空间:分配给程序或进程的可用内存量

处理器可以访问的地址数量。不要将其与内存混淆,这意味着可以映射到地址空间的读/写(sram/dram)或只读(flash等)存储。但是,地址空间中也有非内存的外围设备,地址空间中可能还有其他东西(来自mmu的虚拟映射,等等)。

这是一个比内存空间更好的术语,即使当人们使用内存空间或内存映射来定义所有东西、内存、外围设备和未使用的空间时也是如此。因为人们总是认为一切都是memory...it,但事实并非如此。

可寻址:计算机识别不同内存位置的方式。

你能访问字节吗?你能访问单词等等吗?你是否仅限于字而不能访问字节……

字可寻址:指大小等于"word“的内存单元,通常为一个字节,由单个二进制地址指示。

通常,当看到意味着最小的可寻址单位是一个词。地址0是单词0,地址1是单词1。假设一个单词不是字节,这意味着在这个上下文中可寻址的单词意味着您不能对单个字节进行地址/访问。

寻址模式:指指定指令操作数的方式。

所以取决于你的意思,是的。特定指令集有不同的寻址模式,基本上是不同的指令或指令选项。因此,您可能有一个直接寻址模式,其中实际地址在指令中。或通过一般用途登记册间接指示的一个级别。这是一种不同的寻址方式。有些有两个间接方向,一个gpr包含一个地址,您读取该地址,然后该地址是操作的地址。双间接。有时,您有基于内存的操作数,而不是基于寄存器的操作数,因此,通过指令中的内存位置间接地进行引导;去看看msp430和pdp11。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72380499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档