Vista 32 bit ram limitations




















Neither of these steps is meant for general use. Neither am I saying that bit Windows Vista is a better or worse option than bit for using all your 4GB of memory. I am just demonstrating that despite what Microsoft and many others say to the contrary, bit Windows Vista actually can use all the RAM that you can feasibly install. The code for doing it is already in the product that Microsoft sells you. There is no need to bring in any code from a different edition of Windows or to make bit Windows Vista believe it is anything other than bit Windows Vista.

All that needs to be changed are two pieces of registry data whose sole purpose is to specify how much memory Microsoft permits you to use. No code needs to be changed even by one byte, but to prove this point I have to patch the code because Microsoft protects the data. As for caveats, you should know that although I study software, I do not have the testing resources of a software or hardware manufacturer.

Indeed, since Microsoft is apparently happy to license the use of physical memory above 4GB on bit Windows Vista SP1 when rebadged as Windows Server , I would be astonished if there is any misbehaviour in Windows itself. Applications ought not matter, as argued below, but drivers may. Still, even with contrivances and caveats, how can it be that I—or you after following my directions if you want to test what I say—can get anywhere near to producing such pictures?

The more that technology companies get away with half-truths and the exploitation of ignorance even on one issue, the more they can drift into it as their standard practice. What is the truth, then? 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. New posts New profile posts Latest activity. Current visitors New profile posts Search profile posts Billboard Trophies. Vista 32 bit, video card RAM.

Forums Laptops Laptop General Discussion. JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.

Previous Next. May 22, 11 0 18, 0. Heya, i've heard that 32 bit versions of vista have a max of around 4 gigs I've also heard that further ram is subtracted, depending on the memory of your video card. I want to get a Sager NP due to some awesome recommendations, and i'm wondering how much ram i should get with 32 bit or if i should just get 64 bit, but i'd need to know all the issues with it I was considering 4 gigs of ddr3 ram, but i'm guessing the video card which is 1gig standard will take away a gig, giving me 3 gigs.

Other hardware or application limitations may further prevent use of all installed memory. Windows Vista 64bit is required for memory configurations of 4GB and above. I also am thinking about getting the intel turbo memory module, but i've read a bunch of pages saying that it is relatively useless in games, and that it's cheaper just to get a flash drive or something.

What are your thoughts and recommendations? Dec 5, 2, 0 20, So generally your system will report 3. It usually won't matter what amount of VRAM you have. There are almost no compatibility issues anymore and they tend to actually cost the same. Ahhh, i see. So, if i get 32 bit vista, it wouldn't be a bad option to get 4 gigs of ram.

But, for 64 bit vista, isn't there a problem concerning drivers that are unsigned? For example, i have the first generation G5 mouse the orange one , and i have to install some random drivers on line to get SetPoint the software to map out my buttons to get to work. Lesson of the day: If you intend to have 4GB of RAM or more, it's highly recommended that you install a 64 bit operating system unless you are stuck with primitive device drivers or programs that only work in 32 bit.

Since your motherboard manufacturer is the one who decides the max RAM amount that can be supported, the only sure way to know is to consult your motherboard manual outlined in yellow below :. If you're a laptop user, then your owner's manual will contain the answer to the maximum amount of RAM that can be supported. 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. The limit that these versions impose is the highest permitted physical RAM address, not the size of the IO space.

For example, drivers could map the "lost" memory regions located above 4 GB and expose this memory as a RAM disk. Physical Address Extension. Skip to main content.



0コメント

  • 1000 / 1000