Tag: cpu-cache
Ein CPU-cache ist ein hardware-Struktur, die von der CPU zu einer Senkung der durchschnittlichen access-Speicher Zeit.
4
Antworten
Ich habe eine kleine Frage über den Algorithmus LRU. Wenn Sie einen cache mit vier Blöcken , wie viele bits Sie brauchen, um die Implementierung dieses Algorithmus ? Was ist die Größe des Blocks? InformationsquelleAutor Latsuj |
4
Antworten
Mein Verständnis ist, dass der wesentliche Unterschied zwischen den beiden Methoden ist, dass Sie im "write-through" - Methode die Daten geschrieben werden, um den Hauptspeicher über den cache sofort, während Sie im "write-back" - Daten, geschrieben in
2
Antworten
Ich bin ein wenig verwirrt von der Bedeutung des "Aliasing" zwischen CPU-cache und die Physische Adresse. Zuerst fand ich Es, die definition auf Wikipedia : Jedoch, VIVT leidet unter aliasing Probleme, wo mehrere unterschiedlichen virtuellen Adressen verweisen
1
Antworten
Sagen wir, ich kenne die folgenden Werte: W = Word length (= 32 bits) S = Cache size in words B = Block size in words M = Main memory size in words Wie kann ich berechnen,
9
Antworten
Was ist der Unterschied zwischen "cache-unfreundlich-code" und die "cache-freundlich" code? Wie kann ich sicherstellen, dass ich den schreib-cache-effizienten code? Dies könnte einen Hinweis darauf geben: stackoverflow.com/questions/9936132/... Auch bewusst sein, die Größe einer cache-line. Auf modernen Prozessoren, ist
3
Antworten
Ich Schleife wie diese start = __rdtsc(); unsigned long long count = 0; for(int i = 0; i < N; i++) for(int j = 0; j < M; j++) count += tab[i][j]; stop = __rdtsc(); time =
9
Antworten
Die andere Woche, ich schrieb einen kleinen thread-Klasse und ein one-way-message-pipe für die Kommunikation zwischen threads (zwei Rohre pro thread, offensichtlich, für die bidirektionale Kommunikation). Alles hat gut funktioniert auf meinem Athlon 64 X2, aber ich Frage
5
Antworten
Kann mir jemand die Ungefähre Zeit (in Nanosekunden), um Zugriff auf L1 -, L2-und L3-caches sowie Hauptspeicher auf Intel i7-Prozessoren? Während dies ist nicht speziell eine Frage der Programmierung, zu wissen, diese Art von Geschwindigkeit ist notwendig,
3
Antworten
Ich Schreibe ein kleines Programm in C, und ich möchte, um zu Messen, es ist die Leistung. Will ich sehen, wie viel Zeit es laufen in der Prozessor und wie viele cache-Treffer+findet hat es gemacht. Informationen über
2
Antworten
Warum ist die Größe des L1-cache kleiner ist als der L2-cache in den meisten Prozessoren ? InformationsquelleAutor der Frage Karthik Balaguru | 2011-01-12
3
Antworten
Kapazität Fräulein tritt auf, weil die Blöcke verworfen werden, die vom cache, weil der cache nicht enthalten alle Bausteine sind notwendig für die Ausführung des Programms (program working set ist viel größer als die cache-Kapazität). Konflikt verpassen
15
Antworten
Könnte dies klingen wie eine subjektive Frage, aber was ich Suche sind spezifische Instanzen, die Sie erlebt haben im Zusammenhang mit diesem. Wie man code-cache effektiv/cache-freundlich (mehr cache-hits, da nur wenige cache-misses wie möglich)? Aus beiden Perspektiven,
6
Antworten
Ich versuche, das Profil und die Optimierung von algorithmen und ich würde gerne verstehen, die spezifische Auswirkung der caches auf verschiedenen Prozessoren. Für aktuelle Intel x86-Prozessoren (z.B. Q9300), es ist sehr schwer zu finden, detaillierte Informationen über
7
Antworten
Mögliche Duplikate: Welche von diesen beiden for-Schleifen ist effizienter in Bezug auf Zeit-und cache-performance Unten sind zwei Programme, die sind fast identisch, mit der Ausnahme, dass ich wechselte die i und j Variablen um. Beide laufen in
3
Antworten
Getestet habe ich die Geschwindigkeit der memcpy() zu merken, sinkt die Geschwindigkeit drastisch bei i*4 KB. Das Ergebnis ist wie folgt: die Y-Achse ist die Geschwindigkeit(MB/Sekunde) und die X-Achse ist die Größe des Puffers für memcpy() stieg
3
Antworten
Sind von CPU-Registern und CPU-cache anders? InformationsquelleAutor der Frage TheoYou | 2010-08-17
9
Antworten
Was ist der Unterschied zwischen "cache-unfreundlich-code" und die "cache-freundlich" code? Wie kann ich sicherstellen, dass ich den schreib-cache-effizienten code? InformationsquelleAutor der Frage Alex | 2013-05-22
3
Antworten
Ich versuche zu verstehen, wie CPU-cache ist in Betrieb. Können sagen, wir haben diese Konfiguration (als Beispiel). - Cache-Größe von 1024 bytes Cache-Zeile 32 bytes 1024/32 = 32 cache-Zeilen alle zusammen. Singel cache-Zeile speichern kann, 32/4 =
4
Antworten
Ich erinnere mich, unter der Annahme, dass ein L1-cache-Treffer 1 Zyklus (d.h. identisch zu dem register Zugriff der Zeit) in meinem Architektur-Klasse, aber ist das tatsächlich wahr, die auf modernen x86 Prozessoren? Wie viele Zyklen hat einen
4
Antworten
Vom hier: Anweisungen und Daten, die verschiedene Zugriffsmuster und Zugang verschiedene Regionen des Gedächtnisses. So, da Sie den gleichen cache für beide Anweisungen und Daten möglicherweise nicht immer klappt. So, es ist eher üblich, haben zwei caches:
3
Antworten
Interessiert mich zwingen, einen CPU-cache-flush in Windows (für benchmarking-Gründen, ich will zu emulieren, beginnend mit keine Daten im CPU-cache), vorzugsweise eine grundlegende Umsetzung in C oder Win32-Aufruf. Gibt es einen bekannten Weg, dies zu tun mit einem
5
Antworten
Vom 11. Kapitel(Leistung und Skalierbarkeit) und den Abschnitt mit der Bezeichnung Kontextwechsel der JCIP Buch: Wenn ein neuer thread geschaltet wird, die Daten, die er braucht, ist unwahrscheinlich in der lokalen Prozessor-cache, also ein Kontext-Schalter bewirkt, dass
9
Antworten
gibt es eine Möglichkeit in C++ so ermitteln Sie die CPU-cache-Größe? ich habe einen Algorithmus, der Prozesse, die eine Menge von Daten, und ich möchte zu brechen, diese Daten nach unten in Stücke, so dass Sie passen
3
Antworten
Ich bin ein wenig verwirrt auf die Bedeutung der räumlichen und zeitlichen Lokalität. Ich hoffe, dass man ihn mit einer array-Beispiel es wird mir helfen, es besser zu verstehen. In einem Beispiel wie diesem: A[0][1], A[0][2][0][3].... etc
4
Antworten
Ich habe ein paar Fragen bezüglich der Cache-Speicher verwendet, die in Multicore-Prozessoren oder Multiprozessor-Systeme. (Obwohl nicht im direkten Zusammenhang mit der Programmierung, es hat viele Auswirkungen, während man schreibt software für multicore-Prozessoren/Multiprozessorsysteme, daher die Frage hier!) In