Speicherhierarchie und Leistung
Bei welchem Zugriff entfaltet Hardware-Prefetch besonders leicht seine Wirkung?
- AZugriff, bei dem ein Array der Reihe nach in festem Abstand (Stride) gelesen wird
- BZugriff, bei dem eine verkettete Liste vom Anfang an Element für Element durchlaufen wird
- CZugriff, bei dem eine Hashtabelle mit zufälligen Schlüsseln abgefragt wird
Antwort und Erläuterung anzeigen
Antwort: A. Zugriff, bei dem ein Array der Reihe nach in festem Abstand (Stride) gelesen wird
Hardware-Prefetcher erkennen Regelmäßigkeiten in den Adressen vorheriger Zugriffe (aufeinanderfolgend oder mit festem Abstand), sagen die nächsten Adressen voraus und laden sie vorab. Das Lesen eines Arrays mit festem Stride ist leicht vorhersagbar, und die Wirkung ist groß. Bei verketteten Listen ist die Adresse des nächsten Elements erst bekannt, wenn das aktuelle gelesen wurde; es gibt keine Regelmäßigkeit, und eine Vorhersage ist nicht möglich. Auch Hashtabellenzugriffe mit zufälligen Schlüsseln haben keine Regelmäßigkeit der Adressen, und die Wirkung ist gering.