Geheugenhiërarchie en prestaties

Wat is het belangrijkste doel van loop blocking (tiling), zoals gebruikt bij matrixvermenigvuldiging?

  1. ARekenen per klein blok dat in de cache past, zodat data vaker worden hergebruikt
  2. BHet aantal lusiteraties verminderen, zodat er aan het einde van de lus minder spronginstructies worden uitgevoerd
  3. CDe totale hoeveelheid gebruikt geheugen halveren zonder de rekenvolgorde te wijzigen
Antwoord en toelichting tonen

Antwoord: A. Rekenen per klein blok dat in de cache past, zodat data vaker worden hergebruikt

Bij rechtstreekse berekening van een groot matrixproduct worden ingelezen elementen uit de cache verdrongen voordat ze opnieuw worden gebruikt, zodat ze herhaaldelijk uit het hoofdgeheugen moeten worden ingelezen. Bij loop blocking wordt de matrix verdeeld in kleine blokken die in de cache passen en wordt de berekening binnen een blok afgerond; ingelezen data worden zo vaak hergebruikt en capaciteitsmisses nemen sterk af. Het verminderen van spronginstructies is het doel van loop unrolling, en de totale hoeveelheid gebruikt geheugen verandert niet.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Geheugenhiërarchie en prestaties

  1. 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)?
  2. Wat is het belangrijkste voordeel van een gesplitste L1-cache met aparte caches voor instructies (I-cache) en data (D-cache)?
  3. 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?
  4. Wat is de belangrijkste reden dat VIPT (virtuele index, fysieke tag) vaak wordt gebruikt voor de L1-cache?
  5. De hittijd van de cache is 2 cycli, de missratio 4% en de misstraf 150 cycli. Hoeveel cycli bedraagt de gemiddelde geheugentoegangstijd?

Vergelijkingen bij dit onderwerp