Heim > häufiges Problem > Hauptteil

Anwendungshinweise können in was unterteilt werden

藏色散人
Freigeben: 2023-01-13 00:32:22
Original
96754 Leute haben es durchsucht

Die Anweisungen der Anwendung können in zwei Kategorien unterteilt werden: die Befehle des Zentralprozessors, d. h. der Befehlssatz der CPU, und diejenigen, die zum Anfordern bestimmter Dienste vom Betriebssystem verwendet werden Grob unterteilt in Befehlsabruf, Dekodierung, Ausführung, Abruf, Zurückschreiben und PC-Aktualisierung.

Anwendungshinweise können in was unterteilt werden

Die Betriebsumgebung dieses Artikels: Windows 7-System, DELL G3-Computer.

Theoretisch lassen sich die Anweisungen in der Anwendung in zwei Kategorien einteilen: den Befehlssatz der Zentraleinheit (CPU) und den Befehlssatz, mit dem bestimmte Dienste vom Betriebssystem angefordert werden.

Die Zentraleinheit (CPU, Central Processing Unit) ist eine sehr große integrierte Schaltung, die den Rechenkern (Core) und den Steuerkern (Control Unit) eines Computers darstellt. Seine Funktion besteht hauptsächlich darin, Computeranweisungen zu interpretieren und Daten in Computersoftware zu verarbeiten.

Die Zentraleinheit umfasst hauptsächlich die Recheneinheit (Arithmetic Logic Unit, ALU, Arithmetic Logic Unit) und den Cache-Speicher (Cache) sowie den Bus (Bus), der die Daten (Data), Steuerung und Status dazwischen implementiert ihnen. Zusammen mit dem internen Speicher (Memory) und den Eingabe-/Ausgabegeräten (I/O) werden sie zusammen als die drei Kernkomponenten elektronischer Computer bezeichnet.

Der Verarbeitungsablauf von CPU-Betriebsanweisungen ist grob in mehrere Schritte unterteilt: Befehlsabruf, Dekodierung, Ausführung, Speicherzugriff, Zurückschreiben usw. Jede Anweisung benötigt zwischen 1 und 6 Bytes, je nachdem, welche Felder erforderlich sind. Das erste Byte jedes Befehls gibt den Typ des Befehls an: Die oberen 4 Bits sind der Codeteil (Beispiel: 6 ist ein ganzzahliger Operationsbefehl), und die unteren 4 Bits sind der Funktionsteil (Beispiel: 1 ist ein Subtraktionsbefehl). in der Integer-Klasse) 61 Zusammen bilden sie den Unterbefehl.

Befehlsfluss verarbeiten

Eine wichtige Eigenschaft des Befehlssatzes ist, dass die Bytekodierung eine eindeutige Interpretation haben muss. Jede Bytesequenz codiert entweder eine eindeutige Befehlssequenz oder ist keine gültige Bytesequenz. Da das erste Byte jeder Anweisung eine einzigartige Kombination aus Code und Funktion enthält, können wir anhand dieses Bytes die Länge und Bedeutung aller anderen zusätzlichen Bytes bestimmen.

Jede Anweisung benötigt 1 bis 6 Bytes, je nachdem, welche Felder erforderlich sind. Das erste Byte jedes Befehls gibt den Typ des Befehls an: Die oberen 4 Bits sind der Codeteil (Beispiel: 6 ist ein ganzzahliger Operationsbefehl), und die unteren 4 Bits sind der Funktionsteil (Beispiel: 1 ist ein Subtraktionsbefehl). in der Integer-Klasse) 61 Zusammen bilden sie den Unterbefehl.

Das Folgende ist das Flussdiagramm für die Verarbeitung jeder Anweisung:

Abrufen

Die Wertphase liest die Anweisungsbytes aus dem Speicher und legt sie im Anweisungsspeicher (CPU) ab. Die Adresse ist der Programmzähler (PC). Wert. Es berechnet sequentiell die Adresse des nächsten Befehls, der dem aktuellen Befehl folgt (d. h. den Wert von PC plus die Länge des abgerufenen Befehls).

Dekodierung (Dekodierung)

ALU liest bis zu zwei Operanden aus der Registerdatei (einer Sammlung von Allzweckregistern). (Das heißt, der Inhalt von bis zu zwei Registern kann gleichzeitig gelesen werden)

Ausführung

Während der Ausführungsphase wird die Arithmetik-/Logikeinheit (ALU) je nach Befehlstyp für unterschiedliche Zwecke verwendet. Bei anderen Anweisungen fungiert es als Addierer, um den Stapelzeiger zu erhöhen oder zu dekrementieren, die effektive Adresse zu berechnen oder einfach 0 zu addieren und einen Eingang an den Ausgang weiterzuleiten.

Das Bedingungscoderegister (CC) verfügt über drei Bedingungsbits. Die ALU ist für die Berechnung des neuen Werts des Bedingungscodes verantwortlich. Wenn ein Sprungbefehl ausgeführt wird, wird das Verzweigungssignal cnd basierend auf dem Bedingungscode und dem Sprungtyp berechnet.

Speicher

In der Speicherzugriffsphase liest oder schreibt der Datenspeicher (in der CPU) ein Speicherwort. Befehls- und Datenspeicher greifen auf dieselben Speicherorte zu, jedoch zu unterschiedlichen Zwecken.

Zurückschreiben

Die Zurückschreibphase kann bis zu zwei Ergebnisse in die Registerdatei schreiben. Die Registerdatei verfügt über zwei Schreibports. Port E wird zum Schreiben des von der ALU berechneten Werts verwendet, während Port M zum Schreiben des aus dem Datenspeicher gelesenen Werts verwendet wird.

PC aktualisieren (PC-Update)

Wählen Sie gemäß dem Anweisungscode und dem Verzweigungsflag den nächsten PC-Wert aus den in den vorherigen Schritten erhaltenen Signalwerten aus.

Weitere Informationen zu diesem Thema finden Sie auf der Chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonAnwendungshinweise können in was unterteilt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage