Zum Inhalt springen

Datenabhängigkeit

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 22. Mai 2025 um 13:52 Uhr durch imported>Meinichselbst (Parameter fix).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Datenabhängigkeit (data dependency) beschreibt in der Informatik die Situation, dass Daten, die von einer Anweisung benutzt werden, auch von einer vorhergehenden Anweisung benutzt werden.

Es wird zwischen folgenden Arten von Datenabhängigkeiten unterschieden:

  • Gegenabhängigkeit (anti-dependence, write-after-read) besteht, wenn eine Anweisung einen Wert (über-)schreibt, auf den in der vorangehenden Anweisung lesend zugegriffen wird.<ref name="architecture"/> Beispiel:
    1. a = b + c
    2. b = d + 1
  • Ausgabeabhängigkeit (output dependence, write-after-write) besteht, wenn beide Anweisungen in die gleiche Variable schreiben.<ref name="architecture"/> Beispiel:
    1. a = b + c
    2. a = d + e

Wenn – wie bei konventionellen Programmen – eine Anweisung nach der anderen ausgeführt wird, stellen Datenabhängigkeiten kein Problem dar. Bei Prozessoren mit Pipeline-Verarbeitung, die mehrere Anweisungen parallel durchführen, können sie jedoch zu Datenkonflikten führen.

Einzelnachweise

<references />