Motorola 6800

Motorola 68000

Le Motorola 68000, souvent appelé 68000 ou simplement 68k, est un microprocesseur introduit par Motorola en 1979. Il marque une rupture avec les processeurs 8 bits précédents de la marque et propose un modèle de programmation beaucoup plus ambitieux.

Avec ses registres de 32 bits, son bus de données externe de 16 bits et son espace d’adressage pouvant atteindre 16 Mo, le 68000 rapproche le microprocesseur du monde des ordinateurs professionnels et des mini-ordinateurs.Cette architecture trouvera quelques années plus tard sa place au cœur de machines emblématiques comme l’Apple Lisa, le Macintosh, l’Amiga ou l’Atari ST. Le 68000 devient ainsi l’un des processeurs majeurs de la micro-informatique des années 1980.

Fiche rapide

  • Constructeur : Motorola
  • Introduction : 1979
  • Famille : Motorola 68000 / 68k
  • Architecture : généralement décrite comme 16/32 bits
  • Registres : 32 bits
  • Bus de données externe : 16 bits
  • Bus d’adresses : 24 bits
  • Mémoire directement adressable : 16 Mo
  • Registres principaux : 8 registres de données D0–D7 et 8 registres d’adresses A0–A7
  • Ordre des octets : big-endian
  • Modes de fonctionnement : utilisateur et superviseur

1979 : Motorola rompt avec ses processeurs 8 bits

Le 68000 ne constitue pas simplement une version plus puissante du Motorola 6800 ou du Motorola 6809.

Motorola choisit une nouvelle architecture et un nouveau jeu d’instructions. Un programme en langage machine écrit pour un 6800 ou un 6809 ne peut donc pas être exécuté directement sur un 68000.

Cette rupture permet aux ingénieurs de repartir sur des bases plus ambitieuses. Le nouveau processeur dispose de davantage de registres, d’un espace mémoire beaucoup plus grand et de nombreux modes d’adressage.

Du point de vue du programmeur, le changement est considérable. Le 68000 ressemble moins à un traditionnel microprocesseur 8 bits qu’à une petite architecture professionnelle, dans l’esprit des machines 16 bits comme le PDP-11.

Le 68000 est-il un processeur 16 ou 32 bits ?

La réponse dépend de ce que l’on mesure.

Le 68000 possède un bus de données externe de 16 bits. Lorsqu’il communique avec la mémoire, il transfère donc normalement les données par blocs de 16 bits.

Mais son modèle de programmation est largement organisé autour de valeurs de 32 bits. Ses registres de données et ses registres d’adresses ont une largeur de 32 bits et le processeur sait manipuler des données de 8, 16 ou 32 bits.

C’est pourquoi le 68000 est fréquemment qualifié de processeur 16/32 bits.

On peut le résumer simplement :

32 bits pour une grande partie du modèle de programmation, 16 bits pour le bus de données externe.

Cette conception permet à Motorola de proposer une architecture tournée vers les logiciels futurs sans imposer un bus externe 32 bits, qui aurait rendu les systèmes plus complexes et plus coûteux à fabriquer à la fin des années 1970.

16 Mo de mémoire : un changement d’échelle

Un autre avantage majeur vient de son bus d’adresses de 24 bits.

Avec 24 bits, le processeur peut distinguer : 224 = 16 777 216 adresses soit un espace directement adressable de 16 Mo.

Le changement est spectaculaire par rapport aux microprocesseurs 8 bits à bus d’adresses de 16 bits, comme le 6809, qui disposent normalement d’un espace direct de 64 Ko.

Le 68000 offre ainsi aux programmeurs un espace mémoire linéaire considérablement plus grand. Il devient possible d’envisager des programmes plus volumineux, davantage de données et des systèmes d’exploitation plus ambitieux sans avoir recours immédiatement à des mécanismes complexes de banques mémoire.

Seize registres pour travailler

Le modèle de programmation du 68000 repose notamment sur seize registres principaux de 32 bits.

Les registres D0 à D7 servent principalement à manipuler les données.
Les registres A0 à A7 sont destinés aux adresses et aux pointeurs.

Le registre A7 possède un rôle particulier : il sert de pointeur de pile.

