PowerPC

par François Roulet, SIC-Informatique individuelle

Table des matières

Avant-propos

Cet article s'adresse avant tout aux collaborateurs de l'EPFL amenés à choisir une machine dans la gamme Apple, et recherchant des informations techniques. En effet, le but n'est pas ici de reprendre les différents articles de vulgarisation parus à propos du PowerPC et des PowerMacs, mais plutôt d'essayer d'apporter une information technique complémentaire assez poussée. De plus, nous constatons que certaines informations contradictoires, ou lacunaires, circulent, même chez les vendeurs. Dans le même esprit, plutôt que de refaire quelques chronométrages comparatifs, nous nous bornons à donner les raisons pour lesquelles une application sera avantagée ou pénalisée sur une configuration ou l'autre.

retour à la table des matières

PowerMac

Le 14 mars dernier, soit 10 ans et 2 mois après la naissance du Macintosh, Apple annonçait sa nouvelle ligne de produits, basée sur le processeur RISC développé conjointement avec IBM et Motorola.
Pour Apple, cette annonce est révolutionnaire, d'abord parce qu'elle implique plusieurs changements de stratégie, en ce qui concerne l'ouverture, les architectures matérielles et logicielles, mais aussi parce qu'elle est déterminante pour l'avenir de la firme.

retour à la table des matières

Configurations

Apple propose 3 machines, toutes dans des boîtiers connus, à savoir ceux des Quadra 610, 650 et 800.

Comme on peut le constater, l'extensibilité de ces configurations est croissante, ainsi que la performance globale, de par la fréquence de cadencement, la taille du cache mémoire secondaire, ainsi que de la mémoire principale maximale.

retour à la table des matières

Emulation 680x0

LŒobjectif d'Apple avec les PowerMac est d'exécuter correctement tout le logiciel écrit pour les anciens systèmes basés 680x0. Pour atteindre ce but, il faut une robuste émulation. Les PowerMac incluent un émulateur 68000, plus précisément 68LC040, en ROM, de 580KB environ. Ce dernier traite les instructions, excepté les virgules flottantes et la mémoire virtuelle, que le système d'exploitation exécute nativement sur le PPC. Les estimations montrent que l'émulateur utilise approximativement 10 instructions PPC pour traduire une instruction 680x0.
La rapidité de cette émulation serait totalement insuffisante, mais comme les applications non-recompilées passent la plupart de leur temps à exécuter des appels système ou du code de la ToolBox, en portant le code de celle-ci pour PPC, les applications 680x0 passeront la majeure partie de leur temps en mode natif, prenant avantage des performances du PPC. Cette dernière comprend des centaines de fonctions telles que des ouvertures de fenêtres et de boîtes de dialogue. Elle donne ainsi la possibilité à Apple d'améliorer les performances des applications émulées.
Seule une petite partie des fonctions de la ToolBox ont été portées à ce moment, mais elles constituent statistiquement la portion appelée à près de 90% du temps.
La surcharge engendrée par chaque commutation de l'émulateur est de l'ordre de 50 à 100 instructions 680x0. Si cette surcharge ne paraît pas rédhibitoire, il faut considérer que, malheureusement, la plupart des appels de fonctions de la ToolBox en appellent d'autres à leur tour, et ainsi de suite, et tous n'ont pas étés recompilés en mode natif. Ceci engendrera de multiples commutations de mode pour un seul appel à la ToolBox (!)
Afin de pallier à cet inconvénient, Apple envisage alors d'instaurer la notion de fat trap, où l'appel serait traité dans le mode momentané de fonctionnement du système, soit en natif, soit en émulation.
La plupart des applications atteignent entre 15 et 35% de la performance native, ce qui signifie qu'un PPC601 tourne en émulation approximativement à la vitesse d'un 68030 à 40 MHz (IIfx), ceci dépendant bien entendu de la proportion de temps passé dans la ToolBox.
Les essais montrent qu'un PPC601 à 80 MHz est jusqu'à 40% plus lent en émulation qu'un 68040 à 40 MHz (80 MHz interne).
On constate que les applications fortement orientées graphique, tirent un net avantage de cette astuce, telle que MacX, le serveur X11, dont la tâche est essentiellement de traduire des appels X11 en QuickDraw pour les passer à la ToolBox.

retour à la table des matières

Emulation Windows

