The main advantage of 64-bit computing on x86-64 platforms, increased
memory capability, is dependent upon several factors, including hardware
implementation (including CPU's virtual address size, page table entry size,
and chipset's addressibility) and operating system's design. This article,
while informative, is somewhat misleading in many places.
Quote:
Originally Posted by
AppleInsider 
System RAM vs MMIO: the "where is my 4GB?" problem
... (abridged) ...
Note that this doesn't mean that MMIO "eats up" your RAM, it's just that the hardware maps that device-related memory over the top of physical memory, leaving fewer addresses available to the operating system to use for its system RAM. This problem is tied to 32-bit chipsets, which are independent from the CPU. There are 64-bit PCs with 32-bit chipsets. For example, Apple's 64-bit Core 2 Duo laptops prior to the second half of 2007 all used 32-bit addressing.
This is misleading in a way that conventionally chipsets are not described in any
lingo of bitwidth, such as "32-bit chipset". In terms of addressible memory,
simply the amount is used. For example, Intel P35 chipset is capable of
handling 8 GB, while P45 is capable of 16 GB, contingent upon the availability
of suitable memory module. There is no such thing as "33-bit chipset" (equal
to 8GB) or "34-bit chipset" (equal to 16 GB).
Intel's Santa Rosa (965 express) platforms, as used in many recent Macs,
are capable of handling 8 GB of RAM ** on paper **, but in reality most
if not all laptops can only handle 4 GB. By using the integrated GMA X3100,
some memory has to be allocated for graphics use, regardless what version
of OS (32 vs. 64 bit) is being used. Even a discrete graphic solution is used
along with 64-bit OS, PCI configuration still eats up some memory from
the 4GB space, although the amount may be miniscule.
Quote:
Originally Posted by
AppleInsider 
That means that while they can execute 64-bit code and handle 64-bit virtual memory, they still can't address more than 4GB of physical RAM, minus roughly 0.75 GB of MMIO,
... (abridged) ...
When x86-64 processors run at legacy mode (100% compatible/mimicking x86),
they are incapable of running long mode (or in Intel's term, IA-32e mode) specific
instructions. So the description above is a moot point. Also, current implementations
from either AMD or Intel do not allow 64-bit virtual memory; that will be the future
expansion and currently it stays at 48-bit.