DIP-64 · MC68000P8 · dessin, pas une photo
Motorola 68000Motorola
1979
Motorola 68000
Le processeur 32 bits à l'intérieur et 16 bits à l'extérieur qui a fait tourner l'Amiga, le Macintosh et la Mega Drive.
Présenté par Motorola en septembre 1979, le 68000 avait des registres de 32 bits, 16 Mo d'espace d'adressage et un jeu d'instructions propre, à une époque où ses rivaux comptaient encore en 64 Ko. On le trouve dans tous les Amiga jusqu'à l'A600, dans les premiers Macintosh, dans l'Atari ST et dans la Mega Drive.
- 32
- 16
- 16,67
- 68 000
- 16 MB
Repartir de zéro
Au milieu des années 70, le Motorola 6800 perdait du terrain : le Zilog Z80 était plus puissant et le MOS 6502 beaucoup moins cher. Fin 1976, Colin Crook, responsable des opérations de la division semi-conducteurs, lança un nouveau projet au nom ambitieux : MACSS, Motorola Advanced Computer System on Silicon. Tom Gunter fut choisi comme architecte principal et commença à réunir l'équipe en janvier 1977.
L'équipe prit une décision courageuse : abandonner la compatibilité avec le 6800 et concevoir une architecture nouvelle, inspirée du mini-ordinateur PDP-11 de DEC, où presque toutes les instructions fonctionnent avec presque tous les registres et modes d'adressage. L'objectif était d'un million d'instructions par seconde, la valeur qui séparait alors les vrais processeurs des autres. Nick Tredennick écrivit presque tout le microcode, les petits programmes internes qui disent à la puce comment exécuter chaque instruction.
Le 68000 fut présenté en septembre 1979. Les premiers échantillons arrivèrent chez les clients en février 1980 et les puces de série commencèrent à se vendre en novembre de la même année, à 4, 6 et 8 MHz. Suivirent des versions à 10 MHz en 1981, à 12,5 MHz en 1982 et, plus tard, à 16,67 MHz.
À l'intérieur : 32 bits dans la tête, 16 dans les bras
Le programmeur voit 16 registres de 32 bits : huit de données (D0 à D7) et huit d'adresses (A0 à A7). A7 est le pointeur de pile et existe en double, un pour les programmes et un pour le système, c'est pourquoi Motorola parle de 17 registres. Pour comparer : le Z80 du Spectrum a des registres de 8 bits qui, associés par paires, atteignent 16 bits.
À l'extérieur, le 68000 est plus modeste. Le bus de données fait 16 bits, tout comme l'unité arithmétique interne, si bien qu'une addition de 32 bits se fait en deux moitiés. Motorola l'appelait un processeur 16/32 bits. Le bus d'adresses a 24 lignes, ce qui donne 16 Mo de mémoire directe. Un Z80 s'arrête à 64 Ko : le 68000 en voit 256 fois plus.
Il compte 56 types d'instructions et 14 modes d'adressage, ainsi que deux niveaux de privilège : le mode utilisateur et le mode superviseur. Grâce à la pile système séparée, chaque tâche peut avoir une petite pile, ce qui aide beaucoup le multitâche. La table des exceptions occupe les 1024 premiers octets de la mémoire, avec 256 vecteurs de 32 bits.
Chaque accès à la mémoire prend au moins quatre cycles d'horloge. L'instruction la plus simple, copier un registre dans un autre, prend exactement ces quatre cycles. À 7,09 MHz, cela donne au maximum environ 1,8 million de ces instructions par seconde ; les instructions plus complexes prennent nettement plus longtemps.
Variantes et secondes sources
Le 68000 d'origine est fabriqué en HMOS. En 1985 apparut le 68HC000, la première version CMOS, conçue par Hitachi et lancée conjointement avec Motorola : il consomme beaucoup moins d'énergie et monta jusqu'à 20 MHz. Vinrent ensuite le 68HC001, qui choisit au démarrage entre un bus de 8 ou de 16 bits, le 68EC000, version économique pour systèmes embarqués, et le 68SEC000, de 1996, entièrement statique et conçu pour fonctionner en 3,3 V.
Le 68008 (avec un bus de 8 bits) et le 68010 (avec des corrections pour la mémoire virtuelle) sont des frères directs et ont leurs propres pages. Plus tard, la famille donna naissance à des microcontrôleurs à cœur 68000, comme les DragonBall utilisés dans les Palm.
Comme c'était l'usage à l'époque, les gros clients exigeaient un second fabricant. Le 68000 fut aussi produit par Hitachi, Mostek, Rockwell, Signetics, Thomson et Toshiba. Motorola cessa de produire le 68000 HMOS le 1er juin 1996 ; les versions CMOS continuèrent pendant de nombreuses années.
Bien au-delà de l'Amiga
Côté ordinateurs personnels, le 68000 équipa l'Apple Lisa (1983) et le Macintosh d'origine, lancé le 24 janvier 1984 avec un processeur à 7,8336 MHz. Il était dans l'Atari ST de 1985, à 8 MHz, et dans le Sharp X68000, sorti en 1987 au Japon uniquement, à 10 MHz. Le Sinclair QL utilisait son frère, le 68008.
Dans les stations de travail, il ouvrit la voie à Sun (Sun-1), à Apollo et à la série 200 des HP 9000. Dans le jeu vidéo, c'est le processeur principal de la Sega Mega Drive (octobre 1988 au Japon), à environ 7,6 MHz, et de la Neo Geo (1990), à 12 MHz, et on le trouve aussi dans l'Atari Jaguar et dans de nombreuses cartes d'arcade.
Il y a des 68000 là où on les attend le moins. La HP LaserJet de 1984 en avait un à 8 MHz, et l'Apple LaserWriter de 1985, la première imprimante laser PostScript, utilisait aussi un 68000. Les calculatrices graphiques TI-89 et TI-92 de Texas Instruments tournent sur un 68000, la TI-89 d'origine à 10 MHz et les révisions suivantes à 12 MHz.
Le cœur des Amiga classiques
L'A1000, l'A500, l'A2000, le CDTV, l'A500 Plus et l'A600 utilisent tous un 68000 à 7,16 MHz (NTSC) ou 7,09 MHz (PAL). L'horloge provient du même quartz que celui qui génère l'image, pour que le processeur et les puces de l'Amiga travaillent en cadence.
L'Amiga tire parti d'un détail du 68000 : comme chaque accès à la mémoire prend quatre cycles, le processeur n'utilise normalement qu'un cycle mémoire sur deux. Les puces maison (son, disquette, sprites, image et le Copper) glissent leurs accès dans les intervalles. Quand le Blitter ou les modes graphiques les plus lourds ont besoin de plus de cycles, c'est le processeur qui attend.
Dans l'A500, l'A500 Plus, l'A1000, l'A2000 et le CDTV, le 68000 est un DIP de 64 broches, généralement sur support, ce qui permet de le remplacer ou de monter des cartes accélératrices qui s'enfichent à sa place. L'A2000 dispose en plus d'un slot dédié aux cartes processeur. Dans l'A600, le 68000 est en PLCC de 68 broches, soudé à la carte : les accélératrices pour A600 se fixent par-dessus la puce avec un clip.
Le saviez-vous…
Tom Gunter surnommait le boîtier plastique de 64 broches le « cafard du Texas » : il disait qu'il avait la taille d'une tablette de chocolat, avec beaucoup de pattes.
On dit souvent que le nom vient du nombre de transistors, environ 68 000. Gunter racontait une autre coïncidence : la puce est sortie avec une surface de 68 000 millièmes de pouce carré, à une époque où Motorola comptait 68 000 employés.
On raconte qu'IBM a écarté le 68000 de l'IBM PC pour une question de coût. Selon Gunter, IBM voulait une version avec un bus de 8 bits, comme l'Intel 8088, et Motorola refusa de la faire à temps ; le 68008 n'arriva qu'en 1982.
Steve Jobs demanda le 68000 à 15 dollars pour le Macintosh, alors qu'il se vendait 125. Motorola établit une grille de prix dégressive et, selon Gunter, le prix moyen du premier million d'unités s'établit à 14,76 dollars.
Ce serait l'un des derniers grands processeurs dessinés au crayon et sur papier : la vérification du dessin se faisait sur des plans coloriés à la main, posés sur des tables lumineuses.
Le 68000 n'a pas de broche A0. Il choisit l'octet haut ou l'octet bas avec deux signaux dédiés, UDS et LDS, et lire un mot à une adresse impaire provoque une erreur d'adresse.
Le « ST » de l'Atari ST signifie Sixteen/Thirty-two, les 16 bits à l'extérieur et les 32 à l'intérieur du 68000.
En japonais, Sharp X68000 se lit « X soixante-huit mille » : le nom de l'ordinateur est celui du processeur.





