Kennzahlen zur Geschwindigkeitsmessung

Vermutlich haben Sie alle dieser Abkürzungen, die hier beschrieben werden, schon einmal gehört oder sogar selber benutzt. Wissen Sie aber tatsächlich was sie bedeuten?

ns

nano seconds, oder auch Nanosekunden sind – wer hätte das gedacht – eine Zeiteinheit. Als Definition gilt 1ns = 1s * 10 ^ -9, weshalb eine Nanosekunde das Milliardstel einer Sekunde bildet. Die Nanosekunde ist natürlich keine IT-spezifische Zeiteinheit, aber viele Prozesse laufen in einem Zeitfenster ab, das optimal durch ns beschrieben werden kann.

Beim Arbeitsspeicher wird mit ns „die“ Zugriffzeit ausgedrückt, wobei das auch wieder nicht ganz eindeutig ist. Denn es gibt ja nich nur eine Zugriffszeit, sondern die Zugriffszeit vom Chip zum Arbeitsspeicher überhaupt, von der Speicherverwaltung zu den Speicherzellen, von Blockzugriffen und anderen. In der Regel ist damit aber die Zeit gemeint, die zwischen Datenanfrage seitens des Chips und Datenlieferung zu eben diesem verstreicht.

Die allerersten DRAMs, die es überhaupt gab, hatten Zugriffszeiten von etwa 120ns. Mittlerweile gibt es Module mit Zugriffszeiten von 2ns und weniger. Die Messeinheit ist heute aber nicht mehr releveant, jedenfalls nicht für die Beschaffung. Bei der Herstellung wird sie natürlich weiterhin benutzt, für den Verbraucher ist sie hingegen mit der Einführung von SDRAMs unbedeutend geworden. Für ihn ist es nämlich nicht mehr entscheidend, wie gut die Zugriffszeiten eines Moduls sind, sondern wie es getaktet ist. Allerdings soll nicht unerwähnt bleiben, dass die Taktung unmittelbar mit der Zugriffszeit zusammenhängt. Die Zugriffszeit ergibt sich aus dem Quotienten aus 1.000 und der Taktrate, die in MHz ausgedrückt wird.

MHz

Mit den SDRAMs wurde ein neues Messschema für den RAM eingeführt, der nunmehr nicht die Zugriffszeit auf den Arbeitsspeicher angibt, sondern die Taktung. Der große Vorteil bei dieser Messung ist, dass unterschiedliche Module viel leicher verglichen werden können, unter anderem im Hinblick auf die Chip- bzw. Prozessorleistung. Wie kommt das?

Die Idee beim SDRAM war, die Speicherkomponente, als eine Herzkomponente im Computer, mit dem Systemtakt zu synchronisieren. In einem korrekt installierten System verwalten alle Komponenten mit Taktung die gleiche Taktrate. Der Vorteil liegt auf der Hand: Der Verbraucher muss nicht erst diverse Kennzahlen umrechnen, um herauszufinden, welchen Arbeitsspeicher er benötigt. Wie wir auch im vorherigen Abschnitt schon ansprachen, hängen Zugriffszeit und Taktrate unmittelbar zusammen. Die Taktung in ergibt sicht aus dem Quotienten aus 1.000 und der Zugriffszeit.

Was bedeutet aber nun MHz? Es steht für Mega Herz und gibt die millionenfachen Schläge pro Sekunde an. So wie z.B. beim Monitor 80Hz bedeuten, dass das Bild 80 mal pro Sekunde erneuert wird. Mega ist wiederum definiert als 10 ^ 6, stellt also den Faktor 1.000.000 (Million) dar. Für ein SDRAM-Modul PC-133 bedeutet das beispielsweise, dass es 133.000.000 Taktzyklen pro Sekunde durchläuft. Die CPU tut dies ebenfalls, weil beide Komponenten am Systembus ausgerichtet sind. Schnell wird deutlich, dass schwacher Arbeitsspeicher hier zur Spaßbremse wird, wenn er den Prozessor nicht schnell genug mit Informationen füttern kann.

Der Systembus wird vom Mainboard aus vorgegeben und funktioniert ähnlich wie ein Metronom. Abbildung 1 zeigt die Vereinfachung dieses Taktes, die häufig mit einem 0/1-Schema dargestellt wird. In dieser vereinfachten Version kann man sich diesen Takt akustisch wie ein rhytmischen Piepen vorstellen, das genau so lange andauert, wie das Schweigen zwischen den Zyklen.

Abbildung 2 zeigt, dass es sich tatsächlich aber um eine Art wellenförmigen Takt handelt, den man sich akustisch wie eine Sirene vorstellen kann, die abwechselnd laut und leise wird.

Dass es auch messbare Phasen zwischen Status 0 und Status 1 gibt, wurde im Falle des DDR-Speichers zu einer nützlichen Eigenschaft. In der Weiterentwicklung konnte nämlich so eine Zwischenphase des Zyklus genutzt werden, um weitere Daten zu übermitteln. Diese Technik tritt bei DDR2 und auch bei DDR3 in Erscheinung, muss aber natürlich auch vom Chipsatz unterstützt werden.

