Frage

Wie genau wird die Steuereinheit in der CPU Daten von Registern abgerufen?Ruft es um Bit ab?

Wenn ich beispielsweise zwei Zahlen hinzufüge, A + B, wie erfolgt die Berechnung auf dem Speicherebenen?

War es hilfreich?

Lösung

Nehmen wir an, Sie haben einen Prozessor mit sechzehn 32-Bit-Registern und einer Einheit, die 32 Bit-Ganzzahlen hinzufügen können. Eine sehr vereinfachte Möglichkeit zum Hinzufügen von Register X und Register Y und Speichern des Ergebnisses in Register Z ist dies:

Zunächst erstellen Sie Hardware, die eine Nummer X erhalten, das erste Bit von Register X auswählen und ihn an das erste Bit von "Operand1" verschieben. Dies ist tatsächlich ziemlich kompliziert, da X eine von 16 Werte sein könnte, und die Hardware muss in der Lage sein, das erste Bit eines der 16 Registerkarten zu lesen.

Zweitens nehmen Sie diese Hardware an und machen 32 Kopien davon, eine Kopie für jedes Bit in einem Register. Jetzt haben wir einige recht komplexe Hardware, die 32 von 512 Bits bewegen können.

Drittens, wir duplizieren all dies mit den entsprechenden Änderungen, um Register y zu "operand2" zu verschieben.

Vierter, wir erstellen Hardware, die Operand1 und Operand2 hinzufügen und die Summe in einem 32-Bit-Standort "Ausgang" aufbewahren können

und fünft, wir erstellen die Hardware, die den Wert in "Ausgabe" annehmen kann. und speichern Sie es in das Register z.

Andere Tipps

Die CPU hat direkten Zugriff auf Register.Wenn a und b bereits in den Registern sind, kann die CPU den Zugabe direkt (über die arithmetische Logikeinheit) ausführen und den Ausgang in einem der Register speichern.Es ist kein Zugriff auf Speicher erforderlich.Möglicherweise möchten Sie jedoch Ihre Daten A und B aus dem Speicher oder dem Stapel in die Registern und umgekehrt verschieben.Dies sind separate Operationen.

Register können 8 bis 64 Bit unterschiedlich sein, dies hängt von Ihrer CPU-Architektur ab.Auf A X86-64 sind CPU-Register 64bit, sodass zusätzlich zwei 64-Bit-Nummern ein einzelner Betrieb ist.

( CPU-Register gelten häufiger als Teil der CPU als vom Speicher. Auffallend ist die Adressierung sehr unterschiedlich.)
Die -Kontrolleinheit ergibt sich im Allgemeinen nicht auf Werte aus den Register der Allzwecke:
Es steuert die Fütterungsregisterwerte an, z. B. der Alu.Von dem word .
(Dort habe Dinge wie der Dez-PDP-8 / S oder Motorola 14500.)

Es gibt architektur ( "logische" Registrierteile ), und es gibt implementierung , wobei Registrieren Umbenennen Abstracts logische Register von physischen Registern.
Zwei-Operanden-Anweisungen führen zu mehreren -Lesen-Ports .
(Als nächstes gibt es Anleitungspegel Parallelität , mehrere Schreiböffnungen auch).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top