Instructions par cycle
En architecture d'ordinateur, instructions par cycle d'horloge (instruction par cycle ou IPC) est un terme utilisé pour décrire un aspect de la performance d'un microprocesseur : le nombre moyen d'instructions exécutées pour chaque cycle du signal d'horloge. À ne pas confondre avec le nombre de cycles par instruction[1].
Il est possible de dépasser la valeur de 1 instruction par cycle dans le cas d'un processeur superscalaire. On parle de processeur scalaire lorsque la valeur de 1 peut être avoisinée sans être dépassée.
Développement
modifierEstimation de performance
modifierLe nombre d'instructions par seconde d'un processeur peut être déterminé en multipliant l'IPC par la fréquence d'horloge (mesurée en cycles par seconde ou hertz) du microprocesseur en question. Le nombre d'instructions par seconde est un indicateur approximatif des performances d'un microprocesseur.
Le nombre d'instructions exécutées par cycle n'est pas une constante pour un processeur donné ; il dépend de la manière dont le logiciel en cours d'exécution interagit avec le microprocesseur, et évidemment de l'ensemble de la machine, dont en particulier de la hiérarchie mémoire. Cependant, certaines fonctions d'un microprocesseur ont pour effet d’accroitre les valeurs d'IPC au-dessus de la moyenne ; la présence de multiples unités arithmétiques et logiques (une ALU est une unité d'un microprocesseur qui peut effectuer des opérations élémentaires d’arithmétique et logique), et un court pipeline. Par comparaison de jeu d'instructions, un jeu d'instructions simple peut amener une configuration plus élevée en termes d'IPC que l'implémentation d'un jeu d'instructions plus complexe en utilisant un microprocesseur de même technologie ; cependant, le jeu d'instructions complexe peut effectuer un travail utile avec moins d'instructions.
Facteurs influençant l'IPC
modifierUn même niveau d'instructions par seconde peut être obtenu avec un haut nombre d'IPC et une basse cadence d'horloge (comme l'AMD Athlon et l'Intel Core 2), ou avec un bas nombre d'IPC et une haute cadence d'horloge (comme le Intel Pentium 4 et dans une moindre mesure l'AMD Bulldozer). Les deux sont des conceptions valables, et le choix entre les deux est dicté par l'historique, les contraintes d'ingénierie, ou par la pression du marketing.
Rapidité de calcul
modifierLe travail qui peut être fait avec n'importe quel ordinateur dépend de nombreux facteurs autres que la vitesse du processeur. Ces facteurs incluent la microarchitecture, l'agencement interne de la machine, la vitesse du système de support de stockage, la vitesse des autres périphériques attachés, l'efficacité du système d'exploitation, et surtout la conception globale du logiciel utilisé.
Pour les utilisateurs et acheteurs d'un ordinateur, les instructions par cycle ne sont pas une information particulièrement utile des performances de leur système. Pour avoir une information plus utile pour eux, un logiciel de benchmark est mieux indiqué. Avoir conscience de son existence est utile, car cela fournit un exemple simple pour comprendre pourquoi la fréquence d'horloge n'est pas le seul facteur indiquant les performances d'un ordinateur.
Références
modifier- John L. Hennessy, David A. Patterson, Andrea C. Arpaci-Dusseau. "Computer architecture: a quantitative approach". 2007.
Voir aussi
modifierArticles connexes
modifier- Nombre de cycles par instruction
- Mythe du mégahertz
- L'article test de performance fournit une introduction utile au mesure de performance de calcul pour les lecteurs intéressés à ce sujet.