Ehrlich gesagt kann es ziemlich kompliziert werden, die verschiedenen Speichertypen in einem Computer zu erklären. Es gibt ROM, RAM, DRAM, SRAM, NAND, NOR-Flash – eine ganze Menge. Und ehrlich gesagt werden die meisten davon heutzutage nur noch in bestimmten Nischen eingesetzt. Viele der „älteren“ Typen – wie konventioneller Speicher – sind weitgehend von der Bildfläche verschwunden, aber es ist schon interessant zu sehen, welchen Platz sie alle in der Computergeschichte einnehmen. Beispielsweise wurde ROM, das früher eine wichtige Rolle bei der Speicherung von BIOS und Firmware spielte, weitgehend durch Flash-Speicher ersetzt, der günstiger und wiederbeschreibbar ist. Normalerweise ist das NOR-Flash, aber auch NAND-Flash ist mittlerweile weit verbreitet. Manchmal wird aber immer noch von „konventionellem Speicher“ gesprochen, auch wenn es sich dabei meist nur um einen historischen Begriff handelt, der Neulinge verwirrt.

Eine kurze Geschichtsstunde zum PC

PCs sahen nicht immer so elegant aus wie die heutigen Geräte. Damals waren sie klobig, teuer und hatten kaum Leistung. Im Grunde konnten sie sich nur größere Unternehmen und Organisationen leisten, und die Softwarewelt war ein Chaos – keine einfachen Downloads, keine Browser (denn das Internet gab es ja noch nicht wirklich) und schon gar keine niedlichen Katzenbilder. Die frühen Computer waren meist befehlszeilengesteuert und die meisten konnten nur eines wirklich gut: Sie waren für bestimmte Aufgaben konzipiert. Die Kosten stellten ein großes Hindernis dar, sodass sie für den Durchschnittsbürger nicht gerade erschwinglich waren.

Dann kam der IBM PC, der alles veränderte. Er erfand zwar nicht das Internet oder Katzen, aber er machte Computer mehr oder weniger für jedermann zugänglich. Er war ein Allzweckgerät, nicht supergünstig, aber erschwinglich genug, um sich flächendeckend durchzusetzen. Dank ihm blieb der Begriff „PC“ bestehen, auch wenn er heute etwas in Vergessenheit gerät. Natürlich brachte die Popularität auch die üblichen Probleme mit sich – Einschränkungen, Kompatibilitätsprobleme und dergleichen. Vieles davon wurde im Laufe der Jahre behoben, auch wenn einige Macken in älteren Systemen bestehen bleiben.

Der Intel 8086

Diese CPU bildete praktisch das Rückgrat früher PCs. Sie war die erste wirklich universelle CPU, brachte aber auch einige Nachteile mit sich. Das Gerät konnte nur mit 1 MB Speicher umgehen – nicht mehr. Und dabei handelt es sich nicht nur um RAM, sondern um alles, was im Speicher abgebildet ist – BIOS, Grafik, Peripheriegeräte und so weiter. Die ersten 640 KB davon waren dem RAM, dem sogenannten „konventionellen Speicher“, gewidmet, die restlichen 384 KB waren für andere Systemfunktionen reserviert, was zu großer Verwirrung führte, insbesondere aufgrund der unterschiedlichen Bezeichnungen der Speichergrößen (man denke nur an die Sache mit 1000 vs.1024).Dieser historische Aspekt ist der Grund, warum Festplattenkapazitäten manchmal etwas von den Angaben abweichen – aufgrund des Unterschieds zwischen dezimalen und binären Präfixen.

Frühe PCs nutzten die Speichersegmentierung, um diese Einschränkungen zu umgehen. Moderne Systeme nutzen mittlerweile virtuelle Speicheradressen, die lediglich den physischen Speicher abbilden, sodass Programme diese Einschränkungen nicht mehr berücksichtigen müssen. Trotzdem ist es schon merkwürdig, dass diese alten Einschränkungen unsere heutige Sicht auf Hardware beeinflussen.

Vermächtnis

Im Laufe der Zeit ermöglichten verschiedene Tricks und technische Verbesserungen PCs die Adressierung von mehr Speicher, doch das Hauptproblem war der begrenzte Adressraum der 8086-CPU. Heutzutage verwenden Betriebssysteme virtuellen Speicher, d.h.sie verbergen die tatsächliche physikalische Speicheraufteilung vor der Software – was die Flexibilität deutlich erhöht. Anstatt direkt auf tatsächliche Speicheradressen zuzugreifen, erhalten Apps virtuelle Adressen, die das Betriebssystem übersetzt. Daher ist das alte Konzept des „konventionellen Speichers“ weitgehend verschwunden und durch ein System ersetzt worden, das den gesamten Speicher unabhängig von den tatsächlichen physikalischen Grenzen *zugänglich* erscheinen lässt.

In der Praxis ist das der Grund, warum man von diesen alten Speicherbeschränkungen kaum noch etwas hört. Doch das Verständnis dieser Geschichte ist immer noch nützlich, wenn man Fehler bei wirklich alten Systemen behebt oder versucht, Legacy-Software auszuführen.

Zusammenfassung

Im Grunde war „konventioneller Speicher“ nur die ersten 640–680 KiB des 1 MiB großen adressierbaren Speicherplatzes in frühen PCs, der durch die Beschränkungen der Intel 8086 CPU vorgegeben war. Dieser Teil diente als System-RAM, während der Rest für BIOS, Grafikspeicher und Peripheriegeräte verwendet wurde. Heute ist dieser Begriff völlig überholt, da moderne Computer 64-Bit-Architekturen mit virtuellem Speicher verwenden, die den Zugriff auf *viel* mehr ermöglichen – theoretisch bis zu 16 EiB. Physische Speicheradressen werden heute abstrahiert, und das Konzept fester Segmente oder Grenzen ist weitgehend verschwunden.

Ich bin mir nicht sicher, warum es manchmal in Diskussionen immer wieder auftaucht, aber zumindest das Verständnis der Wurzeln erleichtert die Fehlerbehebung oder den Umgang mit veralteter Software ein wenig. Denn natürlich machen Windows- und Hardwarehersteller die Dinge gerne komplizierter als nötig.