c# - How much memory does my CPU support? -


this second question, following first (how detect if cpu 32 or 64 bit).

i know how find out if cpu has 64 bit architecture. having 64-bit architecture, not mean can address 2^64 (=16,777,216 tb).

for example:

if run piece of code:

managementobjectsearcher searcher = new managementobjectsearcher("root\\cimv2", "select * win32_processor"); managementobjectcollection cpus = searcher.get(); foreach (managementobject queryobj in cpus) {     console.writeline("addresswidth: {0}", queryobj["addresswidth"]);      console.writeline("datawidth: {0}", queryobj["datawidth"]);      console.writeline("architecture: {0}", queryobj["architecture"]);  } 

this result in:

addresswidth: 32 (meaning, os 32-bit) datawidth: 64 (meaning, cpu 64-bit) architecture: 9 (meaning 64-bit architecture) 

now want know maximum possibly memory cpu supports. if cpu @ internet (http://ark.intel.com/products/65520) see can address 32gb of memory. how can extract information computer?

warning: questions not how memory os supports. using winxp, 32bit, supports 4gb.

the simple answer can't information computer.

the complex answer there 5 things can affect value searching:

  1. operating system: it's not 32-bit or 64-bit: physical address extension memory limits of windows versions

  2. cpu specification in manual or on manufacturer's website: processors have specified memory limit yours have 32gb.

  3. motherboard specification in manual or on manufacturer's website: motherboards have specified memory limit eg. 32gb.

  4. real memory limit of cpu: cpu architecture can 32-bit or 64-bit. simple 32-bit cpu supports 4gb of memory. in case of supporting pae theoretical addressable memory limit 64gb because cpu's address size 36-bit in case. 64-bit cpu can address 16eb (16777216 tb) of memory.

  5. real memory limit of motherboard: motherboard's chipset specification based on current architectures if there no 32gb memory modules on market manufacturer can't write or motherboard 4 memory slots supports 128gb memory because don't know. supports 32gb memory because tested 4x8gb memory.

a real life example: had intel core i7-920 cpu in gigabyte ga-ex58-ud4 motherboard. motherboard , cpu both supported max. 24gb memory based on manufacturers' webpages because there 4gb memory modules on market. used 48gb of memory in motherboard windows 7 professional x64. worked , operating system saw , use of them without problem. xeon versions of cpu architecture use max. 144gb memory based on webpage. limit same supported motherboards' 1 cpu memory limit, because there weren't memory modules larger capacity test with.

so, there many factors , specifications, can taken consideration there no real way exact amount of addressable memory of exact system.


Comments

Popular posts from this blog

Perl - how to grep a block of text from a file -

delphi - How to remove all the grips on a coolbar if I have several coolbands? -

javascript - Animating array of divs; only the final element is modified -