Autre atout de ces nouveaux Macintosh, la possibilité d'acquérir un émulateur logiciel de Microsoft Windows. Cette émulation a été réalisée par la société Insignia Solutions Inc, et tire parti du potentiel de puissance du processeur PPC. Elle supporte Windows 3.1 qui est inclu, et MS-DOS 6.2 qui est pré-installé. Selon son constructeur, les performances peuvent atteindre, au mieux, celles d'un 486SX, ce qui semble réaliste pour certaines applications graphiques. Par contre, selon le programme d'évaluation «ZBench», on atteindrait environ 20% des performances du meilleur PC 486DX66. Et précisons que le jeu d'instructions émulé est celui du processeur 286. En tous cas, à défaut d'être une alternative financièrement valable à l'achat d'un PC, c'est par contre un solution de dépannage temporaire attractive.

retour à la table des matières

Mémoire

Le bus mémoire du PPC est un vrai bus 64 bits, contrairement à celui des 68020, Œ030, et Œ040 qui est à 32 bits. C'est naturellement une explication de plus de l'augmentation des performances du processeur.
Depuis 2 ans, Apple avait adopté le standard des barettes mémoires 72 broches, ayant une largeur complète de mot de 32 bits, ce qui simplifiait considérablement la configuration des machines, puisque l'on pouvait mettre les barettes une à une, contrairement aux anciennes qu'il fallait mettre quatre à quatre, de même type et dans la même banque de mémoire.
Avec l'apparition du bus PPC, il faudra recommencer à grouper les extensions mémoire deux par deux, pour former des mots de 64 bits.
Concernant l'horloge, la fréquence de cadencement déclarée des PowerMacs se réfère à celle du processeur, alors que le bus est cadencé à demi-vitesse, par opposition aux Macintosh 680x0. On pourrait dire que la fréquence d'instruction d'un PPC@80 MHz, est la même que celle d'un 68040@40 MHz. Ceci explique que les barettes mémoire de Quadra 840 peuvent sans autre être utilisées dans un 8100.
Lorsque vous déterminerez la taille mémoire de votre configuration, il vous faudra tenir compte du fait que le code exécutable pour un processeur RISC est plus volumineux que pour un processeur CISC. Toutefois, cette dilatation du code devrait typiquement se situer autour de 20%, mais attention, le disque dur, lui, devra s'attendre à des applications de double taille pour les fat binary, ou doubles codes (680x0 & PPC).

retour à la table des matières

Cache secondaire

Seul le PowerMac haut de gamme 8100 est équipé d'un cache mémoire secondaire unifié de 256 KB, en plus des 32 KB intégrés sur la puce PPC. L'incidence sur les performances globales n'est pas négligeable, et se situe aux alentours de 10%. Nous ne saurions que recommander l'adjonction de barettes SIMM de SRAM (Static RAM), pour les configurations 6100 & 7100. Apple propose pour l'instant un kit de 256 KB destiné à ces derniers. Des socles spéciaux de 160 broches, sont réservés à cet effet sur la carte mère du PowerMac. Relevons que leur carte PowerPC PDS pour Macintosh Quadra 700 dispose de 1 MB de cache, ceci étant indispensable pour compenser le goulet d'étranglement créé par le bus 680x0 de 32 bits. Les constructeurs tierces-parties, telles les firmes DayStar et TechWorks, proposent eux aussi ces caches secondaires, souvent de taille supérieure
Les 32 K de mémoire cache interne au PPC sont essentiellement occupés par l'émulateur, le code de fait le plus souvent invoqué, de 25 KB environ, ce qui inhibe en quelque sorte son efficacité pour les autres programmes. Nous voyons donc bien ici une raison valable de prévoir un cache secondaire.

retour à la table des matières

VRAM

Apple a (de nouveau) opéré un retour en arrière avec ses nouveaux contrôleurs vidéo, qui utilisent la mémoire principale comme tampon d'écran. Rappelons que les premiers Macintosh à vidéo intégrée (Mac IIci, IIsi), de par le conflit d'accès à la mémoire entre le processeur et le contrôleur d'écran, pouvaient devenir extrêmement lents si l'on désirait afficher beaucoup de plans mémoire (256 couleurs). Par la suite, Apple a fait systématiquement usage de VRAM (Video RAM) ce qui éliminait définitivement le problème (Mac LC, Quadra). Eh bien, les PowerMacs ont des vidéos âgées de 5 ans (!).
Afin de pallier à ces inconvénients, Apple propose des cartes vidéo PDS (Processor Direct Slot), sur lesquelles vous pouvez ajouter des barettes de mémoire VRAM, en fonction de vos besoins en surface d'écran et nombre de couleurs.
L'augmentation de VRAM n'a pas d'influence sur la performance, contrairement au fait de ne plus utiliser le contrôleur intégré.
Afin d'améliorer les performances, il faut impérativement installer ces cartes d'extension vidéo, pour supprimer les conflits d'accès. Précisons que Apple livre les PowerMacs 7100 et 8100 d'office avec une carte vidéo installée, ce qui nous laisse perplexes quant à l'utilité du contrôleur intégré sur la carte mère (...)

