6809

Motorola 6809

Le Motorola 6809 est un microprocesseur 8 bits introduit en 1978 par Motorola. Il appartient à la famille du 6800, mais pousse beaucoup plus loin les possibilités d’une architecture 8 bits.Son bus de données reste large de 8 bits, mais le processeur dispose de plusieurs registres 16 bits, de deux pointeurs de pile et de modes d’adressage particulièrement élaborés. Motorola le conçoit également pour faciliter l’écriture de programmes structurés, réentrants et indépendants de leur position en mémoire.

Le 6809 occupe ainsi une place particulière à la fin des années 1970 : il représente l’une des architectures 8 bits les plus évoluées avant l’arrivée d’une nouvelle génération de processeurs comme le Motorola 68000.

Fiche rapide

  • Constructeur : Motorola
  • Introduction : 1978
  • Type : microprocesseur 8 bits
  • Bus de données : 8 bits
  • Bus d’adresses : 16 bits
  • Mémoire directement adressable : 64 Ko
  • Accumulateurs : A et B sur 8 bits, combinables en registre D sur 16 bits
  • Registres d’index : X et Y sur 16 bits
  • Pointeurs de pile : U et S sur 16 bits
  • Compteur ordinal : PC sur 16 bits
  • Fréquence : selon les versions et les systèmes, généralement autour de 1 à 2 MHz

Un processeur 8 bits particulièrement évolué

À la fin des années 1970, les microprocesseurs 8 bits dominent encore le marché. L’Intel 8080, le Zilog Z80, le MOS Technology 6502 ou le Motorola 6800 équipent de nombreux micro-ordinateurs.

Le Motorola 6809 reste dans cette catégorie : il échange les données avec la mémoire sur 8 bits et utilise un bus d’adresses de 16 bits, soit un espace maximal de 64 Ko.

Son originalité vient surtout de son organisation interne. Motorola lui donne plusieurs registres 16 bits et des mécanismes que l’on rencontre plus rarement sur les processeurs 8 bits de cette génération.

Le 6809 ne devient donc pas un processeur 16 bits pour autant. Il s’agit plutôt d’un 8 bits doté de nombreuses capacités 16 bits.

Des registres plus nombreux et plus souples

Le 6809 possède deux accumulateurs de 8 bits nommés A et B. Ils peuvent fonctionner séparément ou être associés pour former le registre D de 16 bits.

Cette organisation permet par exemple d’effectuer certaines opérations sur des valeurs 16 bits sans devoir tout décomposer manuellement en deux octets.

Le processeur dispose également de deux registres d’index 16 bits, X et Y, particulièrement utiles pour parcourir des tableaux ou des structures en mémoire.

Deux autres registres, U et S, servent de pointeurs de pile.

Cette richesse donne au programmeur davantage de possibilités que sur de nombreux processeurs 8 bits contemporains.

Deux pointeurs de pile

La présence de deux pointeurs de pile 16 bits constitue l’une des particularités du Motorola 6809.

Le registre U correspond à la pile utilisateur et reste sous le contrôle du programme.

Le registre S sert de pile matérielle. Le processeur l’utilise notamment lors des appels de sous-programmes et pour la sauvegarde du contexte lors de certaines interruptions.

Disposer de deux piles facilite la séparation entre différentes parties d’un programme et favorise l’écriture de logiciels plus structurés, notamment des moniteurs, des systèmes d’exploitation ou des programmes réentrants.

Des modes d’adressage très puissants

Le Motorola 6809 se distingue également par la richesse de ses modes d’adressage.

Un programme peut accéder directement à une adresse, utiliser un registre d’index, ajouter un déplacement à celui-ci ou encore modifier automatiquement un pointeur avant ou après l’accès à la mémoire.

Ces possibilités sont particulièrement pratiques pour parcourir des tableaux, manipuler des structures ou travailler avec une pile.

Le 6809 offre également des branchements relatifs permettant de calculer la destination d’un saut par rapport à la position actuelle du programme.

