Instructieset en assembly

Welke uitleg over hoe huidige krachtige x86-CPU's complexe instructies intern uitvoeren is juist?

  1. AAlle instructies worden één voor één met een software-emulator uitgevoerd
  2. BInstructies worden gedecodeerd en in eenvoudige, op RISC lijkende micro-operaties gesplitst, die in een pipeline worden uitgevoerd
  3. CComplexe instructies kunnen niet worden uitgevoerd en het OS stopt ze als fout
Antwoord en toelichting tonen

Antwoord: B. Instructies worden gedecodeerd en in eenvoudige, op RISC lijkende micro-operaties gesplitst, die in een pipeline worden uitgevoerd

Een x86-CPU splitst instructies van variabele lengte en complexiteit in de voorste decoder in eenvoudige bewerkingen die micro-operaties (μop's) heten, en voert die in de achterste trappen out-of-order uit. Sommige CPU's hebben een μop-cache die reeds gesplitste μop's bewaart zodat niet opnieuw hoeft te worden gedecodeerd. Zo wordt compatibiliteit met oude software behouden en worden dezelfde snelle uitvoeringstechnieken als bij RISC gebruikt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Welke instructies voegt de RISC-V M-extensie toe aan de basisinstructieset voor gehele getallen?
  2. Wat is het belangrijkste doel van de RISC-V C-extensie (gecomprimeerde instructies)?
  3. Wat gebeurt er in het algemeen als „a * b” (vermenigvuldiging van ints) in C wordt gecompileerd voor een RV32I-CPU zonder M-extensie?
  4. 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)?
  5. Hoe komt de gelezen 32-bits waarde in het 64-bits register wanneer de lw-instructie wordt uitgevoerd in het 64-bits RV64I?