Compilers
Wat is het belangrijkste doel van instructieplanning (instruction scheduling) in een compiler?
- AHet aantal instructies hoe dan ook verminderen, ook als het resultaat van het programma verandert
- BInstructies herordenen zonder het resultaat te veranderen en zo wachttijden opvullen
- CDe uit te voeren instructies herordenen in de volgorde die de scheduler van het besturingssysteem heeft gekozen
Antwoord en toelichting tonen
Antwoord: B. Instructies herordenen zonder het resultaat te veranderen en zo wachttijden opvullen
Als het resultaat van een lees- of vermenigvuldigingsinstructie niet direct beschikbaar is, moet de CPU wachten wanneer de instructie die het resultaat gebruikt er direct op volgt. Instructieplanning herordent de instructies, binnen de grenzen van de dataafhankelijkheden en zonder het resultaat te veranderen, zodat onafhankelijke andere instructies ertussen komen en wachttijd nuttig wordt benut. Het effect is vooral groot bij CPU's die in volgorde uitvoeren. Transformaties die het resultaat veranderen zijn niet toegestaan, en de scheduler van het besturingssysteem beslist over het wisselen van processen, wat een ander mechanisme is.