Instructieset en assembly
Welk voordeel van PC-relatieve adressering voor sprongen is juist?
- AHoe ver het sprongdoel ook ligt, het wordt altijd met één instructie bereikt
- BSprongvoorspelling is niet meer nodig en de pipeline stopt nooit
- CHet programma werkt zonder herschrijven van instructies, op welk geheugenadres het ook wordt geladen
Antwoord en toelichting tonen
Antwoord: C. Het programma werkt zonder herschrijven van instructies, op welk geheugenadres het ook wordt geladen
Een PC-relatieve sprong drukt de bestemming uit als afstand „zoveel bytes vanaf hier”, dus ook als het hele programma naar een ander adres wordt verschoven, verandert de afstand niet en werkt het ongewijzigd. Dit is de basis van position-independent code (PIC), zoals gebruikt in gedeelde bibliotheken. Omdat het aantal bits voor de afstand beperkt is, worden voor verre sprongen auipc en jalr gecombineerd. De noodzaak van sprongvoorspelling is niet afhankelijk van de manier van weergave.