Le PowerMac 6100 ne peut pas recevoir de carte d'extension VRAM, et de fait, son processeur sera en conflit avec le contrôleur vidéo, ce qui est d'autant plus perceptible que le 6100 n'a pas de cache secondaire. Ajoutons encore, que le 6100 ne peut pas recevoir de carte NuBus sans une carte d'adaptation PDS-NuBus.
Il existe 3 cartes video «PDS» pour PowerMacs:

Chacune de ces cartes possède son propre connecteur de sortie pour moniteur Apple (DB 15 pins).
Les PowerMacs 7100 & 8100 sont équipés d'office de leur cartes d'extension VRAM correspondante, ce qui signifie qu'ils ont 2 sorties moniteur. Attention, ces deux PowerMacs ne peuvent fonctionner sans leur carte VRAM ou la carte AV, car les terminateurs du bus PDS se trouvent sur ces dernières (!)
Voici maintenant la relation entre capacité VRAM et le nombre de couleurs affichables simultanément pour chaque écran:
Relevons de ce qui précède, que si vous optez pour la carte AV, vous ne pourrez pas étendre votre VRAM au delà des 2MB soudés, et par conséquent pas afficher plus de 32000 couleurs sur un écran 21".
Par contre, la carte AV est la seule à pouvoir générer un signal vidéo de 1024x768 pixels, nécessaire pour conserver un affichage WYSIWYG (correspondance 72 pixels/pouce) sur un écran Trinitron de 19" ou 20". Si vous optez pour un écran Multiscan, il sera en principe capable de se synchroniser avec tous les modes de fonctionnement vidéo. D'ailleurs, le nouveau panneau de contrôle Moniteurs de Apple permet de changer de configuration au vol.

retour à la table des matières

Audio/Video

Pour tous ceux qui souhaitent disposer d'un PowerMac AV (Audio Video), ils peuvent le faire sous forme d'extension. En effet, contrairement aux Quadras 660AV & 840AV, dont les fonctions vidéo étaient intégrées sur la plaque mère, pour les PowerMacs il s'agit d'une carte d'extension PDS optionnelle, qui en reprend la technologie AV, toutefois sans le processeur DSP (Digital Signal Processor), rendu superflu de par la puissance du PPC. Toutes les caractéristiques d'entrée et de sortie vidéo des Quadras AV sont reprises (mêmes connecteurs), inclues les compatibilités de signal télévision NTSC, PAL et SECAM. Cette carte possède les connecteurs S-Video, ainsi que le connecteur DB-15 pour le moniteur Apple.
Cette carte AV est applicable à tous les PowerMacs, s'insère dans le socle PDS, en lieu et place de toute autre carte, telle que la carte video fournie d'usine dans les modèles 7100 & 8100. Chose surprenante, pour l'instant Apple ne nous propose pas le choix du type de carte video installée lors d'une commande de PowerMac, mais le propose pour un upgrade de Quadra 800 et 840, et nous impose la carte AV pour tous les autres upgrades (...).
Autre restriction, la carte AV est dotée de 2MB de VRAM soudée, non-extensible, ce qui signifie que vous ne pourrez pas afficher plus de 32000 couleurs sur un écran plus grand que 17 pouces.
Ajoutons encore, pour les futurs vidéastes, que la carte AV dispose d'un connecteur DAV (Digital Audio/Video), autorisant l'adjonction d'une carte NuBus de compression-décompression JPEG, interconnectée par ce dernier. Ceci vous ouvrira la voie à la vidéo numérique temps réel, plein écran, et qualité S-VHS. La firme Radius serait en train de la développer.

retour à la table des matières

Upgrades

Apple propose pour toutes les versions de Macintosh dans les boîtiers correspondants aux 3 PowerMacs, la possibilité d'effectuer un upgrade par échange de carte mère, à savoir:

6100

7100

8100

Pour les Quadras 700, 900 et 950, la seule possibilité est d'acquérir la carte PDS/PPC, qui comprend le processeur PPC, la ROM de 4MB, ainsi qu'un vaste cache secondaire de 1MB. Il en résultera un Mac parfaitement compatible avec un PowerMac, mais n'en atteignant pas les mêmes performances, en raison du bus mémoire limité à 32 bits. Une raison d'acquérir cette carte sur un Macintosh upgradable, serait économique, car elle revient à moitié moins cher. Mentionnons que la firme Daystar, propose aussi une carte équivalente, sous la désignation «PowerPro 601».
Malheureusement, il n'est prévu aucune solution pour les Macintosh antérieurs à 1991.

retour à la table des matières

