Die CPU versteht keine Befehle so, wie ein Mensch Wörter versteht. Stattdessen versteht es
Maschinencode , was eine Folge von binären Ziffern (0s und 1s) ist. Diese binären Sequenzen stellen Anweisungen dar, die die Schaltung der CPU ausführen soll. Diese Anweisungen sind sehr einfach und beinhalten in der Regel Operationen wie:
* arithmetische und logische Operationen: Hinzufügen, Subtrahieren, Multiplizieren, Teilen, ANDING, ORING, XORING, Vergleich von Werten.
* Datenbewegung: Laden Sie Daten aus dem Speicher in Register, Speichern von Daten aus Registern in den Speicher und verschieben Daten zwischen Registern.
* Kontrollfluss: Verzweigungen (Springen) an verschiedenen Teilen des Programms basierend auf Bedingungen, Schleifen (Wiederholungsanweisungen), Aufrufen von Unterprogrammen (Funktionen).
* Eingabe/Ausgabe (E/O): Kommunizieren Sie mit Peripheriegeräten wie der Festplatte, Tastatur, Anzeige usw.
Diese grundlegenden Anweisungen werden gemeinsam als Anweisungsset Architecture (ISA) bezeichnet der CPU. Verschiedene CPU-Architekturen (wie X86, Arm, RISC-V) haben unterschiedliche ISAs, was bedeutet, dass sie unterschiedliche Sätze von Anweisungen für Maschinencode haben.
Es ist wichtig zu beachten:
* Assemblersprache: Programmierer schreiben selten direkt in den Maschinencode. Stattdessen verwenden sie die Assemblersprache, die eine menschlich lesbare Darstellung des Maschinencodes darstellt. Ein Assembler übersetzt dann Assemblercode in den Maschinencode.
* Sprachen auf höherer Ebene: Die meisten Programmierungen erfolgen in höheren Sprachen (wie C ++, Java, Python), die vom Maschinencode weiter abstrahiert werden. Compiler oder Dolmetscher übersetzen diese hochrangigen Sprachen in den Maschinencode, den die CPU ausführen kann.
Während die CPU nur Binärcode -Anweisungen "versteht", beinhaltet der Prozess des Erstellens und Ausführens von Programmen mehrere Abstraktionsebenen, um die Programmierung für den Menschen besser überschaubar zu machen.