Arbeitsspeicher

Nicht nur die Rechenleistung der CPU eines Rechners ist für die Performance ausschlaggebend, sondern auch der Arbeitsspeicher. Neue Technologien, schnellere Chips und verschiedene Bauarten machen es immer schwieriger, das richtige Speichermodul für den jeweiligen Rechner zu finden. Einige typische Begriffe sind in diesem Kapitel beschrieben.

Speichertechnologien

Prinzipiell kann man zwischen statischen, dynamischen und nicht flüchtigen Speichertechnologien unterscheiden.

Nicht flüchtige Speicher

Allen nicht flüchtigen Speichern ist gemeinsam, dass sie ihren Inhalt, also die abgespeicherten Daten, auch dann behalten, wenn die Betriebsspannung abgeschaltet wird. Als Beispiel seien hier EEPROMs und die zu dieser Gruppe gehörenden Flash-Speicher genannt.

EEPROM , E²PROM: Electrically Erasable Programmable Read Only Memory

Als EEPROM werden sämtliche nicht flüchtigen Speicher bezeichnet, deren Inhalt auf elektrischem Wege (und nicht z.B. durch Bestrahlung mit UV-Licht) verändert bzw. gelöscht werden kann. Es gibt mehrere Architekturen, die sich durch unterschiedliche elektrische Eigenschaften unterscheiden. EEPROMs finden sich z.B. auf diversen Speichermodulen, wo die jeweiligen Moduleigenschaften (Betriebsspannung, Zugriffszeiten, Bankaufbau, Fehlerkorrektur usw. bis hin zum Hersteller) in codierter Form abgespeichert sind. (z.B. SPD ´s auf SDRAM DIMM´s)

Flash Memory

Flash-Speicher sind dadurch gekennzeichnet, dass einzelne Bytes adressiert und ausgelesen, Schreib- und Löschvorgänge aber nur blockweise erfolgen können. Die Lese-Zugriffszeiten betragen etwa das Doppelte von dynamischen Speichern und liegen derzeit etwa bei 100ns. Die Anzahl der Programmier- und Löschzyklen ist begrenzt und liegt etwa bei 100.000. Im Allgemeinen wird ein Datenerhalt über einen Zeitraum von 10 Jahren garantiert. Flash Memory ist u.A. als SIMM, PC-Card (PCMCIA), Compact Flash (CF) Card, Miniature Card (MC) und Solid State Floppy Disc Card (SSFDC) erhältlich Unabhängig vom Äusseren gibt es zwei Haupttypen von Flash-Speichermodulen: Linear Flash und ATA Flash. Linear Flash Module besitzen einen "linearen" Adressraum, wobei jede beliebige Adresse von aussen direkt angesprochen werden kann. Im Gegensatz hierzu findet bei ATA-Flashkarten intern eine Adressumsetzung statt, so dass diese Variante mehr wie eine Festplatte angesprochen werden können, was u.U. die Treiberprogrammierung vereinfacht. Flash-Module werden z.B. in Notebooks, Network-Routern, Druckern, PDAs und Digitalkameras als Massen- oder Programmspeicher verwendet.

Dynamische Speicher

DRAM : Dynamic Random Access M emory, Dynamischer Speicher mit wahlfreiem Zugriff. Dieser Speichertyp wird im Allgemeinen als Hauptspeicher eingesetzt.

Dynamische Speicher sind gekennzeichnet durch die Speicherung der Information in einem Kondensator, der ähnlich wie ein Akku Energie aufnehmen und eine gewisse Zeit halten kann. Soll z.B. eine logische Eins gespeichert werden, wird dieser Kondensator aufgeladen, bei einer logischen Null entladen. Diese Kondensatoren sind in einer Matrix aus Reihen und Spalten angeordnet. Um die Chips mechanisch klein zu halten und um Anschlüsse und damit Kosten zu sparen erfolgt die elektrische Ansteuerung dieser Bausteine in zwei Stufen: Die Adresse eines Datums wird entsprechend der Matrix aufgeteilt in eine Reihen- (Row-) Adresse und eine Spalten- (Column-) Adresse, die nacheinander über die gleichen Anschlüsse am Chip übermittelt werden. Der Vorteil dieser Technologie ist, dass sie relativ preiswert und mit grossen Dichten hergestellt werden kann. Der Nachteil ist, dass dieser Kondensator nicht ideal produziert werden kann - wiederum ähnlich einem Akku, der lange Zeit nicht benutzt wird, entlädt sich dieser Kondensator. Um zu verhindern, dass die Daten unbrauchbar werden, müssen sie in regelmässigen Abständen aufgefrischt werden (Refresh).

