Ein schneller Speicher, dessen Platz in der Nähe der CPU begrenzt ist. Ein Cache reduziert die durchschnittliche Zeit für den Zugriff auf den Speicher.
Was passiert in einem Multicore-Prozessor mit dem Inhalt des Cache eines Kerns (z. B. L1), wenn in diesem Cache ein Kontextwechsel stattfindet? Ist das Verhalten von der Architektur abhängig oder ist es ein allgemeines Verhalten, das von allen Chipherstellern befolgt wird?
Ein typischer Garbage Collector der Generation speichert kürzlich zugewiesene Daten in einem separaten Speicherbereich. In typischen Programmen sind viele Daten nur von kurzer Dauer. Daher ist das häufige Sammeln von jungem Müll (ein kleinerer GC-Zyklus) und das seltene Sammeln von altem Müll ein guter Kompromiss zwischen Speicheraufwand und Zeitaufwand für …
Unter der Annahme, dass die Cache-Anforderungen l1 und l2 zu einem Fehler führen, bleibt der Prozessor stehen, bis auf den Hauptspeicher zugegriffen wurde? Ich habe von der Idee gehört, zu einem anderen Thread zu wechseln. Wenn ja, womit wird der blockierte Thread aufgeweckt?
Betrachten Sie das folgende sehr einfache Computerprogramm: for i = 1 to n: y[i] = x[p[i]] Hier und sind -Glied Arrays von Bytes, und ist eine -Glied Array von Wörtern. Hier ist groß, z. B. (so dass nur ein vernachlässigbarer Teil der Daten in einen beliebigen Cache-Speicher passt).xxxyyynnnpppnnnnnnn=231n=231n = 2^{31} …
Speziell: 1) Ein direkt zugeordneter Cache mit 4096 Blöcken / Zeilen, in denen jeder Block 8 32-Bit-Wörter enthält. Wie viele Bits werden für die Tag- und Indexfelder benötigt, wenn eine 32-Bit-Adresse angenommen wird? 2) Gleiche Frage wie 1), aber für voll assoziativen Cache ? Korrigieren Sie mich, wenn ich falsch …
Stimmt es, dass die sequentielle Konsistenz eine stärkere Eigenschaft als die Cache-Kohärenz ist? Gemäß Sorin, Daniel J; Hill, Mark D; Wood, David A: Eine Einführung in Speicherkonsistenz und Cache-Kohärenz , Morgan & Claypool, 2011 sequentielle Konsistenz kann beschrieben werden als (nicht formal): Das sequentielle Konsistenzspeichermodell gibt an, dass das System …
Ich versuche, für eine Prüfung zu lernen, und habe festgestellt, dass ich verwirrt bin, wie der TLB und der Datencache funktionieren. Ich verstehe, dass der TLB im Wesentlichen ein Cache der zuletzt verwendeten physischen Adressen ist. Ich habe mir jedoch ein Diagramm in meinem Lehrbuch angesehen (siehe unten) und verstehe …
Nehmen wir an, wir haben zwei Zahlen lll und und wollen für l \ le i, \, j \ le r finden .max ( i ⊕ j ) l ≤ i ,rrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Der naive Algorithmus überprüft einfach alle möglichen Paare; Zum Beispiel in Ruby hätten wir: def …
Cache-vergessene Algorithmen und Datenstrukturen sind eine ziemlich neue Sache, die von Frigo et al. in Cache-vergessenen Algorithmen, 1999 . Prokops Dissertation aus dem gleichen Jahr stellt auch die frühen Ideen vor. Das Papier von Frigo et al. präsentieren einige experimentelle Ergebnisse, die das Potenzial der Theorie und der Cache-vergessenen Algorithmen …
CPU-Caches werden durch Ausnutzung der zeitlichen und räumlichen Lokalität verwendet. Meine Frage ist, wer für die Verwaltung dieser Caches verantwortlich ist. Ist dies ein Betriebssystem, das ein bestimmtes Zugriffsmuster identifiziert und dann den Cache mithilfe von Betriebssystemfunktionsaufrufen auf niedriger Ebene verwaltet (dh speichert)?
Ich lese das Betriebssystembuch von Galvin. Galvin erklärt, was sind Kernel- und Benutzermodi, Befehlsberechtigungen für beide Modi und auch über das Modusbit. Aber ich bin interessiert zu wissen, wie sich der Modus von einem zum anderen ändert. Grundsätzlich möchte ich folgende Frage lösen: Eine CPU verfügt über zwei Modi: privilegiert …
Grundsätzlich und als einfache Methode können wir auf den Cache mit der physischen Adresse zugreifen, die vom TLB stammt. Als weitere Methode können wir jedoch mit der virtuellen Adresse auf den Cache zugreifen . In diesem Fall liegt jedoch ein Aliasing-Problem vor, wenn der Cache zwischen den Kontextwechseln nicht vollständig …
Ich habe Probleme beim Vergleich dieser beiden Speicherkonsistenzmodelle. Im Wesentlichen aus Gründen der sequentiellen Konsistenz denke ich an echten Code wie diesen: int x, y; void ThreadA() { x = 20; //Write int a = y; //Read } void ThreadB() { y = 20; int b = x; } In …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.