Memory addresses

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I will first admit I don't know much at all of Windows core. So, in reguards
to the 32bit issue of haveing 4gb ram and only being able to use 3gb due to
limited memory addresses in the 32 bit version. How difficult would it be to
add addresses to Windows. I figure if it was a simple fix Microsoft would
have allready done it.

Thanks for your time

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://windowshelp.microsoft.com/co...crosoft.public.windows.vista.hardware_devices
 
Because that is as high a number that 32 bits can count to. That is why a 64
bit OS was created. Duh!
 
K111 said:
Because that is as high a number that 32 bits can count to. That is why a 64
bit OS was created. Duh!

Actually, an update would do it. But Microsoft is concerned about badly
written drivers, so they won't do it. If you want to use 32-bit Windows,
you must go to their server section
 
Actually, it makes very little sense, although the Duh post was
unnecessarily rude.
The significance of 32 vs. 64 bits refers particularly to the size of
Processor (CPU) registers. These are temporary storage areas and the
maximum number that they can hold is the issue. Certain registers are used
to set memory addresses for operations, and the 32 bit processor is limited
to a smaller range than the 64. Rick is correct that there is a way to work
around this (we used various techniques for years to work around the severe
limitations of 16 bit operating systems), but there is a performance penalty
and a dependency on certain processor features which vary.
__
 
GTS said:
Actually, it makes very little sense, although the Duh post was
unnecessarily rude.
The significance of 32 vs. 64 bits refers particularly to the size of
Processor (CPU) registers. These are temporary storage areas and the
maximum number that they can hold is the issue. Certain registers are
used to set memory addresses for operations, and the 32 bit processor is
limited to a smaller range than the 64. Rick is correct that there is a
way to work around this (we used various techniques for years to work
around the severe limitations of 16 bit operating systems), but there is
a performance penalty and a dependency on certain processor features
which vary.

There is not much overhead in PAE.

If you move to 64-bit, there is even more overhead than in PAE
 
jorgen said:
There is not much overhead in PAE.

Most people today is already running in PAE mode. XP+SP2 and Vista have
something called DEP. When DEP is turned on (on a modern cpu that
supports the nx bit) PAE is automatically turned on.

Vista and XP just limits the address space in PAE mode to 4GB
 
GTS said:
Actually, it makes very little sense, although the Duh post was
unnecessarily rude.
The significance of 32 vs. 64 bits refers particularly to the size of
Processor (CPU) registers. These are temporary storage areas and the
maximum number that they can hold is the issue. Certain registers are
used to set memory addresses for operations, and the 32 bit processor is
limited to a smaller range than the 64. Rick is correct that there is a
way to work around this (we used various techniques for years to work
around the severe limitations of 16 bit operating systems), but there is
a performance penalty and a dependency on certain processor features
which vary.
__

Just to be exact: (ignoring real mode) all addresses are 36-bits wide in
the page table (so no overhead for accessing over 4GB). The 32-bit
designation merely represents the width of the data path. Whether the
36-bit addresses can resolve to greater than 4GB is in the hands of the
associated hardware chips. Whether the OS makes use of the available
address space is in the hands of the OS architecture. Windows made some
simplifying assumptions to make the 386 architecture easier to handle
and look more like other 32-bit architectures that at one time it was
interested in supporting.
 
Most people today is already running in PAE mode. XP+SP2 and Vista have
something called DEP. When DEP is turned on (on a modern cpu that
supports the nx bit) PAE is automatically turned on.

Vista and XP just limits the address space in PAE mode to 4GB

True, but the negative effects of PAE don't show up until you have
physical memory located outside the non-PAE-addressible range.

The problem is that drivers can read/write physical memory, not just
logical memory. With PAE enabled, physical memory can move around.
 
DevilsPGD said:
True, but the negative effects of PAE don't show up until you have
physical memory located outside the non-PAE-addressible range.

The problem is that drivers can read/write physical memory, not just
logical memory. With PAE enabled, physical memory can move around.

There is not negative side effect. Drivers doesn't read physical memory
directly, they read virtual memory.

PAE is not a segmented model, you have a 64GB flat address space.

There are some issues with DMA, if driver or device cannot handle
addresses above 4GB, then Windows might have to do double buffering. But
this can happen in 64-bit also
 
There is not negative side effect. Drivers doesn't read physical memory
directly, they read virtual memory.

PAE is not a segmented model, you have a 64GB flat address space.

There are some issues with DMA, if driver or device cannot handle
addresses above 4GB, then Windows might have to do double buffering. But
this can happen in 64-bit also

http://www.pcmag.com/article2/0,1895,2164482,00.asp
Hope this helps. Trope
 
Here is a good KB article on the subject.
I don't quite agree with the statement that drivers read virtual memory
since many think of paging file as the location of virtual memory.
What drivers of hardware that contain their memory such as graphics card
these drivers need memory address out of the available memory space and the
for not all of the real memory is not available to the OS on 4GB vista 32
bit systems or on vista 64 systems bit if the MOBO does not support an
address space of more then 4GB.
 
JW said:
Here is a good KB article on the subject.
I don't quite agree with the statement that drivers read virtual memory
since many think of paging file as the location of virtual memory.
What drivers of hardware that contain their memory such as graphics card
these drivers need memory address out of the available memory space and
the for not all of the real memory is not available to the OS on 4GB
vista 32 bit systems or on vista 64 systems bit if the MOBO does not
support an address space of more then 4GB.


But it is called virtual memory.

The pagetable is used by the cpu to translate virtual addresses into
physical addresses. The pagetable can address 4GB in normal mode, and
64GB in PAE mode.

The pagefile is a completely different type of "virtual memory". Pages
in a process' virtual address space can be paged to harddisk. The
physical ram these pages points to, can then be reassigned for other use.

And of course, the motherboard must also have support for it. Some
boards with 64-bit cpu support cannot even address more than 4GB
physical memory.
 
http://support.microsoft.com/kb/929605/en-us


JW said:
Here is a good KB article on the subject.
I don't quite agree with the statement that drivers read virtual memory
since many think of paging file as the location of virtual memory.
What drivers of hardware that contain their memory such as graphics card
these drivers need memory address out of the available memory space and
the for not all of the real memory is not available to the OS on 4GB
vista 32 bit systems or on vista 64 systems bit if the MOBO does not
support an address space of more then 4GB.
 
Back
Top