Computerhardware: Speicher
Aus Wikibooks
Inhaltsverzeichnis |
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. Eine Gruppierung von acht Bit nennt man ein Byte. Mit 8 Bit kann man 2 hoch 8 = 256 Kombinationen bilden. Man kann in einem Byte also eine Zahl zwischen Null und 255 oder ein Zeichen (einen Buchstaben des Alphabets oder ein Sonderzeichen) speichern.
[Bearbeiten] Gesetzliche Maßeinheiten
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 Billiarde Byte,
- TB = TeraByte = 1 Billion Byte,
- GB = GigaByte = 1 Milliarde Byte,
- MB = MegaByte = 1 Million Byte,
- kB = kiloByte = Eintausend Byte.
Nun lässt sich elektronischer Speicher nicht in beliebigen „Portionen“ herstellen. Fertigungstechnisch sind nur Speichergrößen herstellbar, die eine Zweierpotenz sind: 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 1000 lässt sich nicht herstellen (zumindest nicht mit vertretbarem Aufwand). Notgedrungen wird 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 nimmt 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 aber nicht 1000, sondern immer 1024 gemeint.
Beim magnetischen und optischen Speicher gibt es keine fertigungsbedingten Einschränkungen. 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.
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 eine in der Werbung mit 1 Terabyte (1012) angepriesene Festplatte (womit 1000.000.000.000 Byte gemeint sind) von Windows mit 909 GB angezeigt wird.
Um diese Verwirrungen zu beseitigen, sind die neuen Maßeinheiten kibi, mebi und gibi eingeführt worden. Exakter ist es deshalb, die eigens dafür eingeführten, allerdings noch relativ wenig benutzten
binären Vorsätze (Kibi für 210=1 024, Mebi für 220=1 048 576 usw.) zu verwenden:
- 2 hoch 10 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. - 2 hoch 20 Byte = 1.048.576 Byte = 1 Mebibyte = 1.024 KiB = 1 MiB (sprich: „Mebibait“) ≈ 1 MB (sprich: „Megabait“).
- 2 hoch 30 Byte = 1.073.741.824 Byte = 1 Gibibyte = 1.024 MiB = 1 GiB (sprich: „Gibibait“) ≈ 1 GB (sprich: „Gigabait“).
- 2 hoch 40 Byte = 1.099.511.627.776 Byte = 1 Tebibyte = 1.024 GiB = 1 TiB (sprich: „Tebibait“) ≈ 1 TB (sprich: „Terabait“).
Allerdings sind diese Einheiten noch relativ wenig bekannt. Die Festplattenhersteller bevorzugen die alten, unkorrekten Einheiten, denn 1000 GB sieht nach mehr aus als 909 GiB. So wird es wohl noch dauern, bis sich die neuen Einheiten durchsetzen.
[Bearbeiten] Anforderungen an Speicher
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:
| Speichertyp | CPU-Cache | Arbeitsspeicher (DDR2-800) | Flash (USB-Stick) | Festplatte | DVD |
| Klassifikation | intern, flüchtig | extern, dauerhaft | |||
| Preis pro MB | 10 € | 1.5 Cent | 1 Cent | 0,02 Cent | 0,01 Cent |
| typische Größe | 8 MB | 2048 MB | 4 GB | 500 GB | 4,7 GB |
| Datenübertragung pro Sekunde |
24 GB/sek | 6.4 GB/sek | 0,01 GB/sek | 0,06 GB/sek | Lesen: 0,01 GB/sek |
[Bearbeiten] Klassifikation des Speichers nach Bauteilen
- 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, HD-DVD
- Flash-Speicher (USB-Stick) hat keine bewegten Teile, zählt aber eher zu den externen Speichern, was Kapazität, Geschwindigkeit und Größe angeht.
- 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
- 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 üblich, gleichartige Daten zu Blöcken zusammenzufassen. 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.
Nehmen wir an, eine Spur enthält 102.400 Byte, aufgeteilt in 200 Sektoren zu je 512 Byte. Die Festplatte benötigt 9 ms für die Positionierung plus 8 ms für eine volle Umdrehung. Die Wartezeit pro Byte verbessert sich auf 170 ns. Allerdings ist das eine sehr optimistische Rechnung, denn es kommt nicht oft vor, dass so viele aufeinanderfolgende Daten 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 hängt bei internem Speicher die Geschwindigkeit nicht von der Anordnung der Daten ab.
[Bearbeiten] Externer Speicher
Die Festplatten, Diskettenlaufwerke, Flash-Speicher und optischen Speicher werden etwas später behandelt.
[Bearbeiten] Interner Speicher
Beginnen wir mit der Betrachtung der Halbleiter-Bausteine, die für RAM und ROM verwendet werden.
[Bearbeiten] ROM – Der Nur-Lese-Speicher
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.
[Bearbeiten] Der RAM-Speicher
RAM bedeutet Random Access Memory, deutsch: „wahlweise ansprechbarer Speicher“ oder auch „Speicher mit wahlfreiem Zugriff“. Das 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.
[Bearbeiten] Der Arbeitsspeicher
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 ihn 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.