Cette technique facilite la création de code indépendant de sa position en mémoire. Un même bloc de programme peut alors être déplacé plus facilement sans devoir modifier toutes ses adresses internes.

Une architecture pensée pour les logiciels structurés

Motorola conçoit le 6809 à une époque où les microprocesseurs ne servent plus uniquement à exécuter de petits programmes en assembleur.

Les langages de haut niveau prennent de l’importance et certains micro-ordinateurs commencent à utiliser de véritables systèmes d’exploitation.

La richesse des registres, les deux piles et les modes d’adressage du 6809 facilitent le travail des compilateurs et la création de programmes réentrants.

Un programme réentrant peut être interrompu puis utilisé de nouveau sans que son fonctionnement soit nécessairement perturbé. Cette propriété devient particulièrement intéressante lorsque plusieurs tâches doivent partager certaines routines.

Le 6809 se prête ainsi à des systèmes plus structurés que ceux que l’on associe généralement aux premières machines 8 bits.

Des performances qui ne se résument pas à la fréquence

Selon les versions, le Motorola 6809 fonctionne à des fréquences situées généralement autour de 1 à 2 MHz.

Ces valeurs paraissent modestes, mais comparer uniquement les mégahertz entre processeurs est trompeur.

Les architectures n’exécutent pas les instructions de la même manière et une seule instruction du 6809 peut effectuer une opération qui demanderait plusieurs instructions sur une autre architecture.

Son intérêt réside donc moins dans une fréquence spectaculaire que dans la souplesse de son jeu d’instructions et de ses modes d’adressage.

Quels ordinateurs utilisaient le Motorola 6809 ?

Le 6809 et sa variante 6809E équipent de nombreux systèmes au cours des années 1980.

En France, Thomson adopte notamment le processeur pour plusieurs de ses micro-ordinateurs. Le Thomson TO7, le TO7/70 et le Thomson MO5 utilisent le Motorola 6809E.

Le processeur équipe également des ordinateurs comme le TRS-80 Color Computer de Tandy et le Dragon 32/64.

On le retrouve aussi dans certaines machines d’arcade et dans des équipements industriels ou embarqués.

Sa diffusion reste toutefois plus limitée que celle du Z80 ou du 6502. Le 6809 arrive relativement tard sur le marché 8 bits et son coût ne favorise pas son adoption dans les machines les moins chères.

6809 et 6809E : quelle différence ?

La famille comprend notamment le MC6809 et le MC6809E.

Leur architecture et leur jeu d’instructions restent identiques. La principale différence concerne la génération de l’horloge.

Le MC6809 intègre le circuit nécessaire à la génération de ses signaux d’horloge.

Le MC6809E, reconnaissable à son suffixe E, reçoit au contraire ses signaux d’horloge depuis le système extérieur. Cette solution permet au constructeur de synchroniser plus précisément le processeur avec les autres circuits de la machine.

C’est notamment cette version 6809E que Thomson utilise dans plusieurs de ses micro-ordinateurs.

Motorola et Hitachi

Motorola n’est pas le seul fabricant à produire cette architecture.

Hitachi commercialise également des processeurs compatibles, notamment sous les références HD6809 et HD6809E.

Les références peuvent aussi comporter des lettres correspondant à la vitesse, au type de boîtier ou à certaines caractéristiques de fabrication.

Par exemple, le suffixe P visible sur certaines puces désigne un boîtier DIP en plastique. Il ne correspond pas à une architecture différente du processeur.

Du Motorola 6809 au Motorola 68000

Le 6809 représente l’un des aboutissements de la famille 8 bits issue du Motorola 6800.

Motorola choisit cependant une stratégie très différente pour la génération suivante.

Avec le Motorola 68000, introduit à la fin des années 1970, le constructeur abandonne la compatibilité binaire avec les processeurs 6800 et 6809 et développe une architecture beaucoup plus ambitieuse.

Le 68000 dispose notamment de registres 32 bits, d’un bus de données externe de 16 bits et d’un espace d’adressage de 16 Mo.

