Dies ist eher eine Computerfrage, aber nur Elektronikfreaks würden solche Dinge wissen. Heutige Computer verwenden mehrere Speicherschichten, um schnell mit Daten zu arbeiten. Derzeit sind die CPU-Geschwindigkeiten zwischen 10- und 100-mal schneller als der RAM-Speicher. Daher sind CPUs mit einer kleinen Menge an sehr schnellem Speicher (Statischer RAM oder SRAM) ausgestattet, der normalerweise zwischen 10 KB und 10 MB groß ist. In diesem Speicher zwischengespeicherte Daten lassen sich am schnellsten verarbeiten, und DDR-RAM ist normalerweise viel langsamer (10-100-mal).
Laut Wikipedia benötigt DDR3-RAM derzeit 5-10 ns pro "Zyklus". Was bedeutet das genau und wie schnell ist SRAM im Vergleich? Wie nützlich sind SRAM und DDR3 für Embedded-Projekte, die FPGAs verwenden, und kann eines der beiden zugunsten des anderen weggelassen werden? (z. B. kein SRAM erforderlich, wenn die DDR3-Geschwindigkeiten ähnlich sind)
Zyklus, wie er auf dieser Webseite verwendet wird, bedeutet "Taktzyklus": die Zeit, die für einen Impuls des vom RAM verwendeten Taktsignals benötigt wird. Der 100-MHz-Takt entspricht also einem 10-ns-Zyklus.
Intern entspricht dies dem Auswählen einer Reihe innerhalb des Chips und dem Lesen der entsprechenden Spaltenleitungen; Dies bringt eine Reihe von Werten (sagen wir 256 Bits = 8 Bytes) für jeden der 8 Chips im RAM heraus.
Es folgt dann ein Antwortburst, bei dem die Werte an den Prozessor zurückübertragen werden. Der Bus ist 64 Bit breit, also gibt es mehrere Übertragungen. Normalerweise füllt dies eine ganze Cache-"Zeile".
(Beachten Sie, dass es eine implizite Pipeline gibt: Sie können eine weitere Anfrage senden, bevor die erste abgeschlossen ist.)
Für ein FPGA-Projekt würden Sie vorzugsweise Onboard-SRAM verwenden, aber wenn nicht genug vorhanden ist oder Sie es gemeinsam nutzen müssen, würden Sie externen DDR-RAM verwenden.
Robin Rodricks
pjc50
Paul A. Clayton
Earlz
Robin Rodricks
pjc50
pjc50