Motorola 68000
microprocesseur
From Wikipedia, the free encyclopedia
Le Motorola 68000 est un microprocesseur CISC 16/32 bits développé par Motorola. Produit à partir de 1979, c'est le premier de la famille de microprocesseurs souvent appelée « m68k » ou « 680x0 », qui comprend notamment les Motorola 68010, Motorola 68020, Motorola 68030, Motorola 68040 et Motorola 68060. Le nom du 68000 évoque la famille de microprocesseurs Motorola 6800 et le nombre de transistors qu'il contient, un peu plus de 68 000.
| Production | De 1979 à 1990 |
|---|---|
| Fabricant | Motorola |
| Fréquence | 2 MHz à 16,67 MHz |
|---|---|
| Largeur bus données | 16 bits |
| Largeur bus adresse | 24 bits |
| Nombre de transistors | 68000 |
|---|---|
| Boîtier | DIL 64 broches |
| Architecture | CISC 16/32 |
|---|---|
| Boutisme | gros-boutiste |
| Famille | m68k |
| Variantes | Motorola 68008 |
|---|
Architecture
Même si l'on a essentiellement retenu l'élargissement et la multiplication des registres disponibles, ainsi que l'introduction d'une certaine orthogonalité dans le jeu d'instructions, la principale innovation de la série 68000 par rapport à son prédécesseur, le Motorola 6809, réside dans l'apparition d'instructions privilégiées et de deux niveaux de fonctionnement : utilisateur et superviseur. Cette distinction est fondamentale dans les systèmes d'exploitation modernes tels qu’Unix, qui n'auraient pu que difficilement voir le jour sur ces plates-formes sans cette innovation.
À noter la présence de l'instruction TAS (Test And Set) qui permet de tester et modifier la valeur d'un octet en mémoire en une seule instruction non interruptible. Ce type d'instruction est indispensable pour implémenter les sémaphores utilisés pour la communication entre processus, et donc les systèmes d'exploitation multitâches.
Deux petits défauts, corrigés dans le Motorola 68010, rendent cependant le 68000 incapable de bien supporter la virtualisation et la mémoire virtuelle : L'instruction MOVE from SR permet de lire la partie superviseur du registre SR même en mode utilisateur, ce qui empêche sa virtualisation ; et il n'est pas possible de relancer une instruction qui a causé une erreur d'accès à la mémoire, ce qui empêche la reprise d'un programme après avoir chargé les données manquantes.
16/32 bits
Le 68000 est considéré comme un processeur 16/32 bits, car ses registres ont une largeur de 32 bits et ses instructions acceptent des données de 8, 16 et 32 bits. Toutefois, l'ALU (Unité arithmétique et logique) a une largeur de 16 bits, ce qui fait qu’exécuter une opération sur 32 bits prend plus de cycles d'horloge que sur 8 ou 16 bits. En outre, les bus externes ont une largeur de 16 bits, pour les données, et de 24 bits, pour les adresses.
Espace mémoire

Le 68000 peut également adresser de façon linéaire un espace mémoire total de 16 mégaoctets, puisque son bus d'adresse est de 24 bits.
Cet espace mémoire peut être séparé en quatre parties (programme superviseur, données superviseur, programme utilisateur, données utilisateur) sans utilisation de circuit externe, mais par simple décodage de trois lignes d'état fournies par le processeur ; ces trois bits apportent une grande sécurité matérielle des données et permettent d'étendre l'espace mémoire à 64 mégaoctets.
Il peut être aussi utilisé avec les circuits périphériques de première génération (PIA MC6821 par exemple) grâce à des signaux de synchronisation disponibles sur le bus.
Le 68000 est big endian.
Jeu d'instructions
Le Motorola 68000 dispose de 8 registres de données 32 bits, de 7 registres d'adresse 32 bits et d'un registre de pile, ainsi que de quatre registres spéciaux décrivant l'état du processeur.
Il y a 82 instructions et le processeur supporte de nombreux modes d'adressage : accès à la pile, adressage indirect, adressage des registres par exemple.
Utilisation du 68000
- Airbus : pour le calcul des lois de pilotage de l'A320, au sein des ELAC (Elevator and Aileron Computer).
- Alstom : pour le système informatique embarqué des rames TGV Atlantique, Réseau et Duplex.
- Apple : pour ses ordinateurs personnels, d'abord le Lisa, puis les premiers Macintosh (Macintosh 128K, Mac 512K, Mac Plus, Mac SE et Classic).
- Arianespace: pour le calculateur de bord de la fusée Ariane 5.
- Atari : dans sa gamme d'ordinateurs personnels Atari ST ainsi que pour la console Jaguar.
- Commodore International : Dans sa gamme d'ordinateurs personnels Amiga (Amiga 1000, Amiga 500, Amiga 2000, Amiga 3000, Amiga 500+, Amiga 600, CDTV).
- Foenix Retro Systems : pour ses ordinateurs personnels A2560U.
- Sega : pour ses consoles de jeux vidéo Mega Drive, Mega-CD, Saturn et Nomad ainsi que ses bornes d'arcade à compter de 1984 jusque dans les années 1990 (ex : Hang-On).
- Silicon Graphics : pour ses premiers ordinateurs, prévus pour être utilisés comme terminaux IRIS 1000 et IRIS 1200.
- Sinclair : Pour son ordinateur « professionnel » Sinclair QL Il est équipé d'un processeur 68008, version 8/16/32 bits du 68000, à 7,5 MHz. Il arrive après le Lisa mais avant le Macintosh.
- Smaky 100, ordinateur Suisse issu de l'EPFL.
- SNK : pour sa console de jeux vidéo Neo-Geo AES et pour son système d'arcade Neo-Geo MVS.
- Sun Microsystems : pour ses premières stations de travail Sun-1 et Sun-100.
- Sharp : pour sa gamme d'ordinateurs Sharp X68000.
- Texas Instruments : pour les calculatrices TI-89, TI-89 Titanium, TI-92, TI-92 Plus et TI Voyage 200.
- MA Lighting : pour toute la gamme LightCommander.
Liens externes
- Archives conservées par : musée de l'histoire de l'ordinateur (102658109, 102658164, 102658109)