CPUs identifizieren nicht direkt zwischen 8-Bit- und 16-Bit-Operationen, wie Sie vielleicht denken. Hier ist eine Aufschlüsselung darüber, wie es funktioniert:
1. Anweisungscodierung:
* Anweisungssatz: Jede CPU hat eine bestimmte Reihe von Anweisungen, die sie versteht. Diese Anweisungen sind in binär codiert, und die Codierung bestimmt die zu ausgeführte Operation.
* Operandengröße: Die Anweisung selbst enthält normalerweise Informationen über die Größe der Daten, auf denen sie betrieben werden. Dies kann direkt in der Anweisung codiert oder durch die gewählte Anweisung impliziert werden.
2. Register:
* Allzweckregister: Die meisten CPUs haben Register, die für verschiedene Operationen verwendet werden können. Diese Register können je nach CPU-Architektur möglicherweise 8-Bit-, 16-Bit-, 32-Bit-Daten (oder sogar größere) Daten halten.
* Registergröße: Die Architektur der CPU bestimmt die Größe ihrer Register. Beispielsweise wird eine 16-Bit-CPU Register haben, die 16 Datenbits speichern können.
3. Speicheradatierung:
* Adressmodi: Die CPU verwendet Adressierungsmodi, um im Speicher auf Daten zuzugreifen. Einige Adressierungsmodi geben möglicherweise die Größe der zugegriffenen Daten direkt an, während andere möglicherweise auf der Grundlage der Anweisung implizieren.
4. Ausführung:
* Betrieb Ausführung: Wenn die CPU einen Befehl ausführt, wird die in der Anweisung (einschließlich Operandengröße) codierten Informationen verwendet, um die entsprechende Betriebs- und Datengröße zu bestimmen. Es greift auf die erforderlichen Daten aus Registern oder Speicher zu, führt den Vorgang aus und speichert das Ergebnis entsprechend.
Beispiel:
Stellen wir uns einen einfachen Anweisungen vor:"Axen hinzufügen, bx" (in der Montagesprache).
* `Add` Gibt den Vorgang an (Addition).
* `Ax` und` bx` sind allgemeine Register.
* Die Größe der Register (und damit die Operation) wird durch die Architektur der CPU impliziert. In einem 16-Bit-System wären "Ax` und" Bx "16-Bit-Register, sodass der" Add "-Operationsbetrieb eine 16-Bit-Ergänzung durchführen würde.
Wichtige Hinweise:
* Variierende Architekturen: Unterschiedliche CPUs haben unterschiedliche Architekturen und Anweisungssätze. Einige CPUs verwenden möglicherweise dedizierte Anweisungen für bestimmte Operand -Größen, während andere möglicherweise auf implizite Größeninformationen innerhalb der Anweisungen angewiesen sind.
* Operationen gemischt in Größe: Viele CPUs können Vorgänge mit unterschiedlichen Datengrößen verarbeiten (z. B. einen 8-Bit-Wert zu einem 16-Bit-Wert hinzufügen). Die CPU kann den kleineren Wert automatisch auf die Größe des größeren Werts erweitern, bevor der Vorgang ausgeführt wird.
Im Wesentlichen geht es nicht um die CPU, die zwischen 8-Bit- und 16-Bit-Operationen "identifiziert" wird. Es geht um die CPU, die die codierten Informationen innerhalb der Anweisungen und ihr eigenes architektonisches Design verwendet, um die Größe der Daten und die darauf auszuführenden Vorgänge zu bestimmen.