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:
operating system: it's not 32-bit or 64-bit: physical address extension memory limits of windows versions
cpu specification in manual or on manufacturer's website: processors have specified memory limit yours have 32gb.
motherboard specification in manual or on manufacturer's website: motherboards have specified memory limit eg. 32gb.
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.
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
Post a Comment