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

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

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

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

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

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

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

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




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

  1. Φωτόπουλος, Ηλίας (3 February 2012). «ProsWeb». http://www.prosweb.gr/. Ανακτήθηκε στις 5 Μαίου 2013.