Notre précédent article sur l’overclocking du processeur Intel Core i7 nous invite à investiguer sur les moyens de programmation logicielle permettant de lire deux paramètres essentiels à son fonctionnement :
- L’horloge externe, réglée dans le BIOS et nommée Base Clock [BCLK]
- Le coefficient interne à chaque coeur du processeur [Ratio]
• pour rappel : la fréquence d’exécution d’un CPU étant le produit du coefficient et de l’horloge.
A notre disposition, deux ouvrages conséquents :
- Le guide de programmation système pour les architectures Intel® 64 et IA-32
- Les spécifications SMBIOS © Distributed Management Task Force
L’ensemble de ces volumes pesant le modeste poids de 2000 pages , nous vous présentons dans le wiki la trame logicielle, point de départ qui sera enrichie au fur et à mesure de notre compréhension des spécifications.
Les prérequis à la mise en oeuvre du logiciel sont :
- Le système d’exploitation Linux
- Disposer des droits root
- Le chargement des deux modules noyau : msr et dmi-sysfs
- Un compilateur C ( gcc ou clang )
- Optionnellement, un débogueur tel que DDD
N.B.
¹ Notre programme ″coremod″ s’exécute avec aucun, un ou deux arguments; respectivement le numéro du premier et du dernier coeur examinés.
² Aucun code de contrôle n’est exécuté pour la vérification des arguments.
Vous devez par conséquent maîtriser votre architecture, en particulier le nombre de coeurs logiques au sein de votre processeur.
³ CyrIng décline toute responsabilité sur les conséquences liées à l’usage des sources qui vous sont gracieusement offertes.
Illustration de l’exécution de coremod avec le débogueur DDD
Présentation du résultat d’exécution