|
|
| Hardware Components and Aftermarket Upgrades Discuss Processors, RAM, Hard Drives and other basic notebook components here. Includes upgrade questions. |
09-24-2007, 09:41 PM
|
#1
|
|
NBR Janitor
Join Date: Aug 2007
Posts: 8,865
|
The Layman’s Guide to 64-Bit
The Layman’s Guide to 64-Bit
Why I Wrote This: To feel more useful after inciting the Unicorns v. Horses debate (which is now closed, darn), and to lessen my chances of being banned in the future. Oh, and the fact that everyone keeps asking.
What is 64-Bit?
To answer this question, I’m going to go through a few basics of computing – first, the bit.
What is a Bit?
A bit is the smallest unit of data possible. You probably already know that computers speak in binary (1s & 0s); well, a bit is a single unit of 1 or 0. Alone, it’s not very helpful, but when placed together, it creates the foundation of computing.
For example: a single bit can convey 2 things, either a 1 or a zero. Two bits though, can convey 4 things, 00, 01, 10, and 11 – see where I’m headed?
What Are These Bits Used For?
Everything! A computer can only speak in binary, and thus the bit dominates its existence. However, in this guide, I am relating to bit-architecture – or the amount of data available to a system at any given time. Thus even though your hard drive may be 160 Gigabytes (a byte equaling 8 bits), it can’t use all that information at the same time.
32-Bit Architecture
This is where most consumers are right now, and if you follow my previous example, you’ll find out that 32-bit means 32 of those buggers, all in one line. That means that there are a possible 4 billion (4,294,967,295 to be exact) permutations of data that can be arranged in your computer. What this roughly translates to, is that your computer can have over 4 billion data units that it can utilize at any given time. Most of this space is used by the system RAM, while other processes, like video, consume whatever’s left over. Though 4,294,967,295 units of addressing space may sound like a lot, that only equates to about 3.5 GB of RAM with the rest left over for other tasks. Because it’s very feasible to have 4 GB of RAM in your laptop right now, people are jumping ship, and heading towards 64-bit architectures.
64-Bit Architecture
By switching from 32-bit to 64-bit, the maximum amount of addressing space escalates to 18,446,744,073,709,551,616 units of space or 17 billion gigabytes. This means that we won’t hit the RAM headroom for quite a few years (decades?) to come. In reality, most computers that are 64-bit capable are artificially limited on how much RAM they can take, with the common limits being 8, 16, and 128 GB. Another advantage of switching over is faster computing. 64-bit code (should) run faster than comparable 32-bit bit code.
What’s Required to go 64-Bit?
1. The CPU or processor – the consumer level processors that are currently 64-bit capable are the AMD Turions and the Intel Core 2 Duos
2. The Operating System – This is why you commonly see Vista followed by a bit number. It’s pretty obvious if you operating system is 64-bit as it will be labeled that way.
3. At least 4 GB of RAM – Ok, this isn’t an official requirement, but there’s not much of a reason to be 64-bit computing if you’re not going to take advantage of it.
The Drawbacks of 64-Bit
So if 64-bit’s so good and swell, why isn’t everyone running 64-bit? Same reason why it takes time for people to switch over to anything new in computing – compatibility issues. 64-bit systems require 64-bit drivers and applications. Though more and more things are working well with 64-bit systems, it’s not yet up to par with the universally used 32-bit.
Bottom Line
I know what you’re asking right now: “But hey, should I go 64-bit?” My answer is – if you’re currently in the market to buy a computer, get one that’s 64-bit compatible, not necessarily one that runs in 64-bit. In the coming year, 64-bit should be much more fleshed out, and if you have a 64-bit capable computer, you can make the switch when you first, upgrade to 4 GB of RAM, and second, know that all your programs are compatible. I don’t see 64-bit completely taking over for at least a year, but when it does, you’ll be ready.
Special Note: Vista SP1 changes the way Windows displays RAM in the system properties. Instead of displaying RAM available, SP1 displays RAM installed. However, the 32-bit limit still exists - not even God can change that.
Final Note: As always, I welcome suggestions, corrections, and the like. However, keep in mind that this is meant to be a layman’s guide, so try not to go too far in-depth (or in other words, powerpack and Odin243, please don’t debate microcomputational spelunking here). And yes, I do know that means small-computer-cave-diving. Oh, if you want to learn more, Jalf goes quite a bit more in depth if you scroll down.
Last edited by Lithus : 05-10-2008 at 11:12 PM.
|
|
|
09-24-2007, 09:47 PM
|
#2
|
|
Notebook Deity
Join Date: Nov 2005
Posts: 1,138
|
Re: The Layman’s Guide to 64-Bit
Thanks Lithus! Nice basic explanation of 64 bit.
|
|
|
09-24-2007, 09:53 PM
|
#3
|
|
NOOKIE!?
Join Date: Jul 2007
Location: Ontario, Canada
Posts: 3,917
|
Re: The Layman’s Guide to 64-Bit
good job, helpful for noobs who dont know about it 
|
|
|
09-24-2007, 09:57 PM
|
#4
|
|
Newbie
Join Date: Feb 2007
Posts: 6
Rep Power: 7 
|
Re: The Layman’s Guide to 64-Bit
very informative! thank you
|
|
|
09-24-2007, 10:16 PM
|
#5
|
|
Notebook Virtuoso
Join Date: May 2006
Posts: 2,775
|
Re: The Layman’s Guide to 64-Bit
great job lithus!
__________________
Windows and Mac user
|
|
|
09-24-2007, 10:23 PM
|
#6
|
|
Join Date: Jul 2007
Posts: 2,218
|
Re: The Layman’s Guide to 64-Bit
Now How about a section on the benefits; ie faster and more secure programs (due to the ram being randomly assigned)?
|
|
|
09-24-2007, 11:33 PM
|
#7
|
|
Notebook Evangelist
Join Date: Aug 2007
Posts: 374
Rep Power: 7  
|
Re: The Layman’s Guide to 64-Bit
Even now, 64 bit is actually very stable and useful. In fact, Gentoo has supported 64 bit for quite a while.
Security is not an advantage of 64 bit. However, the NX bit that is included in modern 64 bit CPUs does add a little security.
In many applications, 64 bits can provide a significant boost in performance. Doubles (64 bit floating point variables) are very common in games and multimedia. A CPU that can process 64 bit in hardware will not incur the inefficiencies of emulating 64 bit math with 32 bit instructions. In the extreme case, distributed.net RC5-72 will run over twice as fast on a 64 bit system. I have also seen D2X-XL (an open source 3D game) compiled for 64 bit run significantly faster than the same game compiled for 32 bit. (100 vs. 80 FPS.)
|
|
|
09-25-2007, 12:12 AM
|
#8
|
|
Join Date: Jul 2007
Posts: 2,218
|
Re: The Layman’s Guide to 64-Bit
I just read somewhere that viruses/malware/spyware due to the fact that x64 randomly assigns the ram adresses, instead of in sequential order, i believe. I havent used the 64 bit gentoo (way to confusing), but the other distors i have tried ran great.
|
|
|
09-25-2007, 09:32 AM
|
#9
|
|
Comrade Santa
Join Date: Jul 2006
Location: Denmark
Posts: 3,457
|
Re: The Layman’s Guide to 64-Bit
The Slightly More Elaborate Guide to The Layman’s Guide to 64-Bit
Quote:
|
Why I Wrote This: To feel more useful after inciting the Unicorns v. Horses debate, and to lessen my chances of being banned in the future.
|
I don't think you need to worry. So far, I don't believe anyone has ever been banned for starting a unicorns vs horses debate.
Quote:
32-Bit Architecture
This is where most consumers are right now, and if you follow my previous example, you’ll find out that 32-bit means 32 of those buggers, all in one line. That means that there are a possible 4 billion (4,294,967,295 to be exact) permutations of data that can be arranged in your computer. What this roughly translates to, is that your computer can have over 4 billion data units that it can utilize at any given time. Most of this space is used by the system RAM, while other processes, like video, consume whatever’s left over.
|
just to elaborate a bit on this, the CPU works with units of 32-bit "words". [1] One such word is also what it uses to address its memory, so it can cope with a total of 4 billion bytes of memory. Anything greater than that simply isn't possible, because we only have 32-bits available to write the address in.
Some of these addresses might not actually be memory (you might not have 4GB of RAM, and some hardware gets lumps of this memory space reserved to them as well), but the total memory space that the CPU can deal with is 4 billion bytes.
Quote:
|
Though 4,294,967,295 units of addressing space may sound like a lot, that only equates to about 3.5 GB of RAM
|
No it doesn't. It equates to exactly 4GB. The 3.5 figure is because (like I said above), the 4GB limit is for the entire memory space that the CPU can recognize, and some of this is set aside for special purposes (memory-mapped hardware [3], primarily), so the highest amount of RAM you'll be able to use is somewhat less than 4GB. (It doesn't have to be 3.5GB though, it depends on the OS and the installed hardware, and the drivers, and...... Some people will get 3.6GB, some will get 3.2 and so on)
I know what you were trying to say though, but I think it's just confusing to start claiming that 4.29 billion bytes = 3.5GB.
And before we move on to 64-bit we should mention another place where the "bitness" matters. It's not just a matter of how much RAM you can use.
Arithmetics are limited by this too. The CPU operates with words of 32 bits each. So it can add two 32-bit numbers in one single operation (the same way you might add 3 + 5 as one single step), but it can't do 64-bit addition. For that, it has to use multiple steps. (First add up the lower bits, remember to carry the highest bit, then add up the higher bits, and combine the result. Like you'd do two-digit number such as 84 + 37)
So obviously, on a 32-bit CPU, computing 64-bit arithmetics is slower than 32-bit arithmetics. Of course, for many things, 32 bit (4.2 billion) is quite enough, so this doesn't matter. But if you need to deal with bigger numbers, this can become a problem.
Quote:
64-Bit Architecture
By switching from 32-bit to 64-bit, the maximum amount of addressing space escalates to 18,446,744,073,709,551,616 units of space or 17 billion gigabytes. This means that we won’t hit the RAM headroom for quite a few years (decades?) to come. In reality, most computers that are 64-bit capable are artificially limited on how much RAM they can take, with the common limits being 8, 16, and 128 GB.
|
That limit is set by external factors, such as the OS (The cheap versions of Vista 64bit only allows 8GB of RAM)
However, the interesting number is the size of the address space like you said first.Since the CPU works with "words" of 64-bit each, a memory address is also represented by 64 bit. Of course, not all of them might be used currently, but they're there, so when one day we need more RAM, we just have to make our CPU's start using all 64 bits.
Also, this is good news for all the mysterious stuff that ended up hogging around 500MB of our precious 4GB on 32-bit systems, giving us only 3.5GB of actual RAM. Memory mapped hardware and such can now use some corner of this vast, mostly unused memory space, without interfering with how much RAM we can use. (in particular, the 8/16/128GB limits you mentioned refer to physical RAM, but we can still memory-map stuff beyond this limit. So if you had a system with 8GB RAM, and ran the cheap version of Vista that only allowed 8GB RAM, you'd actually get to use them all. Memory mapped hardware or files could just be placed beyond the 8GB limit (since the CPU can handle greater addresses), so it doesn't "hide" any of your RAM.
This is unlike the situation on 32-bit where you can install 4GB of RAM, and only be able to use around 3.5GB
It also means that even if you only have, say, 2GB of RAM, you can still benefit from a 64-bit system. Because even if you don't have that much RAM, the memory space is bigger. So you could in principle make a 6GB pagefile, and at least avoid out-of-memory crashes. And the OS would be able to memory-map everything it likes without having to worry about "hiding" actual RAM.
Quote:
|
3. At least 4 GB of RAM – Ok, this isn’t an official requirement, but there’s not much of a reason to be 64-bit computing if you’re not going to take advantage of it.
|
See above. There are plenty of advantages even with less RAM.
Primarily:
- the address space is still bigger (so even if you dont have much RAM, you at least avoid out-of-memory errors)
- 64-bit arithmetics can also be faster than 32bit equivalents.
- And a bunch of other low-level improvements that are only toggled on when the CPU is in 64-bit mode. These aren't directly related to the 32/64 bit thing, but are just various other improvements that piggybacked a ride on the 64-bit architecture. (When you're changing the CPU architecture anyway, you might as well get as much done as possible, so you avoid having to change it more often than necessary. And these changes were too minor to justify breaking compatibility on their own, but since 64-bit mode was going to do that anyway, why not cram these improvements in at the same time?)
Because of this, a CPU in 64-bit mode is estimated to be around 5-10% faster than in 32-bit mode when running the same kind of code. (Only recompiled to take advantage of these new improvements)
This is on top of the 64-bit specific advantages, which might bring even greater performance boosts.
Quote:
|
Doubles (64 bit floating point variables) are very common in games and multimedia
|
But ironically, doubles don't benefit from this.
Floating-point (decimal numbers, like 1.542) is treated specially even on 32-bit systems, and the CPU has been able to process 64-bit floating point values in a single instruction for years.
It's only with integers than 64-bit makes a difference.
1: A word in CPU architecture is simply "the size of the bit-chunks that the CPU works with internally". In 32-bit CPU's, a word is 32 bit, and in 64-bit it's 64. [2]
2: Note to the pedantic: This isn't true. On PC CPU's in particular, Intel, in their infinite wisdom, have decided to change the meaning of a word. Thus, according to Intel, a word is always 16 bit, 32 bit is a double word, and 64 is a quad word. In the above, I use the term "word" in its original meaning though, as the "native" data size of the CPU.
3: Memory-mapping simply means that a range of memory addresses are configured to "point" to something else. This might be GPU memory (so the CPU just has to write data to a specific memory location, then it gets automatically sent to the GPU), or it might be a file (so the CPU can read/write a file just by poking at memory addresses). This is a very handy technique, but unfortunately, it uses up valuable memory addresses, which then can't be used to access actual RAM. This is starting to become a problem in 32-bit systems, especially with high-end GPU's that may have around 1GB of VRAM. Memory-mapping all that would hog a full 25% of the 32-bit addressing space. Ouch.
|
|
|
09-25-2007, 09:41 AM
|
#10
|
|
Banned
Join Date: Aug 2007
Location: Chicago, IL, 60626. Rogers Park
Posts: 5,758
|
Re: The Layman’s Guide to 64-Bit
Good comments but, No Spelunking Zone!
|
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is On
|
|
|
All times are GMT -5. The time now is 04:43 AM.
|