PS/2-SIMM ("PS/2-Modul", 72-polig),
SDRAM (DIMM-Module, Dual Inline Memory Module, 168-polig)
--
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 Beispiele 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 wie bei seinem Vorgänger, dem EPROM) 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. SPDs auf SDRAM DIMMs)
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 bei etwa 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 kann, 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 Memory DRAM ist ein 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. Die 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 der 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 aufeinander folgenden Speicheradressen ändert sich hingegen nur die
Spaltenadresse, weil die aufeinander folgenden Daten in der gleichen
Reihe (in der gleichen "page") liegen: Ein erneutes Übertragen der nicht
veränderten Reihenadresse ist eigentlich unnötig. Diesen Umstand macht
sich der Fast Page Mode zunutze. Dabei werden nur beim ersten Zugriff
die Reihen- und die Spaltenadressen übertragen, bei den darauf folgenden
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 eine Weiterentwicklung gegenüber
den 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
eine gewisse Zeitspanne in Anspruch nimmt, gibt es einen Zeitraum, in
dem 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.
BEDO: Burst Extended Data Output
Als eine Weiterentwicklung der EDO Speichermodule gilt der BEDO als
der letzter asynchrone DRAM. Durch sein zeitgleiches Erscheinen mit den
SDRAM Modulen hatte er nie eine Gelegenheit, sich auf dem Markt
durchzusetzen. Er ist durch einen zusätzlichen Burst-Modus
gekennzeichnet. Nach einer Adressübermittlung gibt das Modul den
Zelleninhalt wie bei einem EDO-RAM aus, hängt aber die folgenden drei
Zelleninhalte mit einem Taktzyklus von einem Takt pro Wert an.
SDRAM: Synchronous Dynamic Random Access Memory
Ähnlich wie FPM und EDO stellt die SDRAM-Technologie 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 aufeinander
folgenden Ü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
darauf folgenden 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 aufeinander folgenden 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
Grafiken.
DDR SDRAM: Double Data Rate SDRAM
Der DDR SDRAM, meist auch SDRAM II genannt, ist eine schnellere
Version des SDRAMs. Er wurde dahingehend
weiterentwickelt, dass er Daten auf der steigenden und auf der
abfallenden Flanke der System-Clock lesen kann und somit die
Transferrate des Speichers verdoppelt. Die maximale Transferrate dieser
Technologie liegt bei 1 GB/s.
RDRAM: Rambus DRAM
Rambus DRAM basiert auf einer von der Firma Rambus Inc. entwickelten
komplett neuen Technologie. Durch die grundlegende Überarbeitung und
Neudefinition seiner inneren Struktur wie Leiterbahnlängen,
Pin-Kapazitäten und Spannungsschwankungen ist der RDRAM in der Lage,
sehr hohen Leistungsansprüchen gerecht zu werden. Der Speicher wird auf
der steigenden und auf der abfallenden Flanke der System-Clock
angesprochen. Ein Einkanal-Rambus-Speicher liefert mit 1,6 GB/s eine um
den Faktor 3 höhere Leistung als ein 64-bit-100-MHz-SDRAM-Modul. Der
Hauptvorteil der Rambus-Technologie liegt darin, dass 2 Rambus Kanäle
(demnächst auch 4 Kanäle) parallel genutzt werden können. Somit sind mit
2 Kanälen eine Bandbreite von 3,2 GB/s und mit 4 Kanälen eine Bandbreite
von 6,4 GB/s erreichbar.
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
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 auch 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.
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 hinsichtlich 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
Modelle.
Mittlerweile sind von mehreren Herstellern Chipsätze auf dem Markt,
die 100 MHz Bustakt unterstützen. In diesem Zusammenhang ist jedoch
wichtig, dass auch die verwendeten Prozessoren dafür ausgelegt sein
müssen.
PC-133
Wie auch in der Prozessorweiterentwicklung immer höhere Taktraten
erzielt werden, bleibt die Speicherentwicklung auch nicht stehen.
Kontinuierliche qualitative Verbesserungen haben es ermöglicht, die
PC-133-Norm zu verabschieden. Die Speicher haben die gleiche Bauform wie
die PC-100-Module, werden jedoch mit 133 MHz Takt betrieben.
Begriffe rund um den Speicher
Cache
Ein Cache ist ein relativ kleiner Hochgeschwindigkeitsspeicher,
üblicherweise SRAM, der 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 KBs.
Level 2 Cache:
Entkoppelt den Datenstrom der CPU vom Memory Bus, an dem der
Hauptspeicher angeschlossen ist. Grösse von 256 KBs bis zu mehreren MBs.
Level 3 Cache:
Entkoppelt bei Mehrprozessorsystemen den separaten Systembus vom
Memory Bus.
Parity/Non-Parity
Durch äussere Einflüsse (elekto-magnetische 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. Vorsicht: 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 Gefahr, dass so etwas passiert, ist allerdings sehr
gering.
ECC: Error Checking and Correcting
Das ECC-Verfahren ermöglicht, Ein- und Zwei-bit-Fehler zu erkennen.
Ein-bit-Fehler können darüber hinaus sogar korrigiert werden.
Gelegentlich wird das zugrunde liegende 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.
Memorybus
Der Memorybus ist der Systembus zwischen I/O und CPU, der mit Hilfe
des Chipsets den Hauptspeicher (Memory) ansteuert. Er besteht aus dem
Adressbus und dem Datenbus.
Small Outline J-Lead (Chip).
Thin Small Outline Package (Chips).
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. 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 Handbuch des Systems zu
Rate gezogen werden.

Quelle: Transtec.