SDRAM, wie schnell?

Weiß einer was dazu, wie schnell SDRAM ist, also schnell im Sinne von wieviel Clock-Zyklen man für welche Operation braucht? Ich habe hier ein Datenblatt gefunden:

formatting link

und scheint auch einigermaßen genormt zu sein, also auch Hersteller wie Micron haben ganz ähnliche Spezifikationen. Das State-Diagramm auf Seite 14 sieht allerdings eher wie abstrakte Kunst für mich aus :-)

Was mich insbesondere interessiert sind die Anzahl Takte beim Burst-Betrieb. Sieht ja so aus, als würde das RAM einen 8'er Burst zulassen. Wenn ich dann Seite 31 richtig interepretiere, dann kann man von verschiedenen Columns jeweils 8 zusammenhängende Bytes zwar mit 2 oder 3 Takten Latenz, aber dann jeweils ein Wort pro Takt lesen, kann also z.B. bei 100 MHz Takt und 16 Bit das RAM mit 200 MByte pro Sekunde lesen, abzüglich Zeit für Setup für das Setzen der Row-Adresse? Kann man sonst beliebige viele Wörter pro Column lesen, oder muß man nach der Anzahl Burst-Wörter eine Pause einlegen?

Wie sieht es beim Schreiben aus? Auf Seite 39 sieht es etwas merkwürdig aus: Random Write Cycles zeigt, daß man scheinbar mit jedem Takt eine andere Column und Daten vorgeben kann, Write Burst dagegen nur zwei aufeinanderfolgende Writes, dann zwei Don't Care Takte.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss
Loading thread data ...

Du kannst eine ganze Page am Stück lesen, du kannst ein weiteres Readkommando absetzen während der Burst aus dem RAM kommt.

Write to Write ist doch auch mit Burst.

Jan

Reply to
Jan Lucas

Die SDRAMs arbeiten intern mit einer Pipeline. Sehr ähnlich der eines Prozessors. Du kannst einen Page intern zwischenspeichern und beackern, während der nächste bereits vorbereitet wird. Der Chip speichert intern eine komplette Zeile aus der Matrix. Aus diesem Zwischenspeicher kannst du dann mittels Bursts, also schnellem MUX Daten auswählen.

Soweit ich mich erinnere, ist beim Schreiben kein großer Unterschied. Kommt nur ein Clockzyklus dazu?? Habe zwar mal ein SDRAM-Interface für PowerPC entwickelt, ist aber Jahre her :-(

- Henry

--
www.ehydra.dyndns.info
Reply to
Henry Kiefer

Auf Seite 25 ff. steht alles, was Du wissen möchtest, wichtig ist noch, die Burst Länge in das Mode Register gemäß Seite 24 zu programmieren. Da wird auch die gewünschte Latenz eingestellt.

Im Prinzip sind lesend wie schreibend im "sequential" Modus beliebige Burst Längen möglich, wenn man den Burst bedarfsweise rechtzeitig (Pipeline!) abbricht. Solange wie die Seite geöffnet ist, lassen sich auch mehrere Lese- oder Schreibvorgänge nacheinander platzieren, d.h. das SDRAM hat in dem Fall quasi Pipelined-SRAM Geschwindigkeit (im Grunde _ist_ das Zeilenregister ein SRAM ;-)

Man kann auch weniger oder mehr als die 8 Worte per Burst lesen.

Es ist keine Pause erforderlich, solange nicht: a) das Refresh-Zeitlimit erreicht wird. b) ein Umschalten zwischen Write und Read auf einer Page stattfindet. c) die Page inaktiviert und eine neue Page geöffnet wird. Während dessen kann man aber eine andere Bank weiter bearbeiten.

Das sind Beispiele, es sind auch andere Kombinationen möglich. Burst heißt eigentlich nur, dass das SDRAM selber die Column Adresse hochzählt. Ein schönes Beispiel findest Du auf Seite 34, da sieht man, wie während des Reads bereits der nächste Read Befehl sogar auf einer anderen Bank reingereicht wird.

Der Burst hat den Vorteil, dass ein ausgefuchster DRAM Controller während der NOP Zyklen Befehle z.B. an andere SDRAM IC's absetzen kann oder zumindest Leistung auf dem Adressbus spart.

Die Kopplung beispielsweise eines Cache mit SDRAM/DDRAM ist nicht trivial, wenn sie gut sein soll, sprich im Mittel kurze Zugriffszeiten liefern soll. Der zentrale Rechnenknecht sollte möglichst etwas im Voraus wissen, was er wann braucht, selbstredend unter Einbeziehung von Verzweigungen (Branch Prediction).

Gruß Oliver

P.s.: Wir suchen noch einen DRAM Hersteller, der uns für die Implementierung eines Zusatzfeatures im Bereich der Column Register (paralleler Ternär-Vergleich, wir haben ein Patent für IP Routing erhalten, für das derlei DRAM nützlich wäre, die Lösung ist u.a. für IPv6 interessant) ein Angebot macht. Die Münchner (Fa. Q.) sind zu unflexibel dazu, die wollen lieber den Massenmarkt beliefern, an dem sie nix verdienen, weil eh' alle das gleiche bauen (ja Jörg, Du darst jetzt lästern ;-)

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.