The primary specification for multiprocessor x86-based setups is the Intel MultiProcessor Specification (last updated, AFAIK, to revision-006 on 1995-05-15).
- ACPI
- MP Table
- Interactions with cpuid
- /proc/cpuinfo / x86info / Intel terminology (see also this thread):
- A physical_id corresponds to a socket ("physical package"), of which there are >=1 per machine
- A core_id corresponds to a core ("logical processor"), of which there are >=1 per physical_id
- A processor ID corresponds to an architectural state (HyperThreading == 2 per HyperThreaded core)
- HyperThreading is in use only if 'siblings' != 'cpu cores' (from http://kbase.redhat.com/faq/FAQ_46_10715.shtm)
- The 'ht' processor capabilities bit corresponds not to HyperThreading, but to the ability to report sibling count
- HyperThreading requires CPU, BIOS and OS support. It's present only on some P4's and Xeons, NOT Core2Suo.