Compilers

Welke uitspraak over software pipelining is juist?

  1. AEen techniek om het aantal pipelinestadia van de CPU met software te vergroten
  2. BEen techniek om een lus in functies te verdelen en parallel op meerdere threads uit te voeren
  3. CEen techniek om bewerkingen van verschillende iteraties te laten overlappen en zo wachttijden op te vullen
Antwoord en toelichting tonen

Antwoord: C. Een techniek om bewerkingen van verschillende iteraties te laten overlappen en zo wachttijden op te vullen

Bij software pipelining wordt het werk van één iteratie van de lus in fasen verdeeld, zoals "lezen, rekenen, schrijven", en worden de instructies zo geordend dat in één iteratie bijvoorbeeld het schrijven van iteratie i, de berekening van iteratie i+1 en het lezen van iteratie i+2 worden uitgevoerd. Tijdens de wachttijd van een leesactie kan de berekening van andere iteraties doorgaan, zodat rekeneenheden niet stil hoeven te staan. Voor en na de lus is code voor voorbereiding en opruiming nodig. Het is geen techniek om de stadia van de CPU te wijzigen of met threads te parallelliseren.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Compilers

  1. Waarom herordent een compiler onder strikte instellingen de optelling (a + b) + c van floating-pointgetallen niet eigenmachtig tot a + (b + c)?
  2. Welk soort instructie wordt gebruikt bij automatische vectorisatie door een compiler?
  3. Welke basisvoorwaarde moet een optimalisatie van een compiler respecteren?
  4. Welke uitspraak over instructieselectie (instruction selection), een van de fasen van codegeneratie, is juist?
  5. Welke uitspraak over een cross-compiler is juist?

Vergelijkingen bij dit onderwerp