Tue, Nov 08, 2016 at 07:01:47, d953010024 wrote about "Re: [hw-dev] Convert VPN to PPN":
> Thank you for the your response.
> I have further question.
>
> 32-bit virtual address can only address up to 4GB space.
> It's mean that a 32-bit processor can only view 4GB space.
> However, 34-bit physical address indicate physical space is 16GB.
> How can 32-bit processor address to 34-bit physical space?
>
> I'll appreciate any help.
A virtual address page is mapped into a physical page. One can allow
specifying essentially any length of physical page address; there is
_no_ principal limit here.
For 4KB pages and 34-bit physical space, a page directory entry,
addressed by bits 31-12 of virtual address, shall contain bits 33-12
of physical address. Of course, processor shall have enough pins and
such addresses shall be supported by chipset, memory controller, etc.,
but this doesn't conflict in any way with 32-bit virtual addressing mode.
There are multiple known cases of such implementation, for example:
PDP-11: 16-bit virtual address, 18- or 22-bit physical address.
x86 (32-bit mode): 32-bit virtual address, 36- to 39-bit physical
address.
OTOH such memory virtualization is generally inconvenient due to its
mode "a tiny window to huge world". Unless full physical address space
can be mapped twice to virtual address space, a supervisor has to
utilize frequent page switching. That's why most systems have been
tending to convert to 64-bit addressing on reaching 1-2GB of RAM.
-netch-