Instructions par cycle
# 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.

## Développement

### Estimation de performance

Le nombre d'instructions par seconde d'un processeur peut être déterminé en multipliant l'IPC par la fréquence d'horloge (mesuré 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, et 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

Un 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

Le 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, en ce qu'il fournit un exemple facile à comprendre pourquoi la fréquence d'horloge n'est pas le seul facteur indiquant les performances d'un ordinateur.

