Επεξεργαστές πολλαπλών πυρήνων: Είναι περισσότερο πάντα καλύτερο;
Προσθήκη πολλών πυρήνων σε έναν επεξεργαστή προσφέρει σημαντικά οφέλη χάρη στον χαρακτήρα πολλαπλών εργασιών των σύγχρονων λειτουργικών συστημάτων. Ωστόσο, για ορισμένους σκοπούς, υπάρχει ένα ανώτερο πρακτικό όριο στον αριθμό των πυρήνων που αποδίδουν βελτιώσεις σε σχέση με το κόστος της προσθήκης τους.
Η τεχνολογία πολλαπλών πυρήνων προχωρά

Υπήρχαν διαθέσιμοι επεξεργαστές πολλαπλών πυρήνων προσωπικούς υπολογιστές από τις αρχές της δεκαετίας του 2000. Τα σχέδια πολλαπλών πυρήνων αντιμετώπισαν το πρόβλημα των επεξεργαστών που χτυπούσαν το ταβάνι του φυσικού τους περιορισμούς όσον αφορά τις ταχύτητες ρολογιού τους και πόσο αποτελεσματικά θα μπορούσαν να ψύχονται και να διατηρούνται ακρίβεια. Μετακινώντας σε επιπλέον πυρήνες σε ένα μόνο τσιπ επεξεργαστή, οι κατασκευαστές απέφυγαν προβλήματα με τις ταχύτητες του ρολογιού πολλαπλασιάζοντας αποτελεσματικά την ποσότητα των δεδομένων που θα μπορούσαν να χειριστούν οι ΕΠΕΞΕΡΓΑΣΤΗΣ.
Όταν κυκλοφόρησαν αρχικά, οι κατασκευαστές πρόσφεραν μόνο δύο πυρήνες σε μία μόνο CPU, αλλά τώρα υπάρχουν επιλογές για τέσσερις, έξι και ακόμη και 10 ή περισσότερους. Εκτός από την προσθήκη πυρήνων, οι ταυτόχρονες τεχνολογίες πολλαπλών νημάτων —όπως το Hyper-Threading της Intel— μπορούν να διπλασιάσουν τους εικονικούς πυρήνες που
Διαδικασίες και Νήματα
ΕΝΑ επεξεργάζομαι, διαδικασία είναι μια συγκεκριμένη εργασία, όπως ένα πρόγραμμα, που εκτελείται σε έναν υπολογιστή. Μια διαδικασία αποτελείται από ένα ή περισσότερα νήματα.
ΕΝΑ Νήμα είναι απλώς μια ενιαία ροή δεδομένων από ένα πρόγραμμα που διέρχεται από τον επεξεργαστή του υπολογιστή. Κάθε εφαρμογή δημιουργεί το δικό της ένα ή πολλά νήματα ανάλογα με τον τρόπο που εκτελείται. Χωρίς πολλαπλές εργασίες, ένας επεξεργαστής μονού πυρήνα μπορεί να χειριστεί μόνο ένα νήμα τη φορά, έτσι το σύστημα αλλάζει γρήγορα μεταξύ των νημάτων για να επεξεργαστεί τα δεδομένα με φαινομενικά ταυτόχρονο τρόπο.
Το πλεονέκτημα της ύπαρξης πολλαπλών πυρήνων είναι ότι το σύστημα μπορεί να χειριστεί περισσότερα από ένα νήμα ταυτόχρονα. Κάθε πυρήνας μπορεί να χειριστεί μια ξεχωριστή ροή δεδομένων. Αυτή η αρχιτεκτονική αυξάνει σημαντικά την απόδοση ενός συστήματος που εκτελεί ταυτόχρονες εφαρμογές. Δεδομένου ότι οι διακομιστές τείνουν να εκτελούν πολλές ταυτόχρονες εφαρμογές σε μια δεδομένη στιγμή, η τεχνολογία αναπτύχθηκε αρχικά για το εταιρικός πελάτης — αλλά καθώς οι προσωπικοί υπολογιστές έγιναν πιο περίπλοκοι και οι πολλαπλές εργασίες αυξάνονταν, επωφελήθηκαν και αυτοί από την ύπαρξη επιπλέον πυρήνες.
Κάθε διαδικασία, ωστόσο, διέπεται από ένα πρωτεύον νήμα που μπορεί να καταλάβει μόνο έναν πυρήνα. Έτσι, η σχετική ταχύτητα ενός προγράμματος όπως ένα παιχνίδι ή μια συσκευή απόδοσης βίντεο περιορίζεται σκληρά στην ικανότητα του πυρήνα που καταναλώνει το κύριο νήμα. Το κύριο νήμα μπορεί οπωσδήποτε να εκχωρήσει δευτερεύοντα νήματα σε άλλους πυρήνες — αλλά ένα παιχνίδι δεν γίνεται δύο φορές πιο γρήγορο όταν διπλασιάζεις τους πυρήνες. Επομένως, δεν είναι ασυνήθιστο για ένα παιχνίδι να μεγιστοποιεί πλήρως έναν πυρήνα (το κύριο νήμα), αλλά να βλέπει μόνο μερική χρήση άλλων πυρήνων για δευτερεύοντα νήματα. Κανένας διπλασιασμός πυρήνα δεν αφορά το γεγονός ότι ο πρωτεύων πυρήνας είναι ένας περιοριστής ρυθμού για εσάς εφαρμογή και εφαρμογές που είναι ευαίσθητες σε αυτήν την αρχιτεκτονική θα έχουν καλύτερη απόδοση από τις εφαρμογές που δεν είναι.
Εξάρτηση λογισμικού
Αν και η ιδέα των επεξεργαστών πολλαπλών πυρήνων ακούγεται ελκυστική, υπάρχει μια σημαντική προειδοποίηση σε αυτήν την τεχνολογία. Για να απολαμβάνετε τα πραγματικά πλεονεκτήματα των πολλαπλών επεξεργαστών, το λογισμικό που εκτελείται στον υπολογιστή πρέπει να είναι γραμμένο για να υποστηρίζει τη λειτουργία πολλαπλών νημάτων. Χωρίς το λογισμικό να υποστηρίζει μια τέτοια δυνατότητα, τα νήματα θα εκτελούνται κυρίως μέσω ενός μόνο πυρήνα, υποβαθμίζοντας έτσι τη συνολική απόδοση του υπολογιστή. Εξάλλου, εάν μπορεί να τρέξει μόνο σε έναν πυρήνα σε έναν τετραπύρηνο επεξεργαστή, μπορεί να είναι στην πραγματικότητα πιο γρήγορο να το εκτελέσετε σε επεξεργαστή διπλού πυρήνα με υψηλότερες βασικές ταχύτητες ρολογιού.
Όλα τα κύρια τρέχοντα λειτουργικά συστήματα υποστηρίζουν τη δυνατότητα πολλαπλών νημάτων. Αλλά το multithreading πρέπει επίσης να εγγραφεί στο λογισμικό εφαρμογής. Η υποστήριξη για multithreading σε καταναλωτικό λογισμικό έχει βελτιωθεί με τα χρόνια, αλλά για πολλά απλά προγράμματα, η υποστήριξη πολλαπλών νημάτων εξακολουθεί να μην εφαρμόζεται λόγω της πολυπλοκότητας του λογισμικού χτίζω. Για παράδειγμα, ένα πρόγραμμα αλληλογραφίας ή ένα πρόγραμμα περιήγησης ιστού δεν είναι πιθανό να έχει τεράστια πλεονεκτήματα από το multithreading όσο ένα πρόγραμμα επεξεργασίας γραφικών ή βίντεο, όπου ο υπολογιστής επεξεργάζεται περίπλοκους υπολογισμούς.
Ένα καλό παράδειγμα για να εξηγήσουμε αυτή την τάση είναι να δούμε ένα τυπικό παιχνίδι υπολογιστή. Τα περισσότερα παιχνίδια απαιτούν κάποια μορφή μηχανής απόδοσης για να εμφανίσουν τι συμβαίνει στο παιχνίδι. Επιπλέον, κάποιο είδος τεχνητής νοημοσύνης ελέγχει γεγονότα και χαρακτήρες στο παιχνίδι. Με έναν πυρήνα, και οι δύο εργασίες εκτελούνται με εναλλαγή μεταξύ τους. Αυτή η προσέγγιση δεν είναι αποτελεσματική. Εάν το σύστημα διέθετε πολλούς επεξεργαστές, η απόδοση και η τεχνητή νοημοσύνη θα μπορούσαν να εκτελούνται σε ξεχωριστό πυρήνα - μια ιδανική κατάσταση για έναν επεξεργαστή πολλαπλών πυρήνων.
Είναι 8 > 4 > 2;
Η υπέρβαση των δύο πυρήνων παρουσιάζει μικτά οφέλη, δεδομένου ότι η απάντηση για κάθε αγοραστή υπολογιστή εξαρτάται από το λογισμικό που χρησιμοποιεί συνήθως. Για παράδειγμα, πολλά κλασικά παιχνίδια εξακολουθούν να προσφέρουν μικρή διαφορά απόδοσης μεταξύ δύο και τεσσάρων πυρήνων. Ακόμη και τα σύγχρονα παιχνίδια —ορισμένα από τα οποία φέρεται ότι απαιτούν ή υποστηρίζουν οκτώ πυρήνες— ενδέχεται να μην έχουν καλύτερη απόδοση από ένα μηχάνημα έξι πυρήνων με υψηλότερη ταχύτητα ρολογιού βάσης, δεδομένου ότι η αποτελεσματικότητα του πρωτεύοντος νήματος διέπει την αποτελεσματικότητα των πολυνημάτων εκτέλεση.
Από την άλλη πλευρά, ένα πρόγραμμα κωδικοποίησης βίντεο που μετακωδικοποιεί βίντεο θα έχει πιθανώς τεράστια οφέλη η απόδοση μεμονωμένων καρέ μπορεί να περάσει σε διαφορετικούς πυρήνες και στη συνέχεια να συγκεντρωθεί σε μια ενιαία ροή από το λογισμικό. Έτσι το να έχεις οκτώ πυρήνες θα είναι ακόμη πιο ωφέλιμο από το να έχεις τέσσερις. Στην ουσία, το πρωτεύον νήμα δεν χρειάζεται συγκριτικά πλούσιους πόρους. Αντίθετα, μπορεί να εκμεταλλευτεί τη σκληρή δουλειά στα θυγατρικά νήματα που μεγιστοποιούν τους πυρήνες του επεξεργαστή.
Ταχύτητες ρολογιού

