Was ist ein Befehlssatz?

Jede CPU ist von Grund auf so konzipiert, dass sie einen bestimmten Befehlssatz unterstützt. Ein Befehlssatz ist ein Satz fest codierter Operationen, die die CPU ausführen kann. Diese Operationen können beispielsweise das Addieren zweier Zahlen, das Springen zu einem anderen Teil des Programms oder das Vergleichen zweier Werte sein. Jede Operation, die ein Computer ausführen kann, wird eindeutig durch einen Opcode dargestellt.

Opcodes

Beim Ausführen eines Programms verwendet die CPU einen Programmzähler, um zu verfolgen, welche Anweisung als nächstes ausgeführt werden muss. Wenn eine Anweisung abgerufen wird, wird der Programmzähler um die Länge der Anweisung inkrementiert, so dass er auf den Beginn der nächsten Anweisung zeigt. Jede Anweisung besteht aus einem Opcode. Abhängig von der Anweisung kann sie Operanden enthalten oder nicht. Operanden können ein konstanter Wert oder ein Zeiger auf die Position eines Werts im CPU-Register oder im System-RAM sein.

Nachdem die vollständige Anweisung abgerufen wurde, muss sie decodiert werden. Dies ist der Prozess, bei dem die CPU den Opcode und alle Operanden trennt. Der decodierte Opcode wird verwendet, um bestimmte elektrische Pfade in der CPU zu aktivieren oder zu deaktivieren, die zu einem korrekten Betrieb führen.

Sobald die Anweisung dekodiert wurde, wird sie ausgeführt. Das genaue Verhalten der CPU hängt von der Operation ab. Eine Additionsoperation summiert zwei Werte zusammen. Eine Sprungoperation berechnet, wohin im Programm gesprungen werden soll. Eine Vergleichsoperation vergleicht zwei Werte. Eine NOP-Operation bleibt im Leerlauf, da NOP für No Operation steht.

Die meisten Anweisungen geben dann das Ergebnis der Operation aus. Diese Ausgabe kann zu den Prozessorregistern und, falls erforderlich, zum System-RAM gehen. Jede dieser Operationen dauert einen einzelnen Taktzyklus, um abgeschlossen zu werden.

Unzulässige Opcodes

Jede CPU-Architektur hat ihre spezifische Liste von Opcodes, die vom Hersteller veröffentlicht wird. Die Werte dieser Opcodes sind nicht unbedingt plattformübergreifend gleich, weshalb Software für unterschiedliche Architekturen kompiliert werden muss. In einigen Fällen fügt der Hersteller auch undokumentierte Opcodes hinzu. Diese werden als „illegale Opcodes“ bezeichnet. Illegale Opcodes, obwohl undokumentiert, führen bei jedem Aufruf die gleiche Funktion aus. Als undokumentierte und nicht standardmäßige Funktionen können sie jedoch durch Aktualisierungen der CPU-Architektur einfach entfernt werden.

Einige frühe Computerspiele auf dem Apple II stützten sich auf bestimmte illegale Opcodes. Sie litten dann unter Leistungs- und Stabilitätsproblemen bei der späteren Apple IIc-CPU-Revision, als der IIc die illegalen Opcodes entfernte, die die Spiele erforderten. Illegale Opcodes wurden auch in Urheberrechtsschutzkreisen als Sicherheitsmethode durch Unklarheit im Kampf gegen Piraten verwendet, die ihre Inhalte knacken. Einige illegale Opcodes sind einfach als Debugging-Tools und Fehlerbehandler gedacht.

Der x86-Befehlssatz enthält eine große Anzahl undokumentierter illegaler Opcodes. Interessanterweise werden einige davon von Intel- und AMD-CPUs geteilt, was darauf hinweist, dass sich beide Unternehmen ihres Zwecks öffentlich bewusst sind, obwohl sie nicht dokumentiert sind.

Compiler und Assembler

Die meisten Programme sind in Hochsprachen geschrieben. Diese sind relativ einfach zu lesen und verwenden oft englische Wörter oder Kurzschrift, um die Lernkurven zu minimieren. Damit ein Computer diese Programme ausführen kann, müssen sie kompiliert werden. Ein Compiler ist im Grunde ein Übersetzer. Es nimmt den High-Level-Code und wandelt ihn in Computercode um, die Anweisungen, die die CPU verstehen kann.

