Information Technology Reference
In-Depth Information
2.3 Speicherkopplung
Viele der bereits erläuterten und später noch zu beschreibenden Prinzipien dienen
der Erhöhung des Befehlsdurchsatzes, d.h. der Steigerung der Ausführungsge-
schwindigkeit von Programmen. Damit man dem theoretisch möglichen Befehls-
durchsatz eines Fließbandprozessors möglichst nahe kommt, muss jedoch eine leis-
tungsfähige Schnittstelle zum Speicher existieren, über die mit ausreichender
Geschwindigkeit - sowohl auf die auszuführenden Befehle als auch auf die zu ver-
arbeitenden Daten - zugegriffen werden kann.
Von zentraler Bedeutung für die Zugriffsgeschwindigkeit sind die nachfolgend dis-
kutierten Caches und Speicherpuffer. Die ebenfalls in diesem Abschnitt beschriebe-
nen Speicherverwaltungseinheiten dienen hingegen hauptsächlich der Systemsi-
cherheit. Sie werden in modernen Betriebssystemen benötigt und müssen möglichst
so realisiert sein, dass sich Zugriffe auf den Speicher oder Cache verzögerungsfrei
bearbeiten lassen. Die in diesem Abschnitt erläuterten Prinzipien finden vor allem
hinsichtlich ihrer Bedeutung für die Auslegung einer Prozessorarchitektur Berück-
sichtigung. Details, die weniger den Prozessor und mehr das Gesamtsystem betref-
fen, werden nicht untersucht. Für eine hervorragende Beschreibung vieler dieser
Aspekte sei der Leser auf [46] verwiesen.
2.3.1 Cache
Ein Cache ist ein Zwischenspeicher für Befehle und (oder) Daten, auf den sich
transparent, also ohne dass er explizit im Programm berücksichtigt werden muss,
wesentlich schneller zugreifen lässt als auf den Hauptspeicher. Beim ersten Zugriff
auf einen Befehl oder ein Datum wird zunächst ein Eintrag im Cache reserviert und
diesem die adressierte Speicherzelle zugeordnet. Gegebenenfalls ist ein vorhandener
Eintrag dabei zu überschreiben. Alle folgenden Zugriffe auf bereits im Cache
befindliche Inhalte werden automatisch darauf umgeleitet und somit schneller aus-
geführt als Zugriffe auf den Hauptspeicher. Wegen der geringen Kapazitäten von
Caches werden möglichst nur solche Speicherinhalte zwischengespeichert, die man
in der aktuell bearbeiteten Befehlsfolge häufig benötigt. Hierbei wird ausgenutzt,
dass sich Daten und Befehle durch eine hohe sog. zeitliche Lokalität auszeichnen,
was bedeutet, dass innerhalb einer kurzen Zeitspanne häufig nur relativ wenige
Speicherzellen adressiert werden.
Cache-Hierarchie
Die Geschwindigkeit, mit der auf einen Cache zugegriffen werden kann, ist u.a. von
seiner Speicherkapazität abhängig, wobei gilt, dass ein Cache mit geringer Kapazi-
tät schneller als einer mit hoher Kapazität reagiert. Andererseits ist jedoch der Nut-
zen eines Caches umso geringer, je weniger er zwischenspeichern kann. Es ist daher
einleuchtend, statt eines einzelnen, mehrere aufeinander aufsetzende Caches zu ver-
wenden, die in einer Cache-Hierarchie zwischen Prozessor und Hauptspeicher ange-
ordnet sind. Die einzelnen Caches werden hierbei zur Identifikation üblicherweise
Search WWH ::




Custom Search