Do you sometoimes feel like really getting to know the processor in your computer? You know, getting up close and personal? Then try this at home (or work, or wherever). Open up a shell prompt and type the following.
cat /proc/cpuinfo
Lots of cool information related to your processor will appear, such as your processor’s speed, the model, who makes it, and the ever popular bogomips, to name a few. Another way to see this information is to run kinfocenter and click on the Processor item in the sidebar (see image below).
http://www.marcelgagne.com/images/kinfocenter_processor.jpg
Look at the “flags” though and the list of things listed. Some of them are pretty obvious, like fpu (floating point unit), but then there are things like cx8. What the heck is cx8 and where does Linux get this information from anyhow?
Well, for starters, those flags don’t have anything to do with any particular Linux vendor or kernel release. They are CPUID feature flags defined by the manufacturer of the specific chip in your machine. For instance, to discover what those flags are for a Pentium 4 processor, I would head to the documentation section of the Intel site.
http://www.intel.com/design/pentium4/documentation.htm
On that page, I would pull up the CPUID instruction document (in PDF format) and look for the “feature flags” related to that processor. For instance, my flags list cx8 in the list which the document describes as “The compare exchange 8 bytes instruction is supported”.
I don’t know how clear that is, but at least you can find out what each of the flags represent, at least to an engineer. It’s all terribly geeky and trivial, but I also thought it was kind of fun.
— Marcel