Calcul de l’IPCEdit
Le calcul de l’IPC se fait en exécutant un morceau de code défini, en calculant le nombre d’instructions au niveau de la machine nécessaires pour l’achever, puis en utilisant des minuteurs à haute performance pour calculer le nombre de cycles d’horloge nécessaires pour l’achever sur le matériel réel. Le résultat final provient de la division du nombre d’instructions par le nombre de cycles d’horloge du processeur.
Le nombre d’instructions par seconde et d’opérations en virgule flottante par seconde pour un processeur peut être obtenu en multipliant le nombre d’instructions par cycle avec la fréquence d’horloge (cycles par seconde donnés en Hertz) du processeur en question. Le nombre d’instructions par seconde est un indicateur approximatif des performances probables du processeur.
Le nombre d’instructions exécutées par horloge n’est pas une constante pour un processeur donné ; il dépend de la manière dont le logiciel particulier exécuté interagit avec le processeur, et même avec l’ensemble de la machine, en particulier la hiérarchie de la mémoire. Toutefois, certaines caractéristiques des processeurs tendent à conduire à des conceptions présentant des valeurs d’IPC supérieures à la moyenne : la présence de plusieurs unités arithmétiques et logiques (une UAL est un sous-système du processeur capable d’effectuer des opérations arithmétiques et logiques élémentaires) et des pipelines courts. Lorsque l’on compare différents jeux d’instructions, un jeu d’instructions plus simple peut conduire à une valeur d’IPC plus élevée que la mise en œuvre d’un jeu d’instructions plus complexe utilisant la même technologie de puce ; cependant, le jeu d’instructions plus complexe peut être capable d’effectuer plus de travail utile avec moins d’instructions. En tant que tel, la comparaison des chiffres d’IPC entre différents jeux d’instructions (par exemple x86 contre ARM) est généralement dénuée de sens.
Facteurs régissant l’IPCEdit
Un niveau donné d’instructions par seconde peut être atteint avec un IPC élevé et une faible vitesse d’horloge (comme l’AMD Athlon et les premiers Core Series d’Intel), ou à partir d’un IPC faible et d’une vitesse d’horloge élevée (comme l’Intel Pentium 4 et dans une moindre mesure l’AMD Bulldozer). Ces deux conceptions de processeurs sont valables, et le choix entre les deux est souvent dicté par l’histoire, les contraintes techniques ou les pressions marketing. Cependant, un IPC élevé avec une fréquence élevée donnera toujours les meilleures performances.