Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Lokalitätseigenschaft

So können beispielsweise Speicherbereiche, auf die erst kürzlich zugegriffen wurde, in einem Cache-Speicher verwaltet werden. Der Cache ist ein relativ …

Inhalt4 Abschnitte
  1. 1. Bedeutung der Lokalitätseigenschaft
  2. 2. Zeitliche Lokalität und Cache
  3. 3. Räumliche Lokalität
  4. 4. Ursachen in Schleifen

Bedeutung der Lokalitätseigenschaft

Die Lokalitätseigenschaft, auch Lokalitätsprinzip oder Lokalitätseffekt (englisch locality of reference), ist eine Eigenschaft typischer Computerprogramme. Sie besagt, dass Daten, die gerade benutzt werden, mit sehr hoher Wahrscheinlichkeit auch in naher Zukunft wieder benötigt werden.

Programme und Prozesse verhalten sich dabei relativ stationär in Zeit und Raum. Das lässt sich nutzen, um die Datenverarbeitungsleistung zu verbessern. Man unterscheidet zeitliche und räumliche Lokalität.

Zeitliche Lokalität und Cache

Zeitliche Lokalität bedeutet: Auf Adressbereiche, auf die zugegriffen wurde, wird wahrscheinlich bald erneut zugegriffen. Im Ablauf eines Programms wird daher relativ häufig dieselbe Speicheradresse verwendet.

Diese Eigenschaft kann auf allen Ebenen der Speicherhierarchie genutzt werden, damit wichtige Speicherbereiche schnell verfügbar bleiben. Beispielsweise verwaltet ein Cache-Speicher Bereiche, auf die erst kürzlich zugegriffen wurde. Ein Cache ist ein relativ kleiner Hochgeschwindigkeitsspeicher, der häufig benötigte Daten zwischen CPU und Arbeitsspeicher puffert.

Räumliche Lokalität

Räumliche Lokalität bedeutet: Nach einem Zugriff auf einen Adressbereich erfolgt der nächste Zugriff mit hoher Wahrscheinlichkeit auf eine Adresse in unmittelbarer Nachbarschaft. Im Programmablauf werden also wiederholt Speicheradressen angesprochen, die nahe beieinander liegen.

Daraus folgt: Bei einem Speicherzugriff können zugleich benachbarte Adressbereiche in die nächste Stufe der Speicherhierarchie gebracht werden.

Ursachen in Schleifen

Peter J. Denning stellte bereits 1968 fest, dass sich der Arbeitsbereich eines Prozesses (englisch working set) im Verlauf eines Programms nur sehr langsam verändert.

Eine wichtige Ursache der Lokalitätseigenschaft ist das häufige Auftreten von Schleifen in imperativen Programmiersprachen. In einer Schleife werden dieselben Befehlsadressen immer wieder benutzt; je kürzer der Schleifen-Code ist, desto häufiger geschieht das. Die Befehle ändern sich nicht, nur die Adressen der benötigten Daten, also der Operanden.

Beim Abarbeiten von Schleifen wird meist indizierte Adressierung verwendet. Die damit aufgerufenen Daten oder Operanden liegen üblicherweise in aufeinander folgenden Speicherplätzen. Dies erklärt insbesondere die räumliche Lokalität.

Lernvideos zu Lokalitätseigenschaft

Weiterlesen

Informatik Als einfache Rechengeräte leisteten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruierte Blaise Pascal eine mechanische … Prozess (Informatik) Ein Prozess ist die Ablaufumgebung für ein Programm auf einem Rechnersystem sowie der darin eingebettete Binärcode des Programmes während der Ausführung. Ein … Speicherhierarchie In der Informatik bezeichnet Speicherhierarchie die Anordnung von Speichern in einer Rechnerarchitektur aus Sicht des Hauptprozessors, geordnet nach … Cache Cache ([kæʃ], auch [ kaʃ]) bezeichnet in der Informationstechnik einen schnellen Pufferspeicher, der (wiederholte) Zugriffe auf vergleichsweise langsame … Arbeitsspeicher Zugriffe auf den Arbeitsspeicher durch den Hauptprozessor werden zumeist über ein oder mehrere Pufferspeicher oder Cache-RAMs (kurz „Cache“) optimiert. Im Cache … Puffer (Informatik) Ein Puffer speichert die Daten in der Regel zeitweise und kann in einem flüchtigen, aber auch in einem nichtflüchtigen Speicher angesiedelt sein. Peter J. Denning Peter James Denning (* 6. Januar 1942 in New York City) ist ein US-amerikanischer Informatiker. Er war Hochschullehrer an mehreren Universitäten. Schleife (Programmierung) Eine Schleife (auch „Wiederholung“ oder englisch loop) ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs-Block – den … Imperative Programmierung Imperative Programmierung (lateinisch imperare ‚anordnen', ‚befehlen') ist ein Programmierparadigma, nach dem „ein Programm aus einer Folge von Anweisungen …