Skip to main content

Τι είναι η συνοχή της μνήμης;

Η συνοχή της μνήμης είναι ένα πρόβλημα που εμφανίζεται σε έναν υπολογιστή όταν ένας επεξεργαστής επιχειρεί να εξετάσει έναν τομέα μνήμης.Αυτό το πρόβλημα εμφανίζεται μόνο σε συστήματα πολλαπλών στοιχείων ή υπολογιστές που διαθέτουν περισσότερες από μία κεντρικές μονάδες επεξεργασίας (CPU).Όταν οι πολλαπλοί επεξεργαστές εξετάζουν τον ίδιο τομέα μνήμης και ενημερώνει τον τομέα, ο άλλος μπορεί να παραμείνει με μια παλιά έκδοση της μνήμης του υπολογιστή.Για να διορθώσετε αυτό το ζήτημα, χρησιμοποιούνται κανόνες συνέπειας για να διασφαλιστεί ότι οι επεξεργαστές είτε δεν έχουν πρόσβαση στην ίδια μνήμη είτε ότι οι ενημερώσεις είναι συνεπείς μεταξύ τους.Υπάρχουν πολλά διαφορετικά μοντέλα συνέπειας, έτσι ώστε οι προγραμματιστές και οι προγραμματιστές υπολογιστών να γνωρίζουν το ακριβές μοντέλο που χρησιμοποιείται.

Το πρόβλημα συνοχής της μνήμης είναι αυτό που συμβαίνει μόνο σε υπολογιστές που χρησιμοποιούν τουλάχιστον δύο CPU λόγω του τρόπου με τον οποίο έχουν πρόσβαση στη μνήμη.Όταν μια CPU έχει πρόσβαση σε έναν τομέα μνήμης, είναι σε θέση να πάρει, να χρησιμοποιήσει και να αλλάξει τη μνήμη χωρίς καμία σύγκρουση, επειδή δεν υπάρχουν άλλα κομμάτια υλικού που ανταγωνίζονται για τη μνήμη.Εάν χρησιμοποιούνται δύο CPU, τότε οι δύο CPU μπορούν να αρπάξουν τον ίδιο τομέα μνήμης.Ενώ δεν υπάρχουν προβλήματα με τις δύο CPU που μοιράζονται τη μνήμη, ένα πρόβλημα προκύπτει εάν ένα CPU ενημερώσει τη μνήμη.Αυτό αφήνει τη δεύτερη CPU με ξεπερασμένη μνήμη ότι, αν αφεθεί ανεξέλεγκτη, μπορεί να προκαλέσει ολόκληρο τον υπολογιστή να έχει δύο ξεχωριστές και αντιφατικές εκδόσεις της μνήμης του υπολογιστή.Είναι γνωστά συλλογικά ως κανόνες συνέπειας της μνήμης και υπάρχουν πολλές εκδόσεις.Συνολικά, κάθε έκδοση λέει στις πολλαπλές CPU πώς να μοιράζεστε σωστά τη μνήμη του υπολογιστή χωρίς να προκαλέσει το πρόβλημα της συνοχής της μνήμης.Αυτό μπορεί να γίνει με την ενημέρωση και των δύο εκδόσεων της μνήμης όταν αλλάζει μία έκδοση ή διατηρώντας ταυτόχρονα τις CPUs την ίδια μνήμη.Κάθε σύνολο συνέπειας έχει διαφορετικό προγραμματισμό και διαφορετικούς κανόνες, έτσι ώστε οι προγραμματιστές που κάνουν προγράμματα ή γράφουν κώδικα που ασχολούνται άμεσα με τις CPU θα πρέπει να προσαρμόσουν την κωδικοποίηση των ακριβών κανόνων συνέπειας.Εάν όχι, τότε αυτό μπορεί είτε να παρακάμψει τη συνέπεια είτε να προκαλέσει σημαντική σύγκρουση μεταξύ της κωδικοποίησης του προγραμματιστή και των κανόνων συνέπειας και ο υπολογιστής μπορεί να παύσει να λειτουργεί.