根据地址位长和存储单元内容计算存储器大小

时间:2017-11-08 18:43:21

标签: memory cpu-architecture memory-address

我正在尝试计算最大内存大小,知道地址的位长和内存单元的大小。

据我所知,如果地址是n位,则有2 ^ n个存储位置。但是,要计算机器的实际内存大小,您需要将地址数乘以内存单元的大小。这是对的吗?

换句话说,

步骤1:以位为单位计算地址长度(n位) 第2步:计算内存位置的数量2 ^ n(位) 步骤3:获取存储单元的数量并将其乘以存储单元的字节大小。

例如,如果每个单元是2个字节,我会将2 ^ n位(地址长度)乘以每个存储单元2个字节。

总内存是2 ^ n位(地址大小)* x字节(单元大小)?

1 个答案:

答案 0 :(得分:3)

  

"机器的实际内存大小"

我在这里假设你的意思是有问题的机器的物理地址空间,忽略虚拟寻址等。 大多数现代机器都是字节可寻址的(8位),这意味着每个地址指的是1个字节。在这种情况下,假设您有一个具有匹配的n位地址总线的n位处理器(有些情况下它们是相同的,例如奔腾处理器),可能的内存位置数是2 ^ n字节

如果您有更多可通过字寻址(16位,32位)的专用硬件(嵌入式微控制器等),那么您是正确的,您将乘以2 ^ n *(字位大小)/ (8)=字节数。

话虽这么说,当你考虑虚拟寻址和物理总线大小可能与处理器的地址线不一样时,你必须看一下#34的特定机器。理论极限"。