libcpuid (library for x86 CPU detection)
libcpuid is a small C library for x86 CPU detection and feature
extraction. Using it, you can:
* get the processor vendor, model, brand string, code name
* get information about CPU features such as: number of cores or logical
CPUs, cache sizes, CPU clock
* check if the processor implements a specific instruction set such as
SSE2 or 3DNow!
* execute the CPUID and RDTSC instructions (portably!)
* and have this all in your commercial application, without getting into
trouble.
It works on Windows, Linux and Mac OS X, both 32-bit and 64-bit
flavours. Compiler support includes GCC and Microsoft Visual C++ (and
compatible, e.g. Intel C++ compiler).