Moderne Computer sind straff geführte Schiffe. Die überwiegende Mehrheit der Komponenten wird auf einer Uhr betrieben, und diese Uhren können Milliarden Mal pro Sekunde ticken. Die am strengsten kontrollierte Hardware in einem Computer ist jedoch der Arbeitsspeicher. Es gibt Dutzende von primären, sekundären und tertiären Timings, die verwendet werden, um genau zu konfigurieren, wie schnell jeder RAM-Stick sein kann. Während diese Timings die Leistung von RAM definieren, kontrollieren sie nicht, wie es funktioniert, sondern nur wie schnell.
Einer der kritischen Teile bei der Verwendung von RAM ist RAS. RAS ist die Abkürzung für Row Access Strobe oder Row Access Select. In den Tagen des asynchronen DRAM war RAS ein Stroboskop. Bei modernem Synchronous DRAM ist das jedoch nicht mehr der Fall; Der Name wird immer noch allgemein als Überbleibsel verwendet.
RAS ist eine elektrische Verbindung zwischen dem Speichercontroller und den RAM-Chips. Es wird standardmäßig hoch gelassen. Wenn RAS auf Low gebracht wird, zeigt dies an, dass die Adresse an den Adressstiften eine Zeilenadresse ist. Der RAM startet dann den Vorgang des Öffnens der definierten Reihe. RAS muss dann niedrig bleiben, bis die Reihe geschlossen werden kann. Dies ist, nachdem Daten auf den Datenpins angezeigt wurden.
Timings im Zusammenhang mit RAS
Es gibt viele Timings im Zusammenhang mit RAS. Das grundlegendste ist tRAS was die minimale Anzahl von Speichertaktzyklen definiert, für die RAS niedrig gehalten werden muss. Dies ist normalerweise die vierte Zahl, wenn ein Satz von RAM-Timings ohne Beschriftungen präsentiert wird. TRCD ist ein weiteres Timing, das die RAS-zu-CAS-Verzögerung definiert. Dies ist die Anzahl der Speichertaktzyklen, die vergehen müssen, bis RAS auf Low gezogen wird weisen den RAM an, eine Zeilenadresse zu nehmen, und CAS wird niedrig gezogen, um den RAM anzuweisen, eine Spalte zu nehmen Adresse. Kombiniert geben diese beiden Adressen eine Speicheradresse an, aber das Öffnen der Zeile muss abgeschlossen sein, bevor eine Spaltenadresse angegeben werden kann.
TRC ist die Zeilenzykluszeit. Das ist die minimale Anzahl von Speichertaktzyklen zwischen dem Öffnen einer Zeile und dem Öffnen einer anderen Zeile. Dies ist eine Kombination aus der Zeit, die RAS niedrig gehalten werden muss, und der Zeit, die es hoch gehalten werden muss, um vorzuladen, nachdem eine Reihe geschlossen wurde. TRP ist die RAS-Vorladezeit, die definiert, wie lange RAS hoch sein muss, bevor es wieder niedrig gebracht werden kann, um eine weitere Zeile zu öffnen.
Für welche Funktionen wird RAS verwendet?
RAS wird für jede RAM-Operation verwendet. Eine Zeilen- und Spaltenadresse muss angegeben werden, um Daten aus dem RAM zu lesen. Die abfallende Flanke von RAS weist den RAM an, die Adressstifte zu prüfen, um herauszufinden, welche Reihe zu öffnen ist. Dieser Prozess ist derselbe für Schreiboperationen.
Die Speicherzellen, aus denen RAM besteht, müssen ihre Ladung auffrischen, da sie regelmäßig entweicht. Dies wird als Auffrischung bezeichnet. Es wird ein Aktualisierungszyklus ausgeführt, um sicherzustellen, dass jede Zelle vor einem Datenverlust aktualisiert wird. Ganze Zeilen von Zellen werden auf einmal aktualisiert, indem sie geöffnet und wieder geschlossen werden. Die Lese- oder Schreiboperation aktualisiert daher eine Zeile, was bedeutet, dass sie für diesen Zyklus übersprungen werden kann. Lese- und Schreiboperationen können sich jedoch nicht darauf verlassen, dass sie regelmäßig genug auf jede Zeile treffen, so dass spezielle Auffrischungsoperationen erforderlich sind.
Ein erfrischender Ansatz
Es gibt zwei Hauptansätze zur Durchführung einer Aktualisierung; beide erfordern die Verwendung von RAS. Die erste ist RAS Only Refresh oder ROR. Dies beinhaltet das Ziehen von RAS auf Low und das Spezifizieren der aufzufrischenden Zeile. Es werden keine weiteren Aktionen ausgeführt, und die Zeile wird geschlossen, sobald sie für die nächste Operation bereit sein kann.
Der zweite Ansatz ist die CAS Before RAS-Aktualisierung oder CBR. Dies zieht CAS auf Low, dann RAS auf Low, gibt aber niemals eine Adresse an den Adresspins an. Bei normalen Operationen muss RAS immer zuerst auf Low gezogen werden, was eine eigenständige Operation ist. Es verlässt sich auf den RAM, um einen Zähler darüber zu führen, welche Zeilen aufgefrischt wurden und welche noch aufgefrischt werden müssen.
Da keine Zeile angegeben ist, wird eine durch den Zähler angegebene Zeile geöffnet und dann um eins erhöht, so dass beim nächsten Mal die nächste Zeile geöffnet wird. CBR hat gegenüber ROR einen leichten Leistungseffizienzvorteil, da keine Leistung benötigt wird, um eine Zeilenadresse anzugeben. CBR bietet jedoch möglicherweise weniger Möglichkeiten für zellweise Berücksichtigung des Ladungsabfalls, obwohl dies derzeit überhaupt nicht implementiert ist, was dies zu einem rein theoretischen Nachteil macht.
Abschluss
RAS steht für Row Address Strobe. Es kann auch Row Address Select genannt werden, da das elektrische Signal kein Strobe mehr ist. Wenn RAS auf Low gebracht wird, wird eine Zeilenadresse von den Adresspins aufgenommen. Dies wird verwendet, um eine Reihe zu öffnen, die offen bleibt, solange RAS niedrig gehalten wird. Es gibt eine Mindestzeit, die RAS niedrig gehalten werden muss, definiert als tRAS.
Es gibt auch eine Mindestzeit, die RAS danach hoch gehalten werden muss, tRP. Kombiniert bilden diese beiden Zeiten die RAS-Zykluszeit tRC. Dies ist kein hartes Limit, sondern ein weiches, das genügend Zeit für das ordnungsgemäße Öffnen der Reihen und für den Abschluss des Vorladens gewährleistet, sobald die Reihe wieder geschlossen ist.