6

Am I right in thinking that each processor can independently address 4GB, so the answer is 8Gb?

Does the same hold true for a dual-core?

2
  • Its the OS not the hardware that has the limit, Explanation here...asisupport.com/ts_4GB_memory_info.htm
    – Moab
    Oct 7, 2010 at 20:34
  • Each processor can independently address way more than 4GB. But that doesn't matter because the nature of SMP systems is that both processors must have exactly the same view of memory. The S in SMP means 'symmetric'. The limitation is from the OS, not the processor -- it cannot address more than 4GB. Aug 29, 2011 at 0:08

4 Answers 4

8

The answer is 4GB as they have a shared address space - the processors can both see the same 4GB of RAM. It is a bit more complicated than that with Xeons and others with MMU's that support wider physical address spaces. This stackoverflow post describes this type of MMU, which does make an appearance on 32 bit xeon chips.

2
  • ...and on other (non x86) architectures, there are configurations where memory is NOT shared and thus 2 processors with 32-bit address buses could see 8GB instead of 4GB... Dec 23, 2008 at 12:53
  • Are you talking about shared nothing architectures in general or something specific? Dec 23, 2008 at 14:18
4

You may also want to look up how Physical Address Extension can be used to access more memory on 32 bit systems.

1

Actually, as I understand it, it's less on x86 some operating systems (like Windows) because there's a hardware I/O memory hole at the top; you actually end up with about 3.4 GiB of your 4 GiB addressable.

1
  • That's OS and hardware dependent. The processor does not require that. However, Windows and the other mainstream OS's do leave that open for hardware frame buffers and other devices. Dec 23, 2008 at 12:54
0

The limitation comes from the OS, not the processor. The OS can only manage a 4GB address space.

You must log in to answer this question.