Sign in with
Sign up | Sign in
Your question
Solved

32 bit system memory cap question.

Last response: in Graphics & Displays
Share
February 8, 2010 1:00:40 AM

Hello, was wondering with a 32bit system like vista and running 4gb ram already... if I buy a 1gb graphics card, will that just be a waste or are the 2 memory types independent of each other?
February 8, 2010 1:09:19 AM

absolutely not, both memories are independent from each other you see those 4gb are for the o.s. and then you got gpu ram wich is solely for use on the graphics (more gpu ram means you can get high resolutions with no lag,period) ..

February 8, 2010 2:37:48 AM

Thank you much. :bounce: 
Related resources
a b U Graphics card
February 8, 2010 11:23:04 AM

Wrong. The 4GB limit is for all devices connected to a PC. The GPU is no exception. If you use a 1GB GPU, you lose 1GB of addressable RAM space.
a c 130 U Graphics card
a b } Memory
February 8, 2010 12:01:46 PM

^ +1
Dont know where shagrathdex66 has got the info from but its very wrong.

Mactronix
February 8, 2010 4:02:29 PM

the 4gb limit isn't a memory limit per-se, but an address limit. To address both 4gb of ram and 1gb of video memory, you need to be able to have 5gb of address space. Since you only have 4gb of address space, something has to give.
a b U Graphics card
a b } Memory
February 8, 2010 4:27:56 PM

Not all video RAM is memory mapped. The amount of address space a (single) video card uses is typically 256MB.
a b U Graphics card
February 8, 2010 4:54:24 PM

Scotteq said:
Not all video RAM is memory mapped. The amount of address space a (single) video card uses is typically 256MB.


I was just serching for conformation of that as I was sure I had read that. Of course not all memory is read or written to at once so it would make sense to not reserve it all.
a c 130 U Graphics card
a b } Memory
February 8, 2010 10:35:50 PM

Scotteq said:
Not all video RAM is memory mapped. The amount of address space a (single) video card uses is typically 256MB.


As SS said im not 100% sure but i think you are right, however given that windows holds some for itself as well as some for the card you can typically expect to lose 1GB using a 32 bit system.
I think im right in saying that when things start working away that video memory will get priority over system ram. So when your PC is gaming you will actually in effect loose the 1GB anyway.
Please someone correct me if im in error here.

Mactronix
a b U Graphics card
February 9, 2010 9:12:35 AM

You will lose the same amount in any system. 32 bit or 64 if you only have 4GB it is the same amount of physical ram in both systems and the amount of ram needing reserved will not change.

Just because you can address more bits in using a 64-bit os it doesn't change the physical limitations a system has.

Correct me if I am wrong.
a b U Graphics card
February 9, 2010 10:51:45 AM

2^32 = 4GB, or the total amount of address space [unique locations] that can be physically accessed by a 32-bit CPU at any one time.

On Windows, devices such as the GPU are allocated before main system memory, so if you have 4GB RAM and a 1GB GPU, that 1GB of space gets reserved when windows first starts, leaving you with 3GB remaining space total [usually less in this case, as other mobo functionallity like USB ports and the like also eat up space].

It should be noted, that regardless of how much RAM you have free on a 32-bit Windows OS [including using PAE extend beyond the 4GB limit], because of the way Windows handles virtual memory space [2GB reserved system use], no app on 32-bit Windows will ever use more then 2GB of RAM at any point in time.
a b U Graphics card
February 9, 2010 11:32:06 AM

Gamer, did you read scotteq's reply?

I am pretty sure he is right and also, applications can use I believe up to 3GB on 32 bit systems if windows is told to allow it.

a c 130 U Graphics card
a b } Memory
February 9, 2010 11:58:48 AM

I beleive there is a sort of flagging system that needs to be employed to tell it it can use more, just going from memory here. Something i seem to remember from a gaming article about 2gb limits.
I could well be wrong though.

Mactronix
a c 130 U Graphics card
a b } Memory
February 9, 2010 12:01:17 PM

Also i think there is a differance in the first 256 being physically allocated with the rest put aside for video use as gamer says its given priority in case of a clash.
Well im pretty sure thats how it works, but then it depends on the OS as well dosent it ? Vista had the way it handles this changed as i recal ?

Mactronix
February 9, 2010 12:17:23 PM

Just use a 64-bit OS, and you can have up to like...... 16 exabytes of RAM (17.2 billion GB). Your memory problems are solved forever :p  Unless you can somehow fit 8 billion sticks of RAM in your computer.....

Best solution

a b U Graphics card
a b } Memory
February 9, 2010 12:41:38 PM
Share

As I stated above, not all video RAM is mapped into the OS's address space. Saying otherwise is incorrect, keeping in mind that integrated chips use actual system RAM for display purposes because they don't have memory of their own.

Source: http://www.gamasutra.com/view/feature/3602/sponsored_fe...


The context of the article is only indirectly related to this particular topic. The answer to the OP's question should be plain enough from the text below, but I went ahead and emphasized it anyhow. From Page 3 of the linked article:

