Twitter YouTube SoundCloud LinkedIn

Tiennot blog

Culture informatique (épisode 2) : le Motorola 68000

Samedi 25 juin 2011, 0:04 (par guilhem)

Depuis l'apparition du tout premier microprocesseur, l'Intel 4004 en 1971, ses successeurs n'ont cessé de gagner en puissance de calcul. Nous allons nous intéresser à un microprocesseur apparu environ 8 ans plus tard, le 68000 de Motorola, dont les dérivés restent encore abondamment utilisés dans l'électronique embarquée d'aujourd'hui.

Apparu 8 ans après le tout premier microprocesseur (donc en 1979), le Motorola 68000 fonctionnait à une fréquence de 10 MHz, et comptait un peu plus de 68000 transistors (cette caractéristique étant à l'origine de son nom), là où l'Intel 4004 n'incorporait que 2300 transistors pour une fréquence de 740 kHz.

Caractéristiques techniques

Le 68000 compte 8 registres de données d0-d7, et 7 registres d'adresses a0-a6, avec en plus le registre a7 faisant office de pointeur de pile. Tous ces registres sont d'une taille de 32 bits. Cependant, le bus externe du microprocesseur étant de 16 bits, on qualifie souvent le 68000 de 16/32 bits.

image : /images/blog/motorola_68000_0001.png
Motorola 68030 sur un Apple Macintosh IIci de 1991

Il est possible de distinguer deux modes d'exécution du 68000 : le mode superviseur et le mode utilisateur. Le premier autorise un accès total aux fonctionnalités du microprocesseur, notamment au contrôle des interruptions et au mode de débogage (bit trace du registre d'état SR), tandis que le second ne peut faire usage que des fonctionnalités de calcul classique. Notons aussi qu'en mode utilisateur, on n'a accès qu'à l'octet de poids faible du registre d'état SR (alors nommé CCR), l'octet de poids fort étant réservé au contrôle des fonctionnalités avancées présentées précédemment.

Le Motorola 68000 est un processeur de type CISC (Complex Instruction Set Computer). Cela signifie que son jeu d'instructions est étendu, et que chacune d'entre elle prend un temps variable pour s'exécuter. En particulier, les opérations sur 32 bits sont plus longues, car l'unité de calcul ne prend en charge que des nombres sur 16 bits.

Utilisation

Le Motorola 68000 et ses successeurs ont été abondamment employés dans les ordinateurs serveurs et personnels au cours des années 80. Il s'est notamment illustré dans les Macintosh II d'Apple (il s'agissait de Motorola 68020 et 68030). Aujourd'hui, la famille des m68k connaît encore un certain succès dans le matériel embarqué. On les retrouve ainsi dans les domaines suivants (liste non exhaustive) :

- aéronautique : dans certains systèmes de commande des Airbus
- ferroviaire : dans les calculateurs embarqués du KVB de la SNCF (contrôle de la vitesse à bord des trains)
- scolaire : dans les calculatrices programmables de chez Texas Instrument (TI-89 et TI-92)

image : /images/blog/motorola_68000_0002.png
Une calculatrice TI-89 avec un Motorola 68000

Ce succès s'explique par la grande simplicité du jeu d'instruction des m68k au regard des processeurs x86 aujourd'hui, ce qui leur apporte un atout important en terme de consommation électrique. De plus, la famille existant depuis maintenant plus de 30 ans, l'architecture est stable et exempte de bogues, ce qui est indispensable vu la criticité de certains domaines d'application.

Commentaires