Bytes pro Sekunde

Einige Techniken, wie z.B. DDR Arbeitsspeicher und Arbeitsspeicher über Schnittstellentechnik wie Flashmemory zeigten, dass herkömmliche Messeinheiten zu einem Problem bei der Eindeutigkeit führten. Daher werden neuartige Speichertechniken mit dem Datendurchsatz als Referenzwert spezifiziert. Datendurchsatz bedeutet, wie viele Daten pro Sekunde durch das Medium übertragen werden können.

Die Messeinheit bei DRAM-Arbeitsspeicher stellt GB/S dar, was für Gigabytes pro Sekunde steht. Eine Falle findet sich hier häufig in der Formulierung GBit/S. Das steht nämlich für Gigabits pro Sekunde und entspricht nur 12,5% der Leistung eines GB/s.

Da an den Schnittstellen, insbesondere an USB, sehr viel Zeit verloren geht, sind die Übertragungsraten um ein tausendfaches kleiner, als bei Steckbankspeicher. Daher wird hier nicht in GB/S, sondern in MB/S gemessen, was für Megabytes pro Sekunde steht. Und Vorsicht: Natürlich gibt es auch hier die MBit/S-Falle (Megabits pro Sekunde).

Wir möchten Ihnen nun kurz vorstellen, wie die Einheit bei den neuen Speichertechniken zur Anwendung kommt.

Anwendung bei DDR

DDR-SDRAM führte einen neuen Standard bei der Spezifizierung des Speichers ein. Der Vorgänger SDR-SDRAM wurde noch mit der Taktfrequenz spezifiziert, was aber für DDR nicht übernommen werden konnte. Denn ein DDR-SDRAM-Modul mit einem FSB von 133 überträgt nunmal mehr Daten, als ein SDR-SDRAM-Modul, das ebenfalls mit 133 MHz getaktet ist. Um also der Verwirrung vorzubeugen, wird seit der Einführung von DDR-Arbeitsspeicher der Datendurchsatz als Messeinheit eingesetzt.

Indirekt ist das natürlich auch eine Spezifikation von Zeit und Taktfrequenz. Denn hier wird angegeben, wie viel MB in einer Sekunde den I/O-Port überqueren könnten. Das errechnet sich aus 64Bit Datenbus * Byte / 8 Bit, multipliziert mit dem Produkt aus Taktzyklen und Anzahl der Übertragungen pro Taktzyklus.

Ein Modul mit einem FSB von 133 kann bei SDR 1GB/s, DDR 2,1GB/s und DDR2 4,2GB/s übertragen. Da eine einzige Kennzahl als Referenzwert in der Handhabung einfacher ist, als zwei Referenzwerte, wie z.B. Takte pro Sekunde und Übertragungen pro Takt, hat man sich auf das Produkt von zwei Referenzwerten als neue Basis geeinigt.

Anwendung bei Schnittstellenspeicher wie FlashMemory

Schnittstellen wie USB, Firewire, aber auch PCMCIA, können nicht, oder nur schlecht mit dem Bustakt synchronisiert werden. Die Ursache liegt auf der Hand: Die Geräte müssen wegen ihrer Portabilität an jedem System funktionieren. Wo wäre der Zweck eines USB-Sticks, wenn er nur in Systemen mit einem FSB von 200 funktionieren würde? Logisch, dass der Bustakt nicht als Referenz für die Übertragung herangezogen werden kann.

Aus diesem Grund wird einfach die Übertragungsrate des Speichers, sei es USB-Stick, Flash Memory oder andere Schnittstellenspeicher, als Spezifikation verwendet. Das zeigt sich nebenher auch für den Anwender als sehr praktisch. Er kann nämlich nun problemlos selbst feststellen, wie lange das Gerät zur Übertragung seiner Firmendatenbanken, Sicherungskopien oder Urlaubsfotos benötigt.

Refresh

DRAM muss die gespeicherten Daten in regelmäßigen Abständen auslesen, um sie danach wieder zurückzuschreiben. Im Eigentlichen werden die Daten aber nur ausgelesen, denn sie werden nach einem Lesevorgang automatisch wieder zurückgeschrieben. Der Refresh ist erforderlich, weil die Ladung im Kondensator nach kurzer Zeit verloren geht. Dieser Prozess wird auch „Umkippen“ genannt, was bedeutet, dass die Ladung so weit absinkt, dass sie von der Verwaltung als 0 und nicht mehr als 1 interpretiert wird. Bits können in einem anderen Zusammenhang allerdings auch von 0 auf 1 kippen.

