There are so many things a modern computer does that we simply take for granted, but sometimes it is fun to peek under the hood and see how everything works. Today we’re investigating how exactly your computer knows what kind and amount of RAM you have installed.
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
The Question
SuperUser reader Celeritas wants to know how his computer can instantly detect what kind of RAM is inside:
Clearly it’s quite useful for the operating system to know what kind of RAM it has access to, but by what mechanism does it determine this information?
The Answers
SuperUser contributor UltraSawBlade offers the following explanation:
Other contributors offer up ways the end user can access the i2c information for themselves. AthomSfere writes:
SPD information is accessible by OSes using the i2c bus (which also includes things like temperature sensors). I think you can directly read the SPDs from Linux using various i2c utilities.
This image from the Wikipedia article has a good picture of it [seen above].
For more examples of how to access this information on Windows, Linux, and OS X machines, check out all the contributor responses here.
Will give you various RAM information you can ask for right from the command prompt.
For example,
Gives you the serial number. You can also use Speed, Model sometimes, Manufacturer and more.
WMI is the Windows method of querying SMBIOS data. Apple, Linux, Windows and anyone else who wants to run on most hardware made needs to support SMBIOS at some level, for different reasons.
You can use SMBIOS (e.g. through WMI or WMIC in Windows) to also gather hard drive information, network information (is it a 10/100 or 10/100/1000 card?).
To take it one step further, every manufacturer has a code for MAC addresses on NICs. RAM also has a manufacturers code. So all you have to do to get their code, for example my 2 x2GB in this laptop are 830B, is build a database for the manufacturers (830B might be one brand and then resold too!) and also what models mean what. That is how CPUz works I believe—basic queries and a really complete and current database.
Have something to add to the explanation? Sound off in the the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.