Is there any benefit to 64-bit CPUs if you have 4GB or less RAM?

suihcteg

Distinguished
Aug 20, 2011
23
0
18,510
I've been studying for CompTIA A+ and have done some research and googling, and all I've found was that 64-bit CPUs allow you to use more than 4GB RAM. Phone manufacturers made a big deal about switching to 64-bit CPUs, but didn't have over 4GB RAM (phones might be on the horizon with more than 4GB RAM, but today's flagship phones don't have more than 4GB). Is there any benefit to 64-bit CPUs with 4GB or less RAM, or it's just marketting and doesn't provide any benefit?
 

Eximo

Titan
Ambassador
Not really hype, they do open themselves up to a lot of different options with 64bit.

An extra 1GB over 3GB or ram is quite useful in and of itself. Makes the difference between having enough ram to do a complex task, or not. In the PC world you are pretty well set with 8GB and only recently has more been useful for your average gamer. (Other tasks like video editing and professional work being exceptions)

Aside from ram limitations, there are other issues that only having 32bits can cause. While few phones/tablets have much storage, older 32bit computers had a 137GB addressing limit. Not sure about ARM, but it would make some sense for a similar problem to occur.

While a 32bit system can support 4GB of memory, it is limited to that as its TOTAL addressing, so all devices that have memory in the system add up. So discrete GPUs with memory, all the I/O devices etc, eat up some of that available addressing.

I believe some FPU calculations take less clock cycles on 64bit CPUs vs 32bit.

Shoutout to any ARM experts in the house?
 

Math Geek

Titan
Ambassador
there is a difference between 64 bit software and 64 bit cpu's. not exactly the same thing. a 32 bit processor will see more than 4 gb of ram if the operating system is 64 bit. the limitation is not cpu related but rather operating system related. we had 64 bit OS long before 64- bit cpu's and could use more than 4 gb of ram with them.

64-bit cpu is a different instruction set than 32 bit. the exact differences you'd have to look up but that is the big reason all cpu's went 64 bit a long while ago and why mobile is so happy about moving into 64 bit land as well. it improves what the cpu can do and how.
 
32 bit systems assign 3+ GB of RAM I've never seen or read more than 3.3 GB being used, and the remaining 0.7 GB is assigned to video... and if you have a PCIe card which has it's own RAM, the same 3.3 GB is assigned to the CPU, while 64 bit systems can assign the full 4 GB to the CPU if you have a PCIe video card.

On ARM architecture, this explains the benefit clearly:
https://en.wikipedia.org/wiki/ARM_architecture

ARM based computer design approach means processors require fewer transistors than typical complex instruction set computing (CISC) x86 processors in most personal computers. This approach reduces costs, heat and power use.

 
I had the identical system to a friend except I was running a 64 bit version of the O/S and they were running a 32bit version. We were attached to the same router and were were both doing a major download for a WOW of over 8GB. My download crashed while I was out to when I got back I had to start it over and I still finished the DL and installed it before the 32bit O/S system finished its download. The PCs were identical except for one O/S being 32bit and the other was 64bit. Both were connected to the same router which was in the same room with both PCs. FYI both machines are now running 64bit O/Ss, lol. It seems a 64bit O/S can run tasks faster than the 32bit version O/S.
 

Math Geek

Titan
Ambassador
you are mixing up 32/64 bit OS verse a 32/64 bit CPU. they are not the same and do not mean the same thing.

a 64-bit CPU uses a different instruction set than a 32 bit one. these instructions are what makes the CPU usable for doing things the OS asks it to. running a 64-bit OS on a 32 bit CPU does not change the underlying instruction set the CPU can use. there are other differences as well but this is a major one. all CPU's have been 64 bit for a long enough time now that folks seem to have forgotten when they first hit it big as an improvement over the 32 bit CPU's out there.
 
Not sure who you mean since as I said they were identical systems except for the O/S for one being 32bit and the other being 64bit. FYI, still running that same system I only upgraded the video card and got a bigger SSD. And I forgot to apply for the $35 back for that .5GB of RAM issue, lol.
 
Okay, apparently I'm not phrasing this right. Both systems have the same motherboard, the same CPU, the same memory, they had the same storage, same GPU, we even had the same monitors, and the same O/S EXCEPT one was 32bit and one was 64 bit.

 
Yep, later.

Personally I don't think you can even find a 32bit CPU these days, all are 64bit it seems. But I think the system will run faster on a 64Bit CPU over a 32Bit CPU or all the gamers would be still running 32Bit even with 4GBs or less. If you have a 32Bit CPU I don't think you can use your same motherboard for a 64Bit version.
 

ulises314

Reputable
May 25, 2016
87
0
4,660
OK, a lot of people is mixing their concepts here and not one yet has addressed the real advantage of a 64 bit CPU, first what do the 32/64 bit size refers to? it refers to the register size, the procesor stores numeric values in those (generally instruction input/output or memory addresses, it depends on the architecture if this registers are special purpose or general, and how many there are of each type), registers are memory, the fastest kind of memory in the computer and also the most expensive one, and there are very few of them (about 15 on modern x86-64 procesors, which are all modern intel and AMD chips), the speed of reading from memory is orders of magnitude slower than reading from registers.

So there are several advantages to having a longer register size, the first and most obvious is that you can address a much larger memory space whitout any crazy tricks (which can be totally done, but it is tricky and impacts performance), the second obvious advantage is that you have much larger 'room' for operations: imagine you are adding two numbers that surpass 2^32 (the largest integer that can re represented in a 32 bit register) then you have to either give up and say that the result is an overflow or deal with the result in a cumbersome way in two registers, or worse, in memory, also if your program doesn't needs 64 bit registers you can use a single register as two of the old 32 bit registers! this trick alone can produce massive performance gains in compilers that use it.