Es gibt mehrere Weiterentwicklungen dieser grundlegenden Architektur, die kurz angesprochen werden sollen:

FPM : Fast Page Mode

Speicherbausteine mit Fast Page Mode sind eine Weiterentwicklung der "Standard"-DRAM Speicher, die durch eine besondere Ansteuermöglichkeit die technologiebedingten Verzögerungszeiten bei bestimmten Anwendungen beschleunigen. Meistens werden innerhalb von Computerprogrammen zusammenhängende Speicherinhalte vom Prozessor bearbeitet. Bei einem Zugriff auf eine Speicherbank wird normalerweise zuerst die Reihen- und dann die Spaltenadresse übertragen. Bei aufeinanderfolgenden Speicheradressen ändert sich hingegen nur die Spaltenadresse, weil die aufeinander folgenden Daten in der gleichen Reihe (in der gleichen "page") liegen; so dass ein erneutes Übertragen der nicht veränderten Reihenadresse eigentlich unnötig ist. Diesen Umstand macht sich der Fast Page Mode zunutze. Es werden nur beim ersten Zugriff die Reihen- und die Spaltenadressen übertragen, bei den darauffolgenden Zugriffen nur noch die Spaltenadressen, so dass die Zykluszeit bis zum Anliegen der Daten an den Ausgängen der Speicherbank verkürzt wird. Dieser Modus muss natürlich vom verwendeten System und dessen Chipsatz unterstützt werden.

EDO : Extended Data Output

Speicherbausteine mit EDO stellen wiederum eine Weiterentwicklung gegenüber FPM-Speichern dar, wo ebenfalls durch bestimmte Ansteuertechniken der Speicherzugriff beschleunigt wird. Bei FPM-Speichern wird das elektrische Signal der Datenleitungen gelöscht (nicht zu verwechseln mit dem Inhalt der Speicherzelle; dieser bleibt erhalten!), wenn eine neue Adressinformation angelegt wird. Da die Weiterverarbeitung der Daten auch eine gewisse Zeitspanne in Anspruch nimmt, gibt es einen Zeitraum, wo der Speicher "stillgehalten" werden muss, damit die an den Datenleitungen anliegenden elektrischen Signale aufgenommen und weiterverarbeitet werden können. Bei EDO-Speichern ist die Ausgangsstufe so gestaltet, dass anliegende Informationen auch dann beibehalten werden, wenn eine neue Adresse übertragen wird. Auf diese Weise kann simultan das anliegende Datenwort verarbeitet und die nächste angeforderte Adresse in den Speicherbaustein geladen werden. Auch hierdurch werden die Zykluszeiten verkürzt.

SDRAM : Synchronous Dynamic Random Access Memory

Ähnlich wie FPM und EDO stellt die SDRAM-Technologie lediglich eine Weiterentwicklung bereits vorhandener Speicherarchitekturen bzw. deren Zugriffsmodi dar. Anders als bei FPM oder EDO ist die SDRAM-Technologie allerdings nicht rückwärtskompatibel, d.h. SDRAM-Speicher können nur in solchen Rechnersystemen eingesetzt werden, die diese Technologie auch ausdrücklich unterstützen. Die Weiterentwicklung bei SDRAM stellt nichts anderes dar als die Verlagerung eines Teils des Memory-Controllers auf den Speicherchip. Dieser Schritt ist in etwa vergleichbar mit der Einführung von IDE-Festplatten (SCSI Platten sind hier vielleicht ein besseres Beispiel), die ja auch den auf Ihre speziellen Bedürfnisse zugeschnittenen Controller mit im Gehäuse eingebaut haben. Wie auch die FPM- oder EDO-Zugriffsarten kann die SDRAM-Technologie ihre Stärken bei im Adressraum aufeinander folgenden Daten ausspielen. Der typische SDRAM-Zugriff erfolgt, wie bei allen DRAM-Typen, mit der aufeinanderfolgenden Übermittlung der Reihen- und der Spaltenadresse. Anders als bei bisherigen Technologien erfolgt während dieser Adressierung auch eine "Befehlsübermittlung" an das SDRAM, wobei auf dem Speicherchip je nach Befehl festgelegte Abläufe in Gang gesetzt werden. Ein typischer Befehl könnte z.B. etwa lauten: Auslesen der Adresse X und der drei darauffolgenden Adressen. In diesem Fall wird mit dem Befehl zusammen der Wert für die Startadresse X übermittelt, und ohne weiteres Zutun werden die Inhalte der vier aufeinanderfolgenden Adressen übermittelt. Da der Zeitpunkt, zu dem die angeforderten Daten Gültigkeit besitzen feststehen muss, werden SDRAM-Bausteine mit einem Taktsignal versorgt, mit dem alle Vorgänge synchronisiert werden. Die Verwendung von SDRAM-Speichern bringt dann Geschwindigkeitsvorteile, wenn grosse Datenmengen blockweise übertragen werden müssen, z.B. bei grossen Graphiken.

