【发布时间】:2014-02-28 13:20:10
【问题描述】:
为什么 RAM 的数量总是 2 的幂?
512、1024 等
具体来说,Android 模拟器使用 512、768 和 1024 RAM 有什么区别?
【问题讨论】:
-
Wikipedia 可能比 su 更清晰。
-
@BrajeshKumar 谢谢。正是我想要的
标签: memory android-emulator ram
为什么 RAM 的数量总是 2 的幂?
512、1024 等
具体来说,Android 模拟器使用 512、768 和 1024 RAM 有什么区别?
【问题讨论】:
标签: memory android-emulator ram
内存与 CPU 密切相关,因此将它们的大小设为 2 的幂 意味着可以打包多个模块,需要最少的逻辑 为了在它们之间切换;从最后只需要几位 被检查(因为大小的二进制表示是 1000...0000 不管它的大小)而不是更多的位,如果它不是一种力量 两个。
硬盘没有与 CPU 绑定,也没有以相同的方式打包, 所以它们的大小不需要精确。
来自https://superuser.com/questions/235030/why-are-ram-size-usually-in-powers-of-2-512-mb-1-2-4-8-gb
正如 BrajeshKumar 在 OP 的 cmets 中所引用的那样。谢谢布拉杰什!
【讨论】:
因为计算机处理二进制值,例如 0 和 1,因为寄存器是 on(1) 或 off(0)
因此,如果您使用 2 的幂,您的硬件将使用 100% 的寄存器。
如果计算机在其电路中使用三进制值,那么我们将拥有内存、处理器和其他任何 3 的幂。
【讨论】:
我认为,它与地址总线中的位数(或用于在地址空间之间进行选择的位数)有关。 n 位可以寻址 2^n 字节,因此每当地址位数增加到 n+1 时,空间就会自动增加 2 倍。制造商在将内存芯片包括到设计中时会使用其最大地址容量。 在 Android 模拟器中,增加 RAM 可能会让你的程序更有效率,因为当你的应用程序超过 RAM 时,一部分 ROM(非易失性内存)会变得更慢。
【讨论】: