8-Bit-Architektur
8-Bit-Mikrocontroller
Unter 8-Bit-Architektur versteht man in der EDV eine Prozessorarchitektur, deren wesentliche Verarbeitungsbreite 8 Bit beträgt. Prozessoren, die eine 8-Bit-Architektur verwenden, werden häufig auch als „8-Bit-Prozessoren“ bezeichnet.
Vereinfacht dargestellt bedeutet 8 Bit, dass die Prozessoren durch ihr Design so ausgelegt sind, dass 8 Bit (also 1 Byte) gleichzeitig bzw. während eines Taktes verarbeitet werden können (Wortbreite). Register und Adressbus sind dabei oft 16 Bit breit, der Speicherbereich wird teilweise durch Memory-Mapping noch erweitert.
8-Bit-Prozessoren werden auch heute noch am häufigsten von allen Prozessoren eingesetzt, jedoch nicht als Hauptprozessoren in Computern, sondern primär in Form eingebetteter Systeme als Mikrocontroller. Tatsächlich enthält ein modernes Computersystem eine ganze Anzahl von 8-Bit-Prozessoren, z. B. in der Maus und Tastatur, auf dem Motherboard und in den Monitoren. Der Großteil der USB-Geräte basiert ebenfalls auf 8-Bit-Prozessoren.
Eigenschaften
8-Bit-Prozessoren haben folgende Eigenschaften:
- 8-Bit-Datenbus (findet man allerdings auch bei abgespeckten 16-Bit-Architekturen wie dem 8088 und dem 68008)
- meist 16-Bit-Adressbus (der 8008 hatte aber nur 14 bit, weiterhin gibt es 16-Bit-CPUs mit nur 16-Bit-Adressbus, wie z. B. der Z8000)
- 8-Bit-Register, die häufig zu 16-Bit-Adressregistern kombinierbar sind (allerdings gibt es häufig Beschränkungen beim Wechsel von Speicherseiten)
- interne 4-bit- oder 8-bit-ALU (der Z80 z. B. hatte eine fixe 4-Bit-ALU)
- häufig einzelne, aber keine durchgängigen 16-Bit-Operationen verfügbar (Z80 unterstützt ein paar 16-Bit-Operationen, wie ADD/ADC/SBC und INC/DEC)
- meist keine Hardware-Ganzzahl-Multiplikation und -Division (aber häufig bei späteren Mikrocontrollern erweitert)
- keine Gleitkomma-Unterstützung (der Anschluss von Gleitkomma-Coprozessoren kam meist mit dem Übergang zu 16-Bit-Architekturen)
- keine Trennung zwischen User- und Betriebssystem-Modus
- vergleichsweise schlechte Unterstützung von Hochsprachen-Compilern, teilweise Größe des Stacks begrenzt.
Dagegen sind für 16-Bit-Architekturen folgende Änderungen typisch, die allerdings nicht alle vorhanden sein müssen:
- 16-Bit-Datenbus (aber auch 8-Bit-Datenbus bei abgespeckten Typen)
- Adressbusse mit 16 bit bis 24 bit
- 16-Bit- oder teilweise 32-Bit-Register, die häufig geteilt werden können.
- intern 16-Bit-ALU
- durchgängige 16-Bit-Operationen verfügbar
- Hardware-Ganzzahl-Multiplikation und -Division
- Gleitkomma-Unterstützung oder Coprozessor-Interface zur Gleitkomma-Unterstützung
- Trennung zwischen User- und Betriebssystem-Modus (nicht immer verfügbar, teilweise MMU-Bausteine erforderlich)
- gute Unterstützung von Hochsprachen-Compilern, flexible Größe des Stacks.
Bekannte Prozessoren
Bekannte Prozessoren mit 8-Bit-Architektur sind folgende Prozessor- oder Mikrocontroller-Architekturen:
- von Intel die 8008- und 8080-Modelle
- von MOS die 6502-Serie
- von Motorola die 6800er Serie.
- von Zilog die Z80-Serie
- von Intel und anderen die Modelle der MCS-51- und MCS-48-Serie (sehr weit verbreitet für eingebettete Anwendungen).
- von Microchip die PIC10 bis PIC18-Serien
- von Cypress die PSoC-Serie
- von NEC die 78K0-Serie
- von Atmel die AVR-Familie: komplettes Neudesign einer 8-Bit-RISC-Architektur
sowie diverse weitere Designs.
Prozessoren aus der MCS-51-Serie werden von vielen verschiedenen Herstellern in sehr vielen Variationen produziert, stehen mengenmäßig im Markt aber deutlich hinter den PIC-Prozessoren von Microchip und den Motorola-6800-Derivaten wie den 68HC05 und 68HC08 von Freescale zurück, die jeweils mehr als ein Viertel des Marktes ausmachen.
nach Wortbreite | 1-Bit-Architektur • Bit-Slice-Architektur • 4-Bit-Architektur • 8-Bit-Architektur • 16-Bit-Architektur • 32-Bit-Architektur • 64-Bit-Architektur | |
nach Befehlssatzaufbau | ||
mit Optimierung für Einsatzzweck | (Haupt-)Prozessor • Grafikprozessor • GPGPU • Streamprozessor • Soundprozessor • Gleitkommaeinheit • Netzwerkprozessor • Physikbeschleuniger • Vektorprozessor • TensorFlow Processing Unit |