7 Replies Latest reply on Sep 10, 2016 11:52 AM by Intel Corporation

    Why does my CPU only support 32GB RAM when it has 39 address bits?


      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. I understand that the mother board designer does not need to use all the the RAM that the CPU can take. But it seems that the CPU can only take 32GiB of RAM while the 39 bits physical should let it take 512GiB. Why did Intel allot 39bits physical when it could do with 35 physical bits.

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