Motorola 6809

Aus C64-Wiki
Wechseln zu: Navigation, Suche

Der Motorola M6809 Prozessor (kurz: 6809) ist ein 8-Bit-Mikroprozessor, der 1978 auf den Markt gebracht wurde. Entwickelt und produziert wurde der 6809 von Motorola nach Ideen und Entwürfen der Systemarchitekten Terry Ritter und Joel Boney.[1]

Design[Bearbeiten]

Das Design-Ziel war, die Vorläufer-CPU 6800 abzulösen und dabei das Beste von den bereits am Markt befindlicher CPUs wie dem 6502 zu nutzen. Dabei war keine Binärkompatibilität zum 6800 gegeben, sondern lediglich der Erhalt einer gewisse Rückwärtskompatibilität auf Assemblerquellcode-Ebene war angestrebt. Wesentlich hingegen war, dass sich die CPU nahtlos in die bestehende Landschaft der Peripherie-ICs der 68xx- und 65xx-Familien einfügte und von den Signalen und der Bussteuerung her problemlos integrierbar war.
Die Philosophie hinter dem Entwurf orientierte sich an Eigenschaften, damit die CPU besonders für Hochsprachen und deren Compiler und als Plattform für Multitasking-Betriebssysteme attraktiv werden sollte. Die CPU wies dabei schon eine deutliche 16-Bit-Orientiertheit auf, ohne jedoch tatsächlich auf den 16-Bit-Markt abzuzielen, für den damals schon die 68000er-Familie positioniert war. Der Schwerpunkt lag auf effiziente Opcode-Verarbeitung mit umfangreichen, recht komplexen Adressierungsarten bei speziell gewidmeten Registern (statt vieler allgemeine Register), aber mit Fokus den gesamten Speicher schnell und effizient, quasi als erweiterte Registerbank, ansprechen zu können. Wesentliches Merkmal ist auch die Stack-Orientiertheit, welches der CPU auch den Beinamen Forth Machine einbrachte.
Ein optimiertes Interrupt-Handling (Vektorisierung, Fast-IRQs) sollten die grundlegende Eignung für den Embedded-Systems-Bereich unterstreichen.

Die Instruktionen haben sich auf Basis von eingehenden Untersuchungen und Feedback aus 6800-Benutzern herauskristallisiert, wobei so mancher die strikte Orthogonalität und Ebenmäßigkeit im strukturellen Aufbau vermissen könnte. Dies war aber geplant und Ergebnis umfangreicher Analysen und Abwägungen hinsichtlich Kosten und Nutzen im Vorfeld der Entwicklung.
Das Design basierte noch auf Random-Logic-Implementation, also rein in Transistor-Logik verglichen mit der bereits oftmals mit Microcode umgesetzten und sich langsam etablierenden 16-bittigen CPU-Familien.

Die CPU war häufig im 1-MHz-Bereich getaktet, wobei unterschiedliche Varianten in Bezug auf Taktgenerierung existieren. Aber auch 2-MHz-Varianten waren verfügbar, wenn auch eher selten in Gebrauch, da bereits 1 MHz ausreichte, konkurrierende CPUs leistungsmäßig zu erreichen oder gar zu übertrumpfen.

Eine besondere Variante ist der 6309-Chip von Hitachi, der den ursprüngliche CPU-Kern um weitere 8-, 16- und 32-Bit-Register (Akkumulatoren) samt dazugehöriger Operationen erweitert.
Des weiteren lebt die CPU auch in etlichen FPGA-Projekten, die üblicherweise gesamte Rechner nachbilden, oder auch virtuell in Implementierungen verschiedenster Emulatoren weiter.

Verwendung[Bearbeiten]

In den frühen 1980er-Jahren wurde der 6809 trotz des Anspruchs für einen gewissen professionellen Bereich in etlichen Heimcomputern eingebaut. Eine wirklich starke Verbreitung ging in den USA mit den Modellen aus der Reihe TRS-80 Color Computer (CoCo) von Tandy bzw. Radio Shack.
Ein Nachbau mit etwas modifizierter Hardware war der Dragon 32/64 (in UK und unter Lizenz auch Südamerika und Australien). Als entfernter Verwandter dazu mit 6809-CPU gilt der Heimcomputer Thomson MO5 (und Nachfolger) aus Frankreich, der aber außer CPU und Microsoft-BASIC nichts mit den vorher genannten gemein hat.

Die Hauptkonkurrenten des 6809 waren die bereits etablierten Prozessoren MOS 6502 und Z80, die bereits den Heimcomputer-Markt massiv durchdrungen hatten.

Auch heute steht der 6809 noch in aktivem Einsatz besonders im Embedded-Systems-Bereich, wo mehr oder weniger ähnliche oder abgeleitete Varianten Verbreitung gefunden haben. Auch andere Hersteller haben sich dieser CPU angenommen oder in Lizenz gefertigt. Nicht zuletzt wegen des als Echtzeit-Betriebssystem geltenden OS-9 war oder ist der 6809 bzw. seine Varianten beispielsweise auch in Anwendungen des Automobilbereichs zu finden, aber auch in Steuersysteme für Kraftwerke und Anlagen verschiedenster Art.
Am anderen Ende der Embedded-Systems-Skala fand sich der Prozessor auch etwa als Steuer-CPU bei Druckern.

Betriebssysteme für den 6809:

  • OS-9[2] Level 1 und Level 2 (mit MMU) mit Echtzeiteigenschaften
  • NitrOS9[3] (eine moderne OS-9-kompatible Variante, die auch den 6309 unterstützt)
  • Flex[4]
  • FUZIX[5]


Verwendung bei Commodore

Commodore verwendete den 6809 beim sogenannten SuperPET[6] (Nordamerika) alias MicroMainFrame (MMF) 9000 (in Europa). Auf Basis eines PET 8032 befindet sich an Stelle des 6502 ein Extensionboard mit 6809-CPU, der 6502-CPU und zusätzlichem 64 KByte RAM und diversen Peripherie-ICs. Dieses von Commodore in Kooperation mit der University of Waterloo (Ontario, Kanada) entstandene System hatte seinen Software-Schwerpunkt bei Programmiersprachen wie Pascal, Fortran oder APL.
Erst später (1985) insbesondere Dank zusätzlicher MMU-Hardware erfolgte auch die Portierung von OS-9.


Der auch am C64 unterstützte Tintenstrahldrucker Canon 1210A wurde von einer 6809 gesteuert.

Weblinks[Bearbeiten]

WP-W11.png Wikipedia: Motorola 6809
WP-W11.png Wikipedia: Motorola 6809 Sprache:english
WP-W11.png Wikipedia: Hitachi 6309 Sprache:english

Quellen[Bearbeiten]

  1. Byte Magazine Vol. 04, Issue 02, p. 32: A MICROPROCESSOR FOR THE REVOLUTION: The 6809 (Terry Ritter and Joel Boney) Sprache:englisch
    Heft-PDF (archive.org) Sprache:englisch
    Artikel-PDF (macmess.org) Sprache:englisch
  2. Wikipedia:OS-9 Multitasking-/Multiuser-Betriebssystem
  3. Sourceforge.net Project NitrOS9 Sprache:englisch
  4. Wikipedia:Flex Betriebssystem
  5. GitHub Project FUZIX Sprache:englisch
  6. André Fachats SuperPET-Seite Sprache:englisch