Hardware Reference
In-Depth Information
ALU
ALU
ALU
Abbildung 1.5. Register-Speicher-Befehle. a Je ein Operand kommt aus einem Register
und dem Hauptspeicher, das Ergebnis wird in ein Register geschrieben. b Gegenuber Fall a
wird das Ergebnis in den Hauptspeicher ubertragen. c Beide Operanden sowie das
Ergebnis liegen im Speicher. Nicht gezeigt ist die Variante, bei der beide Operanden aus
Registern kommen, aber das Ergebnis in den Hauptspeicher geschrieben wird
den benotigen und ein Ergebnis erzeugen, mussen dann Operanden aus dem
Hauptspeicher laden bzw. das Ergebnis in den Speicher schreiben konnen,
oder beides. Solche Befehle heißen Register-Speicher-Befehle (auch Register-
Memory-Befehle).
Diese Befehlsarten sind in Abbildung 1.5 veranschaulicht.
Wie wir spater sehen werden, lassen sich Register-Memory-Befehle schlecht
fließbandartig auf Pipelines ausfuhren. Da Speicherzugriffe immer auch eine
Adressberechnung beinhalten, sind zu deren Ausfuhrung implizit auch mehre-
re arithmetische Operationen erforderlich. In modernen Befehlssatzen werden
solche Befehlsarten daher gar nicht mehr vorgesehen. Die Alternative besteht
namlich darin, getrennte Befehle fur Speicherzugriffe und fur arithmetische
oder logische Operationen vorzusehen. Man unterscheidet Register-Register-
Befehle und Load-Store-Befehle . Die Load-Store-Befehle ubernehmen ledig-
lich den reinen Transport von Daten zwischen Hauptspeicher und Regis-
tern. Operationen mit den Daten werden von Register-Register-Befehlen aus-
gefuhrt und zwar ausnahmslos zwischen Registern. Diese Befehlsarten sind
veranschaulicht in Abbildung 1.6.
Die Entscheidung, auf komplizierte Register-Memory-Befehle zu verzichten,
ist so gravierend und beeinflusst den Prozessorentwurf so stark, dass Prozes-
 
Search WWH ::




Custom Search