这些是我的作业:
编写程序以查找
n
KB内存中的地址行数。假设n
始终为2的幂。
示例输入: 2
示例输出 11
我不需要特定的编码帮助,但我不知道地址线和内存之间的关系。
答案 0 :(得分:6)
为了表达非常简单,没有任何总线多路复用,寻址存储器所需的位数是访问该存储器所需的行(地址或数据)的数量。 p>
引用Wikipedia文章
具有32位地址总线的系统可以处理2个 32 (4,294,967,296)个内存位置。
举一个简单的例子,考虑一下,你有3个地址行(A
,B
,C
),所以可以使用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
个行,我们可以代表2 n 地址数量。
答案 1 :(得分:1)
地址线通常是指CPU /芯片组与内存之间的物理连接。它们指定要在内存中访问的地址。因此,任务是找出将输入数字作为地址传递所需的位数。
在您的示例中,输入为2千字节= 2048 = 2 ^ 11,因此答案为11.如果输入为64千字节,则答案为16(65536 = 2 ^ 16)。