MIPS, DMIPS et BogoMIPS

Analyse des performances processeur

Définition du MIPS

Le MIPS (Million Instructions Per Second) mesure le nombre d'instructions machine exécutées par seconde.

MIPS = (Nombre d’instructions) / (Temps × 10⁶)

Forme analytique :

MIPS = f / (CPI × 10⁶)

Notion de CPI et pipeline

Le CPI dépend fortement de l’architecture du processeur :

Fetch
Decode
Execute
Memory
Writeback

Un pipeline idéal permet d’atteindre un débit proche de 1 instruction par cycle.

Limites fondamentales du MIPS

Le MIPS est une métrique trompeuse pour comparer différentes architectures :

Exemple :

Un processeur RISC peut avoir plus de MIPS mais être moins performant qu’un CISC exécutant des instructions plus complexes.

Variantes du MIPS

DMIPS (Dhrystone MIPS)

Basé sur le benchmark Dhrystone simulant des charges applicatives.

DMIPS = Dhrystone / 1757

(1757 Dhrystones/s ≈ VAX 11/780 = 1 MIPS)

Autres variantes

BogoMIPS (Linux)

Le BogoMIPS est calculé au démarrage du noyau Linux pour calibrer les boucles d’attente.

while (jiffies == start) loop++;
BogoMIPS ≈ 2 × fréquence CPU (MHz) (approximation courante)

Il s'agit uniquement d’un outil interne, pas d’un benchmark.

Vers des métriques modernes

Aujourd’hui, on préfère des mesures basées sur des workloads réels :

Ces benchmarks prennent en compte :

Conclusion

Le MIPS est une mesure simple mais insuffisante pour évaluer les performances modernes. Une analyse complète nécessite des benchmarks représentatifs et une compréhension de l’architecture.