Caches



  • Hallo, ich verstehe einiges zu Caches noch nicht.

    Ich habe einen "2-fach assoziativen" Cache, leider verstehe ich nach wikipedia und co noch nicht ganz was das heißt.

    Ich versuche nochmal zusammenzufassen was ich zu wissen glaube:

    Direct Mapped:

    - jeder Block im Hauptspeicher kann an exakt einer Position im Cache abgelegt werden
    - Der Cache kann an einer Position verschiedene Blöcke halten, weswegen ein TAG angibt welcher Block gerate aktuell ist
    - Falls 2 Hauptspeicherblöcke oft benötigt werden, die an der selben Position im Cache stehen würden, muss ständig nachgeladen werden (bei alternierendem Zugriff)

    Assoziativer Cache:

    - Bei einem vollassoziativem Cache könnte jeder Block des Hauptspeichers an eine beliebige Position im Cache geschrieben werden
    - Folglich schließe ich jetzt einfach mal dass n-fach assoziativ heißt dass jeder Block an n Stellen des Caches untergebracht werden könnte.

    So nun zur Praxis:

    Ist die Wahrscheinlichkeit für Cache-Misses dann höher je niedriger assoziativ der Cache ist? [ich denke ja]
    Wenn ja, gibt es eine EINFACHE möglichkeit die Cache-Misses meines Systems anzeigen zu lassen?

    Und natürlich: hab ich das Cacheen halbwegs richtig verstanden?



  • fidus schrieb:

    So nun zur Praxis:

    Ist die Wahrscheinlichkeit für Cache-Misses dann höher je niedriger assoziativ der Cache ist? [ich denke ja]

    Man sagt, dass man die reale cache groesse mit dem assoziativitaetsfaktor multiplizieren kann um die virtuelle cachegroesse zu erhalten. somit ist deine vermutung richtig, je groesser die assoziativitaet, desto mehr cachehits hast du, das ist auch leicht logisch zu erklaeren.
    verdoppelst du die reale cachegroesse, halbierst du die anzahl der bloecke die auf ein und denselben cachebereich plaziert werden koennen.
    verdoppelst du die assoziativitaet, hast du den selben effekt.

    Wenn ja, gibt es eine EINFACHE möglichkeit die Cache-Misses meines Systems anzeigen zu lassen?

    es gibt hardwarecounter die sowas angeben, ich glaube mit vtune kannst du diese anzeigen, vtune kannst du als trial fuer einen monat nutzen, afaik.

    Und natürlich: hab ich das Cacheen halbwegs richtig verstanden?

    ja, ich denke deine aussagen waren alle korrekt.


Anmelden zum Antworten