Multicore en synchronisatie

Welke uitleg over atomaire instructies (ondeelbare instructies) is juist?

  1. AEen instructie die het lezen en schrijven van het geheugen als één bewerking uitvoert die niet halverwege door andere cores kan worden onderbroken
  2. BEen instructie voor natuurkundige berekeningen om atomen te tellen
  3. CDe snelste instructie, die altijd in één klokcyclus klaar is
Antwoord en toelichting tonen

Antwoord: A. Een instructie die het lezen en schrijven van het geheugen als één bewerking uitvoert die niet halverwege door andere cores kan worden onderbroken

Een atomaire instructie voert de reeks lezen, rekenen en schrijven zo uit dat er geen lees- of schrijfactie van andere cores tussen komt. Voor andere cores is alleen de toestand vóór of na de bewerking zichtbaar. Voorbeelden zijn CAS (compare-and-swap), fetch-and-add en de LR/SC- en AMO-instructies van RISC-V; ze vormen de basis voor locks en lock-free datastructuren.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Welke beschrijving van de werking van de atomaire instructie CAS (compare-and-swap) is juist?
  2. De bovenstaande code verdubbelt de gedeelde variabele counter met CAS(&p, verwachte waarde, nieuwe waarde). Wanneer mislukt CAS en wordt de lus opnieuw doorlopen?
  3. Wanneer mislukt bij een instructiepaar zoals LR/SC (load-reserved/store-conditional) van RISC-V de SC (store-conditional)?
  4. Welke uitleg over het ABA-probleem, dat bij lock-free datastructuren met CAS aandacht vraagt, is juist?
  5. Welke beschrijving van de werking van een fetch-and-add-instructie, zoals amoadd.w van RISC-V of lock xadd van x86, is juist?

Vergelijkingen bij dit onderwerp