Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Famille Motorola 68000

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuisM68k)
Un processeur Motorola 68000

Motorola 680x0 ouM68k ou68k désigne la famille demicroprocesseursCISC compatibles avec l'architecture duMotorola 68000 : les principaux membres étant lesMotorola 68000,68020,68030,68040 et68060. Dans lesannées 1980, cette famille était souvent comparée à la famillex86 d'Intel et considérée comme concurrente.

Les microprocesseursm68k ont notamment équipé tous lesMacintosh desannées 1980, tous lesAmiga, lesAtari ST, laMega Drive et de nombreusesstations de travail, dont les premières deSun Microsystems.

Les différents processeurs de la famille

[modifier |modifier le code]

Motorola a précisé lors du passage direct du 68040 au 68060 que les chiffres de dizaine impairs (68010, 68030 et l'inexistant 68050) étaient utilisés pour des améliorations minimes, pas pour des révisions complètes de lamicroarchitecture (longueur dupipeline, nombre depipelines, etc.). Le 68050 n'existe donc pas car Motorola n'a pas produit d'amélioration partielle du 68040.

Modes de fonctionnement

[modifier |modifier le code]

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. Ils disposent les données en mémoire enbig-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 unemachine virtuelle 680x0.

Selon les modèles, les fonctionnalités des 680x0 peuvent être étendues en y adjoignant uncoprocesseur mathématique et/ou uneunité de gestion de mémoire.

Jeu d'instructions

[modifier |modifier le code]

La famille 680x0 a unjeu d'instructionsCISC qui a atteint septtypes de données (sans compter les types flottants) et 18 modes d'adressages à partir duMotorola 68020 ; cela sans compter le coprocesseur arithmétique.

Registres

[modifier |modifier le code]

La famille 680x0 est basée sur desregistres 32bits.

  • 8 registres de donnée appelésD0 àD7.
  • 8 registres d'adresse appelésA0 àA7.
    • Le registreA7 est le pointeur depile, aussi appeléSP.
    • Il existe en fait deux pointeurs de pile : USP et SSP. USP est la pile utilisée en mode utilisateur, tandis que SSP est la pile utilisée en mode superviseur.

Les registres d'adresse ne peuvent être utilisés que pour les opérations arithmétiques simples comme l'addition et la soustraction. Leur utilisation est en revanche obligatoire dans de nombreux modes d'adressage de la mémoire.

Codes de condition

[modifier |modifier le code]

Les instructions arithmétiques et logiques et les copies positionnent automatiquement les bits de conditions, sauf lorsque la destination est un registre d'adresse. Il existe 5 bits de condition :

  • N(negative) : indique si le bit de poids fort du résultat est 1
  • Z(zero) : indique si le résultat est nul
  • V(overflow) : indique si le calcul a causé un débordement arithmétique
  • C(carry) : bit de retenue
  • X(extend) : n'est pas modifié par les copies, autrement prend la même valeur que C

Instructions

[modifier |modifier le code]

Les instructions sont de longueur variable, par multiples de 16 bits. La plupart des instructions prend une ou deux opérandes. Les instructions qui produisent un résultat à partir de deux opérandes sauvent le résultat dans la secondeopérande source ; par exemple :ADD.L D2,D3 additionneD2 àD3 et enregistre le résultat dansD3.

Les instructions courantes sont supportées : addition, soustraction, multiplication, division, addition et soustraction BCD, opérateurs logiques, manipulation de bit individuel, décalages et rotations de bits, sauts, sauts conditionnels, appel et retour de sous-routine. Parmi les instructions plus originales, on trouve :

  • MOVEM : transfert de 1 à tous les registres, sélectionnés par un masque de bits, avec la mémoire
  • DBcc : décrémentation d'un registre et branchement conditionnel
  • LINK etUNLK : mise à jour duframe pointer

À partir du 68020, on trouve des instructions sur les champs de bits.

Taille des opérandes

[modifier |modifier le code]

Les processeurs de la famille 680x0 peuvent travailler sur divers types d'opérandes : bit, champ de bits (à partir du 68020), octet, mot de 16 bits, mot long de 32 bits, quadruple mot de 64 bits (à partir du 68020) et entier BCD.

Sur leMotorola 68000 les accès mémoire doivent être alignés sur 16 bits. À partir duMotorola 68020, les accès non alignés sont supportés.

Mode d'adressage

[modifier |modifier le code]

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
  • #xxx : 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.

Utilisation

[modifier |modifier le code]

ParApollo Computer

[modifier |modifier le code]

Pour sesstations de travail durant lesannées 1980.

ParApple

[modifier |modifier le code]

Apple a utilisé lesprocesseurs68000 dans leLisa puis les premiersMacintosh (Macintosh 128K,Mac 512K,Mac Plus,Mac SE etClassic).

Les machines suivantes (Macintosh LC etMacintoshII) furent équipées de processeurs68020, puis lesMacintosh IIcx,IIci,IIfx,LC III etSE/30 furent équipés de68030.

Enfin, lesQuadra et derniersLC (LC 475,LC 630) eurent desprocesseurs68040 (à noter que ces derniersLC n'eurent droit qu'à une version dépourvue decoprocesseur mathématique et dénommée68LC040).

Avec l'arrivée d'une nouvelle génération demicro-ordinateursMacintosh, connus sous le nom dePower Macintosh,Apple dota ses machines deprocesseursPowerPC, conçus en commun avecMotorola etIBM.

ParAtari

[modifier |modifier le code]

Dans sa gamme d'ordinateurs personnelsAtari ST (260, 520, 1040 et Mega ST), comprenant également les STE (520 et 1040) et le MegaSTE, ce dernier ayant un cache externe relié au 68000.Les TT030 et leFalcon030 comprenaient un 68030.

Dans sa gamme de portables avec les Stacy et le ST Book.

Dans sa station de travail Atari Transputer Workstation (ATW-800), le 68000 étant associé à un transputeur T800-20.

Dans saconsole de salon Jaguar, le 68000 étant utilisé (en principe) comme simple contrôleur, la charge des calculs étant normalement supportée par TOM, processeur custom RISC 32/64Bits.

ParCommodore

[modifier |modifier le code]

Dans la gammeAmiga :

les processeurs 68020, 68030, 68040 et 68060 étaient disponibles en kit pour la plupart des modèles Amiga.

ParNeXT

[modifier |modifier le code]

Les machines NeXT utilisaient des processeurs68030 et68040.

ParPalm

[modifier |modifier le code]

Le processeurDragonBall des Palm de première génération (et des autres systèmes sousPalm OS produits parHandspring,IBM,Sony,TRGPro,Qualcomm,Symbol...) est dérivé du 68000. Les Palm plus récents utilisent des processeursARM.

ParSega

[modifier |modifier le code]

Pour la consoleMega Drive comme processeur principal, et comme processeur sonore pour laSaturn. On le retrouve également dans certains systèmes arcade, comme laSystem 16.

ParSilicon Graphics

[modifier |modifier le code]

Pour sesstations de travail, avant d'utiliser des microprocesseursMIPS.

ParSinclair

[modifier |modifier le code]

LeSinclair QL utilisa la variante68008 à bus 8bits.

ParSNK

[modifier |modifier le code]

Pour la consoleNeo-Geo AES. Pour le système d'arcadeNeo-Geo MVS.

ParSun Microsystems

[modifier |modifier le code]

Pour sesstations de travail (Sun 1, 2 puis 3), avant d'utiliser des microprocesseursSPARC.

ParTexas Instruments

[modifier |modifier le code]

Pour les calculatricesTI-89,TI-89 Titanium,TI-92,TI-92 Plus etTI Voyage 200.

Notes et références

[modifier |modifier le code]
  1. www.bigbookofamigahardware.com/bboah/product.aspx?id=4

Voir aussi

[modifier |modifier le code]


v ·m
CISC
RISC
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Famille_Motorola_68000&oldid=218750259 ».
Catégorie :
Catégories cachées :

[8]ページ先頭

©2009-2025 Movatter.jp