Instructieset en assembly
Welk verschil tussen RISC-V en x86 in de werking van voorwaardelijke sprongen is juist?
- ARISC-V springt op basis van vlaggen en bij x86 vergelijkt de sprong-instructie twee registers rechtstreeks
- BBeide hebben geen voorwaardelijke sprong-instructies en bepalen het sprongdoel met een opzoektabel
- CBij RISC-V vergelijkt de sprong-instructie twee registers rechtstreeks en bij x86 springt men op basis van de vlaggen die een vergelijkingsinstructie heeft gezet
Antwoord en toelichting tonen
Antwoord: C. Bij RISC-V vergelijkt de sprong-instructie twee registers rechtstreeks en bij x86 springt men op basis van de vlaggen die een vergelijkingsinstructie heeft gezet
Bij x86 vergelijkt „cmp eax, ebx” en zet vlaggen (condition codes) zoals zero en carry, waarna de volgende „je” of „jl” op basis van de vlaggen springt. RISC-V heeft geen vlaggen en de sprong-instructie zelf vergelijkt twee registers, zoals „beq a0, a1, L” en „blt a0, a1, L”. Omdat er geen impliciete toestand zoals vlaggen is, zijn afhankelijkheden gemakkelijker te volgen bij het herordenen van instructies en bij gelijktijdige uitvoering.