Wat is Capaciteitsmiss (capacity miss)?

Cachemiss die optreedt doordat de door het programma gebruikte gegevens (de working set) groter zijn dan de capaciteit van de cache. Komt ook bij fully associative voor en kan worden verminderd met een grotere cache of meer hergebruik van gegevens.

Japanse benaming: 容量ミス

“Capaciteitsmiss (capacity miss)” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Geheugenhiërarchie en prestaties.

Vakgebied: Geheugenhiërarchie en prestaties

Nu oefenen: vragen over Capaciteitsmiss (capacity miss)

Bij een direct-mapped cache komen elementen van twee arrays op dezelfde cachepositie uit en verdringen elkaar bij elke afwisselende toegang. Tot welke categorie behoort deze miss?

  1. ACompulsory miss (eerste referentie)
  2. BCapaciteitsmiss
  3. CConflictmiss
Antwoord en toelichting tonen

Antwoord: C. Conflictmiss

Een miss waarbij twee gegevens om dezelfde set concurreren en elkaar verdringen terwijl er in de cache als geheel nog ruimte is, is een conflictmiss. Deze kan worden verminderd door de associativiteit te verhogen zodat twee of meer gegevens in dezelfde set passen, of door het begin van een array te verschuiven zodat deze op een andere set uitkomt. Een capaciteitsmiss wordt veroorzaakt doordat de working set groter is dan de hele cache en verdwijnt ook bij volledige associativiteit niet. Een compulsory miss treedt op bij de eerste toegang en past niet bij herhaalde toegangen.

Welke miss verdwijnt niet wanneer de cache volledig associatief wordt gemaakt?

  1. AEen miss doordat twee gegevens om dezelfde set concurreren en elkaar verdringen
  2. BEen miss doordat de hoeveelheid gebruikte data groter is dan de capaciteit van de cache
  3. CEen miss door scheve plaatsing bij direct-mapped
Antwoord en toelichting tonen

Antwoord: B. Een miss doordat de hoeveelheid gebruikte data groter is dan de capaciteit van de cache

Bij een volledig associatieve cache kan elk gegeven overal staan, dus conflictmisses door concurrentie om dezelfde set verdwijnen. Als de hoeveelheid data die het programma herhaaldelijk gebruikt (de working set) groter is dan de hele cache, past die echter nergens helemaal in en vindt verdringing plaats. Dit is de capaciteitsmiss; de cache moet dan worden vergroot, of het hergebruiksbereik moet worden verkleind met bijvoorbeeld loop blocking. Scheve plaatsing en concurrentie om sets zijn beide oorzaken van conflictmisses.

“Capaciteitsmiss (capacity miss)” in de toelichting

Vragen met “Capaciteitsmiss (capacity miss)” (2)

  1. Bij een direct-mapped cache komen elementen van twee arrays op dezelfde cachepositie uit en verdringen elkaar bij elke afwisselende toegang. Tot welke categorie behoort deze miss?
  2. Welke miss verdwijnt niet wanneer de cache volledig associatief wordt gemaakt?

Verwante termen

Direct-mapped cache Conflictmiss (conflict miss) Compulsory miss Loop blocking (tiling) Cacheregel (cache line) Fully associative Gemiddelde geheugentoegangstijd (AMAT) LRU (least recently used) Miss penalty Non-blocking cache

Naar de woordenlijst