Computerhardware: Speicher

Byte und Bit sind Maßeinheiten für die Menge an Speicherplatz.
Ein Bit ist Speicherplatz für die kleinstmögliche Informationsmenge: 1 oder 0, Ja oder Nein, Ein oder Aus. Mit einem Bit kann man zwei Zustände darstellen, mit zwei Bit kann man 2 × 2 = 4 Zustände unterscheiden (00, 01, 10, 11). Jedes weitere Bit verdoppelt die Zahl der Kombinationen. Mit 8 Bit kann man 2 hoch 8 = 256 Kombinationen darstellen. Eine Gruppierung von acht Bit nennt man ein Byte. Man kann in einem Byte also eine Zahl zwischen Null und 255 oder ein Zeichen (einen Buchstaben des Alphabets oder ein Sonderzeichen) speichern.

Gesetzliche Maßeinheiten Bearbeiten

In diesem Lehrbuch werden die gesetzlichen Maßeinheiten verwendet:
1 Sekunde = 1 000 Millisekunden = 1 000 000 Mikrosekunden = 1 000 000 000 Nanosekunden.
1 Giga = 1 000 Mega = 1 000 000 Kilo = 1 000 000 000.

Wenn es um Speicherkapazität geht, werden in Anlehnung an die gesetzlichen Maßeinheiten die Bezeichnungen Giga, Mega und Kilo verwendet:

  • EB = Exabyte = 1 Trillion Byte,
  • PB = Petabyte = 1 Billiarde Byte,
  • TB = TeraByte = 1 Billion Byte,
  • GB = GigaByte = 1 Milliarde Byte,
  • MB = MegaByte = 1 Million Byte,
  • kB = kiloByte = Eintausend Byte.

Da der PC im Binärsystem rechnet, werden auch die Speichereinheiten binär adressiert. Elektronischer Speicher lässt sich nicht in beliebigen „Portionen“ herstellen. Jeder Speicherchip und jeder Speichermodul hat eine Kapazität, die eine Zweierpotenz ist: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536 usw. sowie Vielfache davon sind herstellbar. Eine Speicherkapazität von z.B. 1000 Bytes lässt sich nicht direkt herstellen (1000 Byte = 1 Chip mit 512 Bytes + ein weiterer mit 256 Bytes, +128, +64, +32, +8, was völlig unwirtschaftlich ist), sondern bestenfalls künstlich limitieren. Dann entstünden aber ungenutzte Bereiche, die aber natürlich dennoch hergestellt werden müssen; ein 1000-Byte-Chip würde genausoviel kosten wie ein 1024-Byte-Chip. Notgedrungen wurde in der Computertechnik die Zahl 1024 mit „Kilo“ bezeichnet, (1024)2 = 1.048.576 mit „Mega“, (1024)3 = 1073.741.824 mit „Giga“ usw. Den kleinen Unterschied nahm man in Kauf.

Dabei hat es sich im allgemeinen eingebürgert, die bereits geläufigen   SI-Vorsätze (Kilo für 103=1 000, Mega für 106=1.000.000 usw.), die eigentlich auf Potenzen der Zahl 10 beruhen, auf die in der Informatik üblicheren Zweierpotenzen zu übertragen. Mit einem „Kilo-Byte“ sind in Schaltkreisen aber nicht 1000, sondern immer 1024  Byte gemeint.

Beim magnetischen und optischen Speicher gibt es dagegen keine fertigungsbedingten Einschränkungen auf Zweierpotenzen. Man hätte einen Datenblock durchaus genau 1000 Byte groß machen können. Weil aber im PC ein ständiger Datenaustausch zwischen den Speicherarten stattfindet, wären unterschiedliche Datenblockgrößen extrem unpraktisch. Deshalb ist der kleinste adressierbare Datenblock auf allen magnetischen und optischen Datenträgern genau 512 Byte groß, die Hälfte von 1024, oder neuerdings 4096 Byte.

Beim Speicher gilt also:

