Frage von Sasusake, 44

Cache vs RAM?

Hallo, ich bin neu hier und fange bald eine Ausbildung zum Programmierer an. Ich möchte aber trotzdem auch ein wenig Ahnung vom Innenleben eines PC's haben. Daher zwei Fragen:

  1. Frage: In einem Buch über Rechnerarchitektur steht, dass die CPU bzw. der Cache-Controller , wenn Daten angefordert werden sollen, immer zuerst in den L1 bis L3-Caches nachguckt, ober die Daten bereits dort drin stehen, bevor er auf den langsamen RAM zugreift. Jetzt nun meine Frage: Ist es wirklich schneller, wenn der Prozessor alle 3 Caches durchsucht als direkt auf den RAM zuzugreifen? Also wenn nur der L1-Cache durchsucht werden würde und bei einem Cashe-Miss des L1-Cashes direkt zum RAM gesprungen werden würde, dann könnte ich mir vorstellen, dass es schneller wäre. Aber wenn doch alle Cashes durchsucht werden, dann müsste das doch also mehr Takte brauchen, als direkt auf den RAM zuzugreifen?

  2. Frage: Warum liest der Cache-Controller bei einem Cashe-Miss im RAM immer direkt eine ganze Cache-Line?

Vielen Dank :)

Antwort
von kuku27, 7

Auch wenn moderne RAM schneller sind als alte Ferritkerne so ist der Cache noch wesentlich schneller. Cache Daten können im gleichen Cycle gelesen werden, für Ram Zugriffe müssen mehrere Zyklen der CPU ungenutzt verstreichen.

Glaub mir: Die HW Hersteller sind nicht ganz so dumm  

Antwort
von Gehilfling, 26

Beim Zugriff auf den RAM müssen Daten über längere Bus-Leitungen befördert werden. Abgesehen davon taktet der RAM mit etwa 2Ghz, die CPU mit über 3GHz, das geht schon deutlich schneller. (Zugriffszeit Cache: Nanosekundenbereich; Zugriffszeit RAM: 60-70ns).

Bei zwei kenn ich mich nich direkt aus.

Antwort
von triopasi, 25

Zugriffe im Cache sind extrem schnell und die Suchen sind extrem einfach gund damit schnell. Wenn es sich nicht lohnen würde, würde man es wohl nicht machen.

Die andere Frage versteh ich gerade iwie nicht?

Keine passende Antwort gefunden?

Fragen Sie die Community