Σε γενικές γραμμές, υψηλότερη ταχύτητα ρολογιού θα σημαίνει ταχύτερο επεξεργαστή. Οι ταχύτητες ρολογιού γίνονται πιο νεφελώδεις όταν λαμβάνετε υπόψη τις ταχύτητες σε σχέση με πολλούς πυρήνες, επειδή οι επεξεργαστές τσακίζουν πολλά δεδομένα νήματα χάρη στους επιπλέον πυρήνες, αλλά καθένας από αυτούς τους πυρήνες θα λειτουργεί σε χαμηλότερες ταχύτητες λόγω των θερμικών περιορισμών.
Για παράδειγμα, ένας επεξεργαστής διπλού πυρήνα μπορεί να υποστηρίζει βασικές ταχύτητες ρολογιού 3,5 GHz για κάθε επεξεργαστή, ενώ ένας τετραπύρηνος επεξεργαστής μπορεί να τρέχει μόνο στα 3,0 GHz. Απλά κοιτάζοντας έναν πυρήνα σε καθένα από αυτά, ο επεξεργαστής διπλού πυρήνα είναι 14 τοις εκατό ταχύτερος από τον τετραπύρηνο. Έτσι, εάν έχετε ένα πρόγραμμα που είναι μόνο μονού νήματος, ο επεξεργαστής διπλού πυρήνα είναι στην πραγματικότητα πιο αποδοτικός. Και πάλι, εάν το λογισμικό σας μπορεί να χρησιμοποιήσει και τους τέσσερις επεξεργαστές, τότε ο τετραπύρηνος επεξεργαστής θα είναι στην πραγματικότητα περίπου 70 τοις εκατό ταχύτερος από αυτόν τον επεξεργαστή διπλού πυρήνα.
συμπεράσματα
Ως επί το πλείστον, το να έχετε έναν επεξεργαστή υψηλότερου αριθμού πυρήνων είναι γενικά καλύτερο εάν έχετε λογισμικό και τυπικές περιπτώσεις χρήσης το υποστηρίζουν. Ως επί το πλείστον, ένας διπύρηνος ή τετραπύρηνος επεξεργαστής θα είναι περισσότερο από αρκετή ισχύς για έναν βασικό χρήστη υπολογιστή. Η πλειονότητα των καταναλωτών δεν θα δει απτά οφέλη από την υπέρβαση των τεσσάρων πυρήνων επεξεργαστών, επειδή τόσο λίγο μη εξειδικευμένο λογισμικό το εκμεταλλεύεται. Η καλύτερη περίπτωση χρήσης για επεξεργαστές υψηλού αριθμού πυρήνων σχετίζεται με μηχανήματα που εκτελούν σύνθετες εργασίες, όπως επεξεργασία βίντεο επιτραπέζιου υπολογιστή, ορισμένες μορφές παιχνιδιών υψηλής τεχνολογίας ή πολύπλοκα προγράμματα επιστήμης και μαθηματικών.
Δείτε τις σκέψεις μας για Πόσο γρήγορο υπολογιστή χρειάζομαι; για να έχετε μια καλύτερη ιδέα για τον τύπο επεξεργαστή που ταιριάζει καλύτερα στις υπολογιστικές σας ανάγκες.