Le Motorola 68060 et les Mac

Comme j’en ai parlé récemment sur Twitter, et que certains ne connaissaient pas : la famille des 68000 ne s’arrête pas au 68040, loin de là. Motorola a notamment proposé le 68060 (il n’existe pas de 68050), un processeur rapide qui peut dans certains cas remplacer le 68040. Mais pas dans les Mac.

Chez Apple, le dernier Motorola utilisé est le 68040. Mais le 68060, plus rapide et assez proche du Pentium dans son architecture (superscalaire), n’a jamais été utilisé dans les Mac. On le trouve par contre dans quelques Amiga (Amiga 4000T en 1995) et – surtout – dans les cartes d’accélération pour les Amiga et Atari. Le 68060 a l’avantage de pouvoir fonctionner (presque) directement dans un emplacement prévu pour un 68040. Les adaptateurs existent, et se placent entre le socket et le CPU. Il adaptent les broches, diminuent la tension de fonctionnement – le 68060 fonctionne en 3,3 V, le 68040 en 5 V – et doublent la fréquence. Un 68060 en mode 68040 intègre en effet un multiplicateur de bus. Un appareil avec un 68040 à 33 MHz (par exemple) passe donc à 66 MHz, avec en plus les gains architecturaux. Si Motorola a validé les 68060 au mieux à 80 MHz, les dernières révisions (rev6) gravées en 320 nm montent sans soucis à plus de 100 MHz.

Un 68060 (www.cpu-world.com)

Pas dans les Mac

Le cas du Mac est un peu compliqué. L’absence de 68060 à l’époque semble lié à deux choses, une raison officielle (et technique) et une raison officieuse. La première, technique, c’est que le 68060 dispose de deux modes de fonctionnement, user et supervisor. Le premier est totalement compatible avec le 68040, le second – utilisé par Mac OS – possède quelques différences. Même chose pour la FPU, comme pour le 68040, le 68060 ne dispose pas de toutes les fonctions de la FPU dédiée (68882) et émule certaines choses en software. D’un point de vue pratique, une modification de la ROM du Mac est nécessaire, pour interpréter correctement les (rares) différences entre le 68040 et le 68060. L’explication officieuse, c’est que Daystar (une société spécialisée dans les cartes d’amélioration) avait une carte à base de 68060 pour les vieux Mac, mais qu’Apple n’a pas donné accès à la ROM pour intégrer les modifications nécessaires. Au lancement du PowerPC chez Apple, un Motorola 68060 à 66 MHz aurait en effet permis de rendre un Mac éqiuipé d’un 68040 plus rapide qu’un Mac équipé d’un PowerPC. A l’époque, la majorité des logiciels utilisait encore du code 68000 émulé sur le PowerPC et les performances restaient assez faibles (typiquement, un PowerPC 601 en émulation offrait souvent des performances moins bonnes qu’un 68040 rapide en natif). Ca a changé plus tard avec des PowerPC adaptés (le PowerPC 603e et sa mémoire cache de 16 ko) mais au lancement, c’était un mauvais plan pour Apple.

Les solutions modernes ?

En 2018, il serait techniquement possible de proposer un adaptateur. Basilisk (un émulateur) dispose en effet des routines pour modifier la ROM (c’est évidemment plus simple de patcher une ROM en mémoire) et des solutions pour remplacer la ROM d’un Mac par une version modifiable existent. Il doit dont être possible de modifier une ROM et d’utiliser un adaptateur pour améliorer un Mac. Mais est-ce vraiment utile quand l’émulation permet d’obtenir de bonnes performances avec un simple Raspberry Pi et quand il reste possible d’installer des PowerPC rapides dans les autres cas ? Surtout que je n’ai pas abordé un point : le prix. Les 68060 « complets » (avec une FPU) valent assez cher, même pour les variantes à 50 ou 66 MHz. Il faut compter parfois plus de 100 € pour un CPU, ou se passer de la FPU avec un 68LC060, un peu moins onéreux.