Motorola 88000
| Motorola 88000 | ||
| Concepteur | Motorola | |
|---|---|---|
| Bits | 32-bit | |
| Lancement | avril 1988 | |
| Architecture | RISC | |
| Type | Load-store (en) | |
| Endianness | Bi | |
| Extensions | Graphics instructions (88110 only) | |
| modifier |
||
Le 88000 (m88k pour faire court) est une architecture de jeu d'instructions RISC développée par Mitch Alsup chez Motorola dans les années 1980. Le MC88100 est apparu sur le marché en 1988, environ deux ans aprÚs les concurrents SPARC, MIPS et ARM. En raison de son lancement tardif et des retards importants dans la commercialisation du MC88110 de deuxiÚme génération, le m88k n'a connu qu'un succÚs trÚs limité en dehors de la plateforme MVME et des environnements de contrÎleurs embarqués. Lorsque Motorola a rejoint l'alliance AIM en 1991 pour développer le PowerPC, le développement ultérieur du 88000 a pris fin.
Histoire
[modifier | modifier le code]Contexte
[modifier | modifier le code]Motorola entrait dans les annĂ©es 1980 en position de force : le Motorola 68000, rĂ©cemment lancĂ©, surpassait largement tout autre microprocesseur disponible sur le marchĂ©, et son architecture 32 bits se prĂȘtait naturellement au marchĂ© Ă©mergent des stations de travail. En ce temps, Intel ne s'engageait pas de maniĂšre agressive dans les architectures 32 bits, et les autres fabricants de processeurs qui l'ont fait, notamment National Semiconductor, ont commis des erreurs lors de leurs lancements, laissant ainsi Motorola contrĂŽler l'ensemble du marchĂ© Ă l'exception de celui dominĂ© par Intel. Ă l'Ă©poque, Intel dĂ©tenait environ 80 % du marchĂ© global des ordinateurs, tandis que Motorola contrĂŽlait 90 % du reste.
C'est dans ce contexte qu'est apparu, au début des années 1980, le concept RISC. Dans un premier temps, un vif débat a opposé l'industrie pour savoir si ce concept améliorerait réellement les performances, ou si ses programmes en langage machine plus longs ralentiraient l'exécution en raison d'accÚs mémoire supplémentaires. Ce débat a pris fin au milieu des années 1980 lors de l'apparition des premiÚres stations de travail basées sur le concept RISC : le Sun-3/80 (derniÚre version), fonctionnant sur un Motorola 68030 cadencé à 20 MHz, atteignait environ 3 MIPS, tandis que le premier Sun-4/260 équipé d'un processeur SPARC à 16 MHz basé sur l'architecture RISC, atteignait 10 MIPS. Hewlett-Packard, DEC et d'autres grands constructeurs ont alors tous commencé à se tourner vers des plateformes RISC.
Ce changement de paradigme sur le marché risquait de bloquer l'accÚs de Motorola au marché des stations de travail, l'un de ses seuls bastions et parmi les plus rentables. Apple restait son seul grand client en dehors de l'univers des stations de travail ; les autres utilisateurs du 68000, notamment Atari Corporation et Commodore International, peinaient dans un marché qui se standardisait rapidement autour des compatibles IBM PC.
L'approche de Motorola
[modifier | modifier le code]Les conceptions RISC ont Ă©tĂ© une dĂ©marche consciente visant Ă adapter le processeur aux types dâopĂ©rations appelĂ©s par les compilateurs de la plateforme concernĂ©e, Ă savoir le langage C dans le cas des stations de travail Unix. Le projet fondateur IBM 801 avait dĂ©jĂ observĂ© que les compilateurs nâutilisaient gĂ©nĂ©ralement pas la grande majoritĂ© des instructions dont ils disposaient, mais privilĂ©giaient plutĂŽt la version la plus simple de ces instructions, souvent parce quâelle sâexĂ©cutait plus rapidement. Pourtant, la circuiterie dĂ©diĂ©e aux autres variantes de ces instructions ajoutait une surcharge mĂȘme pour la version la plus simple. En Ă©liminant ces instructions inutilisĂ©es du processeur, cette surcharge a Ă©tĂ© supprimĂ©e, libĂ©rant ainsi une surface importante sur la puce. Cette place disponible a permis dâaugmenter le nombre de registres du processeur, ce qui a eu un impact bien plus important sur les performances que les instructions spĂ©ciales supprimĂ©es. Pour cette raison, on peut affirmer que le concept RISC est fondamentalement dictĂ© par la conception rĂ©elle des compilateurs.
Les articles de Motorola sur la conception du 88000 Ă©voquent des instructions en un seul cycle, de grands fichiers de registres processeur et dâautres caractĂ©ristiques emblĂ©matiques du concept RISC, sans jamais mentionner le mot « RISC » une seule fois. Comme des conceptions RISC existantes Ă©taient dĂ©jĂ sur le marchĂ©, lâentreprise a dĂ©cidĂ© de ne pas tenter de rivaliser avec elles, mais plutĂŽt de concevoir le processeur le plus puissant du monde. Pour y parvenir, elle sâest inspirĂ©e des notes de conception de lâun des ordinateurs les plus rapides dâune Ă©poque prĂ©cĂ©dente, le supercalculateur CDC 6600. En particulier, elle a repris le concept de tableau de bord (scoreboard) du CDC 6600. Le scoreboard permettait au processeur dâanalyser lâutilisation des registres par chaque instruction et de dispatcher immĂ©diatement celles qui ne dĂ©pendaient pas de calculs antĂ©rieurs encore en cours ; cela rendait possible le rĂ©ordonnancement des instructions, permettant ainsi Ă celles dont les donnĂ©es Ă©taient prĂȘtes de sâexĂ©cuter pendant que les autres attendaient le chargement de leurs donnĂ©es depuis le cache ou la mĂ©moire. Ce rĂ©ordonnancement des instructions pouvait amĂ©liorer lâutilisation des ressources jusquâĂ 35 %.
La conception utilisait Ă©galement des bus dâadresse sĂ©parĂ©s pour les donnĂ©es et les instructions. Cela entraĂźnait un coĂ»t Ă©levĂ© en nombre de broches : les caches dâinstructions et de donnĂ©es disposaient chacun de 32 broches pour lâadresse et de 32 broches pour les donnĂ©es, ce qui portait Ă 128 le nombre de broches utilisĂ©es par le systĂšme complet sur le « P-bus ». Cette architecture reposait sur lâobservation quâenviron un tiers des opĂ©rations concernaient la mĂ©moire, tandis que le reste traitait des donnĂ©es dĂ©jĂ chargĂ©es. Cela favorisait fortement lâexistence dâun chemin dĂ©diĂ© aux instructions, menant Ă un cache dâinstructions externe. Initialement, les caches et les unitĂ©s de gestion de la mĂ©moire (MMU) associĂ©es Ă©taient externes ; un contrĂŽleur de cache pouvait ĂȘtre connectĂ© soit au bus de donnĂ©es, soit au bus dâinstructions, jusquâĂ quatre contrĂŽleurs pouvant ĂȘtre utilisĂ©s sur chaque bus. Ă lâintĂ©rieur du processeur, trois bus de 32 bits Ă©taient mis en Ćuvre, reliĂ©s aux unitĂ©s internes de diffĂ©rentes maniĂšres selon les besoins de lecture et dâĂ©criture des registres.
Une autre caractĂ©ristique de cette nouvelle conception Ă©tait sa prise en charge intĂ©grĂ©e de co-processeurs spĂ©cialisĂ©s, ou « unitĂ©s de fonctions spĂ©ciales » (SFU). En plus des instructions internes prises en charge nativement, il prĂ©voyait des blocs de 256 instructions rĂ©servĂ©s Ă lâusage des co-processeurs. Cette fonctionnalitĂ© sâadressait aux concepteurs souhaitant personnaliser le systĂšme : de nouvelles unitĂ©s fonctionnelles pouvaient ĂȘtre ajoutĂ©es sans modifier lâarchitecture dâensemble dâinstructions existante, garantissant ainsi la compatibilitĂ© logicielle pour les fonctionnalitĂ©s principales. Chaque processeur 88000 Ă©tait livrĂ© avec lâunitĂ© SFU1 dĂ©jĂ intĂ©grĂ©e, Ă savoir lâunitĂ© de traitement en virgule flottante (FPU). Les instructions de branchement et de saut intĂšgrent une option de branchement retardĂ© (.n), qui peut ĂȘtre spĂ©cifiĂ©e pour sâassurer que lâinstruction sĂ©quentielle suivante est exĂ©cutĂ©e avant lâinstruction cible du branchement, indĂ©pendamment de la condition de branchement. Lâutilisation dâune instruction de branchement ou dâune autre instruction susceptible de modifier le pointeur dâinstruction dans la slot de retard de branchement est dĂ©conseillĂ©e afin de prĂ©server la compatibilitĂ© future.
Mise sur le marché
[modifier | modifier le code]DĂšs 1987, il Ă©tait largement connu que Motorola concevait son propre processeur RISC. SurnommĂ© « 78000 » par lâindustrie informatique, en hommage au 68000, il est devenu le 88000 lors de sa sortie en avril 1988.
En raison de la complexitĂ© de sa conception, le processeur ne tenait pas sur une seule puce. Le 68030, lancĂ© un an plus tĂŽt, intĂ©grait 273 000 transistors, incluant lâunitĂ© arithmĂ©tique et logique (ALU) et lâunitĂ© de gestion de la mĂ©moire (MMU) sur le mĂȘme silicium, lâunitĂ© de traitement en virgule flottante (FPU) Ă©tant proposĂ©e en option sous forme de puce sĂ©parĂ©e. Ă lâinverse, le 88000 regroupait lâALU et le FPU sur la puce MC88100 Ă 750 000 transistors, tandis que la MMU et un cache de RAM statique de 16 Ko Ă©taient intĂ©grĂ©s dans la puce MC88200, Ă©galement Ă 750 000 transistors. Contrairement au 68030 oĂč le FPU Ă©tait vĂ©ritablement en option, un systĂšme 88000 fonctionnel ne pouvait ĂȘtre conçu sans au moins une puce MC88200. Les systĂšmes pouvaient intĂ©grer plusieurs puces MC88200, permettant ainsi dâaugmenter la taille du cache et de multiplier les chemins dâaccĂšs Ă la mĂ©moire principale pour amĂ©liorer les performances.
Conçu pour le haut de gamme du marchĂ©, il Ă©tait prĂ©sentĂ© comme le processeur 32 bits le plus rapide au monde lors de sa sortie. Fonctionnant Ă 20 MHz, il atteignait 34 000 Dhrystones ou 17 VUPS, contre environ 12 MIPS pour un SPARC de 12,5 MHz de la mĂȘme Ă©poque dans une SPARCstation, ou autour de 3,3 MIPS pour le 68030 cadencĂ© Ă 20 MHz. Il Ă©tait Ă©galement disponible en version 25 MHz, offrant 21 MIPS et 48 387 Dhrystones.
Ă lâĂ©poque, Motorola commercialisait le 88000 exclusivement auprĂšs du haut de gamme du marchĂ©, ciblant des secteurs tels que « les tĂ©lĂ©communications, lâintelligence artificielle, les graphismes, lâanimation en trois dimensions, la simulation, le calcul parallĂšle et les supercalculateurs », tout en suggĂ©rant que la sĂ©rie 68k existante continuerait dâĂȘtre utilisĂ©e sur le marchĂ© des stations de travail. En rĂ©alitĂ©, la plupart des clients potentiels ont ignorĂ© le 88000, et le systĂšme a connu peu dâadoption.
Mise sur le marché bis
[modifier | modifier le code]Comme la version initiale avait peu Ă©tĂ© utilisĂ©e en dehors des produits de Motorola, et que ses clients traditionnels commençaient Ă se tourner vers dâautres architectures RISC, lâentreprise a relancĂ© cette conception sous forme de puce unique, le MC88110. Ă la fin des annĂ©es 1980, plusieurs entreprises examinaient activement la sĂ©rie 88000 pour un usage futur, notamment NeXT, Apple Computer et Apollo Computer, mais elles y ont renoncĂ© toutes avant que le MC88110 ne soit finalement disponible en 1992.
Une tentative a Ă©tĂ© faite pour populariser ce systĂšme via le groupe 88open, Ă lâimage de ce que Sun Microsystems tentait de faire avec son architecture SPARC. Il semble que cette initiative ait Ă©chouĂ© dans les faits.
Abandon
[modifier | modifier le code]Au dĂ©but des annĂ©es 1990, Motorola a rejoint l'alliance AIM pour crĂ©er une nouvelle architecture RISC basĂ©e sur lâarchitecture IBM POWER. Elle a intĂ©grĂ© certaines fonctionnalitĂ©s du 88000 (comme une interface de bus compatible) dans la nouvelle architecture PowerPC afin dâoffrir Ă sa base de clients une sorte de voie de migration. Ă ce stade, le 88000 a Ă©tĂ© abandonnĂ© dĂšs que possible.
Architecture
[modifier | modifier le code]Comme le 68000 avant lui, le 88000 Ă©tait considĂ©rĂ© comme une conception « à partir de zĂ©ro »[1]. Il sâagit dâune architecture load/store purement 32 bits avec des caches dâinstructions et de donnĂ©es sĂ©parĂ©s (architecture de von Neumann Ă caches divisĂ©s) et des bus de donnĂ©es et dâadresse distincts. Elle repose sur un ensemble dâinstructions rĂ©duit mais puissant et utilise un espace dâadressage plat.
Une caractĂ©ristique architecturale inhabituelle est que les instructions entiĂšres et les instructions en virgule flottante utilisent le mĂȘme fichier de registres.
Bibliographie
[modifier | modifier le code]- (en) Alsup, « Motorola's 88000 Family Architecture », IEEE Micro, vol. 10, no 3,â , p. 48â66 (DOI 10.1109/40.56325, S2CID 30607775)
- (en) « Lifting The Lid Off The Motorola 88000 â To Find Do-It-Yourself Co-Processors », TechMonitor,â (lire en ligne)
- « Motorola's 88000 Risc In Full Volume Production », sur TechMonitor, (version du sur archive.org)
- (en) « Motorola's Risc, Set To Go In April, Is Tailored For Unix », TechMonitor,â (lire en ligne)
Notes et références
[modifier | modifier le code]- â (en) « LIFTING THE LID OFF THE MOTOROLA 88000 â TO FIND DO- IT-YOURSELF CO-PROCESSORS », sur Techmonitor, (consultĂ© le )
Liens externes
[modifier | modifier le code]- m88k website m68k/m88k reference website
- Dolphin m88k Dolphin Server Technology
- Badabada.org about m88k hardware and computers
