Τι είναι ένας διακόπτης περιβάλλοντος;

Στις πρώτες μέρες της πληροφορικής, οι CPU ήταν καθαρά διαδοχικές μηχανές. Αυτό βοήθησε να διατηρηθούν τα σχέδια απλά. Ωστόσο, περιόρισε επίσης την απόδοση. Πολλές διεργασίες θα χρειαστεί να ζητήσουν δεδομένα από τη μνήμη RAM του συστήματος ή τον σκληρό δίσκο. Ενώ η μνήμη RAM του συστήματος είναι γρήγορη, εξακολουθεί να μην είναι τόσο γρήγορη όσο η CPU, αφήνοντάς την σε αδράνεια, περιμένοντας δεδομένα μέχρι να επιστρέψει η απόκριση από τη μνήμη RAM. Η κατάσταση είναι ακόμη χειρότερη για τα δεδομένα που ζητούνται από τον σκληρό δίσκο, μια συσκευή αποθήκευσης πολύ πιο αργή από τη μνήμη RAM. Εδώ η CPU μπορεί να είναι σε αδράνεια για σημαντικές περιόδους, περιμένοντας απάντηση. Δυστυχώς, με τους διαδοχικούς επεξεργαστές, αυτό το ζήτημα είναι απλά αναπόφευκτο.

Ευτυχώς, οι σύγχρονοι επεξεργαστές δεν είναι πλέον διαδοχικοί. Προσφέρουν πολλές προηγμένες δυνατότητες, όπως εκτέλεση εκτός σειράς και πολλαπλά νήματα. Η εκτέλεση εκτός σειράς επιτρέπει στην CPU να αναλύσει τις επερχόμενες οδηγίες και να τις αναδιατάξει για να μεγιστοποιήσει την απόδοση. Το Multi-threading επιτρέπει στην CPU να έχει πολλά διαφορετικά νήματα ή διεργασίες που εκτελούνται.

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

Πώς λειτουργεί ένας διακόπτης περιβάλλοντος;

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

Η εναλλαγή στο ακόλουθο νήμα είναι η ίδια διαδικασία αντίστροφα. Ένα νήμα επιλέγεται είτε από την έτοιμη ουρά, ανάλογα με τη στάθμιση. Εναλλακτικά, μπορεί να επιλεγεί με μια διακοπή που υποδεικνύει ότι ένα συμβάν που περίμενε το νήμα είναι τώρα έτοιμο ή ολοκληρωμένο. Στη συνέχεια, τα δεδομένα για το νήμα αντιγράφονται στους σωστούς καταχωρητές και το νήμα αποκαθίσταται. Σε αυτό το σημείο, το νέο νήμα είναι έτοιμο να συνεχίσει τη λειτουργία του από εκεί που σταμάτησε.

Επίδραση απόδοσης

Η διαδικασία ανάγνωσης και εγγραφής δεδομένων κατά την εναλλαγή ή την έξοδο ενός νήματος διαρκεί λίγο, αν και όχι πολύ, καθώς η μνήμη που χρησιμοποιείται είναι συνήθως υψηλής ταχύτητας. Ωστόσο, υπάρχει επιπλέον κόστος απόδοσης. Κατά την εναλλαγή νημάτων, τα δεδομένα στη κρυφή μνήμη της CPU και τα buffer από το προηγούμενο νήμα ενδέχεται να μην σχετίζονται με το νέο νήμα. Αυτό μπορεί να οδηγήσει σε σημαντική αύξηση στο TLB ( Translation Lookaside Buffer ) και σε ελλείψεις προσωρινής μνήμης.

Αυτό το αποτέλεσμα δεν είναι σημαντικό εάν τα δύο νήματα γεννήθηκαν από την ίδια διαδικασία, καθώς είναι πιθανό να μοιράζονται σημαντικά στοιχεία μνήμης. Το TLB πρέπει να ξεπλυθεί πλήρως κατά την εναλλαγή μεταξύ νημάτων από διαφορετικές μεθόδους. Αυτό οδηγεί σε ποσοστό αστοχίας TLB 100%, ενώ το ποσοστό επιτυχίας της κρυφής μνήμης της CPU μειώνεται επίσης σημαντικά.

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

Επιπλέον, η εναλλαγή περιβάλλοντος υλικού δεν αποθηκεύει τα δεδομένα από καταχωρητές κινητής υποδιαστολής, λειτουργικότητα που μπορεί να είναι απαραίτητη. Ως εκ τούτου, χρησιμοποιείται γενικά η εναλλαγή περιβάλλοντος λογισμικού. Επιτρέπει τη διατήρηση των δεδομένων από όλους τους καταχωρητές, συμπεριλαμβανομένων των καταχωρητών κινητής υποδιαστολής. Οι διακόπτες περιβάλλοντος λογισμικού κατανοούν τη συνάφεια των δεδομένων. Αυτό σημαίνει ότι μπορεί να επιλέξει και να επιλέξει ποιες θα αποθηκεύσει ανάλογα με τις ανάγκες.

συμπέρασμα

