Monday, December 17, 2007

The 64-bit Question

Windows Vista is available in both 32-bit and 64-bit flavors, so what is the difference? While there are much more technical definitions of the differences between a 32-bit and 64-bit OS (Operating System), the short and sweet of it is that a 32-bit OS/CPU (Central Processing Unit) can move or manipulate a 32 bit (a bit is a 'Binary Digit', or a single 0 or 1) number, while a 64-bit OS/CPU can move or manipulate a 64 bit number. The reason why this is important is because the processor can literally do twice as much in the same amount of time. While this is a gross oversimplification, and it isn't really twice as fast in a real application, this explanation will suffice for the purposes of this discussion.

So why on earth would you want a 64-bit version? Among other things, a 32-bit OS (Operating System) can only handle 4GB (gigabyte or 1 billion bytes) of memory address buses, which are used by the CPU (Central Processing Unit) to store and retrieve data from a specific data location. Imagine that your system memory is a giant piece of graph paper with over 4 billion squares on it. In simple terms, the individual square can store a small piece of data and the address bus determines the 'row' and 'column' (or exact location) of that particular square.

So next year once 4GB sticks of RAM become common in most computers sold, lots of people will need to go to a 64-bit OS in order to actually be able to use all that memory. Here's a note to all you l337 (elite) computer users out there who think that you have the greatest computer system of all time: if you have 4GB of system RAM and a 512MB video card with a 32-bit OS, your system is going to ignore at least 512MB of your system RAM (Random Access Memory) because there won't be enough address bus locations available for it. Obviously this is going to be an issue for most computer users next year, since many of this year's computers already come with 2GB of RAM, so many new computers will need to be loaded with the 64-bit version of Windows, officially ending the 32-bit OS's 13 year reign (1994 to 1997).

This leads me to the next logical question; If 4GB is the limit of a 32-bit OS, what is the limit of a 64-bit OS? Now the answer won't be double, although that would be the obvious conclusion. In fact the reason that 4GB is the limit of a 32-bit OS is because 232 is equal to 4GB. (232 = 4,294,967,296 bytes) So we can see that since the 4GB is derived from a power of 2, doubling it's power from 32 to 64 will not double the total, but be exponentially higher.

In fact, the answer might astound you. 264 = 16 exabytes, or 16 billion gigabytes of RAM. That's not a typo. A 64-bit OS can handle 16 BILLION GIGABYTES of RAM. In fact, in an interesting twist of irony, using the word exabyte is so uncommon at this point that the spellchecker for this blog insists that exabyte is not a real word and is trying to convince me to change it.

To define exactly what an exabyte is in relation to a gigabyte, as well as what a gigabyte even is, I draw your attention to the list below:

1 byte = 8 bits
1 kilobyte (kB) = 1024 bytes = 210
1 megabyte (MB) = 1024 kilobytes = 220
1 gigabyte (GB) = 1024 megabytes = 230
1 terabyte (TB) = 1024 gigabytes = 240
1 petabyte (PB) = 1024 terabytes = 250
1 exabytes (EB) = 1024 petabytes = 260

So we can see that 16 exabytes = 16,000,000,000 gigabytes.

Why does this matter? When will we actually need this ridiculous amount of RAM? Well, that answer might astonish you as well. To explain this I'll have to bust out some more math (sorry non-math geeks). Moore's Law (1965), named after Gordon Moore, one of the co-founders of Intel, states that the processing power of a microprocessor (or CPU) will double approximately every 18 months or 1.5 years. This law is used to calculate how quickly the processor speeds will increase, hard drive capacity will increase, as well as the size of RAM modules.

If we get in the Way Back Machine and go to 1977, we'll be witnessing the birth of one of the first 'production' computers (that is a full scale assembly line production, not hand built), the Apple II. The Apple II which cost $1,298 in 1977 dollars ($4,440.81 in 2006 dollars) shipped with 4kB of system RAM. It we extrapolate this out (shown in the chart below) by doubling the amount of RAM every 1.6 years (a slight deviation from the 1.5 years as stated in Moore's Law), in 2007 the average computer will have 2GB of RAM. (Not only that, but the computer costs less than 1/4 as much.) Based on the continuation of that formula, in 2060, if we follow the same rate as the last 30 years, an average home computer will come with 16 exabytes (16 billion gigabytes) of RAM in it.


Imagine that... every home computer will have 16 exabytes of RAM. So now that we know that we can be fairly certain that we'll have reach this amount of RAM, I know there are those of you out there that are asking yourselves, "Why in the World would I ever need that much RAM in my home computer?" Honestly, even being the computer geek I am, I have a hard time believing I'll ever need that much RAM myself. Since I can't predict the future (or can I...), all I can do is look to the past for a historic perspective.

The video clip below is from the first episode of "The Screen Savers" (which I can't believe ever got canceled because it was great), which ran from 1998 to 2005 and was for many years the highest rated technology show on TV. Hosts Leo Laporte (who I'm going to plug since his podcast is awesome) and Kate Botello show viewers the "ultimate gaming machine" which has a Pentium 2 300Mhz processor and 128MB of system RAM. Watch for the part 4:30 into the clip where Kate says that "...64MB of RAM is as high as you'll ever need to go."





So if some of the smartest people in technology said 9 years ago that 64MB would be all you'd ever need, and I'm sitting here looking at the minimum amount of RAM to play Crysis (which is 1GB), I know that I'll want that much RAM. Every time I've thought games and software couldn't get any better, they always have. So while part of me may not believe it, I'll know I'll want it someday. Needless to say, we do need 64-bit operating systems and I'm glad we have them (despite how people though AMD was crazy to bring out 64-bit processor a couple years ago).

The really crazy thing is that somewhere around 2050 people will start thinking about a 128-bit OS and there will be a definite need for it.....

Think I'm right? Think I'm wrong? Click here to join the discussion about this post.