Wat is Direct-mapped cache?

Cacheorganisatie waarin voor de data van elk adres precies één plek in de cache is vastgelegd. Eenvoudig circuit en korte hit-tijd, maar conflictmisses doordat adressen om dezelfde plek strijden komen vaak voor.

Japanse benaming: ダイレクトマップ方式

“Direct-mapped cache” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Geheugenhiërarchie en prestaties.

Vakgebied: Geheugenhiërarchie en prestaties

Nu oefenen: vragen over Direct-mapped cache

Hoeveel bits heeft de tag bij een direct-mapped cache met 32-bits adressen, een capaciteit van 32 KB en een regelgrootte van 64 byte?

  1. A15 bits
  2. B19 bits
  3. C17 bits
Antwoord en toelichting tonen

Antwoord: C. 17 bits

Een regelgrootte van 64 byte = 2⁶ betekent een offset van 6 bits. Het aantal regels is 32 KB ÷ 64 B = 32768 ÷ 64 = 512 = 2⁹; bij direct-mapped is het aantal regels gelijk aan het aantal sets, dus de index is 9 bits. De rest vormt de tag: 32 − 9 − 6 = 17 bits. 19 bits is de waarde bij een 4-weg set-associatieve cache, waar de index 2 bits korter is; dat geldt niet voor direct-mapped.

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.

Vragen met “Direct-mapped cache” (2)

  1. Hoeveel bits heeft de tag bij een direct-mapped cache met 32-bits adressen, een capaciteit van 32 KB en een regelgrootte van 64 byte?
  2. 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?

Vergelijkingen met deze term

Verwante termen

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

Naar de woordenlijst