Δείτε πώς λειτουργεί:
1. Load Link (LL): Αυτή η εντολή φορτώνει την τιμή μιας θέσης μνήμης σε ένα μητρώο. Κρίσιμα, θέτει επίσης μια εσωτερική σημαία ή κλειδαριά που σχετίζεται με αυτή τη θέση μνήμης. Αυτή η σημαία δείχνει ότι αυτός ο συγκεκριμένος επεξεργαστής έχει διεκδικήσει τη θέση για μια πιθανή ενημέρωση.
2. Υπολογισμός: Στη συνέχεια, ο επεξεργαστής εκτελεί τον υπολογισμό του στη φορτωμένη τιμή στο μητρώο.
3. Κατάστημα υπό όρους (SC): Αυτή η εντολή επιχειρεί να αποθηκεύσει την τροποποιημένη τιμή από το μητρώο πίσω στη θέση μνήμης. Η επιτυχία αυτής της λειτουργίας εξαρτάται από το αν η εσωτερική σημαία/κλειδαριά που ορίζεται από την οδηγία LL εξακολουθεί να κατέχει ο ίδιος επεξεργαστής. Εάν η σημαία έχει ακόμη ρυθμιστεί (που σημαίνει ότι κανένας άλλος επεξεργαστής δεν έχει πρόσβαση στη θέση μνήμης εν τω μεταξύ), η εντολή SC επιτυγχάνει και η σημαία εκκαθαρίζεται. Εάν η σημαία δεν έχει οριστεί (επειδή ένας άλλος επεξεργαστής έχει εκτελέσει μια λειτουργία LL/SC στην ίδια θέση), η εντολή SC αποτυγχάνει και η θέση μνήμης παραμένει αμετάβλητη.
Στην ουσία, η LL/SC παρέχει έναν μηχανισμό για τη δοκιμή και την τροποποίηση μιας θέσης μνήμης ατομικά. Αυτό σημαίνει ότι ολόκληρη η λειτουργία (ανάγνωση, τροποποίηση, εγγραφή) αντιμετωπίζεται ως ενιαία, αδιαίρετη μονάδα, εμποδίζοντας τις συνθήκες της φυλής και εξασφαλίζοντας την ακεραιότητα των δεδομένων. Χωρίς LL/SC, η ταυτόχρονη πρόσβαση θα μπορούσε να οδηγήσει σε απρόβλεπτα και λανθασμένα αποτελέσματα λόγω των διαστρεβλωμένων αναγνώσεων και εγγραφής.
Πολλές αρχιτεκτονικές προσφέρουν οδηγίες LL/SC ή ισοδύναμους μηχανισμούς, για να διευκολύνουν τις δομές και τους αλγόριθμους χωρίς κλειδαριά που αποφεύγουν την γενική έξοδο των παραδοσιακών μελετών ή των σημασιών. Ωστόσο, η χρήση LL/SC απαιτεί προσεκτικό προγραμματισμό για να χειριστεί τις δυνατότητες για αποτυχίες SC και να εφαρμόσει τους κατάλληλους μηχανισμούς επανάληψης.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα