Comme toute chose compliquée, vous pouvez décrire le fonctionnement d’un processeur à différents niveaux.
Au niveau le plus fondamental, un processeur est piloté par une horloge précise. La fréquence de l'horloge peut changer; pense SpeedStep d'Intel. Mais à tout moment, le processeur est absolument verrouillé à 100% sur le signal d'horloge.
Les instructions de la CPU fonctionnent à un niveau beaucoup plus élevé. Une seule instruction est une chose complexe et peut prendre de moins d'un cycle à des milliers de cycles pour terminer comme expliqué ici sur Wikipedia .
Donc, fondamentalement, une instruction consomme un certain nombre de cycles d'horloge . Dans les processeurs modernes, en raison de technologies telles que les cœurs multiples, l'HyperThreading, le traitement en pipeline, la mise en cache, le dérèglement et l'exécution spéculative, le nombre exact de cycles d'horloge pour une seule instruction n'est pas garanti et varie chaque fois que vous émettez une telle instruction. !
MODIFIER
Existe-t-il des informations disponibles sur la variance pour un processeur spécifique?
Oui et non. 99,99% des utilisateurs finaux sont intéressés par les performances globales , qui peuvent être quantifiées en exécutant divers tests.
Ce que vous demandez, ce sont des informations hautement techniques. Intel ne publie pas d’informations complètes ou précises sur la latence / le débit des instructions de l’UC .
Il y a des chercheurs qui ont pris l'initiative d'essayer de comprendre cela. Voici deux fichiers PDF pouvant vous intéresser:
Malheureusement, il est difficile d’obtenir des données sur la variance . Citant du premier PDF:
les nombres indiqués sont des valeurs minimales. Les erreurs de cache, les défauts d'alignement et les exceptions peuvent augmenter considérablement le nombre d'horloges.
Lecture intéressante quand même!