DIP-64 · MC68010P10 · dessin, pas une photo
Motorola 68000Motorola
1982
Motorola 68010
Le 68000 corrigé : une vraie mémoire virtuelle et une astuce pour les boucles courtes.
Le 68010, de 1982, s'enfiche dans le même support que le 68000 et corrige ce qui manquait pour la mémoire virtuelle et les machines virtuelles. Aucun Amiga n'en était équipé d'origine, mais c'est la mise à niveau la plus simple que l'on puisse faire sur un A500.
- 32
- 16
- 12,5
- 16 MB
Ce qui manquait au 68000
Le 68000 posait un problème à qui voulait de la mémoire virtuelle, la technique où le système fait comme s'il avait plus de mémoire qu'il n'en a et va chercher sur le disque ce qui manque. Quand une instruction tente de lire une mémoire absente, le processeur doit s'arrêter, attendre que le système l'apporte, puis continuer. Le 68000 ne conservait pas assez d'informations pour reprendre une instruction en cours de route.
Le 68010, lancé en 1982, règle cela : en cas d'erreur de bus, il sauvegarde son état interne sur la pile et parvient à poursuivre l'instruction ensuite. C'est ce qui a permis à des systèmes Unix comme ceux de Sun d'utiliser la mémoire virtuelle avec un processeur de la famille.
Les différences à l'intérieur
L'instruction MOVE from SR, qui lit le registre d'état du processeur, est devenue privilégiée : un programme ordinaire qui l'utilise provoque une exception. Ainsi, le 68010 satisfait les critères de Popek et Goldberg pour la virtualisation, et un système peut en faire tourner un autre par-dessus sans que celui-ci s'en aperçoive. En compensation est apparue MOVE from CCR, qui lit seulement la partie utile aux programmes.
Il ajouta un nouveau registre, le VBR, qui indique où commence la table des exceptions, au lieu qu'elle soit toujours à l'adresse zéro. Et il ajouta le mode boucle (loop mode) : si une boucle se compose d'une seule instruction courte suivie d'un DBcc, le processeur la garde en interne et cesse d'aller la chercher en mémoire à chaque tour. Dans une simple copie de mémoire, cela fait gagner beaucoup de temps.
À l'extérieur, il est presque identique au 68000 : bus de données de 16 bits, 24 bits d'adresses et 16 Mo. Motorola le vendait à 8, 10 et 12,5 MHz, en DIP de 64 broches, PLCC 68 et PGA 68. Il a existé aussi le 68012, avec 31 bits d'adresses, jusqu'à 2 Go.
Où il a servi
On le trouvait dans des stations de travail Sun (Sun-2), Apollo (DN300 et DN320), dans le HP 9000 modèle 310 et dans l'AT&T UNIX PC (3B1). En arcade, Atari l'utilisa par exemple dans Marble Madness en 1984.
Dans les ordinateurs domestiques, il resta dans l'ombre du 68000, moins cher, et le 68020 arriva dès 1984.
Le 68010 dans l'Amiga
Aucun Amiga n'est sorti d'usine avec un 68010. Mais comme il est compatible broche à broche avec le 68000 en DIP 64, il suffit de retirer l'un et de mettre l'autre dans un A500, un A1000 ou un A2000. AmigaOS reconnaît le processeur sans rien installer.
Le gain général tourne autour de 10 % à vitesse d'horloge égale. Dans les boucles courtes, le mode boucle peut apporter bien davantage, et il y a des jeux qui font beaucoup travailler le processeur où la différence se voit.
Le prix à payer, c'est MOVE from SR. Certains vieux programmes l'utilisent en mode utilisateur et se mettent à planter. Pour ces cas, il existe des programmes comme DeciGEL, qui interceptent l'exception et font le travail à la place de l'instruction.
Le saviez-vous…
L'instruction qui a cassé des programmes sur le 68010 est la même qui pose problème sur tous les processeurs de la famille venus ensuite : 68020, 68030, 68040 et 68060.
Grâce au VBR, WHDLoad peut revenir au Workbench quand vous appuyez sur la touche de sortie, ce qui est impossible sur un 68000.
Le mode boucle fonctionne comme un cache minuscule : il ne garde que deux instructions, celle du travail et celle du saut.
La fiche technique de Motorola annonce 57 types d'instructions, un de plus que le 68000.
Des propriétaires d'Atari ST et de Mega Drive ont fait le même échange de processeur que celui qu'on fait sur l'A500.
Sun passa du 68000, dans la Sun-1, au 68010 dans la deuxième génération, la Sun-2.
Où on la trouve
Aucune des machines du site n'est sortie d'usine avec ce processeur : il est arrivé sur les Amiga par des cartes accélératrices, que nous installons aussi.