CPU/Mobo Looking to buy more RAM but have no info about motherboard. Need some help.

stalker said:
Why would a 64bit OS not be able to utilize 4Gigs of RAM?
Time for some reading. :)

His Mobo support max 4 Gb, max address a processor in 32 bit mode can access is also 4 GB. Now out of that some will be used by memory mapped IOs and likes (@ hardware level). This will give OS the pending memory which comes at 3 GB - 3.5 GB depending upon Mobo.

Now a 32 bit OS can utilize this with ease and 64 bit OS will not provide any advantage in this set up.

hence the statement "64 bit will do no good"

OTOH a setup on a Mobo which supports 4GB+ RAM and has 4 GB+ Ram installed as well will be benefited from 64 bit OS.
 
adi_vastava said:
Time for some reading. :)

His Mobo support max 4 Gb, max address a processor in 32 bit mode can access is also 4 GB. Now out of that some will be used by memory mapped IOs and likes (@ hardware level). This will give OS the pending memory which comes at 3 GB - 3.5 GB depending upon Mobo.

Now a 32 bit OS can utilize this with ease and 64 bit OS will not provide any advantage in this set up.

hence the statement "64 bit will do no good"

OTOH a setup on a Mobo which supports 4GB+ RAM and has 4 GB+ Ram installed as well will be benefited from 64 bit OS.
Wrong.
Maybe you should do the reading?

Like you said, his motherboard supports a maximum of 4GB of memory. That is however, the physical address space. A 32bit OS would restrict his virtual address space as well, to 4Gigs.

Using a 64bit OS will expand the virtual address space available, thereby letting him utilize the full 4Gigs of RAM that his motherboard can support. All the MMIO devices that you are talking about, get mapped to the virtual address space, NOT the physical address space.
 
stalker said:
Wrong.

Maybe you should do the reading?

Like you said, his motherboard supports a maximum of 4GB of memory. That is however, the physical address space. A 32bit OS would restrict his virtual address space as well, to 4Gigs.

Using a 64bit OS will expand the virtual address space available, thereby letting him utilize the full 4Gigs of RAM that his motherboard can support. All the MMIO devices that you are talking about, get mapped to the virtual address space, NOT the physical address space.

>>Maybe you should do the reading?

All time ready for that :), though this is not the case right now.

>>Using a 64bit OS will expand the virtual address space available, thereby letting him utilize the full 4Gigs of RAM that his motherboard can support.

That does not change any thing; First its only true for 64 bit application, all your usual 32 bit application will still see only 4 GB of virtual space (even if you run them in 64 bit OS). ATM we still have all major apps and games build in 32 bit so they will not see it. Second even larger space does not guarantee better performance but the ability to allocate more memory.(which may/may not act as a big parameter depending upon exact application )

Considering all x86 App have 4 Gb of virtual address space, out of which 2 Gb is shared kernel space and 2 Gb is app specific. Now lets say you have 20 processes running which are utilizing all their user mode virtual space, so they all need 20*2 = 40 GB virtual memory in total. So it will use page file and do swapping, page in/page out frequently.

Now two cases are,

If our RAM is 3 - 3.5 Gb, Now you do this in x86 based OS or in x64 based OS it changes nothing as they both can use the complete RAM, so you'll not really get any advantage from a 64 bit OS.

But In case our RAM is more than 4 Gb, lets take 6 Gb as example,

A 32 bit OS will only be able to see 3.5 Gb @ Max, where as 64 Bit OS can utilize complete 6GB,

So in this case 64 bit OS will be able to reduce this page/in/page out cycle by good margin and hence will improve in performance. Page in/page out means reading/writing data from disk, which is a slow operation and hence will contribute well in system performance.

--- Updated Post - Automerged ---

>>thereby letting him utilize the full 4Gigs of RAM

An application never works on physical ram (in processor protected mode) but on virtual memory, and there is a quota per process known as working set, used by Memory manager. This will tell how much physical memory is assigned to virtual address of a specific app. If it raises a specific limit. Memory manager will trim its pages and send them to page file. So just because an application needs more memory and there is 4 GB ram available does not mean it can use whole 4 GB.

--- Updated Post - Automerged ---

>>All the MMIO devices that you are talking about, get mapped to the virtual address space, NOT the physical address space.

No it is not correct as well. I learned this while I was reading about my old mother board, sharing it here, taken from http://downloadmirror.intel.com/15064/eng/DG31PR_TechProdSpec.pdf

"The board utilizes 4 GB of addressable system memory. Typically the address space

that is allocated for PCI Conventional bus add-in cards, PCI Express configuration

space, BIOS (SPI Flash), and chipset overhead resides above the top of DRAM (total

system memory). On a system that has 4 GB of system memory installed, it is not

possible to use all of the installed memory due to system address space being

allocated for other system critical functions. These functions include the following:

• BIOS/SPI Flash (4 Mb)

• Local APIC (19 MB)

• Digital Media Interface (40 MB)

• Front side bus interrupts (17 MB)

• PCI Express configuration space (256 MB)

• GMCH base address registers, internal graphics ranges, PCI Express ports (up to

512 MB)

• Memory-mapped I/O that is dynamically allocated for PCI Conventional and PCI

Express add-in cards

The amount of installed memory that can be used will vary based on add-in cards and

BIOS settings. Figure 8 shows a schematic of the system memory map. All installed

system memory can be used when there is no overlap of system addresses."

32 bit Windows operating system can see only 3.5 GB Max RAM not virtual address space. Application still gets 4 Gb of address space. It has nothing to do with virtual memory.
 
Back
Top