|
|||||||
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|
#1 (permalink) |
|
Diamond Member
![]() Join Date: Aug 2005
Location: Arkansas
Age: 19
Posts: 2,806
|
Why your 4GB of RAM is showing up as less than 4GB
Alright before anything you must understand the difference between memory capacity and addressing space. When something is read from your memory, your computer finds what it needs in the addressing space, it is kindof like an IP address, it represents something in the virtual world. The addressing space is limited by the bit depth of your memory controller, which in most modern systems is actually better than 32-bit, (128 bit i think, please correct me if I'm wrong). The limitation here goes from your memory controller to your OS. If the motherboard memory controller were 32-bit, a 64-bit OS would be limited as well. A 32-bit OS can only register a 32-bit address space which it uses to address places in your RAM and also addresses your system components. According to your OS, RAM is just another component to be addressed and it just addresses everything in the same pool which is why 4GB of RAM is limited by the devices in your computer. Alright we all know that a 32bit addressing space is roughly 4GB here is the simple math to prove that. a single bit will either be 1 or 0 so thats 2 possible numbers per bit 2^32 = 4,294,967,296 There is the theoretical maximum size of a 32-bit addressing space Which means the theoretical maximum for 64-bit is 2^64 = 18,446,744,073,709,551,616 bytes or 18.4 Exabytes.....theoretically You may have noticed Windows doesn't have all 4GB available, this is because all hardware takes up places in the addressing space. Just so you know, Windows really knows that you have 4GB RAM, it also knows you can't use it all because of this limitation. Windows 7 will actually tell you this: ![]() Resource Monitor tells you how much space your hardware takes up: ![]() Now we know it tells us that hardware is taking up address space but how do we figure out which components are using up the most space? easy, Device Manager... Here is my graphics card as an example of how hardware takes up address space... ![]() scroll down and some more... ![]() so my gfx card is using these memory addressing spaces: FD000000 - FDFFFFFF D0000000 - DFFFFFFF FA000000 - FBFFFFFF 000A0000 - 000BFFFF well that doesn't look right, what are those letters, well that is called hexadecimal which is just a numbering system that uses a base of 16 rather than the traditional 10 we are all used to. so....since the highest number in hex is F lets check out what the highest possible number in the memory range is, which is FFFFFFFF FFFFFFFF = (hex >> decimal) = 4,294,967,295 look familiar? so how much of the addressing space is my gfx card using? FDFFFFFF - (minus, not dash) FD000000 = 16,777,215 DFFFFFFF - D0000000 = 268,435,455 FAFFFFFF - FA000000 = 16,777,215 000BFFFF - 000A0000 = 131,071 for a total of - 302,120,956 bytes, roughly 289MB of addressing space as a side note, understand that just because my gfx card has 512MB VRAM, it doesn't mean that it will be a 1:1 mapping in the address space, as you can see by this. A possible explanation to the non-1:1 mapping of VRAM: The computer accesses the vram through a base address register which is what is used to address the space. Due to hardware limitations the base address register does not encompass the entire amount of available vram. Essentially the CPU can only directly access a smaller portion of available VRAM but graphics cards have their own memory controller so it has direct access to its own memory, the entire lot of it so it gives the CPU what it needs to access and what is left is mapped only by the graphics cards. Programmers use methods such as "windowing" to access the physical memory that isn't actually in the computers virtual address space. Disclaimer: I do not see myself as an expert in this, these are just my observations. If you see anything wrong just let me know. I purposefully did not go into technical details for the fact that they really aren't necessary to understand this phenomenon. Also, if a mod has the ability to change thread titles, I think it should say 4GB RAM barrier
__________________
Intel Q6600 @ 3.00 Ghz Xigmatek HDT-S1283 ASUS P5Q SE PLUS HDDs:1 x 500GB 1x 750GB 1x 1000GB 2 x 2GB OCZ DDR2 1066 ATi Radeon HD 4870 1024MB PC Power & Cooling S61EPS 610W Logitech Z-5500 there shouldn't be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself? Last edited by gamerman4; 04-27-2009 at 06:47 PM. |
|
|
|
|
|
#2 (permalink) |
|
Diamond Member
![]() Join Date: Aug 2005
Location: Arkansas
Age: 19
Posts: 2,806
|
Anything anyone thinks they feel I should add?
__________________
Intel Q6600 @ 3.00 Ghz Xigmatek HDT-S1283 ASUS P5Q SE PLUS HDDs:1 x 500GB 1x 750GB 1x 1000GB 2 x 2GB OCZ DDR2 1066 ATi Radeon HD 4870 1024MB PC Power & Cooling S61EPS 610W Logitech Z-5500 there shouldn't be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself? |
|
|
|
|
|
#3 (permalink) |
|
Moderator
![]() Join Date: Jan 2008
Location: Northeast Ohio, But mainly infront of computer
Age: 16
Posts: 8,068
|
Should add that other things such as pci cards, sound cards, lan controllers, cpu cache, etc can also take up adressing space, not only just gfx cards.
__________________
CPU: Intel Core 2 Quad Q9450 @ 3.90Ghz Custom Water Loop | Mobo: EVGA 790i Ultra SLI | GPU: 9800gtx and GTS250 in SLI| Ram: 4GB(2 x 2gb) 1333Mhz ddr3 | Case: Xclio WTBKAdvanced | Sound: X-fi Fatal1ty Championship, Z-5500 5.1 Surround| HDD: 2x Raid 0 7200.11 500gb | PSU: Zalman ZM-1000HP |OS: Windows 7 Enterprise x64| Dont skimp on a power supply,if it fails, it usually takes out other components alongside it. New? Dont forget to read the rules, Know them so you dont break them:) My Heatware |
|
|
|
|
|
#4 (permalink) |
|
Diamond Member
![]() Join Date: Aug 2005
Location: Arkansas
Age: 19
Posts: 2,806
|
but they all work that same as far as Windows is concerned, it would just get redundant.
__________________
Intel Q6600 @ 3.00 Ghz Xigmatek HDT-S1283 ASUS P5Q SE PLUS HDDs:1 x 500GB 1x 750GB 1x 1000GB 2 x 2GB OCZ DDR2 1066 ATi Radeon HD 4870 1024MB PC Power & Cooling S61EPS 610W Logitech Z-5500 there shouldn't be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself? |
|
|
|
|
|
#5 (permalink) |
|
Diamond Member
![]() Join Date: May 2008
Location: Auckland, New Zealand
Age: 19
Posts: 1,692
|
This should definitely be a sticky. I see threads on this all of the time. This would certainly help out those who are confused. Good work
__________________
CPU: AMD Phenom X4 9950 BE MB: Asus M3N-HT 780a RAM: 4GB OCZ Platinum DDR2 800 GPU: XFX GTX 260 55nm PSU: Silverstone DA650 650 watt HDD: Seagate Barracuda 1 TB 7200.12 Case: Cooler Master CM 690 Pure Black Edition (1 of only 300) OS: Windows 7 Ultimate Other: Logitech G15, Microsoft Sidewinder, Logitech X-230 PM me for a Lockerz.com invite Folding for the good of mankind: Team 44358 |
|
|
|
|
|
#6 (permalink) |
|
Diamond Member
![]() Join Date: Aug 2005
Location: Arkansas
Age: 19
Posts: 2,806
|
A sticky would be nice. I went and increased the readability by bolding some things and stuff.
__________________
Intel Q6600 @ 3.00 Ghz Xigmatek HDT-S1283 ASUS P5Q SE PLUS HDDs:1 x 500GB 1x 750GB 1x 1000GB 2 x 2GB OCZ DDR2 1066 ATi Radeon HD 4870 1024MB PC Power & Cooling S61EPS 610W Logitech Z-5500 there shouldn't be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself? |
|
|
|
|
|
#7 (permalink) | |
|
Moderator
![]() Join Date: Jan 2008
Location: Northeast Ohio, But mainly infront of computer
Age: 16
Posts: 8,068
|
Quote:
__________________
CPU: Intel Core 2 Quad Q9450 @ 3.90Ghz Custom Water Loop | Mobo: EVGA 790i Ultra SLI | GPU: 9800gtx and GTS250 in SLI| Ram: 4GB(2 x 2gb) 1333Mhz ddr3 | Case: Xclio WTBKAdvanced | Sound: X-fi Fatal1ty Championship, Z-5500 5.1 Surround| HDD: 2x Raid 0 7200.11 500gb | PSU: Zalman ZM-1000HP |OS: Windows 7 Enterprise x64| Dont skimp on a power supply,if it fails, it usually takes out other components alongside it. New? Dont forget to read the rules, Know them so you dont break them:) My Heatware |
|
|
|
|
|
|
#8 (permalink) | ||
|
Diamond Member
![]() Join Date: Aug 2005
Location: Arkansas
Age: 19
Posts: 2,806
|
Quote:
Quote:
__________________
Intel Q6600 @ 3.00 Ghz Xigmatek HDT-S1283 ASUS P5Q SE PLUS HDDs:1 x 500GB 1x 750GB 1x 1000GB 2 x 2GB OCZ DDR2 1066 ATi Radeon HD 4870 1024MB PC Power & Cooling S61EPS 610W Logitech Z-5500 there shouldn't be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself? |
||
|
|
|
|
|
#9 (permalink) |
|
Platinum Member
![]() Join Date: Mar 2007
Location: Vermont
Age: 18
Posts: 631
|
I have a question then..
If the mapping of your video card memory is not 1:1, where is the rest mapped? Is it like, the rest of that memory is not viable by the CPU and only the GPU? Because it's definitely not mapped to I/O_Memory?
__________________
~raoul |
|
|
|
|
|
#10 (permalink) | |
|
Diamond Member
![]() Join Date: Aug 2005
Location: Arkansas
Age: 19
Posts: 2,806
|
Quote:
The computer accesses the vram through a base address register which is what is used to address the space. Due to hardware limitations the base address register does not encompass the entire amount of available vram. Essentially the CPU can only directly access a smaller portion of available VRAM but graphics cards have their own memory controller so it has direct access to all of its own memory so it gives the CPU what it needs to access and what is left is mapped by the graphics cards. Programmers use methods such as "windowing" to access the physical memory that isn't actually in the virtual address space. Source: http://download.intel.com/technology...eatures_WP.pdf http://en.wikipedia.org/wiki/Address...ing_Extensions
__________________
Intel Q6600 @ 3.00 Ghz Xigmatek HDT-S1283 ASUS P5Q SE PLUS HDDs:1 x 500GB 1x 750GB 1x 1000GB 2 x 2GB OCZ DDR2 1066 ATi Radeon HD 4870 1024MB PC Power & Cooling S61EPS 610W Logitech Z-5500 there shouldn't be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself? Last edited by gamerman4; 04-27-2009 at 07:34 AM. |
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Have 4GB ram showing 2.25 but have other issue | i3adi3oyMike | Computer Memory and Hard Drives | 2 | 05-08-2008 05:14 AM |
| utilizing 4gb memory on 32bit OS | WhiteFireDragon | Computer Memory and Hard Drives | 46 | 04-24-2008 02:04 AM |
| 4GB of RAM and 32bit Vista | speedyink | Desktop Computers | 28 | 01-30-2008 01:08 AM |
| windows Xp (32bit) and 4Gb of RAM | Archangel | Computer Memory and Hard Drives | 5 | 12-22-2007 02:38 AM |
| Amd 64bit Cpu....dual 32bit Pipeline | BJSPENCER85 | CPUs and Overclocking | 2 | 01-29-2005 02:36 PM |