ATOMICS - Kasimashi/Systemes-embarques GitHub Wiki
Une variable 64 bits ne peux pas être calculée sur un processeur 32 bits en 1 seul cycle d'horloge. Cette dernière est calculée en faites en remplissant dans un premier temps les 32 bits MSB puis ensuite les 32 bits LSB.
Le problème est que dans un système temps réel préemptif le calcul de cette dernière peut être interrompue en plein milieu.
Ainsi la valeur obtenue est tout simplement fausse. Afin de s'assurer que la variable soit intègre il faut préciser au processeur et au compilateur d'effectuer une opération atomique.
https://preshing.com/20130618/atomic-vs-non-atomic-operations/