2016-04-24 6 views
0

Wie viel kann der Stack $sp mit QtSpim MIPS Simulator halten? Der Anfangswert $sp ist 2147481160. Ich weiß, dass es für jedes Wort, das im Stapel gespeichert werden soll, einen Offset von 4 gibt. Würde ich einfach 2147481160 durch 4 teilen, um die Grenze der Wörter zu bekommen?Wie viel kann MIPS-Stapel halten?

Antwort

-1

Jedes Wort ist 4 bytes = 32 bits. Somit kann der Stack (2147481160/4) = 536870290, 536870290 * 32 bits of data halten.

+1

Sie müssten den von den Code- und Datenbereichen verwendeten Speicherplatz reduzieren. – Michael

0

Wenn ich mich richtig erinnere, ist die "Unterseite" des Benutzerdatenbereichs 0x10000000. Die globalen Daten werden jedoch an diese Adresse gesendet, sodass der tatsächliche Boden des Stapels am Ende dieser Daten liegt (was von dem spezifischen Programm abhängen würde). Für was es wert ist, in MARS (ein anderer MIPS-Simulator) ist der Boden des Stapels auf 0x10040000 gesetzt. Beachten Sie außerdem, dass dieser Wert nur gilt, wenn Sie keine Daten auf den Heapspeicher gelegt haben.

+0

Um eine vollständige Beispielspeicherzuordnung zu sehen, starten Sie [MARS] (http://courses.missouristate.edu/KenVollmar/MARS/) und gehen Sie zu Einstellungen -> Speicherkonfiguration. – Zack

Verwandte Themen