Leistungsbewertung und Profiling
Die Messung mit Leistungszählern ergab für ein Programm ein sehr niedriges IPC (Befehle pro Zyklus) von 0,3 und viele Fehlzugriffe im letzten Cache-Level. Welche Kombination aus wahrscheinlichster Situation und Gegenmaßnahme ist richtig?
- ADie CPU steht lange wegen Speicherwartezeiten. Durch geänderte Datenanordnung oder Blocking wird der Cache effektiv genutzt
- BDie Berechnung ist zu schnell. Die Frequenz wird erhöht
- CEs gibt zu wenige Verzweigungen. Verzweigungen werden hinzugefügt
Antwort und Erläuterung anzeigen
Antwort: A. Die CPU steht lange wegen Speicherwartezeiten. Durch geänderte Datenanordnung oder Blocking wird der Cache effektiv genutzt
Heutige CPUs können mehrere Befehle pro Zyklus ausführen; ein IPC von 0,3 bedeutet daher, dass die meiste Zeit auf etwas gewartet wird. Bei vielen Fehlzugriffen im letzten Cache-Level ist anzunehmen, dass lange auf Daten aus dem Hauptspeicher gewartet wird. Wirksam ist, Cache-Fehlzugriffe zu verringern, indem Daten an aufeinanderfolgenden Adressen angeordnet werden, die Schleifenreihenfolge geändert wird oder dieselben Daten per Blocking mehrfach genutzt werden.