Instructieset en assembly

Welke uitspraak over de instructielengte van basisinstructies van RISC-V en instructies van x86 is juist?

  1. ABeide hebben een vaste lengte van 32 bits
  2. BRISC-V heeft variabele lengte en x86 heeft een vaste lengte van 32 bits
  3. CRISC-V-basisinstructies hebben een vaste lengte van 32 bits en x86 een variabele lengte van 1 tot 15 bytes
Antwoord en toelichting tonen

Antwoord: C. RISC-V-basisinstructies hebben een vaste lengte van 32 bits en x86 een variabele lengte van 1 tot 15 bytes

Alle RISC-V-basisinstructies zijn 32 bits, zodat de instructiegrenzen direct bekend zijn (met de gecomprimeerde C-extensie komen ook instructies van 16 bits voor). x86 heeft instructies van 1 byte tot maximaal 15 bytes, inclusief prefixen en immediates, en het begin van de volgende instructie is pas bekend als de huidige is gelezen. Daardoor is bij x86 het circuit dat meerdere instructies tegelijk decodeert ingewikkeld.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Welk voordeel van een vaste instructielengte is het meest passend?
  2. In RISC-V-instructies zijn de velden voor registers (rd, rs1, rs2) elk 5 bits. Wat is de juiste reden?
  3. De immediate van de RISC-V-instructie addi is een geheel getal met teken van 12 bits. Welk bereik kan deze immediate weergeven?
  4. 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?
  5. Wat is de juiste combinatie om in RISC-V de constante 0x12345FFF met de twee instructies lui en addi te maken?