Cette séparation entre registres de données et registres d’adresses donne au programmeur beaucoup plus de possibilités que sur de nombreux processeurs 8 bits de la génération précédente.

Le 68000 propose également de nombreux modes d’adressage. Une instruction peut par exemple travailler directement avec un registre, une adresse mémoire, une adresse calculée à partir d’un registre ou encore avancer automatiquement un pointeur après avoir lu une donnée.

Ces possibilités rendent l’assembleur relativement expressif et facilitent également le travail des compilateurs pour des langages de haut niveau comme le C ou Pascal.

Big-endian : dans quel ordre sont stockés les octets ?

Le 68000 utilise une organisation big-endian.

Lorsqu’une valeur occupe plusieurs octets en mémoire, l’octet de poids fort est placé à l’adresse la plus basse.
Prenons par exemple la valeur hexadécimale :

$12345678

Elle est stockée en mémoire dans l’ordre :

12 → 34 → 56 → 78

Cette caractéristique n’améliore ni ne réduit les performances du processeur. Elle définit simplement la convention utilisée pour organiser les nombres de plusieurs octets en mémoire.

Un mode utilisateur et un mode superviseur

Le 68000 distingue également deux niveaux de fonctionnement : le mode utilisateur et le mode superviseur.

Les programmes ordinaires peuvent fonctionner en mode utilisateur, tandis que certaines opérations sensibles sont réservées au mode superviseur. Le système d’exploitation peut ainsi conserver le contrôle de fonctions importantes de la machine.

Cette séparation constitue une avancée intéressante pour construire des systèmes plus structurés que ceux des micro-ordinateurs 8 bits.

Il faut néanmoins éviter de lui attribuer des capacités qu’il ne possède pas : le 68000 d’origine n’intègre pas à lui seul une véritable unité de gestion mémoire ou MMU. Les systèmes nécessitant une protection mémoire plus poussée doivent ajouter du matériel externe ou utiliser des membres ultérieurs de la famille 68000.

Une architecture adaptée aux interfaces graphiques

Les qualités du 68000 apparaissent particulièrement bien au début des années 1980.

Une interface graphique demande de manipuler de nombreuses structures en mémoire : fenêtres, menus, polices de caractères, images, événements provenant du clavier ou de la souris. Des applications comme le traitement de texte ou le dessin deviennent également beaucoup plus complexes que les programmes typiques des premiers micro-ordinateurs 8 bits.

Le grand espace d’adressage et les registres du 68000 conviennent bien à cette nouvelle génération de logiciels.

L’Apple Lisa, commercialisé en 1983, l’utilise pour faire fonctionner l’une des premières interfaces graphiques commerciales destinées à un ordinateur personnel.

L’année suivante, Apple choisit encore le 68000 pour le Macintosh. Le premier modèle fonctionne avec seulement 128 Ko de RAM, mais son processeur lui permet de gérer une interface entièrement graphique comprenant fenêtres, icônes, menus et souris.

Amiga, Atari ST et Mega Drive

Apple est loin d’être le seul constructeur à adopter le 68000.

En 1985, l’Atari ST et l’Amiga 1000 reposent eux aussi sur cette architecture. Ces machines exploitent le processeur pour proposer des environnements graphiques, des applications créatives et des jeux plus évolués.

Le 68000 dépasse également le monde des ordinateurs personnels. Il équipe certaines stations de travail Sun et de nombreux systèmes industriels ou d’arcade.

À partir de 1988 au Japon, puis 1989 en Amérique du Nord et 1990 en Europe, Sega l’utilise également comme processeur principal de la Mega Drive — appelée Genesis en Amérique du Nord.

Une architecture conçue à la fin des années 1970 se retrouve ainsi aussi bien dans des ordinateurs professionnels que dans des micro-ordinateurs familiaux et des consoles de jeux.

Du 68000 à toute une famille de processeurs

Motorola a conçu dès le départ une architecture capable d’évoluer.

Le 68000 est suivi notamment par le 68010, puis le 68020, le 68030, le 68040 et enfin le 68060.

Au fil des générations, Motorola améliore les performances, élargit les bus, ajoute des caches et intègre progressivement des fonctions auparavant réalisées par des circuits externes.

