Dieser Artikel zeigt, dass der DDR4-SDRAM etwa das 8-fache der Bandbreite des DDR1-SDRAM aufweist. Die Zeit vom Einstellen der Spaltenadresse bis zur Verfügbarkeit der Daten hat sich jedoch nur um 10% (13,5 ns) verringert. Eine Schnellsuche zeigt, dass die Zugriffszeit der schnellste Async ist. SRAM (18 Jahre alt) ist 7ns. Warum hat sich die SDRAM-Zugriffszeit so langsam verringert? Ist der Grund ökonomisch, technologisch oder grundlegend?
22
Antworten:
Es ist einfacher und billiger, die Bandbreite des DRAM zu erhöhen, als die Latenz zu verringern. Um die Daten aus einer offenen RAM-Reihe abzurufen, ist ein nicht unerheblicher Arbeitsaufwand erforderlich.
Die Spaltenadresse muss decodiert werden, die Multiplexer, die auswählen, auf welche Leitungen zugegriffen werden soll, müssen angesteuert werden, und die Daten müssen über den Chip zu den Ausgangspuffern gelangen. Dies nimmt etwas Zeit in Anspruch, zumal die SDRAM-Chips nach einem auf hohe RAM-Dichten und nicht auf hohe Logikgeschwindigkeiten zugeschnittenen Verfahren hergestellt werden. Um die Bandbreite beispielsweise mithilfe von DDR (1, 2, 3 oder 4) zu erhöhen, kann der größte Teil der Logik entweder erweitert oder per Pipeline übertragen werden und mit der gleichen Geschwindigkeit wie in der vorherigen Generation betrieben werden. Das einzige, was schneller sein muss, ist der E / A-Treiber für die DDR-Pins.
Um die Latenz zu verringern, muss dagegen der gesamte Vorgang beschleunigt werden, was sehr viel schwieriger ist. Höchstwahrscheinlich müssten Teile des RAM in einem ähnlichen Prozess wie bei Hochgeschwindigkeits-CPUs hergestellt werden, was die Kosten erheblich erhöht (der Hochgeschwindigkeitsprozess ist teurer und jeder Chip muss zwei verschiedene Prozesse durchlaufen).
Wenn Sie CPU-Caches mit RAM und Festplatte / SSD vergleichen, besteht eine umgekehrte Beziehung zwischen großem und schnellem Speicher. Ein L1 $ ist sehr schnell, kann aber nur zwischen 32 und 256 KB Daten speichern. Der Grund, warum es so schnell ist, ist, dass es klein ist:
Wenn Sie die Hierarchie nach oben verschieben, wird jede Speicheroption in der Kapazität größer, aber auch in der Fläche und weiter vom verwendeten Gerät entfernt, was bedeutet, dass das Gerät langsamer werden muss.
quelle
C_Elegans liefert einen Teil der Antwort - es ist schwierig , die Gesamtlatenz eines Speicherzyklus zu verringern.
Der andere Teil der Antwort ist , dass in der modernen hierarchischen Speichersystemen (mehrere Ebenen von Caching), Speicherbandbreite einen viel stärkeren Einfluss auf die Gesamtleistung des Systems als Speicher - Latenz , und so das ist , wo alle aktuellen Entwicklungsbemühungen konzentriert haben.
Dies gilt sowohl für die allgemeine Datenverarbeitung, bei der viele Prozesse / Threads parallel ausgeführt werden, als auch für eingebettete Systeme. Bei der HD-Videoarbeit, die ich mache, interessieren mich Latenzen in der Größenordnung von Millisekunden nicht, aber ich benötige mehrere Gigabyte / Sekunde Bandbreite.
quelle
Ich habe nicht so viele Einsichten, aber ich erwarte, dass es ein bisschen von allem ist.
Wirtschaftlich
Für die meisten Computer / Telefone ist die Geschwindigkeit mehr als ausreichend. Für schnellere Datenspeicher wurde SSD entwickelt. Menschen können Video / Musik und andere geschwindigkeitsintensive Aufgaben (fast) in Echtzeit ausführen. Daher ist weniger Geschwindigkeit erforderlich (außer für bestimmte Anwendungen wie Wettervorhersagen usw.).
Ein weiterer Grund ist, eine sehr hohe RAM-Geschwindigkeit zu verarbeiten, es werden CPUs benötigt, die schnell sind. Und das kommt mit viel Stromverbrauch. Da die Tendenz, sie in Batteriegeräten (wie Mobiltelefonen) zu verwenden, die Verwendung von sehr schnellem RAM (und CPUs) verhindert, ist es auch wirtschaftlich nicht sinnvoll, sie herzustellen.
Technisch
Durch die abnehmende Größe der Chips / ICs (nm-Level jetzt) steigt die Geschwindigkeit, aber nicht signifikant. Es wird häufiger zum Erhöhen des Arbeitsspeichers verwendet, der schwerer benötigt wird (auch aus wirtschaftlichen Gründen).
Grundlegend
Als Beispiel (beide sind Schaltkreise): Der einfachste Weg, mehr Geschwindigkeit zu erzielen (von SSD verwendet), besteht darin, die Last einfach auf mehrere Komponenten zu verteilen. Auf diese Weise summieren sich auch die Verarbeitungsgeschwindigkeiten. Vergleichen Sie mit 8 USB-Sticks, die gleichzeitig lesen und die Ergebnisse kombinieren, anstatt Daten von 1 USB-Stick nacheinander zu lesen (8-mal so lange).
quelle