Motorola 68010
Le processeur Motorola 68010 est un microprocesseur CISC 16/32 bits de la famille m68k de Motorola. Introduit en 1983[1], c'est le successeur du Motorola 68000 et le prédécesseur du Motorola 68020.
Le 68010 est très semblable au Motorola 68000 mais corrige deux défauts de ce dernier :
- il permet de relancer une instruction machine interrompue par une erreur d'accès à la mémoire ; cela permet la mise en œuvre aisée d'un système d'exploitation supportant la mémoire virtuelle ;
- il permet l'exécution d'une machine virtuelle en interdisant l'exécution de l'instruction
MOVE to SR
en mode utilisateur.
En outre, le 68010 ajoute plusieurs instructions pour le contrôle de registre et des points d'arrêt, et contient une mémoire cache d'instructions rudimentaire qui permet d'optimiser les boucles d'une instruction.
La relance d'une instruction interrompue se fait grâce à la sauvegarde de tout le contexte du processeur lors d'une interruption ou d'une exception. Avec le 68000, une solution pour pallier ce problème était d'utiliser deux microprocesseurs 68000, l'un exécutant les instructions avec un léger délai sur l'autre. En cas d'interruption, le processeur en retard reprenait le traitement.
L'exécution d'une machine virtuelle suppose deux modes de fonctionnement du processeur, appelé modes superviseur et utilisateur dans la famille m68k. L'instruction MOVE to SR
du 68000 était la seule instruction exécutable en mode utilisateur capable d'accéder à des informations de supervision. Le fait d'interdire l'exécution de cette instruction en mode utilisateur permet à un hyperviseur de machine virtuelle de librement émuler son exécution, et donc de librement émuler l'ensemble des instructions de supervision, ce qui permet in fine d'émuler une machine complète.
Les 68010 pouvaient être utilisés avec le MMU Motorola 68451 (en), mais des problèmes de conception, en particulier une pénalité d'attente d'un cycle d'horloge pour l'accès mémoire rendait cette configuration peu intéressante. D'autres fournisseurs tels que Sun Microsystems ont utilisé leur propre MMU.
Le 68010 ne fut jamais aussi populaire que le 68000, sa complexité accrue pour un coût supplémentaire ne fut pas intéressante dans la pratique. La plupart des fournisseurs qui recherchaient les fonctionnalités offertes par la MMU ont attendu le 68020. Toutefois en raison de ses performances légèrement accrues par rapport au 68000, il a été utilisé dans un certain nombre de stations de travail Unix et dans les machines de recherche. En outre, une version spéciale dont les branchements étaient compatibles avec le 68000 a équipé un certain nombre d'ordinateurs Amiga dans les années 1980.
Utilisations du 68010
Par Sun Microsystems
Pour les stations de travail Unix (Sun-100U, Sun-2)
Par Silicon Graphics
Pour les stations de travail Unix (IRIS 1400, IRIS 1500, IRIS 2000 (sauf Turbo))
Notes et références
- 1989: Intel and Motorola chip wars, Mercury News, 10 avril 1989