Qu'est-ce que LR/SC ?

Paire d'instructions chargement réservé (LR) et rangement conditionnel (SC), aussi appelées LL et SC. Si un autre cœur écrit à l'adresse après LR, SC échoue, ce qui permet de réaliser des mises à jour atomiques.

Nom japonais: LR/SC

« LR/SC » apparaît dans 3 questions d'entraînement réparties sur 1 thèmes, dont Multicœur et synchronisation.

Domaine: Multicœur et synchronisation

S'entraîner : questions sur LR/SC

Avec une paire d’instructions comme LR/SC (load-reserved/store-conditional) de RISC-V, dans quel cas le SC (store-conditional) échoue-t-il ?

  1. ALorsque la valeur écrite par SC est identique à la valeur lue par LR
  2. BLorsque la réservation a été perdue entre le LR et le SC, par exemple parce qu’un autre cœur a écrit à cette adresse
  3. CLorsqu’au moins une autre instruction a été exécutée entre LR et SC
Afficher la réponse et l'explication

Réponse : B. Lorsque la réservation a été perdue entre le LR et le SC, par exemple parce qu’un autre cœur a écrit à cette adresse

LR lit la valeur et « réserve » simultanément l’adresse. Lors de l’écriture par SC, si la réservation est maintenue, l’écriture a lieu et réussit ; si elle a été perdue, par exemple à cause d’une écriture d’un autre cœur, SC n’écrit pas et renvoie un échec. Alors que CAS vérifie la concordance des valeurs, LR/SC vérifie s’il y a eu une écriture ; il détecte donc aussi le cas où la valeur a changé puis est revenue à l’original. ARM possède une paire d’instructions similaire.

« LR/SC » dans les explications

Questions mentionnant « LR/SC » (3)

  1. Avec une paire d’instructions comme LR/SC (load-reserved/store-conditional) de RISC-V, dans quel cas le SC (store-conditional) échoue-t-il ?
  2. Quelle description d’une instruction atomique (instruction indivisible) est correcte ?
  3. Quelle description du problème ABA, qui affecte les structures de données sans verrou utilisant CAS, est correcte ?

Termes associés

Sans verrou (lock-free) Instruction atomique Compare-and-swap Problème ABA Acquisition-libération (acquire-release) Barrière mémoire Cohérence séquentielle Course aux données (data race) Espionnage de bus (snooping) Faux partage (false sharing)

Retour au glossaire