Question

Why is the amount of RAM always a power of 2?

512, 1024, etc.

Specifically, what is the difference between using 512, 768, and 1024 RAM for an Android emulator?

Était-ce utile?

La solution

Memory is closely tied to the CPU, so making their size a power of two means that multiple modules can be packed requiring a minimum of logic in order to switch between them; only a few bits from the end need to be checked (since the binary representation of the size is 1000...0000 regardless of its size) instead of many more bits were it not a power of two.

Hard drives are not tied to the CPU and not packed in the same manner, so exactness of their size is not required.

from https://superuser.com/questions/235030/why-are-ram-size-usually-in-powers-of-2-512-mb-1-2-4-8-gb

as referenced by BrajeshKumar in the comments on the OP. Thanks Brajesh!

Autres conseils

Because computers deal with binary values such as 0 and 1, because registers are on(1) or off(0)

So if you use powers of 2, your hardware will use 100% of the registers.

If computers used ternary values in their circuits, then we'd have memory, processors and anything else in powers of 3.

I think, it is related with the number of bits in an address bus (or bits used to select between address spaces). n bits can address 2^n bytes, so whenever the number of address bits increases to n+1, automatically the space increases by a factor of 2. The manufacturers use their maximum address capacity when including memory chips to the design. In Android emulator, the increase in RAM may make your program more efficient, because when your application exceeds the RAM, a part of ROM (non-volatile memory) and it is slower.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top