Je sais, la date est passé, mais comme souvent les forums répondent à des questions pour les futurs visiteurs... et si je suis tombé dessus en cherchant des réponses sur les CPI, alors peut-être que de futurs personnes tomberont ici et aimerons avoir une réponse.
Donc j'émet une proposition de réponse, car je ne prétend pas avoir la bonne réponse, je révise justement ce truc pour mon futur partiel...
Rappel : CPI = Cycle par seconde
Pour le compilateur 1, on a 40% de A, 30% de B et 30% de C, soit un CPI[global] = 0.40*2 + 0.30*3 + 0.30*4 = 2.9 CPI
Pour le compilateur 2, on a 50% de A, 30% de B et 20% de C, soit un CPI[global] = 0.50*2 + 0.30*3 + 0.20*4 = 2.7 CPI
Du coups, le compilateur 2 présente un code qui aura un meilleur CPI sur ce processeur. 2.7 cycles par instruction, comme le processeur fait 10MHz (pas terrible au passage), on a (si je me trompe pas) 10 millions de cycles par secondes.
Soit le nombre d'instructions par secondes est : 10e+6*1/2.7 = 3.7e+6
Soit 3.7 MIPS.
l'autre nous aurait donné : 3.4 MIPS avec 2 chiffres significatifs.
Soit 0.26 MIPS de plus !
Compilo 2 est plus performant !
Du moins c'est ce que j'aurais écrit sur ma copie !
@++
Message édité par dakkon_jareth le 10-05-2013 à 18:08:36
---------------
Romain K. - Grenoble INP