La compatibilité au sein de cette famille permet aux constructeurs de faire évoluer leurs machines sans abandonner immédiatement leur environnement logiciel. Apple, Commodore et Atari utiliseront ainsi plusieurs générations de processeurs 68k.

Pourquoi le Motorola 68000 est important

L’importance du Motorola 68000 ne vient pas d’une seule innovation.

Son principal apport consiste à avoir proposé, dès la fin des années 1970, une architecture de microprocesseur suffisamment ambitieuse pour accompagner une nouvelle génération d’ordinateurs.

Ses registres de 32 bits offrent un modèle de programmation confortable, tandis que son bus de données 16 bits permet encore de construire des systèmes à un coût raisonnable. Son espace d’adressage de 16 Mo dépasse très largement les limites habituelles des microprocesseurs 8 bits.

Le 68000 contribue ainsi à faire entrer la micro-informatique dans une nouvelle période. Avec le Lisa, le Macintosh, l’Atari ST et l’Amiga, l’ordinateur personnel devient progressivement capable de gérer des interfaces graphiques et des logiciels bien plus complexes.

Le passage peut être résumé ainsi :

les microprocesseurs 8 bits avaient permis de construire l’ordinateur personnel ; le 68000 contribue à lui donner les moyens de devenir une véritable machine graphique et professionnelle.


Sources

Motorola / Freescale / NXP, M68000 8-/16-/32-bit Microprocessors User’s Manual.

Motorola / Freescale / NXP, 68000 Family Programmer’s Reference Manual.

NXP Semiconductors, documentation technique du MC68000.


Photo de couverture sous licence CC BY-SA 3.0, Wikimedia Commons.

Publications similaires

  • Intel 8080

      Le processeur qui rend le micro-ordinateur réellement “pratique” L’Intel 8080 est un microprocesseur 8 bits introduit en avril 1974. Il succède au 8008 et corrige ses limites majeures (adressage, brochage, performances). Grâce à son bus d’adresses 16 bits et son boîtier 40 broches, le 8080 rend réaliste la conception de micro-ordinateurs généralistes, avec une…

  • Intel 4004

    L’Intel 4004, commercialisé en novembre 1971, est généralement considéré comme le premier microprocesseur commercial disponible sur une seule puce. Son importance ne vient pas de sa puissance. Le 4004 fonctionne sur seulement 4 bits et contient environ 2 300 transistors. Pourtant, il introduit une idée qui va transformer l’électronique et l’informatique : les fonctions essentielles…

  • Intel 8008

    Le passage au microprocesseur 8 bits L’Intel 8008 est un microprocesseur 8 bits commercialisé en avril 1972. Il constitue le deuxième microprocesseur d’Intel, quelques mois après le 4004 de 1971. Alors que le 4004, conçu à l’origine pour des calculatrices, travaille sur des données de 4 bits, le 8008 adopte une architecture 8 bits mieux…

  • MOS 6510

    Le MOS Technology 6510 est un microprocesseur 8 bits étroitement dérivé du célèbre MOS 6502. Développé chez MOS Technology à la charnière des années 1970 et 1980, il ne constitue pas une nouvelle architecture : il reprend l’essentiel du fonctionnement du 6502 et lui ajoute principalement un port d’entrées/sorties programmable intégré au processeur.Cette évolution paraît…

  • |

    Zilog Z80

    Commercialisé en 1976, le Zilog Z80 est l’un des microprocesseurs 8 bits les plus importants de l’histoire de la micro-informatique. Conçu comme une évolution compatible avec l’Intel 8080, il enrichit considérablement son architecture tout en permettant de conserver une grande partie des logiciels déjà écrits pour le processeur d’Intel.Le Z80 va ainsi se retrouver au…

  • |

    MOS 6502

    Le MOS Technology 6502 est un microprocesseur 8 bits présenté en 1975. Son importance dans l’histoire de l’informatique ne tient pas seulement à ses caractéristiques techniques. À une époque où un microprocesseur peut encore coûter plusieurs centaines de dollars, MOS Technology propose le 6502 pour environ 25 dollars. Cette rupture de prix contribue à rendre…