Instructieset en assembly

Welk voordeel van PC-relatieve adressering voor sprongen is juist?

  1. AHoe ver het sprongdoel ook ligt, het wordt altijd met één instructie bereikt
  2. BSprongvoorspelling is niet meer nodig en de pipeline stopt nooit
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Welke uitspraak over de instructielengte van basisinstructies van RISC-V en instructies van x86 is juist?
  2. Welk voordeel van een vaste instructielengte is het meest passend?
  3. In RISC-V-instructies zijn de velden voor registers (rd, rs1, rs2) elk 5 bits. Wat is de juiste reden?
  4. De immediate van de RISC-V-instructie addi is een geheel getal met teken van 12 bits. Welk bereik kan deze immediate weergeven?
  5. Wat is de gebruikelijke methode in RISC-V om een 32-bits constante die niet in een immediate van 12 bits past (bijvoorbeeld 0x12345678) in een register te plaatsen?