SRAM vs. SDRAM als Anzeigepuffer

Ich bin in einem kleinen Dilemma und frage mich, ob mir hier jemand helfen kann.

Für eine Anzeigeanwendung muss ein Framebuffer mit mindestens 2 MB verwendet werden. Dieser Framebuffer wird verwendet, um ein 800x480-Pixel-TFT-Panel anzusteuern.

Ich wollte dafür SRAM verwenden, weil ich höre, dass es schneller ist.

SRAM-Teil: IS61WV102416BLL

Aber ich bin jetzt auf folgenden SDRAM-IC gestoßen:

SDRAM-Teil: IS42S16400J-7TLI

Es scheint mir, dass das SRAM eine Zugriffszeit von 10 ns hat, während das SDRAM eine Zugriffszeit von 7 ns hat. Bedeutet das nicht, dass SDRAM schneller ist?

Vielen Dank im Voraus!

Nein, tut es nicht. Sehen Sie sich die Zykluszeiten beider ICs an.
Ich denke, es hat eine kürzere Zugriffszeit, aber SDRAM muss häufig aktualisiert werden, sodass Sie regelmäßig den Zugriff auf den gesamten Speicherplatz verlieren. Aber es kann falsch sein.

Antworten (1)

SDRAM ist transaktionsbasiert; alle Zugriffe sind Burst-basiert und daher müssen Sie immer eine Transaktionsperiode für alle Zugriffe verbrauchen. Der Teil, auf den Sie verlinken, kann einen einzelnen Lese-/Schreibzugriff (Burst of One) ausführen, aber es gibt andere Overheads.

Wenn ich transaktionsbasiert sage, bedeutet das, dass ein Lese- oder Schreibvorgang mehr beinhaltet, als nur diesen einzelnen Befehl zu bestätigen.

SDRAM-Zugriffe bestehen aus dem Öffnen einer Reihe, gefolgt von einem Lese- oder Schreibbefehl, dann müssen Sie auf genügend Zyklen warten, um die CAS-Latenzanforderung zu erfüllen; erst dann findet die eigentliche Transaktion statt. Es ist normalerweise möglich, weiterhin auf eine Zeile zuzugreifen, ohne sie erneut zu öffnen, aber nur bis die Aktualisierungsperiode abgelaufen ist, nach der die Zeile geschlossen und dann erneut geöffnet werden muss.

Beachten Sie, dass Sie, wenn Sie auf wirklich zufällige Orte (in verschiedenen Zeilen) zugreifen müssen, den Mehraufwand für das Öffnen der Zeilen für jede einzelne Zeile verursachen.

Für Video-Framebuffer-Anwendungen ist dies sehr wahrscheinlich ein Overhead, den Sie nicht haben möchten.

Darüber hinaus führt SDRAM Auffrischungszyklen durch, um die Gesamtanforderungen an das Auffrischungstiming zu erfüllen, wodurch die Zugriffe etwas nicht deterministisch werden

Der SRAM, mit dem Sie eine Verbindung herstellen, hat keine der oben genannten Transaktions-Timing-Probleme; die Gesamtzykluszeit (für die tatsächliche Datentransaktion) beträgt 20 ns (min), aber in vielen Anwendungen ist der tatsächliche Durchsatz eines anscheinend langsameren SRAM höher als bei SDRAM.

Sie müssen die Datendurchsatzanforderungen analysieren und wie die Daten im Speicher gespeichert werden, um zu sehen, welchen tatsächlichen Durchsatz Sie erreichen werden.