Question: In the Intel manual, there are tables containing listings of `Performance-Monitoring Counters`, but they are extremely specific to the particular processor family.

For example, one table lists the counters of `P6 Family`, and another lists for `Pentium`.

In `Ubuntu`, if I do `cat /proc/cpuinfo`, I get a line that says `cpu family`, but it is a single number. Is there some mapping between this number and Intel's notion of a `processor family`?

I also looked [this page](http://www.intel.com/content/www/us/en/processors/processor-numbers.html) from Intel, but it does not even mention the word "family".

Incidentally, I am on an `X3470` so I thought maybe `Xeon` was the family, but the manual does not list it.

Answer: 
For "X3470" specifically, it is based on the Nehalem micro-architecture.

In general; for Intel 80x86 and only Intel 80x86 (excluding things like Itanium and Xeon Phi/KNC, and all other 80x86 CPU manufacturers - don't forget to check the "vendor ID" string in CPUID):

* CPUID not supported means it's 80486 or older (there are ways to tell which, but you won't care as there's no performance monitoring)
* `CPUID.family == 4` means it's an 80486 (no performance monitoring)
* `CPUID.family == 5` means it's a Pentium
* `CPUID.family == 15` means it's a "Netburst" (Pentium 4, Pentium D, Pentium EE, and some Celerons and not others, and some Xeons and not others)
* `CPUID.family == 6` means it's anything from Pentium Pro (1995) to the latest Haswell (2014) except "Netburst"

For `CPUID.family == 6` you have to check the `CPUID.model` field. You can find the ranges of model numbers by painstakingly trawling through all of the various specification updates while muttering obscenities under your breath (note: this is the traditional method). I don't know if there's a less insane way of deciphering it.

Please note that there's also "marketing nonsense" (things intended for salespeople that are completely useless for software developers). This includes CPU brand names (Xeon, Celeron, Core i7, etc) and CPU model names ("X3470"). The page you were looking at is "marketing nonsense" only.
IMHO, instead of finding out the family, look for CPU capability flags like in ::

<http://lxr.linux.no/#linux+v3.13.5/arch/x86/include/asm/cpufeature.h>