Verständnissfragen zu DRAM Zugriffsmodi

OP (Firma: keine) #648515
bin gerade für ne Prüfung am lernen und beschäftige mich mit dem DRAM 
System und deren Zugriffe. Den "Normalmodus"  zum auslesen einer 
Speicherzelle verstehe ich ja noch, Interleaving auch ok, aber beim 
Thema burst mode und den ganzen varianten wirds verwirren:
wo liegen die genauen unterschiede von page mode, static column mode, 
nipple mode, serial mode.
habe mal ein diagramm angehängt
Angehängte Dateien:
OP (Firma: keine)
tut mir leid.habe es vergrößert.
hab auch schon etwas mehr herausgefunden:

burst mode:  daten liegen innerhalb einer zeile, das Ras-signal kann low 
bleiben.
       -page mode: liegen an unterschiedlichen spaltenadressen
       -static column mode: spaltenadresse liegen direkt 
hintereinander-> kein CAS-signal, bleibt auf low
       -nipple mode: immer 3 aufeinanderfolgende bits werden geliefert, 
kein
CAS-signal erforderlich

ist das so korrekt?was ist mit dem serial mode?
Angehängte Dateien:
Nein da sieht das ganz anders aus als auf dem jpeg-Bild, /RAS und /CAS 
sind beim normalen SDRAM-Zugriff nicht gleichzeitig low, sondern nur 
nacheinander mit Pause dazwischen und immer je eine Taktperiode lang 
low.
Dazu gibt noch wesentlich mehr Literatur als über die asynchronen EDO 
und FP? oder wie sie alle hießen.
http://www.mikrocontroller.net/articles/SDRAM-Timing#Literatur
da hab ich gerade gestern ein paar Links eingetragen.
Wenn ich das Bildchen richtig verstanden habe, dann können mindestens 
99% aller DRAMs nur die ersten beiden.
Den Static Column Mode habe ich noch nie gesehen, alle üblichen DRAMs 
speichern die Adresse bei der fallenden Flanke von CAS bzw RAS.

Zwischen Nibble und Serial Mode kann ich eigentlich keinen Unterschied 
erkennen. Vermutlich bezieht sich das eine auf 1bit, das andere auf 4bit 
DRAMs. Diese Art des Timings habe ich bisher nur bei ganz alten DRAMs 
und nur bei einem Hersteller gesehen.
Gast
Hallo,

Static Column kenne ich noch vom alten Amiga 3000 als ZIP 1MBx4.
Waren damals schon selten und offenbar recht ungebräuchlich.

Gruß aus Berlin
Michael
(a),(b) war der Standard bei asynchronen DRAMs.
(c) bis (e) sind spezielle Modi bestimmer Typen.
(b) bis (e) schliessen sich gegenseitig aus.

Hintergrund ist Beschleunigung von nah benachbarten Zugriffen. Im Page 
Mode hat man immerhin eine bremsende Adresszugriffszeit drin. In Nibble- 
und Serial-Mode hingegen nicht und kann dadurch deutlich schneller auf 
die Bits zugreifen, dafür kriegt man aber nur sequentiell aufeinander 
folgende Bits geliefert. Nibble- und Serial-Mode unterscheiden sich nur 
in der Länge des Bursts.

Nibble-Mode kann man sich als Beschleunigung von Zugriffen auf 
Cachelines vorstellen, die üblicherweise die 4fache Grösse der 
Buswortbreite haben und folglich Transfers von Cachelines immer 4 
zusammenhängende Datenworte übertragen.
Unterschied Nibble- und Serial-Mode: Wenn der Prozessor auf das 3. Wort 
einer Cacheline zugreift, dann sollte der Prozessor zwecks 
schnellstmöglicher Antwort dieses Wort als erstes kriegen, also 
Beispielsweise in der Reihenfolge 2-3-0-1 zugreifen. Bei Nibble-Mode ist 
dieser Wrap-Around dementsprechend definiert, bei Serial-Mode kriegt man 
dann 2-3-4-5, muss also 0-1-2-3 verwenden und entsprechend länger 
warten.

Serial-Mode (mir unbekannt) dürfte also in Hinblick auf Grafikspeicher 
konzipiert worden sein.
OP (Firma: keine)
danke leute, bis auf den static column mode hab ich jetzt alle 
verstanden! das bild stammt aus einem script unseres profs!

habe dann eine weitere frage ohne sofort einen neuen thread zu eröffnen:

wie funktioniert die cache verwaltung? bis jetzt weiss ich:
"Es werden mehrere Bytes zu einer Cache Line zusammengefasst. Der Cache 
Controller greift immer nur auf eine ganze Cache Line zu, nicht auf 
einzelne Bytes. Dadurch reduziert sich der Verwaltungsaufwand"

dann fängts aber an:
wie genau funktioniert direct mapped? was sagen die indizes bzw die tags 
aus? ich blicke da nicht so ganz durch
Zu Caches ein recht guter Text: http://en.wikipedia.org/wiki/CPU_cache

Den static column mode kann man sich modellhaft so vorstellen, dass mit 
RAS eine ganze Zeile (row) in ein statisches RAM geladen wird, und 
daraus dann während aktivem CAS beliebig wie bei normalen statischen 
RAMs gelesen wird (schreiben dürfte in dem Modus nicht möglich sein). 
Unterschied zum page mode ist vor allem das einfachere Timing, weil kein 
exakt passendes CAS erzeugt werden muss.
OP (Firma: keine)
Andreas Kaiser wrote:
> Zu Caches ein recht guter Text: http://en.wikipedia.org/wiki/CPU_cache
>
> Den static column mode kann man sich modellhaft so vorstellen, dass mit
> RAS eine ganze Zeile (row) in ein statisches RAM geladen wird, und
> daraus dann während aktivem CAS beliebig wie bei normalen statischen
> RAMs gelesen wird (schreiben dürfte in dem Modus nicht möglich sein).
> Unterschied zum page mode ist vor allem das einfachere Timing, weil kein
> exakt passendes CAS erzeugt werden muss.

eben dieser taxt hat mir nich weitergeholfen, deswegen wollte ich ja 
hier mal jmd fragen, der es mir evtl erklärt

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.