Was ist der Unterschied zwischen " Cache-unfreundlichem Code " und " Cache-freundlichem " Code? Wie kann ich sicherstellen, dass ich cache-effizienten Code schreibe?
Was ist der Unterschied zwischen " Cache-unfreundlichem Code " und " Cache-freundlichem " Code? Wie kann ich sicherstellen, dass ich cache-effizienten Code schreibe?
Unten sind zwei Programme aufgeführt, die fast identisch sind, außer dass ich die Variablen iund umgeschaltet habe j. Sie laufen beide in unterschiedlicher Zeit. Könnte jemand erklären, warum dies passiert? Version 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static...
Kann mir jemand die ungefähre Zeit (in Nanosekunden) geben, um auf L1-, L2- und L3-Caches sowie auf den Hauptspeicher von Intel i7-Prozessoren zuzugreifen? Obwohl dies keine spezielle Programmierfrage ist, ist es für einige Programmierprobleme mit geringer Latenz erforderlich, diese Art von...
Dies könnte sich wie eine subjektive Frage anhören, aber ich suche nach bestimmten Fällen, auf die Sie im Zusammenhang damit gestoßen sein könnten. Wie macht man Code, Cache effektiv / Cache-freundlich (mehr Cache-Treffer, so wenig Cache-Fehler wie möglich)? Aus beiden Perspektiven, Datencache...
Mein Verständnis ist, dass der Hauptunterschied zwischen den beiden Methoden darin besteht, dass bei der Methode "Durchschreiben" Daten sofort über den Cache in den Hauptspeicher geschrieben werden, während bei "Zurückschreiben" Daten in einer "späteren Zeit" geschrieben werden. Wir müssen noch in...
C ++ 17 hinzugefügt std::hardware_destructive_interference_sizeundstd::hardware_constructive_interference_size . Zuerst dachte ich, es sei nur eine tragbare Möglichkeit, die Größe einer L1-Cache-Zeile zu ermitteln, aber das ist eine übermäßige Vereinfachung. Fragen: Wie hängen diese...
Aus einer früheren Frage in diesem Forum habe ich erfahren, dass in den meisten Speichersystemen der L1-Cache eine Teilmenge des L2-Cache ist, dh jeder aus L2 entfernte Eintrag wird auch aus L1 entfernt. Meine Frage ist nun, wie ich einen entsprechenden Eintrag im L1-Cache für einen Eintrag im...
Ich versuche, eine genaue Beschreibung der Datencache-Hierarchie der aktuellen CPU unter Linux zu erhalten: nicht nur die Größe der einzelnen L1 / L2 / L3- (und möglicherweise L4-) Datencaches, sondern auch die Art und Weise, wie sie aufgeteilt oder gemeinsam genutzt werden Kerne. Auf meiner CPU...