TB   GB   MB   kB   Byte
            1 = 1024
        1 = 1024 = 1.048.576
    1 = 1024 = 1.048.576 = 1.073.741.824
    100 = 102.400 = 104.857.600 = 107.374.182.400
0,909 931 953.674 976.562.500 = 1.000.000.000.000
1 = 1024 = 1.048.576 = 1.073.741.824 = 1.099.511.627.776

In der vorletzten Zeile der Tabelle sehen Sie, dass man eine 1 Terabyte (1012 = 1.000.000.000.000 Byte) große Festplatte auch als 0,909 TiB bzw. 931 GiB anpreisen könnte. Das macht natürlich niemand – einerseits wirkt die dezimale Angabe größer, andererseits ist genau diese Angabe bei Festplatten seit Jahrzehnten etabliert.

Um nun diese Verwirrungen zwischen 1000 und 1024 zu beseitigen, sind die neuen Maßeinheiten kibi, mebi und gibi eingeführt worden. Exakter ist es deshalb, die eigens dafür eingeführten   binären Vorsätze (Kibi für 210=1 024, Mebi für 220=1 048 576 usw.) zu verwenden:

  • 210 Byte = 1 024 Byte = 1 Kibibyte = 1 KiB (sprich: „Kibibait“) ≠ 1 kB (sprich: „k“ oder „Kilobait“).
    Weil Kilo ein SI-Vorsatz ist und für 1000 steht, hier aber 1024 Byte gemeint sind, ist die Bezeichnung Kilobyte sachlich falsch. Richtig, jedoch seltener verwendet, wäre die Bezeichnung Kibibyte.
  • 220 Byte = 1 048 576 Byte = 1 024 KiB = 1 Mebibyte = 1 MiB (sprich: „Mebibait“) ≠ 1 MB (sprich: „Megabait“).
  • 230 Byte = 1 073 741 824 Byte = 1 024 MiB = 1 Gibibyte = 1 GiB (sprich: „Gibibait“) ≠ 1 GB (sprich: „Gigabait“).
  • 240 Byte = 1 099 511 627 776 Byte = 1 024 GiB = 1 Tebibyte = 1 TiB (sprich: „Tebibait“) ≠ 1 TB (sprich: „Terabait“).

Allerdings sind diese Einheiten noch relativ wenig bekannt und werden teilweise sogar von großen Softwarehäusern wie z. B. Microsoft völlig ignoriert. In Windows werden Datenmengen stets in Kibibyte oder größeren Einheiten berechnet, allerdings als Kilobyte bezeichnet. Der Anwender ohne das Wissen aus diesem Artikel meint nun, zwar eine 1 Terabyte-Festplatte gekauft zu haben, aber davon nur 0,909 Terabyte nutzen zu können. Gern wird dabei dem Hersteller aufgrund dieser schon beträchtlichen Differenz Betrug unterstellt. Dabei ist es die Schuld von Microsoft, die „ihre“ Tebibytes nur falsch als Terabyte deklarieren. 0,909 TiB entsprechen dabei, wie bereits in obiger Tabelle erwähnt, genau den beworbenen 1,0 Terabytes.

Anforderungen an Speicher Bearbeiten

Der ideale Speicher wäre gleichzeitig sehr schnell, gewaltig groß und preiswert. Darüber hinaus sollten gespeicherte Informationen bei Bedarf jahrzehntelang verlustfrei haltbar sein. Leider gibt es keine Speichertechnologie, welche diese Anforderungen auch nur näherungsweise erfüllt. Große Kapazitäten sind nur mit relativ langsamen Verfahren zu erreichen, andererseits sind schnelle Speicher teuer und klein. Daher gibt es in einem PC mehrere Arten von Speicher, die abgestimmt zusammenarbeiten.

Die Tabelle zeigt typische Werte für die in einem PC gebräuchlichen Technologien (Daten und Preise von Nov. 2019):

