Aufbau und Funktionsweise eines Prozessors

Download Report

Transcript Aufbau und Funktionsweise eines Prozessors

Aufbau und
Funktionsweise von
Prozessoren
Schematischer Aufbau eines Computers
Dem Prozessor werden Daten zugeführt, intern verarbeitet und
anschließend die Ergebnisse wieder ausgegeben.
Eingabewerk
Daten
Prozessor
Daten
Ausgabewerk
Schematischer Aufbau eines Computers
Der Prozessor (=CPU) besteht im Kern aus zwei Einheiten: dem
Leitwerk (auch Steuerwerk genannt) und dem Rechenwerk.
Eingabewerk
Daten
Prozessor
Leitwerk
Rechenwerk
Daten
Ausgabewerk
Schematischer Aufbau eines Computers
Das Leitwerk und das Rechenwerk tauschen prozessorinterne
Steuersignale aus.
Eingabewerk
Daten
Prozessor
Leitwerk
Rechenwerk
Daten
Ausgabewerk
Schematischer Aufbau eines Computers
Die dafür benötigten Daten und Befehle werden aus dem
Arbeitsspeicher geholt. Dorthin werden die Daten auch zurück
geschrieben.
Arbeitsspeicher
Eingabewerk
1
2
3
4
5
6
Daten
Prozessor
Adressen
Leitwerk
Rechenwerk
Daten
Ausgabewerk
Daten,
Befehle
7
8
.
.
.
.
.
.
-
-
n-3
n-2
n-1
Schematischer Aufbau eines Computers
Der Prozessor kann noch detaillierter betrachtet werden.
Prozessor
Leitwerk
Rechenwerk
Zusammenspiel von Leit- und Rechenwerk
Der Befehlszähler kennt die Adresse der Speicherstelle mit der
nächsten abzuarbeitenden Anweisung.
Prozessor
Leitwerk
Rechenwerk
Befehlszähler
Zusammenspiel von Leit- und Rechenwerk
Das Steuerwerk ruft diesen Befehl im Arbeitsspeicher ab.
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Rechenwerk
Befehlszähler
Zusammenspiel von Leit- und Rechenwerk
Die Anweisung wird vom Arbeitsspeicher in das Befehlsregister
des Leitwerkes geladen.
Befehle vom
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Rechenwerk
Befehlszähler
Zusammenspiel von Leit- und Rechenwerk
Eine Dekodiereinheit entschlüsselt die Anweisung für das
Leitwerk.
Befehle vom
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Befehlsdecodierer
Rechenwerk
Befehlszähler
Zusammenspiel von Leit- und Rechenwerk
Nun weiß das Leitwerk welche Werte es aus welchem Speicher
abrufen soll.
Befehle vom
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Befehlsdecodierer
Rechenwerk
Befehlszähler
Zusammenspiel von Leit- und Rechenwerk
Das Leitwerk veranlasst die Verschiebung der Wert aus dem
Arbeitsspeicher in einen internen Speicher des Rechenwerkes.
Befehle vom
Arbeitsspeicher
Werte vom
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Rechenwerk
Befehlszähler
Register für Operanden
und Ergebnisse
Akkumulator
Befehlsdecodierer
Operationensteuerung
Zusammenspiel von Leit- und Rechenwerk
Das Rechenwerk führt die Anweisung in der ALU (=Arithmetic
and Logical Unit) durch und sichert die Ergebnisse wieder.
Befehle vom
Arbeitsspeicher
WerteWerte
vom oder
vom zum
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Rechenwerk
Befehlszähler
Register für Operanden
und Ergebnisse
Akkumulator
Befehlsdecodierer
Operationensteuerung
A
L
U
Zusammenspiel von Leit- und Rechenwerk
Nach vollzogener Anweisung erhöht die Operationensteuerung
den Befehlszähler auf die Adresse der nächsten Anweisung.
Befehle vom
Arbeitsspeicher
Werte vom oder zum
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Rechenwerk
Befehlszähler
Register für Operanden
und Ergebnisse
Akkumulator
Befehlsdecodierer
Operationensteuerung
A
L
U
Zusammenspiel von Leit- und Rechenwerk
Ein internes Statusregister hält in einzelnen Bits (so genannten
Flags) wichtige Zusatzinformationen zu Operationen fest.
Befehle vom
Arbeitsspeicher
Daten vom oder zum
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Rechenwerk
Befehlszähler
Register für Operanden
und Ergebnisse
Akkumulator
Befehlsdecodierer
Operationensteuerung
A
Statusregister
L
U
Zusammenspiel von Leit- und Rechenwerk
Um diesen Ablauf zu koordinieren beinhaltet das Leitwerk einen
Taktgeber, nach dem sich alle anderen Einheiten richten müssen.
Befehle vom
Arbeitsspeicher
Daten vom oder zum
Arbeitsspeicher
Befehlsadressen an
den Arbeitsspeicher
Prozessor
Leitwerk
Befehlsregister
Rechenwerk
Befehlszähler
Register für Operanden
und Ergebnisse
Akkumulator
Befehlsdecodierer
Operationensteuerung
A
Taktgeber
Statusregister
L
U
Arbeitsweise der CPU (Zusammenfassung)
Folgende Schritte erfolgen bei der Abarbeitung eines Befehles:
1. Befehl aus Speicher holen
2. Dekodieren des Befehls
3. Adressberechnungen
4. Operanden aus Speicher holen
5. Operationsdurchführung
6. Speicherung der Ergebnisse
7. Bestimmung der Adresse des nächsten Befehls
Datenverarbeitung in der CPU
Folgende Anweisung soll
abgearbeitet werden:
Arbeitsspeicher
Programm
2048 2049 2050 2051 2052 2053 2054 2055 2056
„Addiere zur Zahl, die in
der Speicherzelle 4000
steht und 2 Byte lang ist,
diejenige Zahl der
Speicherzelle 4002, die
auch 2 Byte lang ist.
Speichere dann das Ergebnis
in den Speicherzellen 4000
und 4001 ab.“
ADD 2 2
4000
4002
Daten
4000 4001 4002 4003 4004 4005 4006 4007 4008
301
305
Rechenwerk
BZ
2048
Leitwerk
Datenverarbeitung in der CPU
Im Befehlszähler BZ steht
die Adresse 2048.
Arbeitsspeicher
Programm
2048 2049 2050 2051 2052 2053 2054 2055 2056
Dies ist die Speicherzelle,
welche den nächsten
Programmschritt enthält.
ADD 2 2
4000
4002
Daten
4000 4001 4002 4003 4004 4005 4006 4007 4008
301
305
Rechenwerk
BZ
2048
Leitwerk
Datenverarbeitung in der CPU
Das Leitwerk erkennt dass
dieser Befehl sechs Byte
lang ist und ruft ihn ab.
Arbeitsspeicher
Programm
2048 2049 2050 2051 2052 2053 2054 2055 2056
ADD 2 2
4000
4002
Daten
4000 4001 4002 4003 4004 4005 4006 4007 4008
301
305
Rechenwerk
BZ
2048
2048 2049 2050 2051 2052 2053
ADD 2 2
4000
Leitwerk
4002
Datenverarbeitung in der CPU
Eine umfangreiche
Dekoderschaltung für den
Befehl ADD entschlüsselt
diesen für das Leitwerk,
welches dann die erste Zahl
aus den Speicherstellen
4000 und 4001 und die
zweite Zahl aus den
Speicherstellen 4002 und
4003 ausliest und in das
Rechenwerk verschiebt.
Arbeitsspeicher
Programm
2048 2049 2050 2051 2052 2053 2054 2055 2056
ADD 2 2
4000
4002
Daten
4000 4001 4002 4003 4004 4005 4006 4007 4008
301
305
Rechenwerk
301
BZ
2048
305
2048 2049 2050 2051 2052 2053
ADD 2 2
4000
Leitwerk
4002
Datenverarbeitung in der CPU
Das Rechenwerk führt die
Addition mit Hilfe von
Volladdierern durch.
Arbeitsspeicher
Programm
2048 2049 2050 2051 2052 2053 2054 2055 2056
ADD 2 2
4000
4002
Daten
4000 4001 4002 4003 4004 4005 4006 4007 4008
301
305
Rechenwerk
301
BZ
2048
+
305
=
606
2048 2049 2050 2051 2052 2053
ADD 2 2
4000
Leitwerk
4002
Datenverarbeitung in der CPU
Das Leitwerk veranlasst, dass
das Ergebnis der Addition
in den Speicherzellen 4000
und 4001 abgelegt wird.
Arbeitsspeicher
Programm
2048 2049 2050 2051 2052 2053 2054 2055 2056
ADD 2 2
4000
4002
Daten
4000 4001 4002 4003 4004 4005 4006 4007 4008
301
606
305
Rechenwerk
301
BZ
2048
+
305
=
606
2048 2049 2050 2051 2052 2053
ADD 2 2
4000
Leitwerk
4002
Datenverarbeitung in der CPU
Der Befehl aus Zelle 2048 ist
damit ausgeführt, der
Befehlszähler wird um 6 (da
der ausgeführte Befehl sechs
Byte lang war) erhöht.
Arbeitsspeicher
Programm
2048 2049 2050 2051 2052 2053 2054 2055 2056
ADD 2 2
4002
Daten
4000 4001 4002 4003 4004 4005 4006 4007 4008
606
Die nächste Anweisung aus
Speicherstelle 2054 wird
– sofern vorhanden –
eingelesen und abgearbeitet.
4000
305
Rechenwerk
301
BZ
2048
2054
+
305
=
606
2048 2049 2050 2051 2052 2053
ADD 2 2
4000
Leitwerk
4002
--- ENDE ---