Statische Speicher

Statische Speicher werden aufgrund ihrer Schnelligkeit als Cache-Speicher eingesetzt. Im Gegensatz zu den dynamischen Speichern brauchen sie keinen Refresh (Auffrischung) des Speicherinhaltes. Ein statischer Speicher arbeitet pro Speicherzelle mit einer aus mehreren Bauelementen bestehenden Schaltung, die - ausgehend vom zu speichernden Datum - einen bestimmten Zustand einnimmt und sich dann selbst verriegelt, so dass eine Zustandsänderung nur von aussen vorgenommen werden kann. Ein statischer Speicher verliert seinen Dateninhalt erst, wenn die Versorgungsspannung zusammenbricht.

Aufgrund des komplexeren Aufbaus der Speicherzelle können statische Speicher nur mit geringeren Dichten gebaut werden als dynamische Speicher. Ausserdem sind sie - bei vergleichbarer Speicherkapazität - wesentlich teurer als dynamische Speicher.

Modulbauformen

Warum Module? Moderne Rechnersysteme verlangen nach Speichergrössen, die in Datenbreite (also der Anzahl der verwendeten Datenbits) und Adressraumtiefe (also der Anzahl der Datenwörter, die im Speicher untergebracht werden können) nicht mit einem einzelnen Speicherchip realisiert werden können. Daher werden aus einzelnen Speicherchips Module gebaut, die elektrisch quasi wie ein grosser Chip angesteuert werden können. Man unterscheidet zwischen folgenden verbreitet eingesetzten Bauformen:

SIMM : Single Inline Memory Module PS/2

SIMMs haben auf beiden Seiten der Platine Kontaktflächen, die jedoch miteinander verbunden sind. Demnach hat ein 72-Pin-SIMM 144 Kontaktflächen, von denen jedoch nur 72 elektrisch relevant sind.

DIMM : Dual Inline Memory Module

Ein DIMM hat auf beiden Seiten der Platine Kontaktflächen, wobei hier allerdings gegenüberliegende Kontakte elektrisch voneinander isoliert sind. Dadurch steht bei gleicher Modulgrösse eine grössere Anzahl von elektrischen Anschlüssen (=doppelt so viele wie bei einem vergleichbaren SIMM) zur Verfügung, so dass eine grössere Anzahl von Datenbits oder ein grösserer Adressraum angesprochen werden kann. Darüber hinaus wird die Anzahl von Anschlüssen für Betriebsspannungen und Steuersignalen vergrössert, was Vorteile hinsichtlich des Designs der Platine und somit der elektrischen Eigenschaften des Modules mit sich bringt. DIM-Module sind mittlerweile Standard im PC- und Workstation-Bereich.

Begriffe rund um den Speicher

Cache

Ein Cache ist ein relativ kleiner Hochgeschwindigkeitsspeicher - üblicherweise SRAM, welcher häufig benötigte Daten zwischen der CPU und dem Hauptspeicher puffert. Die CPU kann auf Daten im Cache sehr viel schneller zugreifen als auf Daten aus dem Hauptspeicher. Ein kleiner Cache-Speicher kann daher die Performance eines Computers ohne grosse zusätzliche Kosten erheblich verbessern.

Bei Cache wird - je nach Position des Speichers im Datenstrom - zwischen verschiedenen Levels unterschieden.

Level 0 Cache:

Entkoppelt den Datenstrom der unterschiedlichen Recheneinheiten innerhalb der CPU. Seine Grösse liegt bei etwa 1 Byte bis 128 Byte.

Level 1 Cache:

Entkoppelt den Datenstrom innerhalb der CPU von der Aussenwelt, Grösse von wenigen Bytes (128) bis zu mehreren KBytes.

Level 2 Cache:

Entkoppelt den Datenstrom von der CPU vom Memory Bus, an dem der Hauptspeicher angeschlossen ist. Grösse von 256 KBytes bis zu mehreren MBytes.

Level 3 Cache:

Entkoppelt ggf. bei Mehrprozessorsystemen den separaten Systembus vom Memory Bus.

