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.



So klonen Sie eine Festplatte

So klonen Sie eine Festplatte

Im modernen digitalen Zeitalter, in dem Daten ein wertvolles Gut sind, kann das Klonen einer Festplatte unter Windows für viele ein entscheidender Prozess sein. Dieser umfassende Leitfaden

Wie behebt man, dass der Treiber WUDFRd unter Windows 10 nicht geladen werden konnte?

Wie behebt man, dass der Treiber WUDFRd unter Windows 10 nicht geladen werden konnte?

Wird beim Booten Ihres Computers die Fehlermeldung angezeigt, dass der Treiber WUDFRd nicht auf Ihren Computer geladen werden konnte?

So beheben Sie den NVIDIA GeForce Experience-Fehlercode 0x0003

So beheben Sie den NVIDIA GeForce Experience-Fehlercode 0x0003

Tritt auf Ihrem Desktop der NVIDIA GeForce-Fehlercode 0x0003 auf? Wenn ja, lesen Sie den Blog, um herauszufinden, wie Sie diesen Fehler schnell und einfach beheben können.

Warum lässt sich mein Chromebook nicht einschalten?

Warum lässt sich mein Chromebook nicht einschalten?

Erhalten Sie Antworten auf die Frage: Warum lässt sich mein Chromebook nicht einschalten? In diesem hilfreichen Leitfaden für Chromebook-Benutzer.

So ändern Sie das Zifferblatt einer Fitbit Versa 4

So ändern Sie das Zifferblatt einer Fitbit Versa 4

Ändere das Zifferblatt deiner Fitbit Versa 4, um deiner Uhr jeden Tag kostenlos ein anderes Aussehen zu verleihen. Sehen Sie, wie schnell und einfach es geht.

Roomba stoppt, bleibt hängen und dreht sich um – Reparieren

Roomba stoppt, bleibt hängen und dreht sich um – Reparieren

Beheben Sie ein Problem, bei dem Ihr Roomba-Roboterstaubsauger anhält, hängenbleibt und sich ständig umdreht.

So ändern Sie die Grafikeinstellungen auf Steam Deck

So ändern Sie die Grafikeinstellungen auf Steam Deck

Das Steam Deck bietet ein robustes und vielseitiges Spielerlebnis direkt auf Knopfdruck. Allerdings, um Ihr Spiel zu optimieren und das bestmögliche zu gewährleisten

Was ist isolationsbasierte Sicherheit?

Was ist isolationsbasierte Sicherheit?

Wir werden uns mit einem Thema befassen, das in der Welt der Cybersicherheit immer wichtiger wird: Isolationsbasierte Sicherheit. Dieser Ansatz zu

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Was ist SMPS?

Was ist SMPS?

Erfahren Sie, was SMPS ist und welche Bedeutung die verschiedenen Effizienzbewertungen haben, bevor Sie sich für ein SMPS für Ihren Computer entscheiden.