libcpuid provides CPU identification for the x86. It wraps the CPUID and RDTSC instructions in a portable manner and provides a lot of technical info about the processor, such as vendor, core codename, features/instruction sets, cache sizes, and more.