Quote:
The Growth of VRAM

The Growth of VRAM
Another factor in the PC memory equation has been growing as well: video memory size. In the early days of Direct3D, the typical video card had 16 or 32 MB of Video RAM (VRAM). High-end video cards now have 512 MB, 640 MB, 768 MB, or more VRAM. When video cards had 16 or 32 MB of Video RAM, this memory was mapped directly into every process that used Direct3D for efficient access by the application and video driver.

As video cards grew larger, this became unsustainable. A 768 MB hole in the 2-GB virtual address space of each process would leave very little space for applications. Similarly, taking 768 MB out of the 4 GB physical address space would be too constraining. This problem is exacerbated in dual GPU configurations (SLI®/Crossfire™).


Therefore, video card manufacturers typically implement a 256 MB physical memory window for the video graphics memory, and modern drivers do not create direct process mappings for the entire VRAM size. Process address space is still consumed for working with the AGP aperture (64 MB, 128 MB, or more typically on modern game systems 256 MB in size). While PCIe uses a dynamic aperture, it too is mapped into each process that uses Direct3D.

Beyond the direct impact of growing VRAM sizes, more process memory is needed to maintain the backing-store for handling “lost-device” situations so for textures, geometry, and other static data, filling up such large video cards and still fitting under the 2 GB limit is extremely challenging.

The Windows Vista Display Driver Model (WDDM) was designed to address the lost device limitations inherent to the Windows XP Display Model (XPDM), allowing more efficient sharing of the GPU by multiple applications. WDDM does not require the entire 256 MB aperture be mapped in to the process space.

Instead, it dynamically grows the amount as the VRAM allocated by the application increases. For Direct3D 10 applications, this eliminates the need to maintain two copies of resources like textures in memory, one for the VRAM and one in the backing-store for lost-device cases. The system deals with migrating the one copy between memory and the video card, as needed.

Unfortunately, to maintain application compatibility with Direct3D 9 running on Windows XP, two copies of managed resources were still maintained for Direct3D 9 applications running on Windows Vista. This also required process space for maintaining resources like render frame buffers. Previously, render frame buffers were simply lost and recreated. Therefore, they did not require any process space under WDM.

Since the elimination of the 256 MB aperture returned 256 MB of virtual address space to applications on WDDM that was already budgeted for under WDM, this change did not cause any problems until video cards with more than 256 MB of VRAM became available. Small games still had plenty of that 2 GB address space available, but many modern AAA PC titles were running out of space on WDDM.7 The WDDM VA hotfix (KB940105 for Windows Vista, included in Service Pack 1) 8 gives a bit of breathing room by only mapping video resources into the process that need direct CPU access. Games that use Direct3D 10 also have decreased memory pressure without the extra copies required for “device lost” handling.

However, high-end games in development are routinely hitting the 2 GB wall even on Windows XP. In fact, this incident proves that many modern AAA PC titles are already within 256 MB of the 2 GB barrier. Otherwise, they would not have hit this problem until video cards were over 512 MB.
a b U Graphics card
February 9, 2010 12:44:04 PM

strangestranger said:
???

I have no idea what I was thinking, was still waiting for a cup of coffee to get the system started.
a b U Graphics card
a b } Memory
February 9, 2010 12:44:12 PM

mactronix said:
Also i think there is a differance in the first 256 being physically allocated with the rest put aside for video use as gamer says its given priority in case of a clash.
Well im pretty sure thats how it works, but then it depends on the OS as well dosent it ? Vista had the way it handles this changed as i recal ?

Mactronix



Mac - Yah - In Vista (and 7), it's dynamic, rather than a static allocation. The benefit is improved performance and scaling in multi GPU setups.
a b U Graphics card
a b } Memory
February 9, 2010 12:53:18 PM

strangestranger said:
Gamer, did you read scotteq's reply?

I am pretty sure he is right and also, applications can use I believe up to 3GB on 32 bit systems if windows is told to allow it.



Yah - It's possible though the /3gb switch: By default, 32 bit Windows allocates 2GB of address space for the system and the other 2GB for applications. What the /3gb switch does is change that allocation from 2 and 2 over to 3GB for apps and the remaining 1GB for the system. Be advised that implementing this on a computer that requires more than 1GB of address space for system usage will inevitably result in bluescreens.

Not recommended on recent vintage computers. If you need that much address space, just go to a 64 bit OS and push the issue a decade or three into the future.
a b U Graphics card
a b } Memory
February 9, 2010 1:00:50 PM

RealityRush said:
Just use a 64-bit OS, and you can have up to like...... 16 exabytes of RAM (17.2 billion GB). Your memory problems are solved forever :p  Unless you can somehow fit 8 billion sticks of RAM in your computer.....


actually right now (in windows) there is a software limit of something around 192GB+ max memory for consumer windows, don't know what the server limitations are (if any except hardware)

also, not all address lines are currently being implemented on the hardware level, i think consumer level is 40 bits and server/workstation hardware is around 44 bits (1 TiB and 16 TiB respectively, nothing to laugh at)
February 9, 2010 1:42:52 PM

