Ein Befehlssatz, auch Befehlssatzarchitektur (ISA) genannt, ist ein Satz von Befehlen und Datenformaten, die von der Zentraleinheit (CPU) eines Computers und den zugehörigen Komponenten erkannt werden. Es definiert, wie die CPU mit dem Rest des Computersystems kommuniziert und wie Programme ausgeführt werden.
Ein Befehlssatz umfasst normalerweise:
- Grundlegende Maschinenanweisungen: Dazu gehören arithmetische und logische Operationen wie Addition, Subtraktion, Multiplikation und Vergleich sowie Speicher- und Steueranweisungen.
- Datentypen: Die unterstützten Datentypen für die Verarbeitung und Speicherung, z. B. Ganzzahlen, Gleitkommazahlen und Zeichen.
- Adressierungsmodi: Die Methoden, mit denen die an Anweisungen beteiligten Speicherorte angegeben werden.
- Anweisungskodierung: Die Bitmuster dienen zur Darstellung verschiedener Anweisungen im Speicher der Maschine.
- Ausnahme- und Interruptbehandlung: Die Mechanismen zur Behandlung außergewöhnlicher Ereignisse wie arithmetischer Überläufe und externer Interrupts.
Unterschiedliche CPUs und Computerarchitekturen verfügen über unterschiedliche Befehlssätze, die für bestimmte Zwecke optimiert sind. Einige beliebte Beispiele für Befehlssätze sind:
- x86: Es wurde von Intel entwickelt und ist der am weitesten verbreitete Befehlssatz in Personalcomputern und Servern.
- ARM: Wird in einer Vielzahl eingebetteter Systeme verwendet, darunter Smartphones und Tablets.
- MIPS: Wird häufig in Netzwerk-Routern, Druckern und anderen eingebetteten Systemen verwendet.
- PowerPC: Wird in älteren Apple Macintosh-Computern und einigen eingebetteten Geräten verwendet.
Der Entwurf eines Befehlssatzes ist ein entscheidender Aspekt einer Computerarchitektur, da er Leistung, Kompatibilität und die Entwicklung von Software für die Plattform beeinflusst.