Instructieset en assembly
In RISC-V-instructies zijn de velden voor registers (rd, rs1, rs2) elk 5 bits. Wat is de juiste reden?
- AOmdat de breedte van de registers 5 bits is
- BOmdat een instructie maximaal vijf registers kan gebruiken
- COmdat er 32 gehele-getalregisters zijn en die met 2⁵ = 32 mogelijkheden kunnen worden aangeduid
Antwoord en toelichting tonen
Antwoord: C. Omdat er 32 gehele-getalregisters zijn en die met 2⁵ = 32 mogelijkheden kunnen worden aangeduid
Een R-formaatinstructie bestaat van boven naar beneden uit funct7 (7 bits), rs2 (5), rs1 (5), funct3 (3), rd (5) en opcode (7), samen 32 bits. Omdat er 32 registers zijn, kunnen de nummers met 5 bits worden weergegeven. Bij 64 registers zou elk veld 6 bits nodig hebben, wat voor de drie velden 3 extra bits kost, zodat minder bits overblijven voor immediates en instructiesoorten. Het aantal registers hangt dus samen met de vorm van de instructie.