Was ist mit Datencache und Anweisungscache gemeint?

VonHier:

Befehle und Daten haben unterschiedliche Zugriffsmuster und greifen auf unterschiedliche Speicherbereiche zu. Daher funktioniert es möglicherweise nicht immer, wenn sowohl für Anweisungen als auch für Daten derselbe Cache vorhanden ist.

Daher sind zwei Caches üblich: ein Anweisungscache, in dem nur Anweisungen gespeichert werden, und ein Datencache, in dem nur Daten gespeichert werden.

Es ist intuitiv, die Unterscheidung zwischen Anweisungen und Daten zu kennen, aber jetzt bin ich mir des Unterschieds in diesem Kontext nicht sicher? Was stellt Daten dar und wird in einen Datencache gestellt und was stellt Anweisungen dar und wird in einen Anweisungscache gestellt?

Ich kenne ARM-Montage. Würde alles erfordernSTR, LDR, LDMF oderSTMFD Datencache verwenden? Aber technisch gesehenSTR, LDR, LDMF undSTMFD sind alle anweisungen damit ich deswegen verwirrt bin. Müssen "Daten" immer mit einer "Anweisung" existieren? Werden Daten in der Liste als etwas betrachtet?.data Sektion?

Zum BeispielLDR R1, =myVar würde dann LDR in den Anweisungs-Cache und der Inhalt von myVar in den Daten-Cache gehen? Oder geht das nicht so?

Anweisungen und Daten haben unterschiedliche Zugriffsmuster. Könnte jemand dies bitte erläutern?

Dieser Kommentar, den ich in einem hilfreichen Beitrag abgegeben habe, verdeutlicht meine Verständlichkeit:

"Die Idee ist, dass eine Anweisung, die aus dem Speicher geladen wurde, wahrscheinlich bald wieder verwendet wird", aber die einzige Möglichkeit, die nächste Anweisung zu kennen, besteht darin, sie zu lesen. Das bedeutet, dass ein Speicher gelesen wird (Sie können nicht sagen, dass er sich bereits im Cache befindet, da ein neuer Befehl rot ist). Also verstehe ich den Punkt immer noch nicht? Angenommen, ein LDR-Befehl ist gerade passiert, und jetzt befindet sich LDR im Datencache. Vielleicht passiert ein weiterer LDR-Befehl, vielleicht auch nicht, wir können nicht sicher sein, dass wir den nächsten Befehl tatsächlich lesen müssen - was den Zweck des Cache zunichte macht.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage