
Wie bildet der Speichercontroller die von der CPU vorgegebene lineare Adresse auf das SDRAM-Adressschema ab? Ich vermute, es ist so etwas wie:
0x0 - Rang 1, Bank0, Zeile 0, Spalte 0
0x8 - Rang 1, Bank0, Zeile 0, Spalte 1
.
.
.
(Zeile 0 max.)
0xn - Rang 1, Bank 0, Zeile 1, Spalte 0
0xn+8 Rang 1, Bank 0, Zeile 1, Spalte 1
.
.
.
(Bank 0 max.)
0xm Rang 1, Bank 1, Zeile 0, Spalte 0
0xm+8 Rang 1, Bank 1, Zeile 0, Spalte 1
usw.
Sind die Daten (Worte) über alle 8 ICs auf dem Speichermodul verstreut, wie z. B.sein (d. h. beim Schreiben eines Wortes in Rang 1, Bank 0, Zeile 0: LSByte wird in IC0 Bank 0, Zeile 0, Spalte 0 geschrieben, LSByte + 1 in IC1, Bank 0, Zeile 0, Spalte 0 ... MSByte in IC7, Bank 0, Zeile 0, Spalte 0)?
Antwort1
Es hängt davon ab, wie das jeweilige Modul aufgebaut ist. Die gesamte Zeile muss 64 Bit umfassen, kann aber auf 8 x 8-Bit-Chips oder 4 x 16-Bit-Chips usw. verteilt werden. Diese Konfiguration liegt beim Hersteller und ist für die CPU nicht sichtbar.