Motorola 68000

Infos
Préversion du processeur Motorola XC68000L Apparu en 1979, le Motorola 68000 est un microprocesseur CISC 16/32 bits développé par Motorola. C'est le premier de la famille de microprocesseurs souvent appelée m68k ou 680x0, qui comprend notamment les microprocesseurs Motorola 68010, Motorola 68020, Motorola 68030, Motorola 68040 et Motorola 68060. Le nom du 68000 vient à la fois de la continuité avec la famille de microprocesseurs Motorola 6800 et du nombre de
Motorola 68000

Préversion du processeur Motorola XC68000L Apparu en 1979, le Motorola 68000 est un microprocesseur CISC 16/32 bits développé par Motorola. C'est le premier de la famille de microprocesseurs souvent appelée m68k ou 680x0, qui comprend notamment les microprocesseurs Motorola 68010, Motorola 68020, Motorola 68030, Motorola 68040 et Motorola 68060. Le nom du 68000 vient à la fois de la continuité avec la famille de microprocesseurs Motorola 6800 et du nombre de transistors qu'il contient, un peu plus de 68 000.

Architecture

Même si l'on a essentiellement retenu l'élargissement et la multiplication des registres disponibles, ainsi que l'introduction d'une certaine orthogonalité dans le jeu d'instruction, la principale innovation de la série 68000 par rapport à son prédecesseur, le Motorola 6809, réside dans l'apparition d'instructions privilégiées et des niveaux de fonctionnement utilisateur - superviseur. Cette distinction est fondamentale dans les systèmes d'exploitation modernes tels Unix, qui n'auraient pu que difficilement voir le jour sur ces plates-formes sans cette innovation. A noter la présence de l'instruction TAS (Test And Set) qui permet de tester et modifier la valeur d'un octet en mémoire en une seule instruction non interruptible. Ce type d'instruction est indispensable pour implémenter les sémaphores utilisés pour la communication inter-processus, donc les systèmes d'exploitation multitâches. Deux petits défauts, corrigés dans le Motorola 68010, rendent cependant le 68000 incapable de bien supporter la virtualisation et la mémoire virtuelle : L'instruction MOVE from SR permet de lire la partie superviseur du registre SR même en mode utilisateur, ce qui empêche sa virtualisation ; il n'est pas possible de relancer une instruction qui a causé une erreur d'accès à la mémoire, ce qui empêche la reprise d'un programme après avoir chargé les données manquantes.

16/32 bits

Le 68000 est qualifié de 16/32 bits car ses registres ont une largeur de 32 bits et ses instructions acceptent des données de 8, 16 et 32 bits. Toutefois, l'ALU (Unité arithmétique et logique) a une largeur de 16 bits, ce qui fait que les opérations sur 32 bits prennent plus de cycles d'horloge pour être exécutées. En outre, les bus externes ont une largeur de 16 bits pour les données et de 24 bits les adresses.

Espace mémoire

Version plus récente du 68000 Le 68000 peut également adresser de façon linéaire un espace mémoire total de 16 méga-octets. Cet espace mémoire peut être séparé en quatre parts (programme superviseur, données superviseur, programme utilisateur, données utilisateur) sans utilisation de circuit externe, mais par simple décodage de trois lignes d'état fournies par le processeur. Ces trois bits apportent un grande sécurité matérielle des données et permettent d'étendre l'espace mémoire à 64 méga-octets. Le 68000 est également particulièrement adapté à une configuration multiprocesseurs. Il peut être aussi utilisé avec les circuit périphériques de première génération (PIA MC6821 par exemple) grâce à des signaux de synchronisation disponibles sur le bus. Le 68000 est big endian.

Registres du 68000

-8 registres de données 32 bits :
-D0, D1, D2, D3, D4, D5, D6, D7
-7 registres d'adresse 32 bits :
-A0, A1, A2, A3, A4, A5, A6
-le 8 registre d'adresse est le pointeur de pile correspondant au mode d'exécution utilisateur ou superviseur (USP ou SSP)
-A7 ou SP
-4 registres spéciaux :
-PC (compteur ordinal 32 bits)
-SR (registre d'état 16 bits, l'octet de poids faible est appelé CCR)
-USP (pointeur de pile utilisateur 32 bits)
-SSP (pointeur de pile superviseur 32 bits)

Registre d'état et registre de codes conditions

