Speicher-Adressierung in MIPS assembly

Ich war vor kurzem zu Lesen Patterson und Hennessy ' s Buch "Computer Organization and Design", um zu studieren ein bisschen Montage.
Ich kam in eine Abteilung, wo die lw und sw Maschine Anweisungen erklärt wurden und wie Sie eine 16-bit-unmittelbarer als die load/store-address. Was die Autoren Wiesen ist diese hier:
"Der 16-bit-Adresse bedeutet, dass ein load word Befehl laden Sie eine beliebige Wort innerhalb einer region [...] 8192 Worte an die Adresse in der base-register rs".

Meine Frage ist:

  • Bedeutet das, dass alle Register, die die Adressen sind verteilt 8192 Worte voneinander?
  • Auch, bedeutet es, dass der gesamte verfügbare Speicher für den Betrieb ist 32 * 8192 = 262144 Worte?
  • nehmen Sie sich die Adresse registrieren, verwendet in der Anweisung, fügen Sie den unmittelbaren offset (16-bit-offset-Sie sprechen) und diese Summe ist die Adresse für den laden oder zu speichern. Der Wert im register und offset kann so ziemlich alles, so lange die Summe orientiert sich an der Größe des laden oder zu speichern.
  • Aber im Grunde ist es gewährleistet, dass die offsets aus verschiedenen Registern nicht kollidieren, richtig? Ich bin mir nicht sicher, ob der geladene Wert aus dem register wird der Wert gehalten, dass die Speicher-Adresse oder die Adresse selbst...
  • die Adresse kommt von der Summe aus dem Wert in register plus dem offset. Diese Adresse ist im Speicher, ram und Peripherie, die (general purpose) Registern kann nicht erreicht werden durch eine Adresse im Speicher. Ein paar bits in der Instruktion verwendet werden, zu entscheiden, welche register enthält einen Teil der Adresse.
InformationsquelleAutor jrhetf4xb | 2013-04-16
Schreibe einen Kommentar