如果 32 位微处理器具有 24 位地址空间,为什么最大地址数(2^24)的答案以字节而不是位为单位给出?

如果 32 位微处理器具有 24 位地址空间,为什么最大地址数(2^24)的答案以字节而不是位为单位给出?

我正在做家庭作业,似乎我所有的同学和各种在线资源都说 2^24 位的简单计算结果是 ~16,000,000 字节而不是位。这是为什么?我的理解是答案应该是 ~16,000,000 位,这将转换为 ~2,000,000 字节,因为 1 字节是 8 位。

答案1

正如@DragonLord 所说,这是因为你不能地址单独的位;每个地址指向一个字节的开头,所有操作都使用至少一个字节为单位。

类似地,如果机器是字寻址的(就像过去的一些机器一样),那么它的内存大小也将以类似的方式表示:

PDP-8 的基本配置是主存储器有 4,096 个 12 位字

答案2

采用字节寻址而不是位寻址的另一个原因是,它还可以立即增加可存储和访问的数据量。它还可以提高整体内存带宽,因为数据总是以多个字节块的形式从内存中提取,而不是逐位提取。如果您知道执行任何有用操作所需的最小有用块是一个字节,那么一次访问一个位的内存效率很低。

即使在计算机拥有少量内存和低地址线数的时代,一次提取一个字节的能力也会提高性能,并且能够访问 16 兆字节意味着可以编写比只能访问 16 兆位(2 兆字节)内存时大得多的程序。

相关内容