Motorola 68000

De TI-Planet Wiki
Révision datée du 6 juin 2013 à 15:15 par Persalteas (discussion | contributions) (Page créée avec « En informatique et électronique, on appelle informellement '''Motorola 680x0 ou M68k ou 68k''' la famille de microprocesseurs CISC compatibles avec l'architecture du '''M... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

En informatique et électronique, on appelle informellement Motorola 680x0 ou M68k ou 68k la famille de microprocesseurs CISC compatibles avec l'architecture du Motorola 68000 : les principaux membres étant les Motorola 68000, 68020, 68030, 68040 et 68060. Dans les années 1980, cette famille était souvent comparée à la famille x86 d'Intel et considérée comme concurrente. Les microprocesseurs m68k ont notamment équipé tous les Macintosh des années 1980, tous les Amiga, les Atari ST, la Sega Megadrive et de nombreuses stations de travail, dont les premières de Sun Microsystems.

Ces processeurs équipent notamment la série de calculatrices Texas Instruments qui porte ce nom, c'est à dire la TI-89, TI-89 Titanium, TI-92, TI-92 II, TI-92 Plus, et TI-Voyage 200.


Les 680x0 ont un adressage linéaire sur 32 bits. Ils n'ont pas de mode d'adressage particulier pour les registres d'entrée-sortie. Il disposent les données en mémoire en big-endian. Les 680x0 peuvent fonctionner en mode utilisateur ou superviseur. En mode utilisateur, certaines instructions ne sont pas autorisées et déclenchent une exception. Le mode superviseur est conçu pour permettre de faire fonctionner une machine virtuelle 680x0.

Modes d'adressage

Les modes d'adressage standards sont :

  • Dn : registre de donnée N
  • An : registre d'adresse N
  • (An) : adresse = An
  • (An)+ : adresse = An, An est post-incrémenté
  • -(An) : adresse = An, An est pré-décrémenté
  • (d16,An) : adresse = d16 + An
  • (d8,An,Xn) : adresse = d8 + An + Xn
  • (bd,An,Xn) (à partir du 68020) : adresse = bd + An + Xn
  • ([bd,An],Xn,od) (à partir du 68020) : adresse = adresse dans (bd + An) + Xn + od
  • ([bd,An,Xn],od) (à partir du 68020) : adresse = adresse dans (bd + An + Xn) + od
  • (d16,PC) : adresse = d16 + PC
  • (d8,PC,Xn) : adresse = d8 + PC + Xn
  • ([bd,PC],Xn,od) (à partir du 68020) : adresse = adresse dans (bd + An) + Xn + od
  • ([bd,PC,Xn],od) (à partir du 68020) : adresse = adresse dans (bd + An + Xn) + od
  • (xxx).W : adresse de 16 bits signés
  • (xxx).L : adresse de 32 bits signés
  • # : donnée immédiate de 8, 16 ou 32 bits, valable seulement comme source

Avec :

  • d8, d16 : déplacement signé de 8, respectivement 16 bits
  • Xn : registre An ou Dn, auquel on prend 16 ou 32 bits signés, et qu'on multiplie par 1, 2, 4 ou 8 avant l'addition
  • bd, od : déplacement optionnel signé de 16 ou 32 bits
  • PC = compteur ordinal

Les modes d'adressage du 68020 de la forme ([bd,An],Xn,od) utilisent une double indirection : une première adresse est calculée, dans laquelle on lit une seconde adresse pour ensuite calculer l'adresse finale.

Voir Aussi