Wat is Branch delay slot?

ISA-regel dat de instructie direct na een sprong altijd wordt uitgevoerd, ongeacht of er wordt gesprongen. Kwam voor in onder meer het oude MIPS, maar omdat het pipelinebeperkingen in de ISA bracht, werd het een rem op latere ontwerpen.

Japanse benaming: 分岐遅延スロット

“Branch delay slot” komt voor in 1 oefenvragen uit 1 onderwerpen, bijv. Instructieset en assembly.

Vakgebied: Instructieset en assembly

Nu oefenen: vragen over Branch delay slot

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)?

  1. AHet is een mechanisme om de nauwkeurigheid van sprongvoorspelling 100% te maken en is ook voor huidige CPU's onmisbaar
  2. BRISC-V gebruikt het ook en na een sprong moet altijd een nop worden geplaatst
  3. CHet bracht de pipelinebeperkingen van destijds in de ISA en werd een belemmering voor latere CPU-ontwerpen
Antwoord en toelichting tonen

Antwoord: C. Het bracht de pipelinebeperkingen van destijds in de ISA en werd een belemmering voor latere CPU-ontwerpen

In een eenvoudige pipeline van 5 trappen is, tegen de tijd dat het resultaat van de sprong bekend is, de volgende instructie al opgehaald; de branch delay slot voorkomt verspilling door af te spreken dat deze altijd wordt uitgevoerd. Bij latere CPU's met diepere pipelines, sprongvoorspelling en gelijktijdige uitgifte verdween het voordeel en bleef alleen de last over om voor compatibiliteit speciale behandeling te blijven bieden. RISC-V gebruikt dit niet, om geen afspraken in de ISA op te nemen die van de interne opbouw afhangen.

“Branch delay slot” in de toelichting

Vragen met “Branch delay slot” (1)

  1. 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)?

Verwante termen

Numerieke apertuur (NA) Sprongvoorspelling (branch prediction) Instructiesetarchitectuur (ISA) Aanroepconventie (calling convention) ABI (application binary interface) Adresseringsmodus Assembler Bladfunctie (leaf function) Callee-saved register Caller-saved register

Naar de woordenlijst