Speichertyp CPU-Cache Arbeitsspeicher USB-Stick SSD-Festplatte M.2-Speicher magnet. Festplatte DVD
Klassifikation intern, flüchtig extern, dauerhaft
Preis pro MB 5 € 0,8 Cent 0,03 Cent 0,014 Cent 0,02 Cent 0,0025 Cent 0,01 Cent
typische Größe 8 MB 8 GB 64 GB 500 GB 500 GB 4000 GB 4,7 GB
Datenübertragung
pro Sekunde
24 GB/sek 12,8 GB/sek 0,015 GB/sek 0,5 GB/sek 3,5 GB/sek 0,2 GB/sek Lesen: 0,01 GB/sek

Klassifikation des Speichers nach Bauteilen Bearbeiten

  • Der Externe Speicher (Massenspeicher) wird mit Kabeln an die Hauptplatine angeschlossen. Er ist langsam, weil er mit mechanisch bewegten Teilen arbeitet. Die Daten werden zu Blöcken zusammengefasst. Man unterscheidet:
    • Magnetische Speichermedien: Festplatten, Diskettenlaufwerke, ZIP-Laufwerke
    • Optische Speichermedien: CD- und DVD-Laufwerke, BluRay
    • Flash-Speicher (USB-Stick und SSD-Festplatten) haben zwar keine bewegten Teile, werden aber wegen Kapazität und Geschwindigkeit zu den externen Speichern gerechnet.
  • Der Interne Speicher ist direkt auf der Hauptplatine aufgelötet oder aufgesteckt. Der interne Speicher kommt ohne mechanisch bewegte Teile aus und ist deshalb sehr schnell. Es gibt zwei Arten:
    • ROM: Read Only Memory (Nur-Lese-Speicher) für das Startprogramm (BIOS)
    • RAM: Speicher für Arbeitsdaten.
Wie groß sind die Geschwindigkeitsunterschiede?

Für den Arbeitsspeicher sind Zugriffszeiten von weniger als 5 Nanosekunden üblich. Die Festplatte als externer Speicher benötigt pro Lese- oder Schreibzugriff durchschnittlich 9 Millisekunden = 9.000.000 Nanosekunden. Bei einer so langen Wartezeit ist es nicht sinnvoll, jedes Byte ­einzeln zu lesen. Deshalb werden gleichartige Daten zu Blöcken zusammengefasst. Ein Datenblock auf Diskette oder Festplatte ist 512 Byte groß. Beim Lesen eines einzelnen Blockes kommt die Festplatte auf durchschnittlich 9 ms pro 512 Byte = 18.000 Nanosekunden pro Byte. Diese Blöcke werden zu größeren Einheiten zusammengefasst, den sogenannten Verwaltungseinheiten, engl.: „Cluster“. Die Größe der Verwaltungseinheit hängt von der Größe der Festplatte ab, es können 8 bis 64 Sektoren zu einem Cluster gehören. Je größer die Festplatte, desto größer die Cluster. Mehrere Cluster hintereinander bilden eine Spur der Festplatte.

Wenn sich eine Festplatte mit 7200 U/min dreht, sind das 120 Umdrehungen pro Sekunde, also etwa 8 Millisekunden für eine Umdrehung. Im statistischen Durchschnitt werden 4 ms (eine halbe Umdrehung) gebraucht, bis die angeforderten Daten unter dem Lese-/Schreibkopf vorbeirasen.

Nehmen wir an, eine Spur enthält 200 Sektoren zu je 512 Byte, das ergibt gerundet 100 000 Byte. Die Festplatte benötigt im Mittel 9 ms, um den Kopf in Position zu bringen, plus 4 ms für eine halbe Umdrehung. 13 ms für 100 000 Byte ergibt eine Wartezeit von 130 ns pro Byte. Allerdings ist das eine sehr optimistische Rechnung, denn es kommt nicht oft vor, dass hunderttausend aufeinanderfolgende Bytes von der CPU angefordert werden. Das zeigt aber auch, dass die Reihenfolge der Daten auf einem Massenspeicher optimiert werden sollte, um bessere Geschwindigkeiten zu erzielen. Im Unterschied dazu kann der Arbeitsspeicher acht aufeinanderfolgende Byte in nur 5 ns liefern, wobei die Geschwindigkeit nicht von der Anordnung der Daten abhängt.

