Wat is Ruimtelijke lokaliteit (spatial locality)?

Eigenschap dat na toegang tot een bepaald adres er snel ook toegang tot nabijgelegen adressen is. Een voorbeeld is het achtereenvolgens lezen van een array; dit is de reden dat per cacheline in één keer wordt ingelezen.

Japanse benaming: 空間的局所性

“Ruimtelijke lokaliteit (spatial locality)” komt voor in 4 oefenvragen uit 2 onderwerpen, bijv. CPU en architectuur, Geheugenhiërarchie en prestaties.

Vakgebied: Geheugenhiërarchie en prestaties

Nu oefenen: vragen over Ruimtelijke lokaliteit (spatial locality)

Wat is het belangrijkste doel van het aanbrengen van cachegeheugen?

  1. AGegevens behouden ook als de voeding wordt uitgeschakeld
  2. BVeelgebruikte gegevens dicht bij de CPU plaatsen om het snelheidsverschil met het hoofdgeheugen te verkleinen
  3. CFouten in rekenresultaten corrigeren
Antwoord en toelichting tonen

Antwoord: B. Veelgebruikte gegevens dicht bij de CPU plaatsen om het snelheidsverschil met het hoofdgeheugen te verkleinen

Terwijl de CPU één klokcyclus (0,2 tot 0,3 ns) verwerkt, duurt toegang tot DRAM tientallen tot 100 ns, dus honderden klokcycli. Daarom worden veelgebruikte gegevens en instructies in een cache van snel SRAM geplaatst om de wachttijd te verkorten. Dit benut temporele lokaliteit (dezelfde gegevens worden binnenkort opnieuw gebruikt) en ruimtelijke lokaliteit (nabije adressen worden achtereen gebruikt); L1 is binnen enkele klokcycli toegankelijk en zelfs L3 binnen enkele tientallen.

Welke grootte van een cacheregel (cacheblok) is gebruikelijk in de meeste huidige CPU's?

  1. A1 byte
  2. B64 byte
  3. C64 MB
Antwoord en toelichting tonen

Antwoord: B. 64 byte

De meeste CPU's wisselen gegevens tussen cache en hoofdgeheugen uit in regels van 64 byte. Gegevens op nabije adressen worden vaak achtereenvolgens gebruikt (ruimtelijke lokaliteit), dus ze samen binnenhalen is efficiënt, en het sluit ook aan op de burst-overdracht van DRAM (bij DDR4 8 keer 8 byte = 64 byte). Bij multithreaded programma's moet worden gelet op false sharing, waarbij verschillende variabelen op dezelfde regel conflicten veroorzaken.

“Ruimtelijke lokaliteit (spatial locality)” in de toelichting

Vragen met “Ruimtelijke lokaliteit (spatial locality)” (4)

  1. Wat is het belangrijkste doel van het aanbrengen van cachegeheugen?
  2. Welke grootte van een cacheregel (cacheblok) is gebruikelijk in de meeste huidige CPU's?
  3. Welk voorbeeld illustreert temporele lokaliteit het best?
  4. Wat is een juist gevolg van het vergroten van de regelgrootte van de cache?

Verwante termen

Temporele lokaliteit Cachegeheugen Cacheregel (cache line) False sharing Capaciteitsmiss (capacity miss) Compulsory miss Conflictmiss (conflict miss) Direct-mapped cache Fully associative Gemiddelde geheugentoegangstijd (AMAT)

Naar de woordenlijst