Geheugenhiërarchie en prestaties

Welke uitspraak over de prefetch-afstand (hoe ver vooruit data worden gelezen) bij het invoegen van software-prefetchinstructies is juist?

  1. AHoe korter de afstand, hoe beter; de prefetch direct vóór het lezen van het volgende element is optimaal
  2. BHoe langer de afstand, hoe beter; alle data die de lus gebruikt in één keer vooraf inlezen is optimaal
  3. CZowel te kort als te lang is niet goed; de afstand wordt bepaald uit de misstijd en de duur van één lusiteratie
Antwoord en toelichting tonen

Antwoord: C. Zowel te kort als te lang is niet goed; de afstand wordt bepaald uit de misstijd en de duur van één lusiteratie

Prefetching heeft geen zin als het inlezen uit het geheugen niet is voltooid voordat de data nodig zijn. Bij een te korte afstand komt de data te laat aan; bij een te lange afstand wordt ingelezen data verdrongen voordat deze wordt gebruikt, of vervuilt de cache. Als richtlijn wordt zoveel iteraties vooruit gelezen als de misstraf gedeeld door de uitvoeringstijd van één lusiteratie. Een prefetch vlak vóór gebruik verbergt de wachttijd niet, en alle data in één keer inlezen past niet in de cache.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Geheugenhiërarchie en prestaties

  1. 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?
  2. Wat is het belangrijkste doel van loop blocking (tiling), zoals gebruikt bij matrixvermenigvuldiging?
  3. 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)?
  4. Wat is het belangrijkste voordeel van een gesplitste L1-cache met aparte caches voor instructies (I-cache) en data (D-cache)?
  5. In een systeem met paginagrootte 4 KB en regelgrootte 64 byte wordt een L1-cache met virtuele index en fysieke tag (VIPT) zo opgebouwd dat index en offset alleen uit bits binnen de pagina bestaan. Wat is de maximale capaciteit van de cache bij 8-weg set-associativiteit?

Vergelijkingen bij dit onderwerp