View Single Post
  #8   Spotlight this post!  
Unread 28-12-2008, 13:13
Tristan Lall's Avatar
Tristan Lall Tristan Lall is offline
Registered User
FRC #0188 (Woburn Robotics)
 
Join Date: Aug 2001
Rookie Year: 1999
Location: Toronto, ON
Posts: 2,484
Tristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond reputeTristan Lall has a reputation beyond repute
Re: My first computer build

Quote:
Originally Posted by EHaskins View Post
If your system memory + video memory is greater than 4gb you need to have 64bit to take advantage of all of the RAM.

You can view the effect of this on 32bit machines from Task Manager and checking the total amount of memory on the performance tab, or by running msinfo32 and checking the Installed Physical Memory and Total Physical Memory fields on the system summary. If there is a discrepancy your system isn't using some of the RAM installed in your system.
There's actually an even better reason to use 64-bit Windows: it allows the allocation of more memory to individual processes and to Windows itself. In 32-bit Windows, up to 2 GB of private address space can be allocated to every process (in user mode), and up to 2 GB can be allocated to the Windows kernel (within the 4 GB virtual address space that is assigned to each process, but which is not actually represented in RAM unless it's being used). By using a pagefile, 32-bit Windows makes sure that up to 4 GB of physical RAM is being shared by a (potentially-infinite) number of processes with their own dedicated 4 GB virtual address spaces. The 4 GB virtual address space limit is absolute on 32-bit Windows, no matter how much RAM is installed.

Even on server versions of 32-bit Windows, which use physical address extensions (PAE) to address more than 4 GB of physical RAM (up to 128 GB), these same per-process limits still apply to the virtual address spaces (though they can be adjusted so that up to 3 GB can be dedicated to user mode and 1 GB to kernel mode, by using /3GB and other boot switches).

In 64-bit Windows, each 64-bit process can access up to 16 TB of virtual address space, split evenly between the Windows kernel and user-mode memory. 32-bit processes running in WOW64 (Windows-on-Windows) can be set to access the full 4 GB, probably because there are no longer any 32-bit kernel tasks operating in that address space. In addition, the physical memory limits are much higher (when not arbitrarily restricted for Microsoft's business reasons)—up to 2 TB.

Having extra memory available might make CAD work a bit easier, because very large models could be loaded and worked on. (Realistically, you'd be hard-pressed to need even 2 GB for a FIRST robot's CAD model.) I've only ever encountered difficulty with the 2 GB user-mode limit when doing thermal simulations or mechanical animations in Pro/MECHANICA—I think it leaks memory somewhere....

Also, it's not really system RAM + video RAM > 4 GB. In 32-bit Windows, in versions prior to XP SP2 (or maybe SP3), Windows assumed that driver writers knew what they were doing, and would instruct devices to do something graceful when they couldn't continue to map their own memory over top of a free portion of the up-to-4-GB physical memory space (because other processes wanted to use it). The trouble is, most such drivers (largely video) just bluescreened and crashed, instead of trying to decrease the amount of (video) memory being used.

This problem arises because the port-based I/O used on small devices is inconvenient when trying to work with several-megabyte chunks of memory (like on a video card). Instead, direct mapping of video RAM to physical memory addresses (but not actual system RAM) is used to simplify and speed up addressing of the video card, by pretending that the video card's memory is just an unused part of 4 GB of physical memory address space. (When you install RAM up to the physical address limit—4 GB without PAE—there are no more unused memory addresses.) On systems with the /PAE switch enabled, drivers could map the video memory above the 4 GB limit, but it seems that few hardware producers understood this, or were willing to compel certain users to enable PAE, maybe because of the stigma of an insignificant performance penalty. (As it happens, the no-execute function's NX bit requires PAE, so many users with Opteron/Athlon 64 or newer processors would already have had it enabled, and could have seamlessly taken advantage of such a change.)

As a workaround (probably to prevent people from blaming Microsoft for crashes being precipitated by bad drivers), in later XP service packs, and ever since, there exists a large memory "hole" caused by devices which map their own memory on top of the 4 GB address space, leaving less for other processes to see as physical RAM. If you have around 4 GB installed on XP SP3, that's why it will show up as somewhat less, depending principally on the amount of memory on your video card.

So, you can address the problem of not using all physical RAM by upgrading or downgrading. If you downgrade, your video drivers will probably crash. If you upgrade, you just have to hope that the driver writers have provided stable 64-bit versions for you to use.

The bottom line is that 64-bit won't generally increase performance (and nobody here has suggested that), but rather provides a way to address and allocate more memory to programs and to the operating system. You don't need it now, and it might be a while before average consumers really need it at all. But it's absolutely needed in the server market. So 64-bit Windows is stable and ready to use, and its adoption in the home market will simplify the maintenance of the Windows platform as a whole, by minimizing the need to support 32-bit and 64-bit versions of everything.
Reply With Quote