Υπερβαθμωτός επεξεργαστής
Ο σχεδιασμός μιας υπερκλιμακωτής CPU επιτρέπει μια μορφή παράλληλων υπολογισμών που ονομάζεται παραλληλισμός σε επίπεδο εντολών μέσα σε μια ενιαία CPU, η οποία επιτρέπει την εκτέλεση περισσότερης εργασίας με τον ίδιο ρυθμό ρολογιού. Αυτό σημαίνει ότι η ΚΜΕ εκτελεί περισσότερες από μία εντολές κατά τη διάρκεια ενός κύκλου ρολογιού εκτελώντας ταυτόχρονα πολλαπλές εντολές (που ονομάζεται αποστολή εντολών) σε διπλές λειτουργικές μονάδες. Κάθε λειτουργική μονάδα είναι απλώς ένας πόρος εκτέλεσης μέσα στον πυρήνα της ΚΜΕ, όπως μια αριθμητική λογική μονάδα (ALU), μια μονάδα κινητής υποδιαστολής (FPU), ένας μετατοπιστής bit ή ένας πολλαπλασιαστής.
Οι περισσότερες υπερκλιμακωτές CPU είναι επίσης pipelined, αλλά είναι δυνατόν να έχετε μια μη pipelined υπερκλιμακωτή CPU ή μια pipelined μη υπερκλιμακωτή CPU.
Η υπερκλιμακωτή τεχνική υποστηρίζεται από διάφορα χαρακτηριστικά του πυρήνα της CPU:
- Οι οδηγίες προέρχονται από έναν ταξινομημένο κατάλογο οδηγιών.
- Το υλικό της CPU μπορεί να υπολογίσει ποιες εντολές έχουν ποιες εξαρτήσεις δεδομένων.
- Μπορεί να διαβάσει πολλαπλές εντολές ανά κύκλο ρολογιού
Κάθε εντολή που εκτελείται από έναν κλιμακωτό επεξεργαστή αλλάζει ένα ή δύο στοιχεία δεδομένων κάθε φορά, αλλά κάθε εντολή που εκτελείται από έναν διανυσματικό επεξεργαστή χειρίζεται πολλά στοιχεία δεδομένων ταυτόχρονα. Ένας υπερκλιμακωτός επεξεργαστής είναι ένα μείγμα των δύο:
- Κάθε εντολή επεξεργάζεται ένα στοιχείο δεδομένων.
- Υπάρχουν πολλαπλές διπλές λειτουργικές μονάδες μέσα σε κάθε πυρήνα CPU, έτσι ώστε πολλαπλές εντολές να χειρίζονται ταυτόχρονα ανεξάρτητα στοιχεία δεδομένων.
Σε μια υπερκλιμακωτή ΚΜΕ ένας αποστολέας εντολών διαβάζει τις εντολές από τη μνήμη και αποφασίζει ποιες από αυτές μπορούν να εκτελεστούν παράλληλα, αποστέλλοντάς τες στις πολλαπλές διπλές λειτουργικές μονάδες που είναι διαθέσιμες στο εσωτερικό της ΚΜΕ.
Ο σχεδιασμός υπερκλιμακωτών ΚΜΕ αφορά τη βελτίωση της ακρίβειας του διανομέα εντολών και την ικανότητά του να κρατά απασχολημένες τις πολλαπλές λειτουργικές μονάδες ανά πάσα στιγμή. Από το 2008, όλες οι CPU γενικής χρήσης είναι υπερκλιμακωτές, μια τυπική υπερκλιμακωτή CPU μπορεί να περιλαμβάνει έως και 4 ALUs, 2 FPUs και δύο μονάδες SIMD. Εάν ο αποστολέας δεν μπορεί να κρατήσει όλες τις μονάδες απασχολημένες, η απόδοση της CPU θα είναι χαμηλότερη.
Πλακέτα επεξεργαστή ενός παράλληλου υπολογιστή CRAY T3e με τέσσερις υπερκλιμακούμενους επεξεργαστές Alpha
Απλός υπερκλιμακωτός αγωγός. Με τη λήψη και την αποστολή δύο εντολών κάθε φορά, μπορούν να ολοκληρωθούν το πολύ δύο εντολές ανά κύκλο.
Περιορισμοί
Η βελτίωση των επιδόσεων στη σχεδίαση CPU Superscalar περιορίζεται από δύο πράγματα:
- Το επίπεδο του ενσωματωμένου παραλληλισμού στον κατάλογο εντολών
- Η πολυπλοκότητα και το χρονικό κόστος του ελεγκτή αποστολής και του ελέγχου εξάρτησης δεδομένων.
Ακόμη και με δεδομένο τον απείρως γρήγορο έλεγχο εξαρτήσεων μέσα σε μια κανονική υπερκλιμακωτή CPU, εάν ο ίδιος ο κατάλογος εντολών έχει πολλές εξαρτήσεις, αυτό θα περιόριζε επίσης την πιθανή βελτίωση των επιδόσεων, οπότε η ποσότητα του ενσωματωμένου παραλληλισμού στον κώδικα αποτελεί έναν ακόμη περιορισμό.
Ανεξάρτητα από την ταχύτητα του αποστολέα, υπάρχει ένα πρακτικό όριο στο πόσες εντολές μπορούν να αποσταλούν ταυτόχρονα. Ενώ η πρόοδος του υλικού θα επιτρέψει τη δημιουργία περισσότερων λειτουργικών μονάδων (π.χ. ALUs) ανά πυρήνα CPU, το πρόβλημα του ελέγχου των εξαρτήσεων των εντολών αυξάνεται σε τέτοιο βαθμό ώστε το επιτεύξιμο όριο υπερκλιμάκωσης της αποστολής να είναι κάπως μικρό. -- Πιθανόν της τάξης των πέντε έως έξι ταυτόχρονα αποστελλόμενων εντολών.
Εναλλακτικές λύσεις
- Ταυτόχρονη πολυνημάτωση: συχνά συντομογραφούμενη ως SMT, είναι μια τεχνική για τη βελτίωση της συνολικής ταχύτητας των υπερκλιμακωτών επεξεργαστών. Η SMT επιτρέπει πολλαπλά ανεξάρτητα νήματα εκτέλεσης για την καλύτερη χρήση των πόρων που είναι διαθέσιμοι στο εσωτερικό ενός σύγχρονου υπερκλιμακωτού επεξεργαστή.
- Επεξεργαστές πολλαπλών πυρήνων: οι υπερκλιμακωτοί επεξεργαστές διαφέρουν από τους επεξεργαστές πολλαπλών πυρήνων στο ότι οι πολλαπλές πλεονάζουσες λειτουργικές μονάδες δεν είναι ολόκληροι επεξεργαστές. Ένας ενιαίος υπερκλιμακωτός επεξεργαστής αποτελείται από προηγμένες λειτουργικές μονάδες όπως η ALU, ο ακέραιος πολλαπλασιαστής, ο ακέραιος μεταφορέας, η μονάδα κινητής υποδιαστολής (FPU) κ.λπ. Μπορεί να υπάρχουν πολλαπλές εκδόσεις κάθε λειτουργικής μονάδας ώστε να είναι δυνατή η παράλληλη εκτέλεση πολλών εντολών. Αυτό διαφέρει από έναν επεξεργαστή πολλαπλών πυρήνων που επεξεργάζεται ταυτόχρονα εντολές από πολλά νήματα, ένα νήμα ανά πυρήνα.
- Επεξεργαστές με αγωγούς: Οι υπερκλιμακωτοί επεξεργαστές διαφέρουν επίσης από μια CPU με αγωγούς, όπου οι πολλαπλές εντολές μπορούν να βρίσκονται ταυτόχρονα σε διάφορα στάδια εκτέλεσης.
Οι διάφορες εναλλακτικές τεχνικές δεν αποκλείουν η μία την άλλη - μπορούν να συνδυαστούν (και συχνά συνδυάζονται) σε έναν ενιαίο επεξεργαστή, οπότε είναι δυνατόν να σχεδιαστεί μια πολυπύρηνη CPU όπου κάθε πυρήνας είναι ένας ανεξάρτητος επεξεργαστής με πολλαπλές παράλληλες υπερκλιμάκωση. Ορισμένοι πολυπύρηνοι επεξεργαστές περιλαμβάνουν επίσης διανυσματική ικανότητα.
Σχετικές σελίδες
- Παράλληλοι υπολογισμοί
- Παραλληλισμός σε επίπεδο εντολών
- Ταυτόχρονη πολυδιεργασία (SMT)
- Επεξεργαστές πολλαπλών πυρήνων
Ερωτήσεις και απαντήσεις
Q: Τι είναι η τεχνολογία υπερκλιμάκων;
A: Η τεχνολογία υπερκλιμάκων είναι μια μορφή βασικού παράλληλου υπολογισμού που επιτρέπει την επεξεργασία περισσότερων από μία εντολών σε κάθε κύκλο ρολογιού με τη χρήση πολλαπλών μονάδων εκτέλεσης ταυτόχρονα.
Ερ: Πώς λειτουργεί η τεχνολογία υπερκλιμάκων;
Α: Η τεχνολογία υπερκλιμάκωσης περιλαμβάνει τις εντολές που έρχονται στον επεξεργαστή με τη σειρά, την αναζήτηση εξαρτήσεων δεδομένων κατά την εκτέλεση και τη φόρτωση περισσότερων από μία εντολών σε κάθε κύκλο ρολογιού.
Ε: Ποια είναι η διαφορά μεταξύ των κλιμακωτών και των διανυσματικών επεξεργαστών;
Α: Σε έναν κλιμακωτό επεξεργαστή, οι εντολές συνήθως εργάζονται με ένα ή δύο στοιχεία δεδομένων ταυτόχρονα, ενώ σε έναν διανυσματικό επεξεργαστή, οι εντολές συνήθως εργάζονται με πολλά στοιχεία δεδομένων ταυτόχρονα. Ένας υπερκλιμακωτός επεξεργαστής είναι ένα μείγμα και των δύο, καθώς κάθε εντολή επεξεργάζεται ένα στοιχείο δεδομένων, αλλά περισσότερες από μία εντολές εκτελούνται ταυτόχρονα, οπότε πολλά στοιχεία δεδομένων επεξεργάζονται ταυτόχρονα από τον επεξεργαστή.
Ερώτηση: Τι ρόλο παίζει ένας ακριβής διανομέας εντολών σε έναν υπερκλιμακωτό επεξεργαστή;
Α: Ένας ακριβής αποστολέας εντολών είναι πολύ σημαντικός για έναν υπερκλιμακωτό επεξεργαστή, καθώς εξασφαλίζει ότι οι μονάδες εκτέλεσης είναι πάντα απασχολημένες με εργασίες που πιθανότατα θα χρειαστούν. Εάν ο κατανεμητής εντολών δεν είναι ακριβής, τότε ενδέχεται να χρειαστεί να απορριφθεί μέρος της εργασίας, γεγονός που θα τον καταστήσει όχι ταχύτερο από έναν επεξεργαστή κλιμακωτής.
Ερώτηση: Σε ποιο έτος όλες οι κανονικές CPU έγιναν υπερκλιμακωτές;
Α: Όλοι οι κανονικοί επεξεργαστές έγιναν υπερκλιμακωτοί το 2008.
Ερ: Πόσες ALUs, FPUs και SIMD units μπορεί να υπάρχουν σε μια κανονική CPU;
Α: Σε μια κανονική CPU μπορούν να υπάρχουν έως και 4 ALUs, 2 FPUs και 2 μονάδες SIMD.