8

The following is the output of cat /proc/cpuinfo

user@localhost:~$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 60
model name  : Intel(R) Core(TM) i3-4130 CPU @ 3.40GHz
stepping    : 3
microcode   : 0x12
cpu MHz     : 800.000
cache size  : 3072 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 6784.48
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

Now, 39 bits should get me 512GiB addressable physical memory. However, the Intel(R) Core(TM) i3-4130 CPU @ 3.40GHz only supports 32GiB. Why is this? How can I reconcile this calculation?

I am not asking about the number of slots in the motherboard, maximum ram / DIMM cards etc. I am looking for how the physical bits, address lines, and the maximum amount of physical RAM fit.

Also, 48 bits should account for 256TiB of virtual address space. Is this true??

12
  • Just cause you have the address space dosen't mean your system supports enough, and large enough slots of ram.IIRC the most you can go with 4x rdimms is 128, and regular ddr4 tops out at 16gb a stick). With older systems the size per ram stick was even smaller - my core i7 3770 supports 32gb of ddr3, since I have 4 slots (and a mini itx may have 2 slots), and the largest stick of ram I could get is 8gb.
    – Journeyman Geek
    Jul 23, 2015 at 0:43
  • It might be related to how physical memory is addressed. Each address is composed of details like row, channel, bank, offset, etc..
    – Bob
    Jul 23, 2015 at 0:58
  • @JourneymanGeek It's not related to the system. I think he could have 64 GB in his system if the motherboard supports it, but the CPU will only be able to work with 32 GB at a time. Intel has a hard limit on this at the CPU level. It kind of reminds of the the various maximums in different versions of a Windows release (Pro vs Home, for example). Ways to get around it have been to get the X Extreme CPUs or to get a motherboard that supports more than one physical CPU. Jul 23, 2015 at 1:01
  • There is hardly any Intel CPU that supports 64GB. You have to go to their extreme product line to get that support
    – Ramhound
    Jul 23, 2015 at 1:06
  • 1
    the 39/48bit MAR has nothing to do with this limit. you are correct, a 48bit MAR is capable of about 256 terra-addresses, but that doesn't matter, because Intel wrote their instruction set to accommodate a max of 32GB. Jul 23, 2015 at 4:55

3 Answers 3

2

It only supports 32GB of RAM because of the memory controller. It was designed with this limitation. Similar, it is limited to 25.6 GB/s bandwidth.

3
  • so why not have just 34 physical address bits? What purpose does 39 bits serve?
    – Lord Loh.
    Jul 23, 2015 at 5:31
  • 7
    Not everything that has a physical address is RAM. Having more bits of physical address than you need for RAM allows, for example, I/O devices that present large amounts of memory-mapped address space without interfering with the amount of RAM you can use. I've also seen platforms that used some of the "extra" bits to specify types of access to I/O space (like byte- and word-sized access) which the processor couldn't otherwise support - this was specified via code in the driver support library and interpreted by the bus bridge. I don't know if this is done in current Intel platforms. Jul 23, 2015 at 5:36
  • 3
    @JamieHanrahan - Your comment is probably the best answer I have so far. And I asked this question an year ago. Are you certain about the - memory mapped IO, byte and word size access using the extra physically addressable space? Most answers here and on quora.com/… are only speculations. Thank you. Why don't you post this as an answer.
    – Lord Loh.
    Jul 8, 2016 at 20:34
-1

Because the number of physical address bits that the chipset supports is a superset of the address bits that the DRAM controller supports.

If you max out the DRAM capacity on the system, there still needs to be room for other to things to be mapped into physical address space: PCIe configuration space, MMIO spaces for graphics card and other controllers. The DRAM controller is only mapped to a small portion of the physical space. The maximum size of DRAM that the DRAM system supports must be less than the size of the physical address space of the system.

By DRAM system I mean the address size the DRAM controller supports, the singular DDR generation the controller's physical pin interface is built for, the number of channels, the external wiring (chip selects might be physically disconnected, limiting the number of ranks per channel – DDR4 supports 4 ranks per channel, be it 4 single rank DIMMs (yes DIMM not SIMM), 2 dual rank modules, or 1 quad rank module), the DIMM type that the DRAM controller pin interface is built for (if it's LRDIMM then it supports logical ranks giving up to 32 total ranks), the number of banks and bank groups supported (should be 4 banks and 4 bank groups but it could be less and may only have one bank group wire instead of 2), the number of row select pins (the controller could only have 16 instead of 17).

-2

All of the Intel LGA 1150 socket cpu's are limited to 32GB.

4
  • 1
    Some source or proof that this is the case would be nice.
    – Mokubai
    Jul 31, 2015 at 23:02
  • If they plan to put it in a LGA1150 package, why waste silicon on all the registers when the lines go nowhere. It is like building a 39 lane highway to a dead end.
    – Lord Loh.
    Aug 1, 2015 at 1:21
  • All of the chipsets for LGA 1150 support a maximum of 2 DIMM's in each of the 2 memory channels. They support a maximum module size of 8GB. Simple math. I find it easier not to question Intel's methods or ideas because they seem to know what they're doing.
    – Rammac
    Aug 3, 2015 at 23:15
  • 1
    @Rammac - I prefer to question Intel's methods and ideas so I know what they are doing.
    – Lord Loh.
    Apr 11, 2017 at 23:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .