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?
- AKnopen zijn instructies, bogen de volgorde van uitvoering van instructies
- BKnopen zijn registers, bogen de bedrading tussen registers
- 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.