Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Schöne Ferien!
 

 

Wann wird Adresse in Cache übernommen?

+1 Punkt
192 Aufrufe
Guten Tag,

z.B. in Befehl II wird nur die Adresse 20 aus dem Hauptspeicher in den Cache übernommen, obwohl in dem Befehl auch Speicheradresse 21 verwendet wird.

Liegt das daran, dass Adressen nur dann in den Cache übernommen werden, wenn aus Ihnen "gelesen" wird, oder daran, dass in einem Schritt maximal nur eine Speicheradresse in den Cache übernommen werden kann?

 

Vielen Dank und viele Grüße
Gefragt 11, Feb 2017 in 2016-N-08 von Anonym  

Eine Antwort

0 Punkte

Hallo,

ersteres stimmt, es wird nur dann in den Cache geladen, wenn der Prozessor auch auch auf Daten zugreifen muss, also "ausgelesen" wird. Um ein Datum nach einer Operation in den Hauptspeicher zu schreiben, musst du es nicht erst in den Cache laden.

 

Grüße

Beantwortet 12, Feb 2017 von ulefs ulefs Tutor(in) (101,780 Punkte)  
Seh grade, dass meine Antwort nicht so ganz richtig sein kann, in HK 2016 werden auch Daten in den Cache geladen wenn es sich um einen Schreibprozess in den Hauptspeicher handelt. Ich geb nochmal Bescheid.
Hi,

ich glaube ich habe eine Antwort auf die Frage:

Bei der HK 2016 Aufg. 8 heißt es in der Aufgabenstellung: "Bei jeder Assembler-Operation werden die beteiligten Operanden im Cache abgelegt."
Also müssen auch Daten in den Cache geladen werden, wenn Sie nur von einem Schreibprozess betroffen sind, weil sie eben auch an der Operation beteiligt sind.

In der 2016-N-08 heißt es in der Aufgabenstellung: "Zwischen Registern und Hauptspeicher befindet sich ein 2-zeiliger Direct-Mapped-Cache mit Write-Back-Policy zur Zwischenspeicherung der geladenen Operanden."

Hier soll der Cache also nur zur Zwischenspeicherung geladener Operanden verwendet werden, weshalb bei Zeile II nur die Adresse Nr. 20 in den Cache geladen wird und nicht Adresse Nr. 21, in die nur reingeschrieben wird.
Super Danke! Hier auch nochmal der Link zu diesem allg. Problem: http://info2.aifb.kit.edu/qa/index.php?qa=5641&qa_1=inkonsistenz-hk-2016-a9-%26-nk-2016-a8

Grüße
...