Τι είναι η εκτέλεση εκτός παραγγελίας;

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

Υποκλιμακωτό σε υπερ-βαθμωτό

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

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

Για να μπορέσουν να κάνουν περισσότερα, οι επεξεργαστές έπρεπε να γίνουν υπερ-κλιμακωτοί. Για να επιτευχθεί αυτό, υλοποιήθηκαν πολλαπλοί παράλληλοι αγωγοί.

Διατήρηση τροφοδοτούμενων αγωγών με δεδομένα

Το κύριο πρόβλημα απόδοσης με τους υπολογιστές είναι συνήθως η καθυστέρηση της μνήμης. Πολλές εντολές λειτουργούν με δεδομένα και έτσι τα δεδομένα πρέπει να είναι διαθέσιμα για να εκτελεστεί η εντολή. Το ερώτημα είναι, τι κάνετε εάν χρειαστεί να περιμένετε για αυτά τα δεδομένα επειδή δεν είναι άμεσα διαθέσιμα; Παραδοσιακά, η απάντηση ήταν απλώς να σταματήσετε και να περιμένετε να γίνει διαθέσιμο. Αυτό αφήνει ολόκληρο τον αγωγό κενό, πιθανώς για εκατοντάδες κύκλους CPU. Τα πράγματα γίνονται ακόμη χειρότερα όταν δύο εντολές σε παράλληλους αγωγούς πρέπει να περιμένουν τη μνήμη, καθώς η πρώτη θα κρατήσει ακόμη και το αίτημα για τα δεδομένα της δεύτερης. Αν και η προσωρινή μνήμη CPU μπορεί να βοηθήσει στην αντιμετώπιση αυτού του προβλήματος, εξακολουθεί να μην μπορεί να το διορθώσει. Χρειαζόταν ένα νέο παράδειγμα για την επίλυσή του. Αυτή η αλλαγή παραδείγματος ήταν το Out Of Order Execution ή το OOO.

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

Κρίσιμες εξαρτήσεις

Αυτή η διαδικασία προϋποθέτει δύο πράγματα. Πρώτα απ 'όλα, ότι είναι δυνατός ο αξιόπιστος εντοπισμός και ο χειρισμός πραγματικών εξαρτήσεων. Δεύτερον, ότι μπορείτε να χειριστείτε και να αναγνωρίσετε με αξιοπιστία ψευδείς εξαρτήσεις. Ποιά είναι η διαφορά? Λοιπόν, μια πραγματική εξάρτηση είναι μια εξάρτηση που δεν μπορεί να μετριαστεί καθόλου σε ένα σύστημα OOO. Το πιο εύκολο παράδειγμα είναι η ανάγνωση μετά την εγγραφή. Εάν έχετε μια εντολή που υποτίθεται ότι πρέπει να γράψει κάποια δεδομένα και μια άλλη που υποτίθεται ότι στη συνέχεια διαβάζει αυτά τα δεδομένα, δεν υπάρχει τρόπος να μπορέσετε να αναδιατάξετε αυτές τις οδηγίες. Πρέπει να συμπληρωθούν με τη σειρά με την οποία παρουσιάστηκαν, διαφορετικά θα λάβετε ανοησίες.

Μια ψευδής εξάρτηση είναι αυτή που μπορεί να κρυφτεί με ένα άλλο έξυπνο κόλπο. Ας πάρουμε το παράδειγμα του write-after-read. Με την πρώτη ματιά, μπορεί να πιστεύετε ότι δεν μπορείτε να αντικαταστήσετε δεδομένα πριν τα διαβάσετε. Τα πράγματα δεν είναι τόσο απλά όμως. Τι γίνεται εάν έχετε άλλο μέρος, μπορείτε να γράψετε τα νέα δεδομένα και, στη συνέχεια, μπορείτε απλώς να ανταλλάξετε τα νέα και τα παλιά δεδομένα αφού διαβάσετε τα παλιά δεδομένα; Αυτή είναι η διαδικασία μετονομασίας του μητρώου και είναι κρίσιμης σημασίας για την επεξεργασία του OOO.

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

συμπέρασμα

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


Leave a Comment

Πώς να χρησιμοποιήσετε την Επίγνωση Συνομιλίας και τη Ζωντανή Ακρόαση στα AirPods

Πώς να χρησιμοποιήσετε την Επίγνωση Συνομιλίας και τη Ζωντανή Ακρόαση στα AirPods

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

Πώς να προσθέσετε έναν εκτυπωτή στα Windows 10

Πώς να προσθέσετε έναν εκτυπωτή στα Windows 10

Η προσθήκη ενός εκτυπωτή στα Windows 10 είναι απλή, αν και η διαδικασία για ενσύρματες συσκευές θα είναι διαφορετική από ό,τι για ασύρματες συσκευές.

Πώς να ελέγξετε τη μνήμη RAM και να ελέγξετε τα σφάλματα RAM στον υπολογιστή σας με την υψηλότερη ακρίβεια

Πώς να ελέγξετε τη μνήμη RAM και να ελέγξετε τα σφάλματα RAM στον υπολογιστή σας με την υψηλότερη ακρίβεια

Όπως γνωρίζετε, η μνήμη RAM είναι ένα πολύ σημαντικό μέρος του υλικού ενός υπολογιστή, λειτουργώντας ως μνήμη για την επεξεργασία δεδομένων και είναι ο παράγοντας που καθορίζει την ταχύτητα ενός φορητού ή επιτραπέζιου υπολογιστή. Στο παρακάτω άρθρο, το WebTech360 θα σας παρουσιάσει μερικούς τρόπους για να ελέγξετε για σφάλματα μνήμης RAM χρησιμοποιώντας λογισμικό στα Windows.

Πώς να διορθώσετε το σφάλμα 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 Λόγοι Γιατί Ο Φορητός Υπολογιστής Σας Υπερθερμαίνεται

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