Motorola 68000

microprocesseur From Wikipedia, the free encyclopedia

Le Motorola 68000 est un microprocesseur CISC 16/32 bits développé par Motorola. Produit à partir de 1979, c'est le premier de la famille de microprocesseurs souvent appelée « m68k » ou « 680x0 », qui comprend notamment les Motorola 68010, Motorola 68020, Motorola 68030, Motorola 68040 et Motorola 68060. Le nom du 68000 évoque la famille de microprocesseurs Motorola 6800 et le nombre de transistors qu'il contient, un peu plus de 68 000.

Production De 1979 à 1990
Fabricant Motorola
FréquenceMHz à 16,67 MHz
Largeur bus données 16 bits
Faits en bref Production, Fabricant ...
MC 68000
Description de cette image, également commentée ci-après
Prototype du processeur Motorola XC68000L.
Informations générales
Production De 1979 à 1990
Fabricant Motorola
Performances
Fréquence MHz à 16,67 MHz
Largeur bus données 16 bits
Largeur bus adresse 24 bits
Spécifications physiques
Nombre de transistors 68000
Boîtier DIL 64 broches
Architecture et classification
Architecture CISC 16/32
Boutisme gros-boutiste
Famille m68k
Produits, marques, modèles, variantes
Variantes Motorola 68008
Historique
Fermer

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'instructions, la principale innovation de la série 68000 par rapport à son prédécesseur, le Motorola 6809, réside dans l'apparition d'instructions privilégiées et de deux niveaux de fonctionnement : utilisateur et superviseur. Cette distinction est fondamentale dans les systèmes d'exploitation modernes tels qu’Unix, qui n'auraient pu que difficilement voir le jour sur ces plates-formes sans cette innovation.

À 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 entre processus, et 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 ; et 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 considéré comme un processeur 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 qu’exécuter une opération sur 32 bits prend plus de cycles d'horloge que sur 8 ou 16 bits. En outre, les bus externes ont une largeur de 16 bits, pour les données, et de 24 bits, pour les adresses.

Espace mémoire

Version plus récente du 68000 dans un boîtier PLCC.

Le 68000 peut également adresser de façon linéaire un espace mémoire total de 16 mégaoctets, puisque son bus d'adresse est de 24 bits.

Cet espace mémoire peut être séparé en quatre parties (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 une grande sécurité matérielle des données et permettent d'étendre l'espace mémoire à 64 mégaoctets.

Il peut être aussi utilisé avec les circuits 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.

Jeu d'instructions

Le Motorola 68000 dispose de 8 registres de données 32 bits, de 7 registres d'adresse 32 bits et d'un registre de pile, ainsi que de quatre registres spéciaux décrivant l'état du processeur.

Il y a 82 instructions et le processeur supporte de nombreux modes d'adressage : accès à la pile, adressage indirect, adressage des registres par exemple.

Utilisation du 68000

Liens externes

Related Articles

Wikiwand AI