Geheugenhiërarchie en prestaties

Een volledig associatieve cache met capaciteit van 2 regels en LRU-vervanging is aanvankelijk leeg. Blokken worden in de volgorde A, B, A, C, B, A benaderd. Hoeveel misses treden op?

  1. A4
  2. B5
  3. C6
Antwoord en toelichting tonen

Antwoord: B. 5

Stap voor stap: A (miss, [A]), B (miss, [A,B]), A (hit, A is het recentst), C (miss, het oudste B wordt verdrongen, [A,C]), B (miss, het oudste A wordt verdrongen, [C,B]), A (miss, het oudste C wordt verdrongen, [B,A]); dat zijn 5 misses. 4 ontstaat bij de fout dat A bij het inbrengen van C wordt verdrongen; bij LRU is van belang dat A door de hit juist recent is geworden. 6 is het aantal waarbij de hit op de derde toegang tot A is gemist.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Geheugenhiërarchie en prestaties

  1. Bij welke toegang is hardware-prefetching bijzonder effectief?
  2. Welke uitspraak over de prefetch-afstand (hoe ver vooruit data worden gelezen) bij het invoegen van software-prefetchinstructies is juist?
  3. In bovenstaande lus is een int 4 byte, een cacheregel 64 byte, staat de array niet in de cache en begint hij op een regelgrens. Wat is, zonder prefetching, de missratio bij het lezen van de array?
  4. Wat is het belangrijkste doel van loop blocking (tiling), zoals gebruikt bij matrixvermenigvuldiging?
  5. Waarom wordt een bewerking die alleen de x-coördinaten optelt vaak sneller wanneer een array van structuren wordt omgeschreven tot een structuur van arrays (elke component in een eigen array)?

Vergelijkingen bij dit onderwerp