Un PowerPC 604e dans un Power Mac G3

Il y a un moment, j’avais trouvé une page intéressante : une personne avait réussi à installer un processeur PowerPC 604e dans un Power Mac G3. Comme j’ai finalement trouvé un G3 à vil prix et que j’avais un 604e depuis un moment dans un tiroir, j’ai testé.

Un peu d’histoire pour commencer. Lors de la création de la seconde génération de PowerPC, IBM, Motorola et Apple proposent deux types de puces : le 603 pour l’embarqué et l’entrée de gamme et le 604 pour le haut de gamme. Lors de la création de la troisième génération de PowerPC, deux designs devaient sortir au départ : une évolution du 603e et une évolution du 604e. Mais vu les résultats de l’évolution du 603e, le second est abandonné et un seul design arrive dans la troisième génération : le G3 (logique), alias PowerPC 740/750. Le G3 est plus performant que le 604 sur les calculs en entier (majoritaires à l’époque) mais assez proche sur les flottants. Comme il s’agit d’une évolution du 603e, il a l’avantage d’être assez simple (donc moins cher à produire) et de consommer peu. La différence entre PowerPC 740 et 750 est simple : le premier dispose d’une mémoire cache externe (comme les 603 et 604) et peut remplacer directement un 603e, alors que le 750 dispose d’une mémoire cache de niveau 2 sur le package, ce qui permet de monter la fréquence.

604e vs. G3

Apple a utilisé les PowerPC 750 dans pas mal de ses modèles, avec souvent un gain en performances assez élevés. Dans mon Power Mac G3, c’est un 750 à 266 MHz à l’origine, avec 512 ko de mémoire cache à la moitié de la fréquence du CPU (le ratio peut varier selon les puces). Truc amusant, l’ancien propriétaire avait overclocké la puce à 300 MHz. Mon 604e vient d’une station IBM RS/6000 et c’est un 604e « Mach 5 » prévu pour fonctionner à 375 MHz. Il n’a pas de cache de niveau 2 – ça limite énormément les performances – et utilise un connecteur ZIF, le même que le G3 d’origine. Techniquement, Apple avait visiblement prévu d’une façon ou d’une autre de passer sur du 604e ou son évolution : on voit les traces de l’emplacement pour une barrette de mémoire cache sur la carte mère.

PowerPC G3 vs. PowerPC 604e


L’emplacement pour de la mémoire cache, prévu

Dans les tests, rapidement, le 604e offre les mêmes performances en FPU que le G3. Dans les tests en entier, il n’obtient que la moitié des performances, mais c’est en partie à cause de l’absence de mémoire cache. En pratique, le G3 reste plus rapide en entier, c’est une des raisons de l’abandon du successeur du 604e. A noter que mon G3 donne des résultats un peu en-dessous de la référence du bench : j’utilise un G3 à 300 MHz avec 512 ko de cache sur un bus 66 MHz, la référence utilise sûrement une version plus rapide (bus 100 MHz ou avec 1 Mo de cache).

Le 604e


Le 604e (sans cache)


Des perfs en retrait en entier, bonnes en FPU (604e)


Des perfs meilleures en entier (merci la mémoire cache) et correctes en FPU

En résumé : le G3 consomme moins, coûte moins cher à fabriquer, offre des performances équivalentes en FPU et nettement meilleures sur les entiers (dans les benchmark) et offre des performances très nettement meilleures en usage classique. On peut comprendre les choix d’Apple.

Sous Mac OS X

Ma machine est arrivée sous Panther, un OS que le G3 beige ne supporte pas à l’origine. Il avait été installé avec XPostFacto et – malheureusement – le noyau de Panther ne démarre pas sur un PowerPC 604e (bon, il existe quelques noyaux custom). J’ai donc remis le CPU d’origine et installé Jaguar (avec un peu de mal). Malheureusement… ça ne démarre pas. Après quelques recherches, j’ai trouvé ma réponse : Mac OS X ne fonctionne pas par défaut sur un 604, sauf les premières bêta a priori (les DP). Il est possible de bidouiller avec XPostFacto pour installer Jaguar (au mieux) avec un PowerPC 603 ou 604, et d’autres solutions existent même pour Tiger. Mais dans les deux cas, ça demande pas mal de boulot : il faut changer le noyau pour une version qui ne vérifie pas le CPU (notamment). Vu que le but ici était surtout de voir si ça fonctionnait (non), je ne suis pas allé plus loin.

Sinon jour, je vous parlerais du PowerPC X704, un CPU complètement idiot qu’Apple a failli intégrer dans les Mac.