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

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

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

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

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

Χαρακτηριστικά

Επεξεργασία

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

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

Δείτε Επίσης

Επεξεργασία

Παραπομπές

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