Ich habe Probleme, dieses Problem zu verstehen, und bin neu bei ISA. Hier ist ein Problem mit 3 Fragen und meine größte Frage ist, was soll passieren? Insbesondere der HLL-Code ganz unten.
Angenommen, vier ISAs
Befehls-/Datengröße
Darüber hinaus sind alle Speicheradressen 32 Bit lang und alle Anweisungen und Daten werden im Fall der Speicher-Speicher-Architektur in einem einzigen Speicherzugriff abgerufen, ohne dass zusätzliche Speicherplätze verwendet werden müssen.
Kompilieren Sie Code für vier ISAs und bestimmen Sie die Metriken: 1) Codegröße 2) Datenspeicherverkehr, einschließlich Adressen, 3) Befehlsverkehr, einschließlich Adressen.
HLL-Code:
A = B + A
C = A - C + D
Als Hinweis für den Einstieg sind hier einige mögliche Befehlssequenzen für die erste HLL-Anweisung:
Akkumulatorbasiert
load A
add B
store A
Stack-basiert
load A
load B
add
store A
Speicher-zu-Speicher (2-Adresse)
add B, A
Registerbasiert
load A, r1
load B, r2
add r2, r1
store r1, A
Ihre Aufgabe ist es, herauszufinden, wie groß jeder Befehl ist und wie die Speicherzugriffsmuster sowohl für Befehls- als auch für Datenoperationen sind, wenn jede Sequenz ausgeführt wird.
David Tweed
Carlo
David Tweed