Instructieset en assembly

Wat is het belangrijkste doel van de RISC-V C-extensie (gecomprimeerde instructies)?

  1. AInstructies toevoegen die data comprimeren om geheugengebruik te verminderen
  2. BProgramma's in C rechtstreeks kunnen uitvoeren
  3. CVeelgebruikte instructies met 16 bits weergeven en zo de programmagrootte verkleinen
Antwoord en toelichting tonen

Antwoord: C. Veelgebruikte instructies met 16 bits weergeven en zo de programmagrootte verkleinen

De C-extensie geeft veelgebruikte instructies weer als instructies van 16 bits in een korte vorm, beperkt tot bepaalde gevallen, zoals „addi sp, sp, -16” en lw en sw met een kleine offset. Ze kunnen worden gemengd met instructies van 32 bits en verkleinen de codegrootte met ruwweg 25-30%. Een klein programma past gemakkelijker in beperkt flashgeheugen en er passen er meer in de instructiecache, wat nuttig is voor zowel embedded apparaten als krachtige CPU's.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Wat gebeurt er in het algemeen als „a * b” (vermenigvuldiging van ints) in C wordt gecompileerd voor een RV32I-CPU zonder M-extensie?
  2. Welke uitspraak is juist over de branch delay slot die bij het vroegere MIPS en dergelijke bestond (de afspraak dat de ene instructie direct na een sprong-instructie wordt uitgevoerd, ongeacht of er wordt gesprongen)?
  3. Hoe komt de gelezen 32-bits waarde in het 64-bits register wanneer de lw-instructie wordt uitgevoerd in het 64-bits RV64I?
  4. Welke omschrijving van de ABI (application binary interface) is juist?
  5. Met welke instructie wordt een aanroep via een functiepointer in C, „(*fp)(x)”, in RISC-V gewoonlijk uitgevoerd?