2010-06-11 9 views
4

Je sais qu'il est possible d'obtenir cette information - Le gadget de la barre latérale TurboBoost d'Intel semble utiliser un contrôle ActiveX pour déterminer la vitesse d'horloge actuelle d'un processeur i3/i5/i7 lorsque TurboBoost est actif. Cependant, je veux le faire par programmation en C# - obtenir la valeur CurrentClockSpeed ​​de WMI tops out à la vitesse d'horloge maximale définie du CPU, donc en mode TurboBoost, il ne rapporte pas la vitesse d'horloge réelle actuelle.C#: comment obtenir la vitesse d'horloge actuelle d'un processeur Intel i-series lorsque TurboBoost est activé

+0

CPU-Z reflète également le changement. Peut-être jeter un oeil à la façon dont ils le font. – Gregory

Répondre

2

Je ne crois pas qu'il soit possible d'obtenir ces informations avec seulement un code sûr/géré C#, puisque WMI ne semble pas fournir ces informations. Donc je pense que vous aurez besoin d'utiliser l'instruction CPUID pour obtenir des informations détaillées du CPU qui exécute l'instruction.

Cette documentation d'Intel pourrait vous aider à démarrer:

http://www.intel.com/assets/pdf/appnote/241618.pdf

Et voici un code dangereux à utiliser avec C#:

An attempt to bring CPUID to C#

Voir aussi page 7:

Intel® Turbo Boost Technology in Intel® Core™ Microarchitecture (Nehalem) Based Processors

+0

Heh .. Je viens de trouver cet article dans votre deuxième lien il y a quelques minutes. C'est un peu sur ma tête, cependant, en ce qui concerne la façon d'utiliser cette DLL pour obtenir la vitesse d'horloge actuelle du processeur. À tout le moins, il ne semble pas que ce soit très simple à faire. – ClairelyClaire