In einigen Sprachen ist es auch möglich, nicht kompilierten Code durch ein zuvor kompiliertes Programm laufen zu lassen, das im laufenden Betrieb Maschinencode generiert. Assembly ist eine Low-Level-Programmiersprache, die Kurzschrift verwendet, um Entwicklern direkte Sichtbarkeit und Kontrolle über die durchgeführten Operationen zu ermöglichen. NOP ist ein Beispiel für eine Assembler-Kurzschrift.

Abschluss

Ein Befehlssatz ist eine Liste offizieller Funktionen, die eine CPU-Architektur ausführen kann. Es ist eine Liste von Operationen, die durchgeführt werden können. Diese Operationen sind in der CPU fest codiert und werden unter Verwendung ihrer jeweiligen Opcodes aufgerufen.

Software verwendet im Allgemeinen einen Compiler, um vom Menschen lesbaren High-Level-Code in den Maschinencode zu übersetzen, den die CPU lesen kann. Manchmal kann eine CPU-Architektur undokumentierte Opcodes haben, die als illegale Opcodes bezeichnet werden. Illegale Opcodes sind technisch gesehen Teil des Befehlssatzes. Sie sind jedoch in zukünftigen Plattformiterationen möglicherweise nicht zuverlässig verfügbar. Vergessen Sie nicht, Ihre Gedanken in den Kommentaren unten zu hinterlassen.



Leave a Comment

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Wenn auf Ihrem Chromebook beim Konfigurieren des Netzwerks ein Fehler aufgetreten ist, aktivieren Sie die Netzwerkfreigabe, starten Sie Ihren Laptop neu und trennen Sie Ihren Router.

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Maskiertes Stereolithographiegerät (MSLA) ist eine modifizierte Form des SLA-Drucks und bietet zahlreiche Vorteile, einschließlich schnelleren Druckzeiten.

So finden Sie die IP-Adresse eines Druckers

So finden Sie die IP-Adresse eines Druckers

Erfahren Sie, wie Sie die IP-Adresse Ihres Druckers einfach und schnell herausfinden können.

Hinzufügen von Blink-Kameras von zwei Standorten aus

Hinzufügen von Blink-Kameras von zwei Standorten aus

Erfahren Sie, wie Sie Blink-Kameras zur Heimsicherheit von zwei Standorten aus hinzufügen können. Flexibles System mit einfacher Installation und Integration mit Alexa.

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Erfahren Sie, wie Sie Filament neu spoolen können, um Probleme wie Unterextrusion und Verwicklungen zu vermeiden. Hier sind einige nützliche Tipps und Techniken.

So ändern Sie das Zifferblatt einer Fitbit Versa 4

So ändern Sie das Zifferblatt einer Fitbit Versa 4

Ändern Sie das Zifferblatt Ihrer Fitbit Versa 4 einfach und kostenlos. Entdecken Sie neue Designs und gestalten Sie Ihre Uhr ganz nach Ihrem Geschmack.

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Erfahren Sie, wie Sie die Feststelltaste auf Ihrem Chromebook aktivieren und deaktivieren können. Mit 3 einfachen Schritten und nützlichen Tipps zur Tastaturkonfiguration.

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

Erfahren Sie, wie Sie PETG-3D-Drucke in 5 Schritten professionell glätten – von Schleifen bis Chemische Behandlung. Praxistipps mit Sicherheitshinweisen und Werkzeugempfehlungen.

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

Erfahren Sie, wie Sie Überwachungssoftware auf Arbeitsgeräten identifizieren + Tipps zum Schutz Ihrer Privatsphäre. Inklusive aktuellem Rechtsrahmen gemäß BDSG & DSGVO.

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Erfahren Sie, was eine Krempe beim 3D-Druck ist, warum sie nützlich ist und wie sie Ihnen hilft, das Verziehen von Filamenten zu vermeiden. Jetzt mit 5 praktischen Tipps zur optimalen Nutzung.