Compilers

Welke combinatie van wat knopen en bogen voorstellen is juist bij de methode van het kleuren van een interferentiegraaf bij registertoewijzing in een compiler?

  1. AKnopen zijn instructies, bogen de volgorde van uitvoering van instructies
  2. BKnopen zijn registers, bogen de bedrading tussen registers
  3. CKnopen zijn waarden, bogen de relatie dat ze gelijktijdig leven
Antwoord en toelichting tonen

Antwoord: C. Knopen zijn waarden, bogen de relatie dat ze gelijktijdig leven

In een interferentiegraaf zijn variabelen en tussenwaarden de knopen, en twee waarden die op een zeker moment beide nog worden gebruikt (leven) worden door een boog verbonden. Waarden die door een boog zijn verbonden zijn gelijktijdig nodig en kunnen niet in hetzelfde register staan. Bij k registers kan de toewijzing, als de graaf met k kleuren kan worden gekleurd zodat buren niet dezelfde kleur hebben, worden gedaan door elke kleur met een register te laten overeenkomen. Als dat niet lukt, worden sommige waarden naar het geheugen weggeschreven (spill). Het is geen graaf van de volgorde van instructies of de bedrading van registers.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Compilers

  1. Wat gebeurt er met de gegenereerde code als bij registertoewijzing een "spill" optreedt?
  2. Wat is het belangrijkste doel van instructieplanning (instruction scheduling) in een compiler?
  3. Welk effect heeft het toepassen van tail call optimization op de laatste recursieve aanroep van de bovenstaande functie?
  4. Welk verschil tussen een compiler en een interpreter is juist?
  5. Welke uitspraak over een uitvoeringsomgeving die JIT-compilatie gebruikt is juist?

Vergelijkingen bij dit onderwerp