Registre de Codes Condition CCR et Registre d'état SR: Le registre d'état SR 16 bits se compose de deux octets distincts: Poids faible : Octet utilisateur (CCR). Poids fort : Octet superviseur. Ce registre reflète l'état du processeur après chaque instruction, ce qui permet d'autoriser ou interdire les interruptions, ou tester le résultat d'une opération pour un branchement conditionnel par exemple. Détail du SR et du CCR: b15 b0 T.S..III...XNZVC SR CCR Octet Superviseur: T: mode Trace S: état Superviseur I: masque d'Interruption 2 I: masque d'Interruption 1 I: masque d'Interruption 0 Octet Utilisateur CCR: X: bit d'eXtension N: bit de signe (Negative) Z: bit de Zero V: bit de débordement (oVerflow) C: bit de retenue (Carry) En mode Utilisateur, on ne peut écrire que dans le CCR. En mode Superviseur, on peut écrire dans tout le SR.

Modes d'adressage

Les différents modes d'adressage sont: Adressage Immédiat: MOVE.W
-$1000, A0 La valeur $1000 est mise dans A0 ADD.B
-$C2, $2000 La valeur $C2 au contenu de la case $2000 Adressage Immédiat rapide (Quick): ADDQ
-$04, D0 Comme adressage immédiat, mais sur 8 bits Adressage Registre de Données: MOVE.B D1, $1000 Un des opérandes est un registre Dn NOT D0 Adressage Registre d'adresse: MOVE A0, D0 Un des opérandes est un registre An MOVE D0, A0 Adressage Registre Implicite: RTS Aucun registre n'est spécifié Adressage Absolu Court: MOVE.B $1200, D0 Le contenu de la case $1200 est mis dans D0 Adressage Absolu Long: MOVE.B $10000, D0 Le contenu de la case $10000 (32 bits) est mis dans D0 Adressage Indirect: MOVE.B (A0), D0 Le contenu de la case mémoire dont l'adresse se trouve dans A0 est mis dans D0 Adressage Indirect avec Post Incrémentation: MOVE.B D0, (A1)+ Le contenu de D0 est mis dans la case mémoire dont l'adresse se trouve dans A1. Le registre A1 est ensuite incrémenté Adressage Indirect avec Pré Décrémentation: MOVE.B -(A1), D0 Le registre A1 est décrément‚ et le contenu de la case mémoire dont l'adresse se trouve dans A1 est mis dans D0 Adressage Indirect avec Déplacement: MOVE $02(A0), D1 Le contenu de la case mémoire dont l'adresse est indiquée par A0+$02 est mis dans D1 Adressage Indirect avec Déplacement et Index: MOVE $02(A1, D0.W), A2 Le contenu de la case mémoire dont l'adresse est indiquée par A1+$02+ est mis dans A2 Adressage Relatif au PC: BNE Boucle L'adresse est indiquée par PC + Boucle Adressage Indexé Relatif au PC: MOVE Label(A1), D0 Le contennu de la case mémoire dont l'adresse est donnée par A1+Label est mis dans D0

Jeu d'instructions


-ABCD Addition décimale avec le bit d'extension X du CCR Syntaxe: ABCD Dy, Dx ou ABCD -(Ay), -(Ax) Opérande: Octet Addition BCD entre deux registres de données Dy, Dx ou entre deux cases mémoires adressées en -(Ay), -(Ax). CCR X: Idem à C V: Indéfini N: Indéfini C: 1 si retenue décimale, sinon 0 Z: 0 si résultat0, sinon inchangé Exemple: ABCD D0, D1 ABCD -(A0), -(A1)
-ADD Addition binaire Syntaxe: ADD , Dn ou ADD Dn, Opérande: Octet, Mot, Mot long Addition binaire entre un opérande et le contenu d'un registre Dn. CCR X: Idem à C V: 1 si débordement N: 1 si résultat
Sujets connexes
Adresse   Airbus   Airbus A320   Amiga   Amiga 1000   Amiga 2000   Amiga 500   Amiga 600   Apple, Inc.   Apple Lisa   Atari   Atari ST   CISC   Commodore International   Console de jeux vidéo   Interruption (informatique)   Machine virtuelle   Macintosh   Macintosh 128K   Macintosh 512K   Macintosh Classic   Macintosh Plus   Macintosh SE   Megadrive   Microprocesseur   Motorola   Motorola 6800   Motorola 68010   Motorola 68020   Motorola 68030   Motorola 68040   Motorola 68060   Motorola 6809   Mémoire informatique   Mémoire virtuelle   Octet   Ordinateur personnel   Registre (informatique)   SNK   Sega   Silicon Graphics   Smaky   Station de travail   Sun Microsystems   Système d'exploitation   Sémaphore (informatique)   TI-89   TI-89 Titanium   TI-92   TI-92 Plus   TI Voyage 200   Texas Instruments   Thomson (entreprise française)   Transistor   Unité arithmétique et logique  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^