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?
feedback
|
This question came from our site for professional and enthusiast programmers.
|
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. | |||||
feedback
|
|
You may also want to look up how Physical Address Extension can be used to access more memory on 32 bit systems. | |||
|
feedback
|
|
Actually, as I understand it, it's less on | |||
feedback
|
|
How much memory the processor can address depends only on the number of address lines on it and not on the size of a pointer. However, it is true that only 4GB can be mapped into the address space of each processor (or thread, depending on the architecture) at the same time. That's what those segment registers are used for on x86 processors (yes, they are still there, but the Os owns them nowadays so you need not touch them yourself). | |||
|
feedback
|
|
The limitation comes from the OS, not the processor. The OS can only manage a 4GB address space. | |||
|
feedback
|