11Aug
Αν έχετε κάνει πολλά ψώνια σύγκρισης για μια νέα CPU, ίσως έχετε παρατηρήσει ότι οι πυρήνες φαίνεται να έχουν την ταχύτητα και όχι τον συνδυασμό διαφορετικών.Γιατί αυτό?Η σημερινή δημοσίευση του χρήστη SuperUser Q & A έχει την απάντηση σε μια ερώτηση περίεργου αναγνώστη.
Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.
Η ερώτηση
Reader SuperUser θέλει να μάθει γιατί οι πυρήνες CPU έχουν την ίδια ταχύτητα αντί για διαφορετικές:
Σε γενικές γραμμές, εάν αγοράζετε έναν νέο υπολογιστή, θα καθορίζετε ποιος επεξεργαστής θα αγοράσει βάσει του αναμενόμενου φόρτου εργασίας για τον υπολογιστή.Οι επιδόσεις στα βιντεοπαιχνίδια τείνουν να καθορίζονται με ταχύτητα μεμονωμένου πυρήνα, ενώ οι εφαρμογές όπως η επεξεργασία βίντεο καθορίζονται από τον αριθμό των πυρήνων.Από την άποψη του τι είναι διαθέσιμο στην αγορά, όλες οι CPU φαίνεται να έχουν περίπου την ίδια ταχύτητα, με τις κύριες διαφορές να είναι περισσότεροι ή περισσότεροι πυρήνες.
Για παράδειγμα:
- Intel Core i5-7600K, συχνότητα βάσης 3,80 GHz, 4 πυρήνες, 4 σπειρώματα
- Intel Core i7-7700K, συχνότητα βάσης 4,20 GHz, 4 πυρήνες, 8 σπειρώματα
- AMD Ryzen 5 1600X, συχνότητα βάσης 3,60 GHz, 6πυρήνες, 12 σπειρώματα
- AMD Ryzen 7 1800X, συχνότητα βάσης 3,60 GHz, 8 πυρήνες, 16 σπειρώματα
Γιατί βλέπουμε αυτό το μοτίβο αυξανόμενων πυρήνων, όμως όλοι οι πυρήνες έχουν την ίδια ταχύτητα ρολογιού;Γιατί δεν υπάρχουν παραλλαγές με διαφορετικές ταχύτητες ρολογιού;Για παράδειγμα, δύο "μεγάλοι" πυρήνες και πολλοί μικροί πυρήνες.
Αντί να λέμε τέσσερις πυρήνες στα 4,0 GHz( δηλαδή 4 × 4 GHz, μέγιστο 16 GHz), τι γίνεται με μια CPU με δύο πυρήνες που λειτουργούν στα 4,0 GHz και τέσσερις πυρήνες που λειτουργούν στα 2,0 GHz( δηλαδή 2 × 4,0 GHz + 4 ×2,0 GHz, μέγιστο 16 GHz);Μήπως η δεύτερη επιλογή θα ήταν εξίσου καλή σε φόρμες εργασίας με ένα μόνο σπείρωμα, αλλά ενδεχομένως καλύτερη σε φορτία πολλαπλών σπειρωμάτων;
Το ρωτώ αυτό ως μια γενική ερώτηση και όχι συγκεκριμένα όσον αφορά τις CPU που αναφέρονται παραπάνω ή σχετικά με ένα συγκεκριμένο φόρτο εργασίας.Είμαι απλώς περίεργος γιατί το πρότυπο είναι αυτό που είναι.
Γιατί οι πυρήνες CPU έχουν την ίδια ταχύτητα αντί για διαφορετικούς;
Ο συνδρομητής της απάντησης
SuperUser bwDraco έχει την απάντηση για εμάς:
Αυτό είναι γνωστό ως ετερογενής πολλαπλής επεξεργασίας( HMP) και υιοθετείται ευρέως από κινητές συσκευές.Στις συσκευές ARM που υλοποιούν το big. LITTLE, ο επεξεργαστής περιέχει πυρήνες με διαφορετικά χαρακτηριστικά απόδοσης και ισχύος, δηλαδή μερικοί πυρήνες τρέχουν γρήγορα αλλά αντλούν μεγάλη ισχύ( ταχύτερη αρχιτεκτονική ή / και υψηλότερα ρολόγια) ενώ άλλα είναι ενεργειακά αποδοτικά αλλά αργάβραδύτερη αρχιτεκτονική και / ή χαμηλότερα ρολόγια).Αυτό είναι χρήσιμο, επειδή η χρήση ενέργειας τείνει να αυξάνεται δυσανάλογα καθώς αυξάνετε την απόδοση μόλις περάσετε ένα συγκεκριμένο σημείο.Η ιδέα εδώ είναι να αποκτήσετε απόδοση όταν τη χρειάζεστε και τη διάρκεια ζωής της μπαταρίας όταν δεν το κάνετε.
Στις πλατφόρμες επιφάνειας εργασίας, η κατανάλωση ενέργειας είναι πολύ λιγότερο θέμα, οπότε αυτό δεν είναι πραγματικά απαραίτητο.Οι περισσότερες εφαρμογές αναμένουν ότι κάθε πυρήνας θα έχει παρόμοια χαρακτηριστικά απόδοσης και οι διαδικασίες προγραμματισμού για τα συστήματα HMP είναι πολύ πιο πολύπλοκες από τον προγραμματισμό για παραδοσιακά συμμετρικά συστήματα πολλαπλής επεξεργασίας( τεχνικά, τα Windows 10 έχουν υποστήριξη για το HMP, αλλά προορίζονται κυρίως για κινητάσυσκευές που χρησιμοποιούν ARM big. LITTLE).
Επίσης, οι περισσότεροι επεξεργαστές επιτραπέζιων υπολογιστών και φορητών υπολογιστών σήμερα δεν είναι θερμικά ή ηλεκτρικά περιορισμένοι στο σημείο όπου κάποιοι πυρήνες πρέπει να λειτουργούν γρηγορότερα από άλλους, ακόμα και για σύντομες εκρήξεις.Βασικά χτυπήσαμε έναν τοίχο για το πόσο γρήγορα μπορούμε να κατασκευάσουμε μεμονωμένους πυρήνες, οπότε η αντικατάσταση μερικών πυρήνων με βραδύτερους δεν θα επιτρέψει στους υπόλοιπους πυρήνες να τρέξουν γρηγορότερα.
Ενώ υπάρχουν μερικοί επεξεργαστές επιτραπέζιων υπολογιστών που διαθέτουν έναν ή δύο πυρήνες που μπορούν να τρέχουν ταχύτερα από τους άλλους, αυτή η δυνατότητα περιορίζεται αυτή τη στιγμή σε ορισμένους επεξεργαστές Intel υψηλής τεχνολογίας( γνωστός ως Turbo Boost Max Technology 3.0) και περιλαμβάνει μόνο ένα μικρό κέρδοςσε απόδοση για τους πυρήνες που μπορούν να τρέξουν γρηγορότερα.
Ενώ είναι σίγουρα δυνατή η σχεδίαση ενός παραδοσιακού επεξεργαστή x86 με μεγάλους, γρήγορους πυρήνες και μικρότερους, βραδύτερους πυρήνες για βελτιστοποίηση για φόρτου εργασίας με μεγάλο σπείρωμα, αυτό θα προσδώσει σημαντική πολυπλοκότητα στον σχεδιασμό του επεξεργαστή και οι εφαρμογές είναι απίθανο να το υποστηρίξουν σωστά.
Πάρτε έναν υποθετικό επεξεργαστή με δύο γρήγορους πυρήνες Kaby Lake( 7ης γενιάς) και οκτώ αργούς πυρήνες Goldmont( Atom).Θα έχετε συνολικά 10 πυρήνες και οι φόρτοι εργασίας που έχουν βελτιστοποιηθεί για αυτό το είδος επεξεργαστή μπορεί να έχουν κέρδος στην απόδοση και απόδοση σε σχέση με έναν κανονικό τετραπύρηνο επεξεργαστή Kaby Lake.Ωστόσο, οι διάφοροι τύποι πυρήνων έχουν άκρως διαφορετικά επίπεδα απόδοσης και οι αργίοι πυρήνες δεν υποστηρίζουν καν μερικές από τις οδηγίες που υποστηρίζουν οι γρήγοροι πυρήνες, όπως το AVX( το ARM αποφεύγει αυτό το ζήτημα απαιτώντας τόσο τους μεγάλους όσο και τους LITTLE πυρήνες να υποστηρίζουν τις ίδιες οδηγίες).
Και πάλι, οι περισσότερες εφαρμογές πολλαπλών νημάτων με βάση τα Windows υποθέτουν ότι κάθε πυρήνας έχει το ίδιο ή σχεδόν το ίδιο επίπεδο απόδοσης και μπορεί να εκτελέσει τις ίδιες οδηγίες, οπότε αυτό το είδος ασυμμετρίας είναι πιθανό να οδηγήσει σε λιγότερη από την ιδανική απόδοση, ίσωςακόμη και σε περίπτωση διακοπής λειτουργίας, εάν χρησιμοποιεί οδηγίες που δεν υποστηρίζονται από τους βραδύτερους πυρήνες.Ενώ η Intel θα μπορούσε να τροποποιήσει τους αργούς πυρήνες για να προσθέσει προηγμένη υποστήριξη οδηγιών, έτσι ώστε όλοι οι πυρήνες να μπορούν να εκτελέσουν όλες τις οδηγίες, αυτό δεν θα επιλύσει ζητήματα με υποστήριξη λογισμικού για ετερογενείς επεξεργαστές.
Μια διαφορετική προσέγγιση στο σχεδιασμό εφαρμογής, πιο κοντά σε αυτό που πιθανώς σκέφτεστε στην ερώτησή σας, θα χρησιμοποιεί τη GPU για την επιτάχυνση των εξαιρετικά παράλληλων τμημάτων εφαρμογών.Αυτό μπορεί να γίνει χρησιμοποιώντας API όπως το OpenCL και το CUDA.Σε ό, τι αφορά μια λύση με ένα τσιπ, η AMD προωθεί την υποστήριξη υλικού για την επιτάχυνση GPU στις APU της, η οποία συνδυάζει μια παραδοσιακή CPU και μια ενσωματωμένη GPU υψηλής απόδοσης στην ίδια μάρκα, όπως η Heterogeneous System Architecture.μερικών εξειδικευμένων εφαρμογών.
Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.Πιστοποίηση εικόνας
: Mirko Waltermann( Flickr)