Autor Thema: Prozessorcaching was muss/kann man selber machen?  (Gelesen 7365 mal)

Martin Erhardt

  • Beiträge: 165
    • Profil anzeigen
Gespeichert
« am: 22. December 2012, 16:28 »
http://de.wikipedia.org/wiki/L3-Cache#Prozessor-Cache Caching ist ja ne super Sache um RAM Zugriffe zu beschleunigen.

Ich hab da einige Fragen:

1. Wie geht das (da steht auch was in Intels Prozessor Docs V. 3, K.11 ist mir aber viel zu ausführlich)

2. Vor allem: Was muss/kann man selber implementieren. Ich habe gehört auf SMPs soll das etwas komplizierter sein.

PS: kann das jmd in ein on-topic board verschieben
« Letzte Änderung: 22. December 2012, 16:38 von Martin Erhardt »

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 22. December 2012, 17:07 »
1. Wie geht was?

2. Gar nichts, außer du hast was spezielles vor. Der komplizierte Teil betrifft eher die Prozessorhersteller, weil die die Konsistenz der Caches zwischen den Kernen wahren müssen.
Dieser Text wird unter jedem Beitrag angezeigt.

Martin Erhardt

  • Beiträge: 165
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 22. December 2012, 17:23 »
Ich meinte wie die CPU den Überblick behält was im Cache liegt und darauf zugreift, oder wann etw wo gecacht wird.

Aber jetzt wo sich rausstellt, dass ich da eh nichts machen muss interressierts mich nicht mehr so, es sei den SMP Support zählt zu dem "etwas speziellen"
« Letzte Änderung: 22. December 2012, 17:40 von Martin Erhardt »

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 22. December 2012, 17:48 »
Ich meinte wie die CPU den Überblick behält was im Cache liegt und darauf zugreift, oder wann etw wo gecacht wird.
Also dann mal die Kurzfassung: Der Cache ist ein kleiner schneller Speicher, der in sogenannte Cache Lines unterteilt ist. Eine Cache Line sind bei aktuellen x86ern meist 64 Bytes groß und enthält den gecachten Speicherbereich. Außerdem speichert die CPU die Adresse jedes gecachten Speicherbereichs. Wenn du jetzt auf RAM zugreifst, schaut die CPU nach, ob diese Adresse im Cache liegt, und wenn ja, wie der Speicherzugriff aus dem Cache bedient. Ansonsten muss auf den RAM zugegriffen werden.

Aber jetzt wo sich rausstellt, dass ich da eh nichts machen muss interressierts mich nicht mehr so, es sei den SMP zählt zu dem "etwas speziellen"
Eine Sache, die du beachten solltest, ist die korrekte Verwendung von Memory Barriers. Deren Notwendigkeit ist eine Folge davon wie die CPUs die Kohärenz zwischen den Kernen wahren. Wenn du einen Algorithmus implementierst, der Speicher zwischen mehreren Kernen teilt, solltest du dich darüber informieren.
Dieser Text wird unter jedem Beitrag angezeigt.

Martin Erhardt

  • Beiträge: 165
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 22. December 2012, 18:03 »
vielen Dank

 

Einloggen