PDA

View Full Version : [Frage] ALu-Memory Adress Register


Merlin
19-06-2004, 14:52
Ich hätte da eine Frage zu dem Thema:

Auf Seite 127 im Buch stehtfolgendes:

Durch die Aktivierung des Signals 'ldMAR' wird das MAR, das mit dem B-Bus verbunden ist, von dort mit Daten geladen.
Kann das vielleicht jemand erläutern?

Vorher, auf Seite 125 ist nämlich gestanden:


Im ersten Schritt wird die Adresse der gewünschten Speicherzelle in das MAR geschrieben. zusätzlich erfolgt die Aktivierung der Kontrollleitungen read und memory select.
Dass heisst doch, dass ich im MAR die Adresse abspeichere, welches Register auf meinem A-/B-Bus zum speichern von Daten verwendet wird.
Anschliessend wird dann in Schritt 2 die Information an den Datenbus angelegt und kann dann in Schritt 3 vom MBR eingelesen werden.


Wozu nehme ich dann Daten aus dem B-BUS und speichere sie ins MAR???
Und was für Daten?
Ich dachte, da werden nur Adressen gespeichert...

Wär toll, wenn das wer erklären könnte...

lg Merlin

steffel
20-06-2004, 20:02
Ich hätte da eine Frage zu dem Thema:
Dass heisst doch, dass ich im MAR die Adresse abspeichere, welches Register auf meinem A-/B-Bus zum speichern von Daten verwendet wird.
Anschliessend wird dann in Schritt 2 die Information an den Datenbus angelegt und kann dann in Schritt 3 vom MBR eingelesen werden.


Wozu nehme ich dann Daten aus dem B-BUS und speichere sie ins MAR???
Und was für Daten?
Ich dachte, da werden nur Adressen gespeichert...

Wär toll, wenn das wer erklären könnte...

lg Merlin

zu allererst: adressen SIND ebenso daten. dem prozessor ist das ziemlich wurscht, was in den registern drin steht und was damit gemacht wird, er macht halt seinen job. wenn in R1 nun ein wert drin steht, welcher zum auslesen aus dem speicher benutzt wird, sprechen wir von einer "adresse".

sagen wir, ich will vom speicher lesen. die adresse ist 1000 hex, ich schreib das immer "$1000". also liegen z.b. im R1 die daten "0001 0000 0000 0000".

MAR <- R1; rd
rd
R2 <- MBR

(R1: $1000)

die mikroinstruktion beinhaltet a-bus, b-bus und s-bus-register-adressen. daten aus register [adresse b-bus = R1] werden ans MAR gelegt (eben $1000). mit der steuerleitung ldMAR werden sie ins MAR geladen. dann wird dem speicher mittels RD gesagt, wir wollen lesen. und dann starten wir den lesevorgang mit MS.

wir warten ein wenig (das ist das mittlere "rd"). und jetzt sollten die daten im MBR liegen. also muss der A-MUX richtig geschalten werden und die ALU muss das ergebnis einfach durchschalten. in register [adresse s-bus = R2] werden dann die daten zum liegen kommen.

verständlicher jetzt?