Windows bemüht sich, alle für eine Anwendung benötigten Programmteile und Daten im Arbeitsspeicher bereitzuhalten. Wenn der Arbeitsspeicher nicht ausreicht, muss Windows Teile des Arbeitsspeichers auf die viel langsamere Festplatte auslagern. Geizen Sie also nicht mit Arbeitsspeicher beim Kauf eines PCs!

Externer Speicher Bearbeiten

Die Festplatten, Diskettenlaufwerke, Flash-Speicher und optischen Speicher werden etwas später behandelt.

Interner Speicher Bearbeiten

Beginnen wir mit der Betrachtung der Halbleiter-Bausteine, die für RAM und ROM verwendet werden.

ROM – Der Nur-Lese-Speicher Bearbeiten

ROM ist die englische Abkürzung für „Read Only Memory“ (Nur-Lese-Speicher, auch als Festwertspeicher bezeichnet). ROM verliert die Daten nicht, wenn der Strom abgeschaltet wird. Außerdem können die enthaltenen Daten im normalen Betrieb nicht geändert werden und sind gegen Fehlbedienungen, Programmabstürze und Attacken durch Computerschädlinge immun. Wegen dieser wertvollen Eigenschaften hat jeder Computer einen ROM-Baustein, in dem das Startprogramm gespeichert ist, mit dem die Arbeit nach dem Einschalten beginnt. Beim PC wird dieses Startprogramm als BIOS bezeichnet.

Ein ROM ist allerdings nicht völlig „Read Only“, denn die Daten müssen ja irgendwie in den Chip hineinkommen oder nötigenfalls geändert werden können. Mit speziellen Mitteln, Geräten oder Programmen ist das möglich.

Der RAM-Speicher Bearbeiten

RAM bedeutet Random Access Memory, deutsch: „wahlweise ansprechbarer Speicher“ oder auch „Speicher mit wahlfreiem Zugriff“. „Wahlweise" bedeutet zweierlei:

  • Im Unterschied zum ROM kann man den Speicher nicht nur Lesen, sondern auch beschreiben. Die Reihenfolge und Häufigkeit, mit der Daten geschrieben oder gelesen werden können, ist beliebig.
  • Im Unterschied zur Festplatte kann jedes Byte einzeln adressiert werden, in beliebiger Reihenfolge.

Leider ist RAM ein flüchtiger Speicher. Das bedeutet: Strom weg - Daten weg. Nach dem Einschalten des PC muss dessen leerer RAM mit Programmen und Daten aus dem externen Speicher gefüllt werden. Dieser Vorgang ist das „Laden“ des Betriebssystems. Vor dem Ausschalten des PC müssen die veränderten Daten auf Festplatte zurückgeschrieben (gespeichert) werden, sonst gehen sie verloren. Der Begriff „speichern“ ist etwas unglücklich gewählt, denn dabei werden die bereits (im RAM) gespeicherten Daten auf einen externen Datenspeicher, die Festplatte, kopiert.

Der Arbeitsspeicher Bearbeiten

Die wichtigste Verwendung für RAM-Bausteine ist der Arbeitsspeicher, der auch als Hauptspeicher bezeichnet wird. Der Arbeitsspeicher ist eine Baugruppe auf der Hauptplatine, die über schnelle Datenwege mit dem Prozessor verbunden ist. Der Prozessor benutzt den Arbeitsspeicher als Ablage für operative Daten, Zwischenergebnisse und auch für die Liste der nächsten Befehle. Im Inneren des Prozessors ist nur ganz wenig Platz für Daten, ohne ausreichend Arbeitsspeicher kann die CPU nicht arbeiten.

Wollen Sie mehr über Speicher wissen?