Motorola 6800
# Motorola 6800

Der Motorola 6800 (MC6800), nicht zu verwechseln mit dem wesentlich bekannteren Motorola 68000, ist ein 8-Bit-Prozessor aus dem Jahre 1974 mit 78 Instruktionen und 1 oder 2 MHz Taktrate. Er verfügt über einen 16 Bit breiten Adressbus und kann somit bis zu 64 KB Speicher adressieren. Es war einer der ersten Mikroprozessoren mit einem Indexregister.

## Aufbau

Der MC6800 ist wie der Intel i8080 ein typischer Vertreter der ersten Generation von Mikroprozessoren. Wie dieser hatte er einen bedeutenden Einfluss auf weitere Entwicklungen. Während sich die Architektur des i8080 am i8008 und damit dem Datapoint 2200-Prozessor orientiert, gilt beim MC6800 die PDP-11 als maßgeblicher Einfluss. Designmerkmale des MC6800 sind:
* 8 Bit Datenbus (bidirektional)
* 16 Bit Adressbus
* 16 Bit Programmzähler
* 16 Bit Stackpointer
* 16 Bit Indexregister
* zwei 8-Bit-Akkumulatoren
* flexible Adressbildung (direkt, indiziert)
* 5 V Stromversorgung
Das „direct addressing“, bei dem die ersten 256 Bytes (Adressen 00xx) mit verkürzten Befehlen angesprochen werden konnten, trug zur Flexibilität bei. Während der 8080 einen eigenen Adressraum für Ein/Ausgabe hatte (PMIO), wurde beim MC6800 dieser im normalen 16-Bit-Adressraum abgebildet (MMIO). Die 5-V-Stromversorgung vereinfachte den Einsatz gegenüber anderen Prozessoren (8080: drei unterschiedliche Spannungen) deutlich. Erreicht wurde dies durch einen internen Spannungsverdoppler. Die Erzeugung des zweiphasigen Takts erfolgte extern (MC6875).

## Verwendung

Der MC6800 wurde nur in einigen Heimcomputern wie dem SWTPC 6800 und dem Altair 680 von MITS verbaut. In der ersten Generation elektronischer Flipperautomaten der Hersteller Bally und Williams ist der 6800 in allen Geräten zu finden und wurde bei Bally erst 1985 vom 6803 abgelöst. In einigen kommerziellen Videospielen war er bis Mitte der 1980er Jahre ebenfalls verbaut. Der Prozessor ist in LSI-Technik aufgebaut, besitzt etwa 4.000 Transistoren und wurde normalerweise in einem 40-pin-DIP-Gehäuse ausgeliefert. Er ist gehäuse- und signalkompatibel, aber nicht softwarekompatibel zum MOS 6501, der nach einer Patentverletzungsklage Motorolas durch den MOS 6502 ersetzt wurde. Dieser wurde im Apple II und vielen anderen Heimcomputern verbaut.

## Die MC6800-Familie

Der MC6800 ist Vater vieler Prozessoren, unter anderem des weiterentwickelten M6809, der indirekt indiziert adressieren konnte und in Spielkonsolen (Vectrex), im Tandy TRS-80 Color Computer sowie Dragon 32 und in eingebetteten Anwendungen verwendet wurde. Andere Einsatzbereiche waren der industrielle Bereich und Spezialanwendungen wie beispielsweise im Apothekencomputerbereich. Wichtiges Betriebssystem war hier FLEX.
Weitere Nachfolger waren die Prozessoren 6802/6808 sowie Mikrocontroller vom Typ 6801/6803 und 6805 in NMOS-Technik, 68HC05, 68HC08, 68HC11, 68HC12 und 68HC16 in stromsparender CMOS-Technik. Die Typen 6800 und 6802 waren direkte Konkurrenten anderer 8-Bit-Mikroprozessoren der ersten Generation, wie Intel 8080, MOS Technology 6502 oder Zilog Z80.

## Peripheriechips

Zu den MC6800 gab es eine Reihe von Peripheriechips, die auch mit nicht von Motorola stammenden Prozessoren verwendet wurden:
* MC6810 – RAM – Statisches 128x8 RAM
* MC6820 – PIA – Peripheral Interface Adapter
* MC6821 – PIA – Peripheral Interface Adapter
* MC6822 – IIA – Industrial Interface Adapter, ein PIA-Baustein für höhere Spannungen
* MC6828 – PIC – Priority Interrupt Controller
* MC6829 – MMU – Memory Management Unit
* MC6830 – ROM – Maskenprogrammierbares 1024×8 ROM
* MC6835 – CRTC – Version des 6845 mit kundenspezifisch programmiertem Timing für zwei feste Formate
* MC6839 – ROM – Funktionsbibliothek mit Gleitkommafunktionen
* MC6840 – PTM – Programmierbarer Timer
* MC6843 – FDC – Floppy Disk Controller
* MC6844 – DMAC – Direct Memory Access Controller
* MC6845 – CRTC – Bildadressgenerator mit programmierbarem Bildaufbau
* MC6846 – RIOT – ROM, I/O und Timer in einem Chip
* MC6847 – VDG – Video Display Controller mit integriertem Zeichensatz-ROM für NTSC-kompatible Ausgabe
* MC6850 – ACIA – Asynchrone serielle Schnittstelle
* MC6852 – SSDA – Synchrone serielle Schnittstelle
* MC6854 – ADLC – Advanced Data Link Controller, komplexe serielle Schnittstelle
* MC6859 – DSD – Baustein Ver- und Entschlüsselung entsprechend DES
* MC6883 – SAM – Synchronous Address Multiplexer für DRAM Ansteuerung (SN74LS783)