Geheugenhiërarchie en prestaties

Welk voorbeeld illustreert temporele lokaliteit het best?

  1. ADe elementen van een array één voor één van voor naar achter lezen
  2. BBinnen een lus herhaaldelijk dezelfde somvariabele bijwerken
  3. CTelkens data op een willekeurig adres slechts één keer lezen
Antwoord en toelichting tonen

Antwoord: B. Binnen een lus herhaaldelijk dezelfde somvariabele bijwerken

Temporele lokaliteit is de eigenschap dat data die zojuist is gebruikt binnenkort opnieuw wordt gebruikt; een typisch voorbeeld is een variabele die binnen een lus herhaaldelijk wordt gelezen en geschreven. Zulke data worden hergebruikt zolang ze nog in de cache of in een register staan, zodat de toegang sneller verloopt. Een array van voor naar achter lezen is een voorbeeld van ruimtelijke lokaliteit, waarbij achtereenvolgens nabijgelegen adressen worden gebruikt; dat is een andere eigenschap dan temporele lokaliteit. Willekeurige toegangen die slechts één keer plaatsvinden vertonen vrijwel geen van beide vormen van lokaliteit.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Geheugenhiërarchie en prestaties

  1. Een tweedimensionale C-array a[i][j] wordt doorlopen met j als binnenste lus. Dit is doorgaans sneller dan met i als binnenste lus. Wat is de reden?
  2. 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?
  3. Hoeveel sets heeft een 4-weg set-associatieve cache met 32-bits adressen, een capaciteit van 32 KB en een regelgrootte van 64 byte?
  4. Hoeveel bits van het adres worden bij een volledig associatieve cache voor de index (het selecteren van de set) gebruikt?
  5. De hittijd van de L1-cache is 1 ns, de missratio 5%, de hittijd van de L2-cache 10 ns, de lokale missratio van L2 20% en de toegangstijd van het hoofdgeheugen 100 ns. Wat is de gemiddelde geheugentoegangstijd?

Vergelijkingen bij dit onderwerp