Investigation du Core i7

lundi 25 juin 2012Par : CyrIng

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 :

  1. L’horloge externe, réglée dans le BIOS et nommée Base Clock [BCLK]
  2. 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 :

  1. Le guide de programmation système pour les architectures Intel® 64 et IA-32
  2. 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 :

  1. Le système d’exploitation Linux
  2. Disposer des droits root
  3. Le chargement des deux modules noyau : msr et dmi-sysfs
  4. Un compilateur C ( gcc ou clang )
  5. 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