Forum: Mikrocontroller und Digitale Elektronik Speicherberechnung


von speicher (Gast)


Lesenswert?

Hi,

Mal angenommen ich habe einen 16bit DRAM Speicher mit den Adressen 
A[0..12] und BA[0..1] nach Datenblatt angaben ist der Speicher 32k x 16 
organisiert, hat also 64MB.

Nun wollte ich mal nachrechnen:
2 ^ Adressenzahl * Speicherbusbreite
2 ^ (13+2) * 16bit = 524288 bit
                  -> 524288 bit  8  1024 = 64kB ?

Wo liegt denn mein denkfehler, offensichtlich liege ich um den faktor 
1024 daneben :D

von speicher (Gast)


Lesenswert?

Oh nun war ich zu schnell.
Der Speicher ist 32Mbit x 16

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

speicher schrieb:
> Wo liegt denn mein denkfehler, offensichtlich liege ich um den faktor
> 1024 daneben

DRAMs werden mit gemultiplexten Adressen angesprochen, d.h. über die 
Adressleitungen gehen nacheinander zwei Hälften der Adressen.

Dein DRAM hat 13 Adressleitungen, damit sind die Adressen (bis zu) 26 
Bit groß.

Mit 26 Bit lassen sich 64 Mi (Mebi) Adressen ausdrücken, Dein DRAM 
könnte also 64 Mi * 16 Bit == 128 MiByte groß sein.

Wenn es das nicht ist, bleiben bei der Übertragung der Adressleitungen 
im Multiplexverfahren einige Bits ungenutzt.

Sieh' ins Datenblatt, hier insbesondere auf den Zusammenhang der 
Leitungen /CAS und /RAS und der Adressleitungen.

von speicher (Gast)


Lesenswert?

Hallo
Stimmt die Adressen sind ja gemultiplext, das habe ich ganz vergessen :)

Der Speicher hat 13 Adressleitungen, A[0..12] für die Zeilen, A[0..9] 
für die Spalten und BA[0..1] für die Blöcke. Damit gibt ingesamt 2^25 
Adressen.

2^25 * 16bit  1024  1024 / 8 =  64MB

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

speicher schrieb:
> und BA[0..1] für die Blöcke

Sind das nicht eher Leitungen, mit denen Byte-Zugriffe durchgeführt 
werden können?
Die darfst Du dann in Deiner Berechnung nicht berücksichtigen.

Zeig' mal einen Link auf das Datenblatt Deines DRAMs.

Beitrag #5511716 wurde von einem Moderator gelöscht.
von speicher (Gast)


Lesenswert?

Diese Leitungen gibts ja auch noch, das sind dann die LDQM und die HDQM.

Bei meiner Berechnung weiter oben fehlen nun ein paar Backslashes, ..
1
(16bit *  2^25) / ( 1024 * 1024 * 8) =  64MB
https://www.alliancememory.com/wp-content/uploads/pdf/mobile_sdram/20180115_AllianceMemory_512M_LPSDRAM_AS4C32M16MSA-6BIN(TR)_rev1.0_Dec2017.pdf

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

speicher schrieb:
> Bei meiner Berechnung weiter oben fehlen nun ein paar Backslashes, ..

Setze den Text in die Tags [ pre ] [ /pre ], sonst kommt die 
Forensoftware durcheinander, die denkt, daß Du Texte irgendwie 
hervorheben willst.

Dein DRAM hat also 13 + 10 + 2 = 25 Adressleitungen, d.h. 2 ^ 25 
mögliche Adressen. Das sind 32 MiAdressen. Da pro Adresse 2 Bytes 
untegebracht werden können, sind das 64 MiByte.

Mit anderen Worten: Du hast das korrekt berechnet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.