RAM
Mit RAM bezeichnet man heute Speicher, aus dem gelesen und in den geschrieben werden kann.
Das Wort „RAM“ ist ein Akronym für “random-access memory ”, was auf deutsch zunächst „Direktzugriffsspeicher“, also Speicher mit direktem Zugriff auf jede Speicherzelle (Stelle des Speichers) bedeutet. So wurde das RAM zunächst auch als “direct-access memory ” bezeichnet. Wörtlicher übersetzt bedeutet “random-access memory ” soviel wie „Speicher (‘memory ’) mit wahlfreiem Zugriff (‘random-access ’)“. Möglicherweise wäre “arbitrary access ” eine dafür treffendere Bezeichnung.
Speicher, aus dem nur gelesen werden kann, wird als „ROM“ (“read-only memory ”) bezeichnet. Auch, wenn ein Nur-Lese-Speicher Direktzugriff bietet, wird er nie „RAM“ genannt, obwohl diese Bezeichnung dem Wortlaut nach auch in diesem Fall zutreffend wäre. Die Bezeichnung “random-access memory ” ist daher heute keine ganz treffende Erklärung mehr für die Bedeutung von „RAM“, da ein Direktzugriffspeicher nicht immer RAM sein muß.
Der erste Speicher mit wahlfreiem Zugriff war eben auch ein Schreib- und Lesespeicher. Die Bezeichnung „RAM“ war solange also ganz passend, wie Direktzugriffsspeicher immer auch Schreib- und Lesespeicher war. Erst mit dem Aufkommen von Direktzugriffsspeicher, aus dem nur gelesen werden konnte, also des ROM, paßte die Bezeichnung „Direktzugriffsspeicher“ dann nicht mehr ganz zur Unterscheidung vom ROM.
Heute werden die gewachsenen Bezeichnungen beibehalten, obwohl zeitweise versucht wurde, die unterscheidungskräftigere Bezeichnung RWM (“read-write memory ”) an Stelle von „RAM“ einzuführen.
Aus Sicht seiner Funktion in einem Rechner wird das RAM auch als „Hauptspeicher“ bezeichnet. Bei älteren Großrechnern war das RAM ein Kernspeicher.
Meistens ist das RAM ein flüchtiger Speicher: Die gespeicherten Informationen gehen also mit der Beendigung der Energieversorgung verloren.
Speicherbau
Ein Bitspeicher erlaubt eine Schreib- und eine Leseoperation. Bei der Schreiboperation wird ein Bitwert in den Speicher geschrieben. Eine Leseoperation liefert den zuletzt geschriebenen Wert. Jede dieser beiden Operationen (Schreiben und Lesen) wird ein Zugriff genannt. Ein Speichersystem kann aus vielen Bitspeichern bestehen. Für einen Zugriff auf einen Speichersystem muß daher noch angegeben werden, auf welchen seiner Bitspeicher zugegriffen werden soll.
Mehrere (6, 8, 16, 32 oder 64) Bitspeicher werden oft zu einer Gruppe, der Speicherzelle, zusammengefaßt. Der gesamte Speicher wird dann aus solche Speicherzellen aufgebaut.
Frühe Systeme, wie die IBM 650, verwendeten bewegte oder bewegliche serielle Speichersysteme (wie Verzögerungsschleifen [“mercury delay lines ”]), bei denen zum Zugriff auf einen bestimmten Bitspeicher erst gewartet werden mußte, bis der betreffende Bitspeicher die Zugriffseinheit erreichte. Erst der Kernspeicher erlaubte den Zugriff auf jeden Bitspeicher mit einer Zugriffzeit, die von der Position des Bitspeichers unabhängig war, so ergab sich die Bezeichnung als Speicher mit „wahlfreiem“ (“random ”) Zugriff.
Die ISO-Definition
Der Begriff „RAM“ wird in der ISO 2382-12 [0] folgendermaßen festgelegt:
- RAM in ISO 2382-12
- 12.02.14
- RAM
- A storage device in which data can be written and read.
- NOTE - RAM is the abbreviation for "Random-Access Memory", and is deprecated in the sense of direct access *storage device.
Damit entspricht der RAM-Begriff der ISO dem Begriff “read/write memory ” des ANSDIT[1]
- [0]
- ISO 2382-12
- Information processing systems -- Vocabulary -- Part 12: Peripheral equipment
- [1]
- http://www.ncits.org/tc_home/k5htm/Ansdit.htm
Zugriffsarten
Es soll im allgemeinen ja möglich sein, auf einzelne Teile gespeicherter Informationen zugreifen zu können. Üblich ist der Folgezugriff (sequential access ) und der Direktzugriff (random access ).
Folgezugriff
Beim Folgezugriff sind Informationsblöcke wie entlang einer Strecke angeordnet. Es gibt ein Zugriffssystem, das sich an einem Punkte dieser Strecke befindet und zunächst nur dort schreiben oder lesen kann. Um auf eine andere Stelle zugreifen zu können, muß das System entlang der Strecke (oder die Strecke entlang des Systems) verschoben werden und so hängt die Zeit zum Zugriff auf eine bestimmte Stelle von der Entfernung dieser Stelle von der bisherigen Position des Zugriffssystems ab.
Direktzugriff
Im Gegensatz dazu sind beim Direktzugriff alle Informationsblöcke an ein gemeinsames Zugriffsystem angeschlossen. Die Zeit zum Zugriff auf einen Block ist dann für jeden Block gleich groß. Der Begriff “random access ” hat eben diese Bedeutung und wird manchmal auch als „wahlfreier Zugriff“ bezeichnet. Diese Bezeichnung ist insofern mißverständlich als daß auch bei sequentiellem Speicher frei gewählt werden kann auf welche Speicherzelle zugegriffen werden soll, nur werden dort bestimmte Zugriffe durch längere Wartezeiten „bestraft“, während bei Speicher mit Direktzugriff jede Wahl dieselben Kosten verursacht.
Ein RAM ist also der Bedeutung des Akronyms nach zunächst ein Speicher mit Direktzugriff.
Adreßzugriff
Unter Umständen ist es günstig, als Name einer Speicherzelle einfach eine Zahl zu verwenden, so wie auch die Häuser in einer Straße meistens durch eine Zahl benannt werden (die Hausnummer). Solch ein Name einer Speicherzelle wird auch als ihre Adresse bezeichnet. Oft werden die Speicherzellen eines Computer durchnumeriert: Es gibt Zelle 0, Zelle 1, Zelle 2 und so weiter. Erfolgt der Zugriff über eine solche Adresse, so spricht man auch von einem Adreßzugriff.
In der Regel werden mehrere Bits (heute oft 8) zu einem Byte (oder „Wort“) zusammengefaßt, das dann insgesamt eine einzige Adresse erhält. Adressiert werden also diese Speicherwörter und nicht die darin enthaltenen einzelne Bitspeicher.
Die Abbildung „Beispiel eines Speicherinhaltes in hexadezimaler Anzeige“ zeigt den Inhalt eines Speicherbereichs in einer typischen Darstellungsweise. Links sieht man die Adresse des ersten Bytes der Zeile, rechts die Inhalte von 16 Bytes, wobei jeweils ein Zeichen den Zustand von 4 Bit angibt. Für die 16 Möglichkeiten des Zustandes von 4 Bit werden die 16 Zeichen von „0“ bis „9“ und dann von „A“ bis „F“ verwendet.
- Beispiel eines Speicherinhaltes in hexadezimaler Anzeige
00000000 9E 0F C8 00 65 04 70 00 16 00 21 05 65 04 70 00
00000010 65 04 70 00 54 FF 00 F0 D8 A0 00 F0 53 FF 00 F0
00000020 00 00 00 CC 28 00 21 05 3A 00 21 05 52 00 21 05
00000030 6A 00 21 05 82 00 21 05 9A 00 21 05 65 04 70 00
00000040 07 00 70 CC 4D F8 00 F0 41 F8 00 F0 D7 24 64 FD
00000050 39 E7 00 F0 40 02 0A 02 2D 04 70 00 28 0A 0D 03
00000060 59 FF 00 F0 2F 00 E4 05 6E FE 00 F0 04 06 0D 03
00000070 1D 00 00 CC A4 F0 00 F0 22 05 00 00 E3 80 00 C0
Bautypen
Das RAM ist heute in der Regel ein Halbleiterspeicher.
Beim dynamischen RAM (DRAM) wird eine Speicherzelle mit Hilfe eines Kondensators verwirklicht. So aufgebauter Speicher ist mit geringen Kosten herstellbar, benötigt aber während des Betriebs immer wieder, vielfach in einer Sekunde, eine Auffrischung, da die Information sonst durch Entladung des Kondensators verloren ginge. Die Auffrischung erfolgt durch erneutes Schreiben des ausgelesenen Wertes und wird von einer elektronischen Schaltung automatisch ausgeführt, was aber das System insgesamt doch verlangsamen kann.
Bemerkenswerterweise sind einige moderne DRAM-Typen nicht mehr ganz Speicher mit wahlfreiem Zugriff, denn bei bestimmten Zugriffsverfahren, wie dem Seiten- oder Spaltenmodus ist ein sequentieller Zugriff wieder schneller ist.
Das statische RAM (SRAM) wird mit Hilfe bistabiler Schaltungen verwirklicht. Es erlaubt schnelleren Zugriff, benötigt keine Auffrischung, kostet aber mehr.
Anwendungen
Hauptspeicher Gerade ausgeführte Programme und ein Teil ihrer Daten werden in der Regel (ganz oder teilweise) in einem Hauptspeicher (Arbeitsspeicher) gehalten.
Cache Das englische Wort “cache ” wird wie das englische Wort „cash “ ausgesprochen und bedeutet zunächst so viel wie „Lager“ (hier im Sinne von „Zwischenlager“). Es handelt sich um schnellen Zwischenspeicher zur Beschleunigung von Zugriffen. Hierfür wird oft statisches RAM eingesetzt, wenn der Zugriff auf den normalen Hauptspeicher beschleunigt werden soll. Andererseits wird normaler Hauptspeicher, falls ausreichend viel vorhandenen ist, auch als Cache für langsamere Medien, wie Festplatten eingesetzt.
Videospeicher Für den speziellen Videospeicher von Graphikkarten wird zur Beschleunigung oft statisches RAM eingesetzt.
Techniken
Paritätsbit Ein Paritätsbit wird in manchem RAMs jedem Byte zugefügt, damit bestimmte Verfälschungen des Speicherinhalts erkannt werden können. Das Paritätsbit gibt an, ob die Anzahl der gesetzten Bits ungerade ist. So kann es erkannt werden, wenn ein einzelnes Bit ohne eine entsprechende Schreiboperation gekippt ist.
Bauformen
DIP dual inline package —Ein Chip zum Einlöten oder Sockeln, bis Ende der 80er Jahre.
SIP single inline package —Eine kleine Platine mit 30 Stiften (8 Bit Datenbreite) für 286/386SX-Systeme, bis zu einem Mebioktett Kapazität.
SIMM single inline memory module —Eine kleine Platine mit 30 Kontakten (8 Bit Datenbreite), paarweise für 286/386SX-Systeme, oder vierfach für 386DX/486, mit 256 KByte, 1 Mebioktett, 4 Mebioktett und selten 16 Mebioktett.
PS/2 personal system/2 —Ein SIMM mit 72 Kontakten (32 Bit Datenbreite). Unterschieden in die ursprüngliche FP-Variante (fast page mode,1–16 MByte) und die spätere (1995) EDO-Variante (extended data output, 64 Mebioktett). Ein Modul für 486er, Paare für Pentiums.
DIMM double inline memory module —168 Kontakte (64 Bit Datenbreite). 8–1024 Mebioktett. Für Pentium II/III und AMD. SDRAM (ab 1997), synchronous DRAM. DDR-SDRAM, double data rate SDRAM, 184 Kontakte.
Preise
Es folgen Aufzeichnungen einiger Marktpreise verschiedener Zeiten.
DIMM PC100, 128 MB,
2003-04 EUR 19,— (PC 333)
2001-10 DEM 54,—
2001-01 DEM 114,—
DIMM PC133, 128 MB
2003-04 EUR 19,— (PC 333)
2001-10 DEM 54,—
2001-01 DEM 124,—
Rambus RIMM, 128 MB
2001-10 DEM 159,—
2001-01 DEM 499,—