Wat is Basic block?

Reeks instructies zonder instap- of uitstappunt voor vertakkingen halverwege, die altijd van begin tot eind achtereen wordt uitgevoerd. Vormt een knoop in de control-flowgraaf en is ook de eenheid voor optimalisatie binnen het blok.

Japanse benaming: 基本ブロック

“Basic block” komt voor in 1 oefenvragen uit 1 onderwerpen, bijv. Compilers.

Vakgebied: Compilers

Nu oefenen: vragen over Basic block

Welke uitspraak over een basisblok (basic block) is juist?

  1. AEen reeks instructies zonder sprongen erin of eruit, die altijd achtereenvolgens worden uitgevoerd
  2. BAlle instructies binnen één functie samengevoegd tot één geheel
  3. CDe body van een lus meerdere malen achter elkaar geschreven, zodat het aantal iteraties afneemt
Antwoord en toelichting tonen

Antwoord: A. Een reeks instructies zonder sprongen erin of eruit, die altijd achtereenvolgens worden uitgevoerd

Een basisblok is een reeks instructies met alleen aan het begin een ingang en alleen aan het eind een uitgang; eenmaal begonnen met uitvoeren wordt het blok niet halverwege verlaten en kan er niet halverwege worden ingestapt. Blokken worden afgebakend bij instructies die doel van een sprong zijn en direct na sprong-instructies. Omdat de volgorde van uitvoering binnen het blok vastligt, zijn lokale optimalisaties gemakkelijk, en de totale stroom wordt weergegeven met een controleflowgraaf waarvan de blokken de knopen zijn. Een hele functie bestaat gewoonlijk uit meerdere basisblokken, en het achter elkaar plaatsen van lusbodies is loop unrolling.

Vragen met “Basic block” (1)

  1. Welke uitspraak over een basisblok (basic block) is juist?

Verwante termen

Numerieke apertuur (NA) Loop unrolling Abstracte syntaxisboom (AST) Common subexpression elimination Constant folding Control-flow-graaf (CFG) Inlining Instructiescheduling Intermediaire representatie (IR) JIT-compilatie (just-in-time)

Naar de woordenlijst