Sous Linux, essayez la bibliothèque proccpuinfo, une API C indépendante de l'architecture pour lire /proc/cpuinfo
Sur Win32, GetLogicalProcessorInformation
vous rendra un SYSTEM_LOGICAL_PROCESSOR_INFORMATION
qui contient un CACHE_DESCRIPTOR
, qui contient les informations dont vous avez besoin.
Pour x86, l'instruction CPUID. Une recherche rapide sur Google révèle quelques bibliothèques pour win32 et c++. J'ai également utilisé CPUID via un assembleur en ligne.
Quelques informations supplémentaires :
- http://www.intel.com/Assets/PDF/appnote/241618.pdf
- http://softpixel.com/~cwright/programming/simd/cpuid.php