Ένας διακόπτης περιβάλλοντος είναι μια διαδικασία με την οποία μια σύγχρονη CPU αλλάζει ποιο νήμα εκτελεί. Η διαδικασία περιλαμβάνει την αποθήκευση των σχετικών δεδομένων του τρέχοντος νήματος και την επαναφορά των σχετικών δεδομένων του νέου νήματος. Η εναλλαγή περιβάλλοντος συνοδεύεται από ένα κόστος απόδοσης που σχετίζεται με τον χρόνο που απαιτείται για την εκτέλεση της αλλαγής και τον αυξημένο ρυθμό της προσωρινής μνήμης και του TLB που χάνονται καθώς δεν αποθηκεύονται. Οι διακόπτες περιβάλλοντος συμβαίνουν είτε για να διασφαλίσουν ότι όλα τα νήματα έχουν καλή παροχή χρόνου CPU είτε λόγω μιας διακοπής που υποδεικνύει ότι ένα συμβάν που περίμενε η γραμμή έχει ολοκληρωθεί.


Leave a Comment

Πώς να διορθώσετε το σφάλμα GeForce Now Κωδικός 0xC272008F

Πώς να διορθώσετε το σφάλμα GeForce Now Κωδικός 0xC272008F

Ετοιμάζεστε για μια βραδιά παιχνιδιών, και θα είναι μεγάλη - μόλις αποκτήσατε το "Star Wars Outlaws" στην υπηρεσία streaming GeForce Now. Ανακαλύψτε την μόνη γνωστή λύση που σας δείχνει πώς να διορθώσετε το σφάλμα GeForce Now κωδικός 0xC272008F για να μπορέσετε ξανά να παίξετε παιχνίδια της Ubisoft.

Πώς να Χρησιμοποιήσετε τα AirPods με Τα Τηλέφωνα Samsung

Πώς να Χρησιμοποιήσετε τα AirPods με Τα Τηλέφωνα Samsung

Αν δεν είστε σίγουροι αν πρέπει να αγοράσετε AirPods για το τηλέφωνο Samsung σας, αυτός ο οδηγός μπορεί σίγουρα να βοηθήσει. Η πιο προφανής ερώτηση είναι αν τα δύο είναι συμβατά, και η απάντηση είναι: ναι είναι!

Βασικά Στοιχεία Εκτύπωσης 3D: Μια Λίστα Συντήρησης που Πρέπει να Διαβαστεί

Βασικά Στοιχεία Εκτύπωσης 3D: Μια Λίστα Συντήρησης που Πρέπει να Διαβαστεί

Η διατήρηση του εξοπλισμού σας σε καλή κατάσταση είναι απαραίτητη. Ακολουθήστε αυτές τις χρήσιμες συμβουλές για να διατηρήσετε τον εκτυπωτή 3D σας σε άριστη κατάσταση.

Βασικά του 3D Εκτύπωσης: Συμβουλές Συντήρησης για τον Εκτυπωτή 3D σας

Βασικά του 3D Εκτύπωσης: Συμβουλές Συντήρησης για τον Εκτυπωτή 3D σας

Η συντήρηση των εκτυπωτών 3D είναι πολύ σημαντική για να επιτύχετε τα καλύτερα αποτελέσματα. Ακολουθούν κάποιες σημαντικές συμβουλές που πρέπει να έχετε υπόψη.

Τι να κάνετε αν τα Powerbeats Pro δεν φορτίζουν στη θήκη

Τι να κάνετε αν τα Powerbeats Pro δεν φορτίζουν στη θήκη

Εάν τα Powerbeats Pro σας δεν φορτίζουν, χρησιμοποιήστε μια άλλη πηγή ενέργειας και καθαρίστε τα ακουστικά σας. Αφήστε τη θήκη ανοιχτή κατά τη διάρκεια της φόρτισης των ακουστικών σας.

Πώς να Συνδέσετε Laptop με Windows 11 σε Προβολέα/TV

Πώς να Συνδέσετε Laptop με Windows 11 σε Προβολέα/TV

Διαβάστε αυτό το άρθρο για να μάθετε τη διαδικασία σύνδεσης laptop με έναν προβολέα ή μια TV στα Windows 11 και Windows 10.

5 Λόγοι Γιατί Ο Φορητός Υπολογιστής Σας Υπερθερμαίνεται

5 Λόγοι Γιατί Ο Φορητός Υπολογιστής Σας Υπερθερμαίνεται

Ανακαλύψτε κάποιους από τους πιθανούς λόγους που ο φορητός υπολογιστής σας υπερθερμαίνεται, μαζί με συμβουλές και κόλπα για να αποφύγετε αυτό το πρόβλημα και να διατηρήσετε τη συσκευή σας δροσερή.

Canon Pixma MG5220: Σάρωση χωρίς μελάνι

Canon Pixma MG5220: Σάρωση χωρίς μελάνι

Πώς να ενεργοποιήσετε τη σάρωση στον Canon Pixma MG5220 όταν σας τελειώσει το μελάνι.

Πώς να Εγκαταστήσετε έναν SSD σε Επιτραπέζιους και Φορητούς Υπολογιστές

Πώς να Εγκαταστήσετε έναν SSD σε Επιτραπέζιους και Φορητούς Υπολογιστές

Αγοράσατε έναν SSD και θέλετε να αναβαθμίσετε την εσωτερική αποθήκευση του υπολογιστή σας, αλλά δεν γνωρίζετε πώς να εγκαταστήσετε τον SSD; Διαβάστε αυτό το άρθρο τώρα!

Πώς να βρείτε τη διεύθυνση IP ενός εκτυπωτή

Πώς να βρείτε τη διεύθυνση IP ενός εκτυπωτή

Έχετε πρόβλημα να βρείτε ποια διεύθυνση IP χρησιμοποιεί ο εκτυπωτής σας; Θα σας δείξουμε πώς να το βρείτε.