Als «cpu-cache» getaggte Fragen


7
Warum wirkt sich die Reihenfolge der Schleifen auf die Leistung aus, wenn über ein 2D-Array iteriert wird?
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 int x[4000][4000]; for (i = 0; i < …


15
Wie schreibt man Code, der den CPU-Cache am besten nutzt, um die Leistung zu verbessern?
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 und Programmcache (Anweisungscache), dh welche Dinge im eigenen …

5
Write-Back vs Write-Through-Caching?
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 "letzter Zeit" auf die Erinnerung warten. Was ist der …

3
Grundlegendes zu std :: hardware_destructive_interference_size und std :: hardware_constructive_interference_size
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 Konstanten mit der L1-Cache-Zeilengröße zusammen? Gibt es ein gutes Beispiel, das ihre Anwendungsfälle demonstriert? Beide sind definiert static constexpr. …

4
Zeilengröße der L1- und L2-Caches
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 L2-Cache ermitteln …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.