As for x86 CPUs, the 64 bit ones are locked on specific sockets, such that, 32 and 64 bit CPUs never use the same socket. So a motherboard knows if it is equipped with a 32 or 64 bit CPU nd therefore the maximum RAM that could be addressed. So why would a motherboard list on it's manual that it can only be equipped with 4GB maximum, if it only accepts a 64 bit CPU?
-
1“As for x86 CPUs, the 64 bit ones are locked on specific sockets, such that, 32 and 64 bit CPUs never use the same socket.” - What? All 64-bit processors are x86 processors. – Ramhound Jan 25 '18 at 08:18
-
1Instead of calling me a names can you provide an example of the motherboard and processor you are talking about by editing your question. – Ramhound Jan 25 '18 at 08:36
3 Answers
A current generation motherboard with max supported RAM of 4 GB would typically require DDR4 RAM.
RAM technology has improved significantly since 4 GB RAM motherboards started appearing in the earlier years (AMD Athlon based boards some 14 years ago?). Newer motherboards with the same max capacity are still made for the primary reason of balanced price and performance.
Adding a lot of RAM support on the motherboard comes with increased connectivity requirements (memory uses parallel paths from the processor -- unlike USB, say).
Adding more address lines to the RAM requires more complexity on the motherboard.
Performance targeted motherboards even support multi-channel memory (those that use paired 2x2GB of DDR4 RAM for example, or even 3x2GB of DDR4 RAM -- that is three channels of DDR4 which means three times the processor-to-RAM wiring on the motherboard). All this makes design and manufacture costlier which reflects on their retail prices. I am keeping this simple, there are probably a host of other non-tech reasons for increased motherboard/processor/RAM prices
A current generation 64-bit processor (which requires a newer and matching motherboard) with just 4 GB of RAM (current generation) configuration would perform much better then an earlier 64-bit processor and 4GB RAM system. It would benefit from current technological advances (higher density components, lower price production, lower power consumption). These boards allow making low-cost laptop and desktop configurations that take advantage of technological advances at lower pricing positions.
The current generation processor and motherboard would come with a bunch of other new hardware technologies (new wireless, bluetooth, fast USB, SSD compatibility, etc.).
- 56,306
The best reason for that to be documented is... if it were true.
The primary reason why 64-bit CPUs were designed was not easy accessing of larger memory addresses, but speed. The fact that speed was obtainable using a new instruction set, and that using a new instruction set was a good way to solve a 4GB memory limitation, was rather coincidental timing. If CPU design wasn't ready to move beyond 32-bit, memory addressing would certainly have been solved better for the popular 32-bit x86 standard.
One would think that the idea would be for a motherboard to have no specific limit of capacity per slot. However, such limits do typically exist. Sometimes motherboards may be able to raise such limits through firmware updates, but not always.
So if a motherboard's RAM support doesn't go above 4GB, that's not a reason why the motherboard couldn't support the faster 64-bit chip.
- 15,798
- 5
- 43
- 63
-
I was about to argue that the speed gain was more on extending the opcode part of the instruction and therefore the number instructions. But I just googled to find out that the opcode was 2 bytes maximum to begin with, so that the number of instruction was never the problem. It's just pure bandwidth, is all. – Dehbop Jan 25 '18 at 08:03
-
For some reason x86 opcodes would be like 9 bits long or something. I never had the reason to do x86 assembly programming. – Dehbop Jan 25 '18 at 08:27
-
"memory addressing would certainly have been solved better for the popular 32-bit x86 standard." Well... physical addresses already were widened via PAE. Virtual addresses are not so easy to widen without widening the CPU's GPRs. Which is what x64 did. – Jamie Hanrahan Jan 26 '18 at 19:39
You don't specify which CPU/motherboard you are talking about, so I give you the generic answer.
In general:
The CPU might be able to address more than 4 GB of RAM (even a large number of 32-bit CPU's can actually do that. Go read up on the subject of PAE support.)
But the CPU doesn't access that RAM all by itself. It needs circuitry in the so-called Northbridge of the motherboard-chipset and the BIOS of the computer must also co-operate, being able to recognize that RAM and configure the memory controller in the chipset to use it properly.
And that is exactly where your limitations are:
Motherboard chipsets typically are designed to handle a "reasonable" amount of RAM. Reasonable is defined by cost (of manufacturing the motherboard) and customer demand. And by the RAM strips available on the market at the time, as you can't properly design and test a chipsets, if you can't buy larger RAM to test with.
Example:
Back in the day when the first Intel x64 CPU's came to the market the largest RAM strips available (for consumer equipment) were 512 MB or 1 GB. 1 GB was way too expensive for most people. The OS of choice was Windows XP that would happily run on 1 GB of RAM total and which was 32-bit only. (XP-64bit existed but was rarely used on consumer PC's.)
There was simply no need to design motherboard chipsets that could handle more than 2 GB of RAM in total. A few years later the boundary shifted to 4 GB RAM support and that remained the norm to well into the Core2Duo CPU generation.
It wasn't until Vista/Windows 7 that 64-bit Windows became mainstream and, more or less at the same time, DDR2 memory was introduced.
DDR2, used in dual-channel configurations, could make the most of the 64-bit speed-increases and the DDR2 specifications allowed for up to 16 GB in a single DIMM (even though 4GB was the max available initially, the specifications for future DIMMs where know already so chipset makers could keep that in mind.)
That is why DDR2 (and later) motherboards may say in the manual they have an upper limit, but can potentially work with larger DIMM's. Sometimes a BIOS update is needed to have the computer recognize the larger DIMMs properly.
But it still is possible that larger isn't going to work because the motherboard designer cut some corners and used a memory-chip controller with a hard-wired upper limit or because the BIOS simply refuses to work with DIMM's types that were unknown when the BIOS was first programmed. (Many BIOS contain internally a white-list of approved DIMM sizes, sometimes even specific DIMM part-numbers and they simply refuse to work with any RAM that is not on that list.)
- 31,463