mindless728 said:
actually right now (in windows) there is a software limit of something around 192GB+ max memory for consumer windows, don't know what the server limitations are (if any except hardware)

also, not all address lines are currently being implemented on the hardware level, i think consumer level is 40 bits and server/workstation hardware is around 44 bits (1 TiB and 16 TiB respectively, nothing to laugh at)


Even if Windows arbitrarily caps it, it HAS the ability to adress up to 16 exabytes of memory :p  I'm sure you could just do a form of PAE to force the use of all 64-bits of addressing, but considering no one is even CLOSE to 192GB yet consumer wise... I doubt many will bother :p 

Although if you HAD 192 GB of RAM, you could make a 180GB RAM disk for the hell of it... that would be awesome.
a b U Graphics card
a b } Memory
February 9, 2010 2:09:41 PM

RealityRush said:
Even if Windows arbitrarily caps it, it HAS the ability to adress up to 16 exabytes of memory :p  I'm sure you could just do a form of PAE to force the use of all 64-bits of addressing, but considering no one is even CLOSE to 192GB yet consumer wise... I doubt many will bother :p 

Although if you HAD 192 GB of RAM, you could make a 180GB RAM disk for the hell of it... that would be awesome.


true about the not needed and awesomeness of a large ram disk (i plan on 72GB 8GB+64GB ram disk for my next wokstation)

though you can't get around that 40/44 bit hardware limitation with a software mechanism, the actual paths for addressing the upper 24/20 bits is just not there (unless they recently decided hey, why the hell not), this limitation saves quite a bit on costs as it is less materials and complexity due to more pathways

EDIT: AMD's current K10 model uses 48 of the 64 bits/lanes foe the address space for a total of 256TiB of memory
a b U Graphics card
February 9, 2010 3:19:32 PM

strangestranger said:
Gamer, did you read scotteq's reply?

I am pretty sure he is right and also, applications can use I believe up to 3GB on 32 bit systems if windows is told to allow it.


Yeah, via /3gb switch; I was refering to the default windows behavior...

Interesting read on the GPU memory address scaling though; never used anything 32-bit post XP, so I missed that little tidbit on the GPU scaling. Might try a VM and play a bit.
February 9, 2010 5:07:23 PM

Scotteq said:
Not all video RAM is memory mapped. The amount of address space a (single) video card uses is typically 256MB.


I was reading an MSDN blog from one of the OS developers and he mentions otherwise. Took me a while to find that article because there's so many results when using the most common keywords for this subject, but it is out there if you feel likes searching for it.

One of the things in the blog was he said specifically that there is no "memory window" used to partially map video ram and then emphasized that it is all mapped.

edit:

I did try to search for my original article but came across this one that seems interesting

http://blogs.technet.com/markrussinovich/archive/2008/0...

There's seems to be some "truth" to your 256MB reserve, not to say that you're lying(we both seems to have the same amount of correctness to our statements). This writer has 2 1GB vid cards installed on his box and they shipped him Vista32 with 4GB of ram. He points out that 256MB is reserved for each videocard, but the dual 1GB cards leaves him with 1.97GB of usable memory.

So it seems vid cards to reserve some memory, but there also seems to be a VERY large memory hole.

You can wikipedia the author of this blog and here's a snippit

"Russinovich is the author of many tools used by Windows NT and Windows 2000 kernel-mode programmers, and of the NTFS file system driver for DOS. He is widely regarded as a Windows expert."


Note:
Overall, 32bit OS's area dead except for netbooks and there's really no reason to even bring up these topics anymore.
February 16, 2010 12:35:55 AM

Thanks to every one for the replies. Based on what I'm reading, I think i will just get a 512mb card for now as i'm running 32bit vista. I'll save the money to get the high end cards for my next build.

Cheers! :bounce: 
a b U Graphics card
February 16, 2010 1:03:38 AM

Best answer selected by TheGreatGrapeApe.
a b U Graphics card
February 16, 2010 1:13:31 AM

Also remember that it matters if it's AGP, PCI or PCIe, as well as the OS, as to what the limits are set forth within the OS AGP was 256MB (as delineated by the aperture settings and the built-in limit in windows which can be forced higher for workstations as an example), PCIe was initially unlimited (like PCI) but that lead to massive memory issue, and so then was reigned it to be dynamic around a 512MB target, I'd spend time hunting down the info if this still was stuck on gamer's statement's but thanks to scotteq he got to it quickly.

PCIe initially was DOUBLE MAPPED, until microsoft fixed their COLLOSAL blunder and made it dynamically mapped.

Anywhoo, I posted a huge post on it about a year or two ago, someone else can hunt it down with all the links, or they can research it themselves.

The other thing to remember is that not all VRAM needs to be addressable by the CPU some of it is for local resources (like AA) which don't require access by the host.

The confusion about this is about the same as those who think hyper-memory and turbo-cache 'steal memory'.

Anywhooo scotteq got it and hence get's a silver star from the teacher. :evil: 
!