Es gibt unterschiedliche Refresh-Größen, 4k-Refresh, 8k-Refresh und teilweise auch größere Raten. Das k steht für Kilo (also 1.000 bzw. IT-Kilo 1.024) und gibt die Anzahl der Zeilen an, die innerhalb von 64ms dem Refresh-Vorgang unterzogen werden. Dieses Zeitfenster ist normiert und bedeutet im Falle eines 4k-Refreshs, dass exakt 4.096 Zeilen erneuert werden. Der Quotient aus 64.000 und der Anzahl der Refreshs in den 64ms ergibt die Anzahl von μs, nämlich die Taktperiode für den Refreshvorgang an. Weil der Refreshvorgang genau 64ms dauert, muss also ein 8k-Refresh eine höhere Taktperiode haben, als der 4k-Refresh. Aus der Rechnung ergeben sich Refresh-Perioden von 15,6 μs und 7,8 μs. 1 μ (gesprochen: mü) ist definiert als 1 * 10 ^ -6.

Wie der Refresh-Vorgang organisiert wird, ist nicht genau geregelt. Da es ausreicht, alle 64ms die Daten zu erneuern, führen manche Chips die Refreshs tatsächlich alle zusammen kurz vor Ablauf der Zeit durch. Andere Chips teilen sich die Last auf die Taktperioden auf.

RAS-Precharge-Time, RAS-to-CAS-Delay und CAS-Latency

Sicherlich haben Sie schon häufiger den Ausdruck gehört „Der Arbeitsspeicher ist der Flaschenhals im System“. Damit soll ausgedrückt werden, dass der Arbeitsspeicher das System ausbremst, weil er nicht mit der CPU mithalten kann. Dieses Problem schilderten wir auch im oberen Abschnitt über die Messzahl MHz. Ursache dafür sind verschiedene Verzögerungen, die bei der Organisation der Informationsaufbereitung entstehen.

Anders als bei Rambus, müssen bei FPM, EDO und allen SDRAMs die Zeilen und die Spalten in der Chipmatrix seperat angegeben werden. Für diese Adressierung gibt es zwei Signale: RAS und CAS. RAS steht für Row Address Strobe, was soviel bedeutet wie Zeilenadresspuls. CAS steht für Column Address Strobe und bedeutet dementsprechend Spaltenadresspuls. Wenn RAS auf aktiv steht, erkennt die Adresslogik daran, dass es sich bei den übertragenen Adressbits um Zeilenbits handelt. Sollen Spaltenbits übertragen werden, so steht CAS auf aktiv. Wird mit einem RAS zusätzlich zu der Adresse der „Bank-Select“-Befehl mitgeschickt, so wird die entsprechende Zeile auf „Aktive-Low“ gesetzt, was sie so lange aktiviert lässt, bis eine neue Zeile gewählt wird. Diese Phase wird als sogenannter FPM bezeichnet, nach dem auch der gleichnamig Chipsatz benannt wurde. Beim SDRAM hat sich diese Vorgehensweise zum Quasi-Standard entwickelt und wurde deshalb noch verfeinert. Im Gegensatz zum FPM wird hier direkt die ganze Zeile ausgelesen und für die Sense Amps gepuffert, bis alle Zellen der Zeile ausgelesen wurden.

RAS-Precharge-Time

Die Entscheidung ob ein Wert auf 0 oder 1 steht, übernimmt ein Sense Amp, das den Wert durch den Differenzwert zwischen zwei parallel geschalteten CAS-Leitungen bestimmt. Diese werden, um eine Vergleichsbasis zu schaffen, zunächst auf den sogenannten Referenzpegel aufgeladen. Danach verbindet die Adresslogik die Speicherzelle mit einer der beiden genannten Leitungen und die Sense Amp misst die Differenz, die durch die Kondensatorenladung bzw. die Entladung entstanden ist. Durch diesen Vorgang wird natürlich der Inhalt des Kondensators gelöscht bzw. unbrauchbar und wird von der Sense Amp neu geschrieben. Die Zeit, die zum Aufladen der Leitungen benötigt wird, wird als RAS-Precharge-Time (t_RP) bezeichnet.

RAS-to-CAS-Delay

Die Zeit, die zwischen Senden des „Bank-Select“-Befehls und der Pufferung aller Daten aus der Zeile verstreicht, wird RAS-to-CAS-Delay genannt und technisch mit t_RCD bezeichnet. Mit RAS-to-CAS ist also so die Zeit gemeint, die seit Aktivieren des RAS vergeht, bis das CAS aktiviert werden kann.

CAS-Latency

Die Sense Amps sind allerdings nicht der Ausgang, von dem die Daten zum Chip geschickt werden, sondern eben nur eine Pufferzone. Wird nun das CAS-Signal angelegt, wird das Signal nicht zur Speicherbank, sondern direkt in die Sense Amps geleitet, die den Inhalt aus der entsprechende Spalte in den Ausgangs-Latch weiterleiten. Die Zeit, die zwischen Senden des Spaltenwertes mit CAS und dem Anliegen des Wertes im Ausgangslatch vergeht, wird als CAS-Latency, bzw. technisch als t_CL beschrieben.