Parity/Non-Parity

Durch äussere Einflüsse (el.-mag. Felder, Spannungsschwankungen, radioaktive Strahlung (natürliche Höhenstrahlung), etc.) können einzelne Datenbits "umkippen"; aus einer logischen Null wird eine Eins und umgekehrt. Dadurch werden die gespeicherten Daten verändert.

Non-Parity-Module speichern nur Daten und bieten keine Fehlerfeststellung. Parity-Module hingegen speichern Daten- und Prüfsummen-Informationen. Dies geschieht derart, dass bei einer geraden Anzahl von gesetzten Bits das Parity-Bit ebenfalls gesetzt ist; bei einer ungeraden Anzahl von gesetzten Bits ist es gelöscht.

Mit Hilfe der Parity Technik werden Ein-Bit-Fehler erkannt. Da keine Fehlerkorrektur stattfindet, werden die meisten Systeme beim Auftreten eines Parity-Fehlers mit einer Fehlermeldung angehalten. Normalerweise wird ein Parity-Bit pro Byte (8 bit) Daten gespeichert. Wenn durch äussere Einflüsse zwei Bits in einem Datenwort ihren Inhalt geändert haben, bleibt die Prüfsumme gleich und der Fehler bleibt unbemerkt! - Die Chance, dass so etwas passiert, ist allerdings sehr gering.

ECC: Error Checking and Correcting

ECC ist ein Verfahren, dass es ermöglicht, Ein- und Zwei-Bit-Fehler zu erkennen. Ein-Bit-Fehler können darüber hinaus sogar korrigiert werden. Gelegentlich wird das zugrundeliegende Verfahren auch als EDC, Error Detection and Correction, bezeichnet. Mit Hilfe entsprechender Algorithmen werden blockweise Prüfsummen (ähnlich wie beim CRC-Verfahren) gebildet und in eigenen Speicherbereichen abgelegt. Anhand dieser Prüfsummen können einzelne Bitfehler erkannt und korrigiert werden. Der Software-Anwender merkt wie bei der Fehlerkorrektur der Audio-CD nichts von diesem Vorgang.

Welcher Speichertyp für welchen Rechner?

Prinzipiell kommen die Vorgaben, welchen Speichertyp man verwenden kann vom Hardwarehersteller, der den Speicher anhand seiner System-Spezifikationen festlegt. Beim Standard-PC lohnt sich EDO; SDRAM und ECC machen nur in Sonderfällen Sinn. Bei Workstations und PC-WS (Personal Workstations) wie z.B. HP KAYAK kommen SDRAM-Module zum Einsatz. Server sollten nach Möglichkeit immer mit ECC ausgestattet sein.

Innerhalb einer Speicherbank müssen die Module identisch sein. Die verschiedenen Bänke können jedoch je nach Systemvorgaben im Allgemeinen mit Speichermodulen unterschiedlicher Kapazität und Hersteller bestückt werden. Im Zweifelsfall sollte allerdings das Manual des Systems zu Rate gezogen werden.

PC-100

Die ersten verfügbaren SDRAM Chips und -Module wurden mit einer Taktfrequenz von 66 MHz betrieben - eine Geschwindigkeit, bei der EDO Speicher in etwa auch betrieben werden können. Von Intel wurden allerdings bald Versuche unternommen, diese Taktfrequenz und damit die Zugriffsgeschwindigkeit zu erhöhen. Diese Versuche resultierten in der sog. PC-100-Norm, die von einer Memory-Taktfrequenz von 100 MHz ausgeht und mit der Intel Spezifikationen bezüglich der zu verwendenden Speicherchips, des Aufbaus der Platine, der Topologie der Leiterbahnen usw. veröffentlichte.

Die geringfügige Erhöhung der Taktfrequenz um den Faktor 1.5 verursacht allerdings eine weitaus grössere Zunahme der technologischen Probleme, die dieser Frequenzbereich mit sich bringt. So müssen PC-100 taugliche Speichermodule mit einer vielfach grösseren Genauigkeit entwickelt und gefertigt werden als vergleichbare bisherige Designs.

Mittlerweile sind von mehreren Herstellern Chipsätze auf dem Markt, die 100 MHz Bustakt unterstützen. Wichtig ist in diesem Zusammenhang, dass auch die verwendeten Prozessoren dafür ausgelegt sein müssen. Der Performancegewinn von 100 MHz getakteten SDRAMs gegenüber 66 MHz liegt den ersten Vergleichen zufolge unter 10% bei Office-Anwendungen.