Υπερβαθμωτός επεξεργαστής

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
(Ανακατεύθυνση από Superscalar)
Απλή υπερβαθμωτή διοχέτευση. Αποστέλλει προς εκτέλεση δύο εντολές (dispatch width = 2).

Ένας υπερβαθμωτός (αγγλικά: superscalar) επεξεργαστής χρησιμοποιεί πολλές ανεξάρτητες διοχετεύσεις εντολών επιτυγχάνοντας παραλληλισμό στην εκτέλεση των εντολών. Έτσι μια χρονική στιγμή σε κάθε διοχέτευση μπορεί να εκτελείται και διαφορετική εντολή. Ένας υπερβαθμωτός επεξεργαστής εκτελεί περισσότερες από μία εντολές κατά την διάρκεια ενός κύκλου ρολογιού, εκδίδοντας ταυτόχρονα πολλαπλές εντολές σε πολλαπλά δομικά στοιχεία του επεξεργαστή. Ο επεξεργαστής μπορεί να εκτελέσει παράλληλα πολλές, ανεξάρτητες μεταξύ τους εντολές μηχανής, ενώ εντολές που επηρεάζουν η μία την άλλη εκτελούνται ακολουθιακά. Κάθε δομικό στοιχείο δεν βρίσκεται σε διαφορετικό πυρήνα επεξεργαστή. Υπάρχουν πολλαπλά δομικά στοιχεία σε έναν επεξεργαστή.

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

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

Χαρακτηριστικά[Επεξεργασία | επεξεργασία κώδικα]

Τα βασικά χαρακτηριστικά ενός επεξεργαστή υπερβαθμωτής αρχιτεκτονικής είναι τα παρακάτω:

  • ο αριθμός των εντολών μηχανής που βρίσκονται σε αναμονή, από τις οποίες αυτές που είναι έτοιμες επιλέγονται για έκδοση (window size)
  • ο αριθμός των εντολών μηχανής που μπορούν να αποσταλούν για εκτέλεση σε κάθε κύκλο μηχανής (dispatch/issue width).

Δείτε Επίσης[Επεξεργασία | επεξεργασία κώδικα]

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. Φωτόπουλος, Ηλίας (3 Φεβρουαρίου 2012). «ProsWeb». Αρχειοθετήθηκε από το πρωτότυπο στις 23 Μαΐου 2013. Ανακτήθηκε στις 5 Μαΐου 2013.