Friday, July 11, 2008
Bigger is better.. computer-wise!
After reading this post, a very, very informative post about getting your 32-bit Ubuntu to work with more than 4GiB memory, I got a question born.. so how is all this limited? I soon dug a bit deeper about 32-bit and 64-bit differences (reading freak that I am) and got to this wikipedia article.
Logically back in the 1980's, when the first personal computers were being developed, the processors were 16-bit and 24-bit. Their memory limitation is easy to be calculated: 216 (or 2^16, a short form without the use of superscript), likewise for 24-bit processors - they could support up to 2^24 bytes of RAM memory, so we have up to 64KiB (kibibytes) and 16MiB (mebibytes) RAM limitation respectively. Then came the 32-bit processors which could hold up to 4GiB of memory addresses.
In the meantime, Intel developed an extension called "Physical Address Extension", which in short terms it allowed 32-bit processors to use up to 36 bits, i.e. 2^36 = 64GiB (Gibibytes). A very vast improvement!
With the appearance of 64-bit processors it is possible to virtually use a really huge amount of RAM of 2^64 = 16 EiB (exbibytes or "exabytes"), but nowadays the problem is physical, as we can't produce such big amounts of memory - yet! Maybe in the near future, who knows. All I know is that I won't be the first person to test this exa-beast :)
To sum up, bytes do matter - vast colossal difference for just a few more bytes!
Note: During the writing of this post, I've learnt about the difference of Gigabyte (1000^3) and Gibibyte (1024^3), so I decided to respect the 2,4% difference and the correct use of GiB and KiB respectively using the IEC standard instead of SI :)