【问题标题】:What is the relation between address lines and memory?地址线和内存有什么关系?
【发布时间】:2015-07-06 09:25:53
【问题描述】:

这些是我的任务:

编写一个程序来查找n 千字节内存中的地址行数。假设n 始终是 2 的幂。

示例输入: 2

示例输出: 11

我不需要具体的编码帮助,但我不知道地址线和内存之间的关系。

【问题讨论】:

  • 不要显示你的家庭作业,显示一些你在尝试做家庭作业时编写的代码!
  • @sqlab 我认为这个问题没有代码是可以的。问题本身是否是 OT,那是另一回事。 :-)

标签: memory memory-address


【解决方案1】:

用非常简单的术语表示,在没有任何总线多路复用的情况下,寻址内存所需的位数是访问该内存所需的(地址或数据)数。 p>

引用Wikipedia文章,

具有 32 位地址总线的系统可以寻址 232 (4,294,967,296) 个内存位置。

举个简单的例子,考虑一下,你有 3 个地址行(ABC),所以可以用 3 位组成的值是

A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

共有 8 个值。因此,使用ABC,您可以访问这八个值中的任何一个,即,您可以到达任何这些内存地址。

所以,TL;DR,简单的关系是,n 行数,我们可以表示 2n 个地址。

【讨论】:

    【解决方案2】:

    地址线通常是指 CPU/芯片组和内存之间的物理连接。它们指定要访问内存中的哪个地址。所以任务是找出将输入数字作为地址传递需要多少位。

    在您的示例中,输入为 2 KB = 2048 = 2^11,因此答案为 11。如果您的输入为 64 KB,则答案为 16 (65536 = 2^16)。

    【讨论】:

    • 非常感谢@DarkDust。这真的帮助我理解:)
    猜你喜欢
    • 2021-01-03
    • 1970-01-01
    • 2020-11-09
    • 2013-07-12
    • 2021-10-06
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    相关资源
    最近更新 更多