From: dennis on
On 17-03-2010 19:04, John John - MVP wrote:

> PAE is now a rather old story I have to wonder if Microsoft ever
> designed PAE to access more than 64GB of RAM.

There isn't really much to change. The PTE has always been 64 bit wide.
It is just a question of how many of the bits a specific CPU allows to
use for addressing memory.
From: dennis on
On 17-03-2010 19:10, dennis wrote:
>> I'm not sure if the processor makes
>> all the processor width available while in legacy mode?

A quote from Intels developer manual (volume 3A):

"3.8.1 Enhanced Legacy PAE Paging
On Intel 64 processors ... can address physical memory greater than
64-GByte if the implementation�s physical address size is greater than
36 bits."

The same goes for AMD.
From: John John - MVP on
dennis wrote:
> On 17-03-2010 19:10, dennis wrote:
>>> I'm not sure if the processor makes
>>> all the processor width available while in legacy mode?
>
> A quote from Intels developer manual (volume 3A):
>
> "3.8.1 Enhanced Legacy PAE Paging
> On Intel 64 processors ... can address physical memory greater than
> 64-GByte if the implementation�s physical address size is greater than
> 36 bits."
>
> The same goes for AMD.

You're right, on 64-bit processors PAE is wider than 36-bits (I read
40-bits on most processors). And according to Raymond Chen, the memory
manager uses 37-bits, hence 128GB maximum. So NUMA has nothing to do
with it.

I wonder why Microsoft reduced this back to 64GB on Server 2008...

John
From: John John - MVP on
dennis wrote:
> On 17-03-2010 19:10, dennis wrote:
>>> I'm not sure if the processor makes
>>> all the processor width available while in legacy mode?
>
> A quote from Intels developer manual (volume 3A):
>
> "3.8.1 Enhanced Legacy PAE Paging
> On Intel 64 processors ... can address physical memory greater than
> 64-GByte if the implementation�s physical address size is greater than
> 36 bits."
>
> The same goes for AMD.

According to Mark Russinovich:

"The maximum 32-bit limit of 128GB, supported by Windows Server 2003
Datacenter Edition, comes from the fact that structures the Memory
Manager uses to track physical memory would consume too much of the
system's virtual address space on larger systems. The Memory Manager
keeps track of each page of memory in an array called the PFN database
and, for performance, it maps the entire PFN database into virtual
memory. Because it represents each page of memory with a 28-byte data
structure, the PFN database on a 128GB system requires about 980MB.
32-bit Windows has a 4GB virtual address space defined by hardware that
it splits by default between the currently executing user-mode process
(e.g. Notepad) and the system. 980MB therefore consumes almost half the
available 2GB of system virtual address space, leaving only 1GB for
mapping the kernel, device drivers, system cache and other system data
structures, making that a reasonable cut off"

http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx

John