Primitive di sincronizzazione migliori auricolari wireless per il gioco
Primitive di sincronizzazione migliori auricolari wireless per il gioco
Il set di istruzioni Cortex-M3 include coppie di primitive di sincronizzazione. Questi forniscono un meccanismo non bloccante che un thread o un processo può utilizzare per ottenere l'accesso esclusivo a una posizione di memoria. Il software può utilizzarli per eseguire una lettura-modifica-scrittura garantita
sequenza di aggiornamento della memoria o per un meccanismo di semaforo.www.bjbjaudio.com
Una coppia di primitive di sincronizzazione comprende:
Le coppie di istruzioni Load-Exclusive e Store-Exclusive sono:
● La parola istruzioni LDREX e STREX
● Le istruzioni di mezza parola LDREXH e STREXH
● I byte di istruzioni LDREXB e STREXB.
Il software deve utilizzare un'istruzione Load-Exclusive con la corrispondente Store-Exclusiveinstruction.www.bjbjaudio.com
Per eseguire una lettura-modifica-scrittura garantita di una posizione di memoria, il software deve:
1. Utilizzare un'istruzione di carico esclusivo per leggere il valore della posizione.
2. Aggiornare il valore, come richiesto.
3. Utilizzare un'istruzione Store-Exclusive per tentare di riscrivere il nuovo valore nella memoria, nella posizione e verificare il bit di stato restituito. Se questo bit è:
0: La lettura-modifica-scrittura è stata completata con successo,
1: non è stata eseguita alcuna scrittura. Ciò indica che il valore restituito al passaggio 1 potrebbe non essere aggiornato. Il software deve riprovare la sequenza di lettura-modifica-scrittura. www.bjbjaudio.com
Un'istruzione di carico esclusivo Utilizzata per leggere il valore di una posizione di memoria, richiedendo l'accesso esclusivo a tale posizione.
Un'istruzione Store-Exclusive Utilizzata per tentare di scrivere nella stessa posizione di memoria,
restituire un bit di stato a un registro. Se questo bit è:
0: indica che il thread o il processo ha ottenuto l'accesso esclusivo alla memoria e la scrittura ha esito positivo
1: indica che il thread o il processo non hanno guadagnato
accesso esclusivo alla memoria e nessuna scrittura è
Il software eseguito può utilizzare le primitive di sincronizzazione per implementare un semaforo come segue:
1. Utilizzare un'istruzione Load-Exclusive per leggere dall'indirizzo del semaforo da verificare
se il semaforo è gratuito.
2. Se il semaforo è gratuito, utilizzare uno Store-Exclusive per scrivere il valore del reclamo al
indirizzo del semaforo.
3. Se il bit di stato restituito dal passaggio 2 indica che Store-Exclusive è riuscito, allora
il software ha rivendicato il semaforo. Tuttavia, se Store-Exclusive non è riuscito, un altro processo potrebbe aver richiesto il semaforo dopo che il software ha eseguito il passaggio www.bjbjaudio.com