Logiciels

Nous pouvons classer les applications en 4 catégories, à savoir celles:

Qui ne tournent qu'en émulation 680x0

C'est le cas de toutes les applications bureautiques, de Microsoft et de Claris, utilisées à l'EPFL.

Qui ne tournent pas en mode émulation 680x0

Heureusement rares, en particulier celles qui font appel au FPU. C'est typiquement le cas de Matlab. Bien que le logiciel SoftwareFPU permette l'émulation d'un FPU sur un processeur 680x0, il ne résoud pas le problème d'incompatibilité de Matlab.

Qui ne tournent que sur PPC

Certainement rares, ou bien alors existant en 2 versions distinctes. Nous risquons alors de voir appliquer des barêmes tarifaires distincts (...).

Qui tournent aussi bien en mode natif sur PPC que sur 680x0

Ces dernières contiennent les codes binaires pour les 2 processeurs.

Pour permettre une gestion aisée de cette multiplicité de code exécutable, Apple a choisi de placer le code PPC dans la fourche données du fichier application, cette fourche étant habituellement inutilisée pour des applications, puisque le code 680x0, ainsi que toutes les ressources, sont précisément localisées dans la fourche ressources.
Les fabricants de logiciels vont être amenés à nous fournir des installeurs intelligents, afin d'installer la version de code correspondant à la machine hôte, pour ne pas gaspiller de place disque.

retour à la table des matières

Performances

En prenant avantage des performances de l'architecture RISC, les applications écrites spécialement pour PowerPC tournent notablement plus vite que les applications écrites pour les autres processeurs, inclus le Pentium. En général, les systèmes Macintosh basés PPC offrent 2 à 4 fois la performance des plus rapides ordinateurs personnels actuels, basés 680x0 et 486. A 66 MHz, le PowerPC 601 exécute le code natif à plus de 60 SPEC int92 specmarks, et plus de 80 SPEC fp92. Dans certains tests, comme des calculs mathématiques, le PPC peut même tourner 8 à 10 fois plus rapidement que les anciens 68040.


PowerPC vs. Pentium Performance

retour à la table des matières

Evolution future

Si, dans le match PowerPC/Pentium actuel, il est encore difficile de départager les concurrents, l'avenir sera nettement plus significatif. En effet, d'ici la fin de l'année, la version 604 du processeur PPC sera disponible sur le marché, et donnera un substantiel avantage au PowerPC.


Disponibilité des processeurs

Cette nouvelle variante de la lignée PowerPC se caractérise par ses 6 unités d'instruction séparées, 3 entières, une flottante, une load&store et une pour les branchements, lui permettant de traiter jusqu'à 4 instructions par cycle d'horloge. Aussi, elle dispose de 2 caches mémoire séparés de 16 KB chacuns, pour les instructions et les données. Cadencé à 100 MHz, il affichera les remarquables performances suivantes:160 SPECint92 & 165 SPECfp92. Par comparaison, le Pentium P54C à cadence identique ne délivrera que:
100 SPECint92 & 81 SPECfp92. Intel devrait proposer un Pentium @150 MHz, disponible été Œ95, ce qui laissera le temps à Motorola d'accélérer encore les versions 604 d'ici là. Fait non moins remarquable, ce processeur, alimenté sous 3.3 V, ne devrait pas dissiper plus de 10 W.


Evolution des performances CISC par rapport à RISC

Ces chiffres nous confirment bien l'avantage essentiel de l'architecture RISC, et l'opportunité des options prises par l'alliance Motorola-IBM-Apple.

retour à la table des matières

Conclusion

Quelle option choisir dans le cadre de l'EPFL ? Devant la remarquable compatibilité de l'émulation, il n'y a pas de risque à opter pour ces nouveaux PowerMacs, sauf si vous êtes contraints d'utiliser des logiciels incompatibles, faisant appel au processeur virgule flottante. Pour tous les utilisateurs de logiciels certifiés compatibles, en l'occurrence la nette majorité, vous aurez tout intérêt à choisir cette nouvelle lignée de produits, plutôt que les anciens Macintosh 68040. Dans l'immédiat, vous n'observerez pas de différence significative de performance en faveur du PowerMac, mais à mesure que vous effectuerez les mises à jour en version native PPC de vos logiciels, vous gagnerez en performance, et ce, de façon décisive.


Proportion des ventes par type de processeurs, 1993-1995 (source: The Hartsook Letter)

Il n'y aucune autre raison de continuer avec la lignée 680x0. Dans le doute, venez tester vos applications au SIC, sur les deux PowerMac aimablement prêtés par Industrade.

retour à la table des matières


article paru dans le Flash informatique no 5 du 17 mai 1994