Architektur
Englisch: arch
Eine Computerarchitektur oder Befehlssatzarchitektur.
arch: der Befehlssatz, den ein Prozessor versteht
In der Industrieelektronik und Datenverarbeitung ist arch die Kurzform für die Instruction Set Architecture (ISA) eines Prozessors oder Mikrocontrollers. Sie definiert den grundlegenden Vertrag zwischen Hardware und Software: die spezifischen Befehle, die eine CPU ausführen kann, wie Daten zwischen Registern und Speicher fließen, wie bedingte Sprünge funktionieren und wie die binäre Codierung jedes Befehls aussieht. Ohne die arch zu kennen, können Sie keinen funktionierenden Code für einen bestimmten Chip schreiben.
Häufige industrielle Architekturen sind x86 (Intel und AMD Prozessoren), ARM (dominierend in eingebetteten Systemen und mobilen Geräten), MIPS (Legacy-Industriecontroller) und RISC-V (aufstrebender offener Standard). Jede definiert einen anderen Befehlssatz. Ein ARM Cortex-M4 kann keinen x86-Code ausführen, auch wenn beide Chips identische Taktfrequenzen und Speicher haben. Die arch ist die Sprache, die die Hardware spricht.
Die Wahl der arch hat Auswirkungen auf ein ganzes Produkt. Sie bestimmt, welche Compiler du verwenden kannst, welche Echtzeit-Betriebssysteme verfügbar sind, welche Debugging-Tools existieren und welche Bibliotheken portiert wurden. In der Industrie sperrt die Wahl der arch die Software-Ökosphäre oft für Jahre. Ein Wechsel von ARM zu MIPS in einem Steuerungssystem bedeutet Code-Neukompilierung, Logik-Neuvalidierung und möglicherweise das Umschreiben von Abschnitten, die auf architekturspezifische Optimierungen angewiesen sind.
Architekturen gibt es in verschiedenen Wortbreiten: 8-Bit, 16-Bit, 32-Bit und 64-Bit beziehen sich auf die native Registergröße und typische Speicheradressenbreite. Eine 32-Bit-Architektur kann viel mehr Speicher adressieren als eine 8-Bit-Architektur, benötigt aber mehr Transistoren und Leistung. Industrieanlagen setzen oft 32-Bit-ARM-Kerne für Echtzeitaufgaben ein, wo x86 überdimensioniert wäre.
Wenn jemand sagt, dass ein System auf einer bestimmten arch läuft, legt er damit nicht nur die Prozessorfamilie fest, sondern auch die Befehlssatzversion. ARM hat sich von ARMv6 über ARMv8 und darüber hinaus entwickelt; jede Generation fügt Befehle hinzu und ändert manchmal Speichermodelle. Firmware für ARMv7 kann ARMv8-Funktionen wie 64-Bit-Unterstützung möglicherweise nicht nutzen, wird aber normalerweise immer noch auf ARMv8-Hardware laufen (Rückwärtskompatibilität ist typisch, aber nicht garantiert).