I run Vista 32 bit with 3. This configuration works well because of using the dual channel feature of the board. For example, I have 2, 1 GB sticks in the blue channel slots, and 2, GB sticks in the black slots of the board. In this way all slots are used and 3 GB is enough for most apps and the OS. Apr 14, 20, 5 51, Here is the facts: With a mb video card in your system you will probably get about 3 to 3. If you install 2 gig of RAM you will get to use all of it.
All current 32 bit MS consumer level operating systems have a 4 gig limit. However, some of that 4 gig of addressing capability must be reserved for other devices other than your system RAM which also have RAM on them- RAM which also needs to be addressed by the OS, so the OS reserves a chunk of it's address space off the top for those devices. If you get Vista 64 this is not an issue. It is quickly becoming mainstream and I would highly recommend you look into it. Dec 6, 16 0 18, 0. I just did exactly the same thing for my 32 bit vista just adding 2GB has made an incredible difference.
Also the computer can only handle 3. LoneEagle Distinguished. Oct 19, 0 18, 6. If you are planning to keep your computer for a while, I would go 2x2GB. Some of it will be lost but keep a door open for x64 and 8GB. Jan 11, 2 0 18, 0. I am running vista 32 with a core i7 extreme with 6 gigs of ram and all six ddr3's are recognized. I was going to ask if it would see another six but it seems you guys aren't even seeing 4? Aug 5, 0 18, 0. I used an nvidia to play Call of Duty..
Scotteq Splendid. Aug 7, 3, 0 23, What you mean to say is "If you have extra RAM, your system doesn't need to Page data very often and is therefore more responsive. You must log in or register to reply here. For more information, see What is 4GT.
Limits on physical memory for bit platforms also depend on the Physical Address Extension PAE , which allows bit Windows systems to use more than 4 GB of physical memory. The following table specifies the limits on memory and address space for supported releases of Windows. Unless otherwise noted, the limits in this table apply to all supported releases. The following table specifies the limits on physical memory for Windows Server Windows Server is available only in X64 editions.
The following table specifies the limits on physical memory for Windows Server R2. Windows Server R2 is available only in bit editions. If the memory is remapped, X64 Windows can use this memory.
Any X64 Windows or X86 Server release can. When someone says some such thing as that bit Windows Vista is technically, physically, logically, architecturally, fundamentally or otherwise incapable of using all your 4GB or more of RAM, what can they mean? There is already on the Internet and elsewhere an awful lot of rubbish to read about this question. Some remember this history and add seemingly plausible qualifications that exceeding 4GB is possible only at the price of nasty hacks that require everyone—well, all programmers—to jump through hoops.
Though 4GB is an obvious mathematical limit on the memory that any single bit program can use without special coding, it was passed long ago as a limit for the system and multiple programs in total. Old hands may already have groaned at the preceding heading. This is old technology. The essence of PAE is that the bit registers used by bit instructions in a bit operating system do not in practice address physical memory.
This is because of very old technology called paging. From at least as long ago as when Windows 3. The bit register with which a program or driver or the operating system itself addresses memory holds what is called a linear address. The layout of linear address space need have nothing to do with the layout of physical address space.
Pages are typically small, just 4KB each. Two neighbouring pages in linear address space can come from opposite ends of physical memory. For the in , each page table entry PTE was 32 bits and allowed only for translating a bit linear address to a bit physical address. However, there is nothing fundamental to that.
There is no reason at all that the linear and physical address spaces must be the same size. With a suitably different translation algorithm, the physical address space can be as big as Intel wants to allow. This theoretical point, which I expect was appreciated at Intel from the outset, got its real-world implementation in the P6 family of processors, beginning with the Pentium Pro in PAE is this alternative translation algorithm.
The practical outcome for bit operating systems in general is that although any one instruction can form addresses for only 4GB of linear address space, those 4GB can be drawn together page by page from all over any size of physical address space as and when the need arises. For Windows in particular, the design is that the linear address space changes for each process.
Both bit and bit Windows can use all of physical memory, including above 4GB, but each bit Windows application on bit Windows has at most 3GB of linear address space through which to access physical memory. Until software that uses memory by the gigabyte becomes common for ordinary use outside of specialised contexts, this difference from full utility does not of itself justify a rush to bit Windows—and certainly not of disturbing a working, trusted installation of bit Windows.
If you have a bit Windows program that wants more than its 2GB or 3GB, then upgrading to a bit version of that program to run on bit Windows is your only path ahead.
Meanwhile, if your concern is only that the system and all your bit applications may together use all your 4GB or more, then keeping your bit operating system would at least be an option for you if Microsoft would provide you with license data to let you use the PAE support that Microsoft has already coded into the product. Some commentators seem to have trouble grasping the naturalness of a physical address space that is larger than the linear address space.
Perhaps they have in mind the history of MS-DOS, which was kept alive for many years with ever more ways that programmers might write new code to access ever more memory than the basic KB.
PAE is nothing like that. It is no more a concern to any software than is paging. After all, it is nothing but a variant algorithm for paging. Just as hardly any software is concerned that linear addresses are translated to physical addresses, even less software is affected by how linear addresses are translated to physical addresses. Application-level code and even most system-level code is entirely unconcerned and unaffected. Far from being an ugly hack, PAE requires pretty much nothing of anyone.
When working with physical memory addresses, even bit device drivers need to do bit arithmetic. Moreover, this type is a structure whose members are integers. Whatever such errors may have existed years ago, the natural expectation must be that they are rapidly getting fixed in the latest versions as ever more drivers get revised for bit Windows.
For the particular matter of working with DMA, device drivers need to conform to the long-documented functional requirements for setting up and managing their DMA transfers. In particular, they need to be aware that the DMA functions may succeed only partially, and need to be called again to complete the request. The most significant, but not the only, reason for partial success is that the necessary double buffers could not all be set up.
Double buffering is a technology for when a device cannot handle the full range of possible physical memory addresses. For instance, an old type of device such as a floppy disk drive controller may be limited to bit physical addresses.
To get data from the controller to physical memory above 16MB, the driver must use the DMA functions properly, so that the controller actually reads to a double buffer below 16MB and the DMA functions then copy the data to where it was wanted. A less old type of device such as an IDE controller may be limited to bit physical addresses and will need double buffering in any operation that reads or writes to memory above 4GB.
Of course, most devices can handle bit physical addresses and increasingly many can handle bit addresses. Either way, their drivers are supposed to use the DMA functionality as if double buffering may turn out to be needed. Some drivers for bit Windows assume that all physical addresses fit 32 bits and that their bit device therefore needs no double buffering. They then take shortcuts with their use of the DMA functions.
If these drivers are not fixed, then using physical memory above 4GB will expose the liberty that they have taken with the documented coding model. None of this is to say that bit drivers do not exist whose faults are exposed when using memory above 4GB, or even that they never existed in any significant number, but it is to say that the main types of fault must be confronted in the development of a bit driver for the same device, so that retention of these faults in the contemporaneous bit driver is highly implausible and even reckless.
If you are worried that faulty drivers or inadequate hardware, for that matter make bit Windows Vista with PAE unsafe when using physical memory above 4GB, then you would do well to wonder how bit Windows can be any less unsafe on the same machine. Some commentators say that PAE comes at some hideous cost to performance.
Compared with the original algorithm that maps bit linear addresses to bit physical addresses, PAE is slower. It has one extra level to its page tables. Each PTE is twice as big. The operating system therefore has more work to do when preparing and maintaining the page tables, and since the Translation Lookaside Buffer TLB has only half the capacity, memory references are more likely to miss the TLB and require additional bus cycles.
The reduction in performance is surely measurable. If you have no need to access memory above 4GB and are concerned enough, then you would not enable PAE if performance is all that matters.
Note however that Microsoft does not regard this performance cost as worth troubling over as will be clear shortly, under the heading Data Execution Prevention. For this comparison, not only are the PTEs the same size but the algorithms are very similar. These are very fine trade-offs relative to the enormous overheads that embellish some of the wilder misunderstandings of PAE on the Internet. Surely this is meant to have some objectivity, even if comparison of ratings for bit and bit Windows may not be strictly fair.
Whether the memory manager in the Windows kernel uses PAE is configurable through the pae boot option. Indeed, bit Windows Vista is supplied with two kernels:.
EXE, both in the Windows System directory. EXE knows how to set up the linear address space for mapping to physical addresses with or without PAE, but each kernel is specialised to one algorithm for the mapping. The pae option tells the loader which kernel to load. This is not so that you can use physical memory above 4GB, else this article would not exist. This protects you from programs that try to execute data, whether in error or from suspected malice.
In practice, much of that range of physical address space, most likely at the top, is given over to such things as the system BIOS and devices.
What this gives you, however, is at best only an indication. It tells you that some addresses are used for devices. The memory map that matters most for the question of what physical memory the kernel can use is the map that the loader discovers from the firmware. However, Windows Vista introduces some undocumented functions with which a kernel-mode driver can get the map fresh from the BIOS. Such a driver for viewing the firmware memory map is presented separately, along with a small console application that reports the results.
You will need administrative privilege to load the driver. On this machine, with its present configuration of hardware, if the kernel is limited to the first 4GB as its physical address space, then MB and the spare change is all the RAM that the kernel can possibly use. Get the kernel to recognise physical addresses above 4GB, and it picks up the other 5GB, for a total of MB as shown in the picture. If the 4th gigabyte were left at 3GB, Windows would have access only to as much of it as does not get overridden.
Whether this remapping is done at present on your particular machine can be checked by using the separately supplied driver. If it is not done, then whether it can be arranged is an issue of hardware configuration.
Of course, for a machine that has exactly 4GB of RAM and has bit Windows Vista pre-installed, you would expect that the manufacturer, having been told by Microsoft that Windows will not see any RAM above 4GB, might not have configured any of the 4GB to be remapped out of sight and into uselessness.
You should not be surprised to find that remapping is disabled. Worse, unless the manufacturer anticipates installing other Windows versions on the machine, there is no incentive even to provide for remapping above 4GB as something that you can configure if you want. If your chipset does not support remapping, then RAM that is overridden for device memory below 4GB will never be seen as usable RAM by bit Windows even with PAE enabled and is just as much lost to you if you install bit Windows.
Broadly speaking, there are two mechanisms by which your hardware and firmware can provide for memory above 4GB which Windows will then not try to use. One is that the kernel never learns of any such memory. The other is that the kernel knows the memory is there but deliberately ignores it.
The first of these mechanisms comes about from a boot option, named truncatememory , which tells the loader to discard all pages of physical memory that are not wholly beneath some specified address. Thereafter, the discarded memory may just as well never have been reported by the firmware. When the kernel receives the memory map from the loader, memory at and above the truncatememory cut-off is already long gone from the map.
By the time the kernel receives the memory map from the loader, the map has been much refined in order to account for how memory is already in use, but it is otherwise intact as a report of physical memory that the kernel can use. Limits are applied both to the total amount of usable memory and to the maximum physical address. Memory in excess of these limits is discarded, such that although it was passed to the kernel from the loader, it may as well not have been.
The total amount of memory allowed is taken solely from the license value Kernel-WindowsMaxMemAllowedx86 , as read through the undocumented function ZwQueryLicenseValue. The data for this value is a number of MB, so that 0x, which is installed for all bit editions of Windows Vista, means 4GB. The maximum physical address is calculated as the least of three values: a license limit; a run-time limit; and a hard-coded limit.
For the ordinary kernel, the license value for the maximum physical address is the same as for the total amount of memory, but the PAE kernel has a separate license value, named Kernel-MaxPhysicalPage. Again, the data for this value is a number of MB. Again, all bit editions of Windows Vista are installed with this value set to 0x, representing 4GB. The run-time limit arises from needing to be sure that an array of MMPFN structures can be set up to represent all the pages of physical memory, one structure per 4KB page, from zero up to the maximum physical address.
This gives the run-time limit on the maximum physical address. The preceding calculation also produces an architectural limit on the use of physical memory by bit Windows with a PAE kernel. The largest block of linear address space that is available even this early cannot be as large as 1GB and could be much smaller. For the question of whether the kernel in bit Windows Vista will use all the physical memory it learns about from the loader, the hard-coded limit of 4GB is dominant as the maximum address for the ordinary kernel, which truly cannot form addresses for physical memory above 4GB, but the license limit is dominant for the PAE kernel.
If you have physical memory above 4GB and wonder how it can be that the PAE kernel does not use that memory, the answer is licensing. Code for using memory above 4GB is present in bit Windows Vista as Microsoft supplies it, but Microsoft prepares license values in the registry so that this code never gets to work with any physical addresses above 4GB. Microsoft is not exactly forward in describing this mechanism by which bit Windows Vista is restricted to 4GB.
Some explanation may be that Microsoft takes licensing so much for granted that it is simply left as understood that the stated limits on physical memory are licensing limits.
Though no drivers need to know the mechanics of PAE and only a small proportion work at all with physical addresses, they may be indirectly incompatible with PAE because as explained earlier they have been coded to an assumption that the physical address space is the same size as the linear address space. This is not to say that Microsoft ought to allow such usage, just that the reasoning that Microsoft gives for its solution does not of itself compel that solution. Anyway, how significant could these incompatibilities be in real-world use of Windows Vista?
0コメント