Cette rupture ouvrira la voie à une nouvelle famille de processeurs utilisée plus tard dans l’Apple Macintosh, l’Atari ST ou l’Amiga.

Pourquoi le Motorola 6809 est important

Le Motorola 6809 n’est ni le processeur 8 bits le plus vendu ni celui qui équipe le plus grand nombre de micro-ordinateurs.

Son intérêt historique vient surtout de son architecture particulièrement riche.

Ses registres 16 bits, ses deux piles, ses modes d’adressage élaborés et son aptitude à produire du code indépendant de sa position en mémoire offrent aux programmeurs des possibilités rarement réunies sur un processeur 8 bits de cette époque.

Le 6809 illustre ainsi jusqu’où pouvait être poussée une architecture 8 bits avant que les micro-ordinateurs ne passent progressivement aux générations 16 et 32 bits.


Repères chronologiques

  • 1974 : Motorola introduit le 6800.
  • 1978 : introduction du Motorola 6809.
  • Début des années 1980 : utilisation du 6809 dans plusieurs micro-ordinateurs américains et européens.
  • 1982 : le Thomson TO7 utilise un Motorola 6809E.
  • 1984 : le TO7/70 et le MO5 poursuivent l’utilisation du 6809E chez Thomson.

Sources

  • Motorola, MC6809-MC6809E Microprocessor Programming Manual.
  • Motorola, documentation technique de la famille M6800.
  • Documentation technique Thomson consacrée aux TO7, TO7/70 et MO5.

Photo de couverture : Konstantin Lanzet, CPU collection Konstantin Lanzet — CC BY-SA 3.0, Wikimedia Commons.

Publications similaires

  • Intel 8008

    Le passage au microprocesseur 8 bits L’Intel 8008 est un microprocesseur 8 bits commercialisé en avril 1972. Il constitue le deuxième microprocesseur d’Intel, quelques mois après le 4004 de 1971. Alors que le 4004, conçu à l’origine pour des calculatrices, travaille sur des données de 4 bits, le 8008 adopte une architecture 8 bits mieux…

  • Motorola 68000

    Le Motorola 68000, souvent appelé 68000 ou simplement 68k, est un microprocesseur introduit par Motorola en 1979. Il marque une rupture avec les processeurs 8 bits précédents de la marque et propose un modèle de programmation beaucoup plus ambitieux. Avec ses registres de 32 bits, son bus de données externe de 16 bits et son…

  • Intel 4004

    L’Intel 4004, commercialisé en novembre 1971, est généralement considéré comme le premier microprocesseur commercial disponible sur une seule puce. Son importance ne vient pas de sa puissance. Le 4004 fonctionne sur seulement 4 bits et contient environ 2 300 transistors. Pourtant, il introduit une idée qui va transformer l’électronique et l’informatique : les fonctions essentielles…

  • Intel 8080

      Le processeur qui rend le micro-ordinateur réellement “pratique” L’Intel 8080 est un microprocesseur 8 bits introduit en avril 1974. Il succède au 8008 et corrige ses limites majeures (adressage, brochage, performances). Grâce à son bus d’adresses 16 bits et son boîtier 40 broches, le 8080 rend réaliste la conception de micro-ordinateurs généralistes, avec une…

  • MOS 6510

    Le MOS Technology 6510 est un microprocesseur 8 bits étroitement dérivé du célèbre MOS 6502. Développé chez MOS Technology à la charnière des années 1970 et 1980, il ne constitue pas une nouvelle architecture : il reprend l’essentiel du fonctionnement du 6502 et lui ajoute principalement un port d’entrées/sorties programmable intégré au processeur.Cette évolution paraît…

  • |

    MOS 6502

    Le MOS Technology 6502 est un microprocesseur 8 bits présenté en 1975. Son importance dans l’histoire de l’informatique ne tient pas seulement à ses caractéristiques techniques. À une époque où un microprocesseur peut encore coûter plusieurs centaines de dollars, MOS Technology propose le 6502 pour environ 25 dollars. Cette rupture de prix contribue à rendre…