Die Speichermatrix eines DRAM-Bausteins mit 8 Bit Wortbreite hat 2048
Zeilen und 1024 Spalten
Da die wortbreite 2048 Zeilen ist, habe ich 11 Adressleitungen (2^11).
Wie berechne ich aber die Kapazität?
Anzahl Speicherplätze * Breite des Speicherplatzes? Also 2097152 bit?
Peter93 schrieb:> Da die wortbreite 2048 Zeilen ist,
Nein.
> habe ich 11 Adressleitungen (2^11).
Nein.
> Wie berechne ich aber die Kapazität?> Anzahl Speicherplätze * Breite des Speicherplatzes? Also 2097152 bit?
Ja.
Laut Lösung sind 11 Adressleitungen richtig.
2097152 bit ist aber angeblich falsch ,es wird allerdings nicht gesagt,
was richtig ist. Deshalb bin ich verwundert und frage hier
Peter93 schrieb:> Laut Lösung sind 11 Adressleitungen richtig.
Es sind 11 Adressleitungen für die Zeile, soweit richtig. Allerdings
setzt das eine bestimmte Form des Adressmultiplex voraus.
Peter93 schrieb:
> 2097152 bit ist aber angeblich falsch
Nur dann, wenn eine Speicherstelle der Matrix aus 8 Bits besteht, oder
es 8 Matrizes sind. Wenn man von einer einzigen 2Kx1K DRAM
Speichermatrix ausgeht, dann kommt 2Mbit raus, unabhängig von der
Wortbreite.
M.a.W: Die Aufgabe setzt eine ganz bestimmte Interpretation einer DRAM
Speicherstruktur voraus. Welche das ist ergibt sich vermutlich aus der
Lehrveranstaltung.
A. K. schrieb:> ... oder akzeptiert als Antwort nur 256KB. ;-)
ich denke eher, dass er als Antwort den richtigen Wert akzeptiert.
Das DRAM hat 2048*1024=2097152 Adressen. Über jede Adresse werden 8 Bit
adressiert. Also: 16MiBit (oder 16,777... MByte)
Da steht aber: "Die Speichermatrix eines DRAM-Bausteins mit 8 Bit
Wortbreite hat 2048 Zeilen und 1024 Spalten"
Ich würde nicht davon ausgehen, dass pro Matrixelement 8 Bit gespeichert
werden
Was in der Originalaufgabe steht, wissen wir bisher nicht ;-)
Was in Datenblättern üblicherweise angegeben wird ist aber nicht die
physikalische Anzahl von Spalten und Zeilen, sondern die Anzahl von
individuell adressierbaren Spalten und Zeilen. Vielleicht ist das im
Originalwortlaut der Aufgabe ebenso.
Ein DRAM-Baustein mit 8 Bit Wortbreite hat 2048 Zeilen und
1024 Spalten.
Die Speichermatrix aus Zeilen und Spalten sagt erstmal,
dass er 2048 x 1024 = 2097152 Speicherstellen hat. Also 2 MBit.
Diese werden in Gruppen von 8 Bit (=1 Byte) gleichzeitig
zum Speichern angenommen, oder beim Lesen ausgegeben.
2097152 / 8 = 262144 Byte = 256 KByte
Da 2^18 = 262144 ist, wird ein verkäuflicher DRAM-Baustein mit
den genannten Daten 18 Adress-Pins und 8 Daten-Pins haben.
Wie das intern verknüpft ist, ist Sache des Konstrukteurs.
Der muss dafür sorgen, dass der DRAM-Baustein mindestens so
gut funktioniert, wie handelsübliche Konkurrenzprodukte...
Normalerweise geht es bei den Spalten um "Wörter" und nicht um Bits pro
Spalte. Jede Adresse Adressiert ein Wort, und nicht ein einzelnes Bit.
Das wäre ein Spezialfall, aber hier ist die Wortgröße ausdrücklich mit 8
Bit angegeben.
Es sind also 2048 Zeilen mit je 1024 Worten a 8 Bit
Es sind also 2097152 Worte a 8 Bit, also das was man 2 Megabyte nennt.
In Bit ist es natürlich das 8-Fache, also 16777216 Bit
Jacko schrieb:> Da 2^18 = 262144 ist, wird ein verkäuflicher DRAM-Baustein mit> den genannten Daten 18 Adress-Pins
Na ja, 18 Adress-Pins schon mal sicher nicht, weil DRAMs gemultiplexte
Adresspins verwenden (Zeilen- und Spaltenadressen laufen weitgehend über
die selben Pins).
Jacko schrieb:> Die Speichermatrix aus Zeilen und Spalten sagt erstmal,> dass er 2048 x 1024 = 2097152 Speicherstellen hat.
Was du hier betrachtest ist "der Schnittpunkt" von 2048 Wortleitungen
und 1024 Bitleitungen. Da steckt tatsächlich immer nur eine
Speicherzelle im Schnittpunkt und deine Rechnung wäre richtig.
Aber die phyiskalische Wortleitung ist nicht das selbe wie eine Row:
wenn eine Row angesprochen wird, dann können eine oder mehrere
physikalische Wortleitungen aktiviert werden (wobei dann alle
physikalischen Wortleitungen zur selben Rowadresse gehören).
Und eine physikalische Bitleitung ist nicht das selbe wie eine Column:
beim Aktivieren einer Column-Select-Line werden immer mehr als eine
Bitleitung (SenseAmps) an den Datenpfad geschalten. Und alle diese
gleichzeitig abgefragten SenseAmps gehören organisatorisch zur selben
Columnadresse.
Anbei mal ein Beispiel, wie die Adressräume in Datenblättern
üblicherweise angegeben sind. Es handelt sich um einen 1GiBit Chip von
Micron. Je nach Organisation hat er
8 Bänke 16k Rows 1k Columns * 8 Bit = 1GiBit = 1,0737... GBit
oder
8 Bänke 8k Rows 1k Columns * 16 Bit = 1GiBit = 1,0737... GBit
(Adressleitungen hat er übrigens je nach Organisation nur 14 oder 13.)
Ich schätze, dass es in der Originalaufgabe ebenso gemeint war, so dass
die Lösung eben 16MiBit lautet (es wäre nicht schlecht, wenn Peter den
Originaltext mal nachreichen würde).
2048 Zeilen und 1024 Spalten bilden einen Gitter. In jeder Zelle dieses
Gitters stehen Bits. In diesem speziellen Beispiel stehen in jeder Zelle
8Bits bzw. 1 Byte.
Die Adressleitung hat 11 leitungen.
Warum?
2048 = 2^11. Jetzt würden manche auf die Idee kommen zu sagen, dass ja
noch die 1024 zu berücksichtigen wären.
Das ist aber falsch. Das liegt daran wie solche Adressen interpretiert
werden:
Es gibt den sog. Zeilen- und Spaltendekoder. Diese Beiden Dekoder
bekommen jeweils die Adresse, die über die 11 Leitungen übermittelt
wird.
Während für den Zeilendekoder alle 11 Leitungen relevant sind, um eine
der 2048 Zeilen auszuwählen, sind für den Spaltendekoder nur 10 der 11
Leitungen relevant (1024=2^10).
Das bedeutet: Mit 11 Adressleitungen kann jede Zelle des Dram problemlos
adressiert werden (natürlich muss dafür die Adresse für die Auswahl der
Spalten und der Zeilen unterschiedllich interpretiert werden)
Nun kommen wir zu der Kapazität dieses Bausteins:
Man hat also 2048*1024 Zellen und jede Zelle hat eine Wortbreite von 8
Bit bzw. 1 Byte
->
Kapazität = 2048*1024*1 Byte = 2097152 Byte
1 KByte = 1024*1 Byte
->
2097152 Byte = 2048 KByte
1 MByte = 1024*1 KByte
->
2048 KByte = 2 MByte
Eine eigene Frage?
Dieser Thread ist über 10 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.