Πόσοι βασικοί επεξεργαστές είναι καλύτεροι. Τι επηρεάζει τον αριθμό των πυρήνων του επεξεργαστή; Πολυπύρηνος επεξεργαστής

Είπα γιατί η αύξηση της συχνότητας των επεξεργαστών σταμάτησε σε μερικά gigahertz. Τώρα ας μιλήσουμε για το γιατί η ανάπτυξη του αριθμού των πυρήνων στους επεξεργαστές χρήστη είναι επίσης εξαιρετικά αργή: για παράδειγμα, ο πρώτος ειλικρινής επεξεργαστής διπλού πυρήνα (όπου και οι δύο πυρήνες ήταν στο ίδιο τσιπ), χτισμένος στην αρχιτεκτονική x86, εμφανίστηκε ήδη στο 2006, πριν από 12 χρόνια - αυτή ήταν η σειρά Intel Core Duo. Και από τότε, οι επεξεργαστές 2 πυρήνων δεν έχουν εγκαταλείψει την αρένα, επιπλέον, αναπτύσσονται ενεργά: για παράδειγμα, μόλις τις προάλλες βγήκε ένας φορητός υπολογιστής Lenovo με επεξεργαστή βασισμένο στην πιο πρόσφατη (για αρχιτεκτονική x86) τεχνολογία επεξεργασίας 10 nm . Και ναι, το μαντέψατε, αυτός ο επεξεργαστής έχει ακριβώς 2 πυρήνες.

Για τους επεξεργαστές καταναλωτών, ο αριθμός των πυρήνων έχει σταματήσει στους 6 από το 2010, με την κυκλοφορία της σειράς AMD Phenom X6 - ναι, η AMD FX δεν ήταν ειλικρινείς επεξεργαστές 8 πυρήνων (υπήρχαν 4 APU), καθώς και το Ryzen 7 είναι δύο μπλοκ 4 πυρήνων τοποθετημένα δίπλα δίπλα σε ένα κρύσταλλο. Και τότε, φυσικά, τίθεται το ερώτημα - γιατί έτσι; Άλλωστε, οι ίδιες κάρτες γραφικών, όντας ουσιαστικά «μονοκέφαλοι» (δηλαδή έχοντας 1 shader) το 1995-6, κατάφεραν να αυξήσουν τον αριθμό τους σε αρκετές χιλιάδες μέχρι σήμερα - για παράδειγμα, υπάρχουν τόσες 5120 από αυτά στο Nvidia Titan V! Ταυτόχρονα, για μια πολύ μεγαλύτερη περίοδο ανάπτυξης της αρχιτεκτονικής x86, οι επεξεργαστές χρήστη σταμάτησαν σε ειλικρινείς 6 πυρήνες σε ένα τσιπ και CPU για υπολογιστές υψηλής απόδοσης - στους 18, δηλαδή, μερικές τάξεις μεγέθους μικρότερος από κάρτες γραφικών. Γιατί; Θα μιλήσουμε για αυτό παρακάτω.

Αρχιτεκτονική CPU

Αρχικά, όλοι οι επεξεργαστές Intel x86 κατασκευάστηκαν στην αρχιτεκτονική CISC (Complex Instruction Set Computing, επεξεργαστές με πλήρες σύνολο εντολών) - δηλαδή εφάρμοσαν τον μέγιστο αριθμό εντολών "για όλες τις περιπτώσεις". Από τη μία πλευρά, αυτό είναι υπέροχο: για παράδειγμα, στη δεκαετία του '90, η CPU ήταν υπεύθυνη για την απόδοση της εικόνας, ακόμη και για τον ήχο (υπήρχε μια τέτοια ζωή - αν το παιχνίδι επιβραδύνει, απενεργοποιώντας τον ήχο σε αυτό μπορώ να βοηθήσω). Και ακόμη και τώρα ο επεξεργαστής είναι ένα είδος συνδυασμού που μπορεί να κάνει τα πάντα - και αυτό είναι επίσης ένα πρόβλημα: ο παραλληλισμός μιας τυχαίας εργασίας σε πολλούς πυρήνες δεν είναι μια ασήμαντη εργασία. Ας πούμε ότι είναι εύκολο να γίνει με δύο πυρήνες: «κρεμάμε» το σύστημα και όλες τις εργασίες παρασκηνίου στον έναν πυρήνα και μόνο την εφαρμογή στον άλλο. Αυτό θα λειτουργεί πάντα, αλλά το κέρδος απόδοσης δεν θα είναι διπλάσιο, καθώς συνήθως οι διαδικασίες παρασκηνίου απαιτούν σημαντικά λιγότερους πόρους από την τρέχουσα βαριά εργασία.

Στα αριστερά υπάρχει ένα διάγραμμα της GPU Nvidia GTX 980 Ti, που δείχνει 2816 πυρήνες CUDA συγκεντρωμένους. Στα δεξιά είναι μια φωτογραφία ενός καλουπιού επεξεργαστή AMD Ryzen που δείχνει 4 μεγάλους πυρήνες.

Και τώρα φανταστείτε ότι δεν έχουμε δύο, αλλά 4 ή και 8 πυρήνες. Ναι, η παραλληλοποίηση λειτουργεί καλά στην αρχειοθέτηση και σε άλλους υπολογισμούς (γι' αυτό οι ίδιοι επεξεργαστές διακομιστή μπορούν να έχουν πολλές δεκάδες πυρήνες). Τι γίνεται όμως αν έχουμε μια εργασία με τυχαίο αποτέλεσμα (εκ των οποίων, δυστυχώς, η πλειοψηφία) - ας πούμε, ένα παιχνίδι; Σε τελική ανάλυση, εδώ κάθε νέα ενέργεια εξαρτάται εξ ολοκλήρου από τον παίκτη, επομένως η "σκορπία" ενός τέτοιου φορτίου σε πολλούς πυρήνες δεν είναι εύκολη υπόθεση, γι' αυτό οι προγραμματιστές συχνά ορίζουν "χειροκίνητα" τι κάνουν οι πυρήνες: για παράδειγμα, μπορεί κανείς να κατειλημμένη επεξεργασία δράσης τεχνητή νοημοσύνη, άλλος είναι υπεύθυνος μόνο για τον ήχο surround κ.ο.κ. Η φόρτωση ακόμη και ενός επεξεργαστή 8 πυρήνων με αυτόν τον τρόπο είναι σχεδόν αδύνατη, πράγμα που βλέπουμε στην πράξη.

Με τις κάρτες γραφικών, όλα είναι πιο απλά: η GPU, στην πραγματικότητα, ασχολείται με υπολογισμούς και μόνο αυτούς, και ο αριθμός των τύπων υπολογισμών είναι περιορισμένος και μικρός. Επομένως, πρώτον, είναι δυνατό να βελτιστοποιηθούν οι ίδιοι οι πυρήνες υπολογιστών (η Nvidia τους ονομάζει CUDA) ακριβώς για τις απαραίτητες εργασίες και, δεύτερον, επειδή είναι γνωστές όλες οι πιθανές εργασίες, η διαδικασία παραλληλισμού τους δεν προκαλεί δυσκολίες. Και τρίτον, ο έλεγχος δεν γίνεται από μεμονωμένους shaders, αλλά από υπολογιστικές μονάδες, οι οποίες περιλαμβάνουν 64-192 shaders, οπότε μεγάλος αριθμός shaders δεν είναι πρόβλημα.

Κατανάλωση ενέργειας

Ένας από τους λόγους για την άρνηση συνέχισης του αγώνα συχνοτήτων είναι η απότομη αύξηση της κατανάλωσης ενέργειας. Όπως εξήγησα ήδη στο άρθρο σχετικά με την επιβράδυνση της αύξησης της συχνότητας της CPU, η απαγωγή θερμότητας του επεξεργαστή είναι ανάλογη με τον κύβο της συχνότητας. Με άλλα λόγια, εάν σε συχνότητα 2 GHz ο επεξεργαστής παράγει 100 W θερμότητας, η οποία, κατ 'αρχήν, μπορεί να αφαιρεθεί εύκολα με ένα ψυγείο αέρα, τότε στα 4 GHz θα είναι ήδη 800 W, η οποία μπορεί να εκτραπεί σε καλύτερη περίπτωσηένας θάλαμος εξάτμισης με υγρό άζωτο (αν και θα πρέπει να ληφθεί υπόψη ότι ο τύπος εξακολουθεί να είναι κατά προσέγγιση και ο επεξεργαστής δεν έχει μόνο υπολογιστικούς πυρήνες, αλλά είναι πολύ πιθανό να πάρει τη σειρά των αριθμών με τη βοήθειά του).

Ως εκ τούτου, η ανάπτυξη σε πλάτος ήταν μια εξαιρετική διέξοδος: έτσι, χονδρικά, ένας επεξεργαστής διπλού πυρήνα 2 GHz θα καταναλώνει 200 ​​W, αλλά ένας μονοπύρηνος επεξεργαστής 3 GHz θα καταναλώνει σχεδόν 340 W, δηλαδή ένα κέρδος στη διάχυση θερμότητας κατά περισσότερο από 50%, ενώ σε εργασίες με καλή βελτιστοποίηση για multithreading, ένας επεξεργαστής διπλού πυρήνα χαμηλής συχνότητας θα εξακολουθεί να είναι ταχύτερος από έναν μονοπύρηνο υψηλής συχνότητας.


Ένα παράδειγμα θαλάμου ατμών υγρού αζώτου για ψύξη εξαιρετικά υπερχρονισμένων CPU.

Φαίνεται ότι αυτό είναι ένα ορυχείο χρυσού, που φτιάχνει γρήγορα έναν επεξεργαστή 10 πυρήνων με συχνότητα 1 GHz, ο οποίος θα παράγει μόνο 25% περισσότερη θερμότητα από έναν μονοπύρηνο CPU με 2 GHz (αν ένας επεξεργαστής 2 GHz παράγει 100 W θερμότητας, τότε το 1 GHz είναι μόνο 12,5 W, 10 πυρήνες - περίπου 125 W). Αλλά εδώ αντιμετωπίζουμε γρήγορα το γεγονός ότι δεν είναι καλά παραλληλισμένες όλες οι εργασίες, επομένως στην πράξη συχνά αποδεικνύεται ότι ένας πολύ φθηνότερος μονοπύρηνος CPU με 2 GHz θα είναι σημαντικά ταχύτερος από έναν πολύ πιο ακριβό 10πύρηνο, αλλά με 1 GHz. Ωστόσο, υπάρχουν τέτοιοι επεξεργαστές - στο τμήμα διακομιστών, όπου δεν υπάρχουν προβλήματα με την παραλληλοποίηση εργασιών και μια CPU 40-60 πυρήνων με συχνότητες 1,5 GHz συχνά αποδεικνύεται ότι είναι αρκετές φορές ταχύτερη από τους επεξεργαστές πυρήνων 8-10 με συχνότητες κάτω από 4 GHz, ενώ εκχωρεί συγκρίσιμη ποσότητα θερμότητας.

Ως εκ τούτου, οι κατασκευαστές CPU πρέπει να διασφαλίσουν ότι η απόδοση ενός σπειρώματος δεν υποφέρει από την ανάπτυξη των πυρήνων και λαμβάνοντας υπόψη το γεγονός ότι το όριο της απαγωγής θερμότητας σε έναν συνηθισμένο οικιακό υπολογιστή έχει «χτυπηθεί» για μεγάλο χρονικό διάστημα (περίπου 60 -100 W) - τρόποι για να αυξήσετε τον αριθμό των πυρήνων με την ίδια απόδοση ενός πυρήνα και την ίδια απαγωγή θερμότητας, υπάρχουν μόνο δύο επιλογές: είναι είτε η βελτιστοποίηση της ίδιας της αρχιτεκτονικής του επεξεργαστή, η αύξηση της απόδοσής του ανά ρολόι ή η μείωση την τεχνική διαδικασία. Αλλά, δυστυχώς, και οι δύο πάνε όλο και πιο αργά: για περισσότερα από 30 χρόνια ύπαρξης επεξεργαστών x86, σχεδόν ό,τι μπορεί να «γυαλιστεί» έχει ήδη «γυαλιστεί», επομένως η αύξηση είναι στην καλύτερη περίπτωση 5% ανά γενιά και μειώνεται η τεχνική διαδικασία γίνεται ολοένα και πιο δύσκολη λόγω θεμελιωδών προβλημάτων δημιουργίας τρανζίστορ που λειτουργούν σωστά (με διαστάσεις δέκα νανόμετρα, κβαντικά φαινόμενα έχουν ήδη αρχίσει να επηρεάζουν, είναι δύσκολο να κατασκευαστεί ένα κατάλληλο λέιζερ κ.λπ.) - επομένως, δυστυχώς, γίνεται όλο και πιο δύσκολο να αυξηθεί ο αριθμός των πυρήνων.

Μέγεθος κρυστάλλου

Αν κοιτάξουμε την περιοχή των τσιπ επεξεργαστών πριν από 15 χρόνια, θα δούμε ότι είναι μόνο περίπου 100-150 τετραγωνικά χιλιοστά. Πριν από περίπου 5-7 χρόνια τα τσιπ «μεγάλωσαν» στα 300-400 τ.μ και... ουσιαστικά σταμάτησε η διαδικασία. Γιατί; Είναι απλό - πρώτον, είναι πολύ δύσκολο να παραχθούν γιγάντιοι κρύσταλλοι, γεγονός που αυξάνει απότομα τον αριθμό των απορρίψεων και, ως εκ τούτου, το τελικό κόστος της CPU.

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


Σύγκριση κρυστάλλων Intel Pentium 3 και Core i9.

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

Τελικά μέγιστο μέγεθοςο κρύσταλλος έχει σταματήσει κάπου στα 500 τετραγωνικά mm και είναι απίθανο να αναπτυχθεί - επομένως, για να αυξήσετε τον αριθμό των πυρήνων, πρέπει να μειώσετε το μέγεθός τους. Φαίνεται ότι η ίδια Nvidia ή η AMD μπόρεσαν να το κάνουν αυτό και οι GPU τους έχουν χιλιάδες shader. Αλλά εδώ πρέπει να γίνει κατανοητό ότι τα shaders δεν είναι πλήρεις πυρήνες - για παράδειγμα, δεν έχουν τη δική τους κρυφή μνήμη, αλλά μόνο μια κοινή, συν το "ακόνισμα" για ορισμένες εργασίες επέτρεψε να "πετάξουμε" οτιδήποτε περιττό από τα οποία επηρέασαν και πάλι το μέγεθός τους. Και η CPU όχι μόνο έχει πλήρεις πυρήνες με τη δική της κρυφή μνήμη, αλλά συχνά γραφικά και διάφοροι ελεγκτές βρίσκονται στο ίδιο τσιπ - έτσι στο τέλος, και πάλι, σχεδόν οι μόνοι τρόποι για να αυξήσετε τον αριθμό των πυρήνων με το ίδιο μέγεθος τσιπ είναι όλες η ίδια βελτιστοποίηση και η ίδια μείωση στην τεχνική διαδικασία, αλλά, όπως έγραψα ήδη, προχωρούν αργά.

Βελτιστοποίηση εργασίας

Ας φανταστούμε ότι έχουμε μια ομάδα ανθρώπων που εκτελεί διάφορες εργασίες, μερικές από τις οποίες απαιτούν την εργασία πολλών ανθρώπων ταυτόχρονα. Εάν υπάρχουν δύο άτομα σε αυτό, θα μπορούν να συμφωνήσουν και να λειτουργήσουν αποτελεσματικά. Το τέσσερα είναι ήδη πιο δύσκολο, αλλά το έργο θα είναι επίσης αρκετά αποτελεσματικό. Τι κι αν υπάρχουν 10 ή και 20 άτομα; Εδώ χρειάζονται ήδη κάποια μέσα επικοινωνίας μεταξύ τους, διαφορετικά θα υπάρξουν «στρεβλώσεις» στη δουλειά όταν κάποιος δεν είναι απασχολημένος με τίποτα. Σε επεξεργαστές της Intel, ένα τέτοιο μέσο επικοινωνίας είναι ένας δακτύλιος δακτυλίου που συνδέει όλους τους πυρήνες και τους επιτρέπει να ανταλλάσσουν πληροφορίες μεταξύ τους.

Αλλά ακόμη και αυτό δεν βοηθά: για παράδειγμα, στις ίδιες συχνότητες, οι επεξεργαστές 10 πυρήνων και 18 πυρήνων της Intel της γενιάς Skylake-X διαφέρουν στην απόδοση μόνο κατά 25-30%, αν και θεωρητικά θα πρέπει να είναι όσο 80%. Ο λόγος είναι μόνο στο λεωφορείο - όσο καλό κι αν είναι, θα υπάρχουν ακόμα καθυστερήσεις και διακοπές λειτουργίας και όσο περισσότεροι πυρήνες, τόσο χειρότερη θα είναι η κατάσταση. Αλλά γιατί τότε δεν υπάρχουν τέτοια προβλήματα στις κάρτες γραφικών; Είναι απλό - εάν οι πυρήνες του επεξεργαστή μπορούν να φανταστούν από άτομα που μπορούν να εκτελέσουν διάφορες εργασίες, τότε οι υπολογιστικές μονάδες των καρτών βίντεο μοιάζουν περισσότερο με ρομπότ σε έναν μεταφορέα που μπορούν να εκτελέσουν μόνο ορισμένες οδηγίες. Στην πραγματικότητα, δεν χρειάζεται να "διαπραγματεύονται" - επομένως, με την αύξηση του αριθμού τους, η απόδοση πέφτει πιο αργά: για παράδειγμα, η διαφορά στο CUDA μεταξύ 1080 (2560 τεμάχια) και 1080 Ti (3584 τεμάχια) είναι 40 %, στην πράξη είναι περίπου 25-35%, τότε υπάρχουν σημαντικά λιγότερες απώλειες.


Όσο περισσότεροι πυρήνες, τόσο χειρότερα συνεργάζονται, με μηδενικό κέρδος απόδοσης όσο αυξάνεται ο αριθμός των πυρήνων.

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

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

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

Κοιτάξτε λοιπόν, επιτρέψτε μου να σας δείξω με ένα παράδειγμα γιατί μερικές φορές πολλοί πυρήνες είναι καλύτεροι και μερικές φορές μια υψηλή συχνότητα είναι καλύτερη. Κοιτάξτε, για παράδειγμα, ας πάρουμε έναν υπολογιστή γραφείου, όπου δημιουργούν και επεξεργάζονται έγγραφα, χρησιμοποιούν το Διαδίκτυο, προγράμματα περιήγησης. Όλα αυτά δεν είναι ιδιαίτερα απαιτητικά καθήκοντα, αλλά για άνεση είναι καλύτερα όλα αυτά να λειτουργούν γρήγορα. Ναι, εδώ μπορείτε να πάρετε για παράδειγμα τον επεξεργαστή Core i5 και θα εξακολουθεί να λειτουργεί γρήγορα. Αλλά θα έπαιρνα το Pentium G3258 εδώ (ως παράδειγμα), αυτό είναι το Stump, υπάρχουν δύο πυρήνες και μπορεί να υπερχρονιστεί καλά. Αλλά κοστίζει πολύ φθηνότερα από το i5. Μπορείτε να το υπερχρονίσετε έως και 4,4 GHz, ας πούμε έτσι, είναι ασφαλές overclocking. Και αυτοί οι δύο πυρήνες σε συχνότητα 4,4 GHz θα σας επιτρέψουν να αποκτήσετε έναν αρκετά γρήγορο υπολογιστή. Και αν κάνεις overclock στα 4,6 GHz, είναι ακόμα καλύτερο. Ταυτόχρονα, ο επεξεργαστής δεν θερμαίνεται ιδιαίτερα τρομερά, αλλά μια καλή ψύκτρα είναι φυσικά αυτό που χρειάζεται.

Εδώ είναι ένα τέτοιο overclocking του Pentium G3258 θα δικαιολογηθεί τόσο από άποψη τιμής όσο και από πλευράς απόδοσης

Τώρα ας πάρουμε τα αγαπημένα παιχνίδια όλων. Παίζετε συχνά πολλά παιχνίδια ταυτόχρονα; Νομίζω πως όχι. Επομένως, δεν έχει νόημα ο μεγάλος αριθμός πυρήνων. Αλλά από την άλλη, δύο πυρήνες δεν θα είναι αρκετοί. Εδώ ο ιδανικός χρυσός μέσος είναι 4 πυρήνες, έχουμε επεξεργαστή i5, εννοώ αυτό για σταθερούς υπολογιστές, γιατί τα laptop i5 μπορούν να έχουν είτε 2 πυρήνες και 4 νήματα, είτε μόνο 4 πυρήνες, αλλά οι επεξεργαστές φορητών υπολογιστών είναι σίγουρα πιο αδύναμοι. Ιδανικά για παιχνίδια, αυτοί είναι 4 πυρήνες σε υψηλή συχνότητα, τουλάχιστον στα 4,2 GHz, αυτό είναι ήδη αρκετό για μερικά χρόνια μπροστά, όπως μου φαίνεται. Λοιπόν, για τρία χρόνια, αυτό είναι σίγουρο. Το i7 είναι σχεδόν το ίδιο, αλλά ΕΥΡΥΤΕΡΟ σε ισχύ. Βλέπεις. Όχι πιο γρήγορα, αλλά ΠΕΡΙΣΣΟΤΕΡΑ, δηλαδή, θα μπορεί να τραβήξει κάτι άλλο εκτός από το παιχνίδι, για παράδειγμα, το δεύτερο παιχνίδι, αν είστε μοναδικός και παίζετε δύο παιχνίδια ταυτόχρονα..

Υπάρχει μια άλλη στιγμή. Σχετικά με την υψηλή συχνότητα και δύο πυρήνες και γιατί είναι καλύτερο για υπολογιστή γραφείου. Είστε βέβαιοι ότι όλα τα προγράμματά σας μπορούν να εκτελεστούν σε λειτουργία πολλαπλών νημάτων; Και πόσο καλά είναι βελτιστοποιημένα για αυτήν τη λειτουργία; Λοιπόν, τι μπορώ να πω, πολλά προγράμματα λειτουργούν καλά σε λειτουργία πολλαπλών νημάτων, τα παλιά προγράμματα, φυσικά, λειτουργούν χειρότερα. Αλλά ό,τι και να πει κανείς, ένα ΜΗ βελτιστοποιημένο πρόγραμμα θα λειτουργήσει καλύτερα σε δύο ισχυρούς πυρήνες παρά σε τέσσερις με όχι πολύ υψηλή συχνότητα, για παράδειγμα, 3 GHz. Είναι επίσης μια στιγμή, σκεφτείτε το αν επιλέξετε επεξεργαστή. Οπότε για έναν ηλίθιο υπολογιστή γραφείου, θα έπαιρνα έναν διπύρηνο με ξεκλείδωτο πολλαπλασιαστή, για να μπορέσω να τον κάνω overclock καλά αργότερα.

Γενικά, μου φαίνεται ότι το i7 είναι πιο κατάλληλο όχι για παιχνίδια, αλλά για κάποιες εργασίες που απαιτούν περισσότερους πόρους. Λοιπόν, για παράδειγμα, επεξεργασία βίντεο, κάθε είδους photoshop, μετατροπή κάτι .. Είναι επίσης καλό για παιχνίδια, χωρίς αμφιβολία, και αν θέλετε να πάρετε έναν επεξεργαστή με καλό αποθεματικό ισχύος, τότε φυσικά είναι καλύτερα να πάρετε ένα i7 ( αλλά σίγουρα κοστίζει πολύ).

Λοιπόν, όλα τα παιδιά, αυτό είναι όλο, ελπίζω ότι εδώ μπόρεσα να σας μεταφέρω την ιδέα μου και ότι όλα ήταν ξεκάθαρα για εσάς εδώ. Καλή συνέχεια και να είσαι πάντα σε καλή διάθεση

17.11.2016
  • φροντιστήριο

Σε αυτό το άρθρο, θα προσπαθήσω να περιγράψω την ορολογία που χρησιμοποιείται για την περιγραφή συστημάτων ικανών να εκτελούν πολλαπλά προγράμματα παράλληλα, π.χ. πολλαπλών πυρήνων, πολλαπλών επεξεργαστών, πολλαπλών νημάτων. Εμφανίστηκαν διάφοροι τύποι παραλληλισμού στην CPU IA-32 διαφορετική ώρακαι με μια κάπως ασυνεπή σειρά. Είναι εύκολο να μπερδευτείς σε όλα αυτά, ειδικά δεδομένου ότι τα λειτουργικά συστήματα φροντίζουν να κρύβουν λεπτομέρειες από λιγότερο εξελιγμένα προγράμματα εφαρμογών.

Ο σκοπός του άρθρου είναι να δείξει ότι με όλη την ποικιλία των πιθανών διαμορφώσεων συστημάτων πολλαπλών επεξεργαστών, πολλαπλών πυρήνων και πολλαπλών νημάτων για προγράμματα που εκτελούνται σε αυτά, δημιουργούνται ευκαιρίες τόσο για αφαίρεση (αγνοώντας τις διαφορές) όσο και για λήψη υπόψη ιδιαιτεροτήτων ( τη δυνατότητα προγραμματισμού εκμάθησης της διαμόρφωσης).

Προειδοποίηση σχετικά με τα σημάδια ®, ™, στο άρθρο

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

ΕΠΕΞΕΡΓΑΣΤΗΣ

Φυσικά, ο παλαιότερος, πιο συχνά χρησιμοποιούμενος και διφορούμενος όρος είναι «επεξεργαστής».

ΣΕ σύγχρονος κόσμοςο επεξεργαστής είναι αυτός (πακέτο) που αγοράζουμε σε ένα όμορφο κουτί Retail ή όχι πολύ όμορφο πακέτο OEM. Μια αδιαίρετη οντότητα που εισάγεται σε μια υποδοχή σε μια μητρική πλακέτα. Ακόμα κι αν δεν υπάρχει σύνδεσμος και δεν μπορεί να αφαιρεθεί, δηλαδή αν είναι σφιχτά κολλημένο, αυτό είναι ένα τσιπ.

Τα συστήματα κινητής τηλεφωνίας (τηλέφωνα, tablet, φορητοί υπολογιστές) και οι περισσότεροι επιτραπέζιοι υπολογιστές έχουν έναν μόνο επεξεργαστή. Οι σταθμοί εργασίας και οι διακομιστές μερικές φορές διαθέτουν δύο ή περισσότερους επεξεργαστές στην ίδια μητρική πλακέτα.

Η υποστήριξη πολλαπλών CPU σε ένα μόνο σύστημα απαιτεί πολλές αλλαγές σχεδιασμού. Τουλάχιστον, είναι απαραίτητο να διασφαλιστεί η φυσική σύνδεσή τους (παρέχετε πολλές υποδοχές στη μητρική πλακέτα), να λύσετε τα προβλήματα αναγνώρισης επεξεργαστών (βλ. παρακάτω σε αυτό το άρθρο, καθώς και τη σημείωσή μου), να συντονιστούν οι προσβάσεις στη μνήμη και να παραδοθούν διακοπές (το ο ελεγκτής διακοπής πρέπει να μπορεί να δρομολογεί διακοπές σε πολλούς επεξεργαστές) και, φυσικά, υποστήριξη από το λειτουργικό σύστημα. Δυστυχώς, δεν μπόρεσα να βρω τεκμηριωμένη αναφορά για τη στιγμή που δημιουργήθηκε το πρώτο σύστημα πολλαπλών επεξεργαστών σε επεξεργαστές Intel, αλλά η Wikipedia ισχυρίζεται ότι η Sequent Computer Systems τους παρείχε ήδη το 1987 χρησιμοποιώντας επεξεργαστές Intel 80386. Γίνεται διαθέσιμη ευρεία υποστήριξη για πολλά τσιπ σε ένα σύστημα ξεκινώντας με το Intel® Pentium.

Εάν υπάρχουν πολλοί επεξεργαστές, τότε καθένας από αυτούς έχει τη δική του υποδοχή στην πλακέτα. Ταυτόχρονα, καθένα από αυτά έχει πλήρη ανεξάρτητα αντίγραφα όλων των πόρων, όπως καταχωρητές, συσκευές εκτέλεσης, κρυφές μνήμες. Μοιράζονται μια κοινή μνήμη - RAM. Η μνήμη μπορεί να συνδεθεί μαζί τους με διάφορους και μάλλον μη τετριμμένους τρόπους, αλλά αυτή είναι μια ξεχωριστή ιστορία που ξεφεύγει από το σκοπό αυτού του άρθρου. Το σημαντικό είναι ότι σε κάθε περίπτωση, τα εκτελέσιμα προγράμματα πρέπει να δημιουργούν την ψευδαίσθηση μιας ομοιογενούς κοινόχρηστης μνήμης, προσβάσιμης από όλους τους επεξεργαστές του συστήματος.


Ετοιμος για απογείωση! Intel® Desktop Board D5400XS

Πυρήνας

Ιστορικά, ο πολυπύρηνος στο Intel IA-32 εμφανίστηκε αργότερα από το Intel® HyperThreading, αλλά ακολουθεί στη λογική ιεραρχία.

Φαίνεται ότι εάν υπάρχουν περισσότεροι επεξεργαστές στο σύστημα, τότε η απόδοσή του είναι υψηλότερη (σε εργασίες που μπορούν να χρησιμοποιήσουν όλους τους πόρους). Ωστόσο, εάν το κόστος των επικοινωνιών μεταξύ τους είναι πολύ υψηλό, τότε όλο το κέρδος από τον παραλληλισμό σκοτώνεται από μεγάλες καθυστερήσεις στη μεταφορά κοινών δεδομένων. Αυτό ακριβώς παρατηρείται στα συστήματα πολλαπλών επεξεργαστών - τόσο φυσικά όσο και λογικά είναι πολύ μακριά το ένα από το άλλο. Για την αποτελεσματική επικοινωνία σε τέτοιες συνθήκες, πρέπει να εφευρεθούν εξειδικευμένα λεωφορεία όπως το Intel® QuickPath Interconnect. Η κατανάλωση ενέργειας, το μέγεθος και η τιμή της τελικής λύσης, φυσικά, δεν μειώνονται από όλα αυτά. Η υψηλή ολοκλήρωση εξαρτημάτων θα πρέπει να έρθει στη διάσωση - τα κυκλώματα που εκτελούν μέρη ενός παράλληλου προγράμματος πρέπει να συρθούν πιο στενός φίλοςσε έναν φίλο, κατά προτίμηση ένα κρύσταλλο. Με άλλα λόγια, ένας επεξεργαστής θα πρέπει να οργανώσει πολλούς πυρήνες, πανομοιότυπα μεταξύ τους σε όλα, αλλά λειτουργούν ανεξάρτητα.

Οι πρώτοι επεξεργαστές πολλαπλών πυρήνων IA-32 της Intel παρουσιάστηκαν το 2005. Από τότε, ο μέσος αριθμός πυρήνων σε πλατφόρμες διακομιστών, επιτραπέζιων υπολογιστών και τώρα κινητών αυξάνεται σταθερά.

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


Μικρογραφία τετραπύρηνου Επεξεργαστής Intelμε την κωδική ονομασία Nehalem. Επισημαίνονται ξεχωριστοί πυρήνες, κοινόχρηστη κρυφή μνήμη L3, καθώς και σύνδεσμοι QPI προς άλλους επεξεργαστές και ελεγκτής κοινής μνήμης.

υπερνήμα

Μέχρι το 2002 περίπου, ο μόνος τρόπος για να αποκτήσετε ένα σύστημα IA-32 ικανό να εκτελεί δύο ή περισσότερα προγράμματα παράλληλα ήταν να χρησιμοποιήσετε ειδικά συστήματα πολλαπλών επεξεργαστών. Το Intel® Pentium® 4, καθώς και η σειρά Xeon, με την κωδική ονομασία Foster (Netburst), εισήγαγαν μια νέα τεχνολογία - hyperthreading ή hyperthreading - Intel® HyperThreading (εφεξής HT).

Δεν υπάρχει τίποτα νέο κάτω από τον ήλιο. Το HT είναι μια ειδική περίπτωση αυτού που αναφέρεται στη βιβλιογραφία ως ταυτόχρονη πολυνηματική (SMT). Σε αντίθεση με τους «πραγματικούς» πυρήνες, που είναι πλήρη και ανεξάρτητα αντίγραφα, στην περίπτωση του HT, μόνο ένα μέρος των εσωτερικών κόμβων αντιγράφεται σε έναν επεξεργαστή, ο οποίος είναι κυρίως υπεύθυνος για την αποθήκευση της αρχιτεκτονικής κατάστασης - καταχωρητές. Οι εκτελεστικοί κόμβοι που είναι υπεύθυνοι για την οργάνωση και την επεξεργασία δεδομένων παραμένουν στον ενικό και ανά πάσα στιγμή χρησιμοποιούνται από το πολύ ένα από τα νήματα. Όπως και οι πυρήνες, τα υπερνήματα μοιράζονται τις κρυφές μνήμες μεταξύ τους, αλλά η έναρξη σε ποιο επίπεδο εξαρτάται από το συγκεκριμένο σύστημα.

Δεν θα προσπαθήσω να εξηγήσω όλα τα πλεονεκτήματα και τα μειονεκτήματα των σχεδίων SMT γενικά και των σχεδίων HT ειδικότερα. Ο ενδιαφερόμενος αναγνώστης μπορεί να βρει μια αρκετά λεπτομερή συζήτηση για την τεχνολογία σε πολλές πηγές, και φυσικά στη Wikipedia. Ωστόσο, θα σημειώσω το ακόλουθο σημαντικό σημείο, το οποίο εξηγεί τους τρέχοντες περιορισμούς στον αριθμό των υπερνημάτων στην πραγματική παραγωγή.

Όρια νημάτων
Σε ποιες περιπτώσεις δικαιολογείται η παρουσία «ανέντιμου» πολυπύρηνου σε μορφή ΗΤ; Εάν ένα νήμα εφαρμογής δεν μπορεί να φορτώσει όλους τους κόμβους εκτέλεσης μέσα στον πυρήνα, τότε μπορούν να «δανειστούν» σε άλλο νήμα. Αυτό είναι χαρακτηριστικό για εφαρμογές που έχουν «συμφόρηση» όχι στους υπολογισμούς, αλλά στην πρόσβαση στα δεδομένα, δηλαδή συχνά δημιουργούν αστοχίες κρυφής μνήμης και πρέπει να περιμένουν να παραδοθούν δεδομένα από τη μνήμη. Κατά τη διάρκεια αυτής της περιόδου, ο πυρήνας χωρίς HT θα αναγκαστεί σε αδράνεια. Η παρουσία του HT σάς επιτρέπει να αλλάζετε γρήγορα τους ελεύθερους κόμβους εκτέλεσης σε άλλη αρχιτεκτονική κατάσταση (επειδή απλώς είναι διπλός) και να εκτελέσετε τις οδηγίες του. Αυτή είναι μια ειδική περίπτωση ενός κόλπου που ονομάζεται απόκρυψη λανθάνοντος χρόνου, όταν μια μακρά λειτουργία, κατά την οποία οι χρήσιμοι πόροι είναι αδρανείς, καλύπτεται από την παράλληλη εκτέλεση άλλων εργασιών. Εάν η εφαρμογή έχει ήδη υψηλό βαθμό αξιοποίησης των πόρων του πυρήνα, η παρουσία υπερνήματος δεν θα επιτρέψει την επιτάχυνση - εδώ χρειάζονται "ειλικρινείς" πυρήνες.

Τυπικά σενάρια για εφαρμογές επιτραπέζιου υπολογιστή και διακομιστή που έχουν σχεδιαστεί για αρχιτεκτονικές μηχανών γενικού σκοπού έχουν τη δυνατότητα για παραλληλισμό που υλοποιείται με χρήση HT. Ωστόσο, αυτή η δυνατότητα γρήγορα «εξαντλείται». Ίσως για αυτόν τον λόγο, σε όλους σχεδόν τους επεξεργαστές IA-32, ο αριθμός των υπερνημάτων υλικού δεν ξεπερνά τα δύο. Σε τυπικά σενάρια, το κέρδος από τη χρήση τριών ή περισσότερων υπερνημάτων θα ήταν μικρό, αλλά η απώλεια σε μέγεθος καλουπιού, κατανάλωση ενέργειας και κόστος είναι σημαντική.

Μια άλλη κατάσταση παρατηρείται σε τυπικές εργασίες που εκτελούνται σε επιταχυντές βίντεο. Επομένως, αυτές οι αρχιτεκτονικές χαρακτηρίζονται από τη χρήση τεχνολογίας SMT με μεγαλύτερο αριθμό νημάτων. Δεδομένου ότι οι συνεπεξεργαστές Intel® Xeon Phi (που εισήχθησαν το 2010) είναι ιδεολογικά και γενεαλογικά αρκετά κοντά στις κάρτες γραφικών, μπορεί να έχουν τέσσερις Hyperthreading σε κάθε πυρήνα - μια διαμόρφωση μοναδική για το IA-32.

λογικός επεξεργαστής

Από τα τρία "επίπεδα" παραλληλισμού που περιγράφονται (επεξεργαστές, πυρήνες, υπερνηματοληψίες), μερικά ή ακόμα και όλα μπορεί να λείπουν σε ένα συγκεκριμένο σύστημα. Αυτό επηρεάζεται από τις ρυθμίσεις του BIOS (πολλών πυρήνων και πολλαπλών νημάτων απενεργοποιούνται ανεξάρτητα), τη μικροαρχιτεκτονική (για παράδειγμα, το HT απουσίαζε από το Intel® Core™ Duo, αλλά επανήλθε με την κυκλοφορία του Nehalem) και τα συμβάντα του συστήματος ( οι διακομιστές πολλαπλών επεξεργαστών μπορούν να τερματίσουν τους αποτυχημένους επεξεργαστές σε περίπτωση δυσλειτουργίας και να συνεχίσουν να "πετούν" στους υπόλοιπους). Πώς είναι ορατός αυτός ο πολυεπίπεδος ζωολογικός κήπος συγχρονισμού στο λειτουργικό σύστημα και, τελικά, στις εφαρμογές;

Επιπλέον, για λόγους ευκολίας, υποδηλώνουμε τον αριθμό των επεξεργαστών, των πυρήνων και των νημάτων σε κάποιο σύστημα με ένα τριπλάσιο ( Χ, y, z), Οπου Χείναι ο αριθμός των επεξεργαστών yείναι ο αριθμός των πυρήνων σε κάθε επεξεργαστή και zείναι ο αριθμός των υπερνημάτων σε κάθε πυρήνα. Στη συνέχεια, θα αναφερθώ σε αυτήν την τριάδα τοπολογία- ένας καθιερωμένος όρος που ελάχιστη σχέση έχει με το τμήμα των μαθηματικών. Δουλειά Π = xyzκαθορίζει τον αριθμό των οντοτήτων που ονομάζονται λογικούς επεξεργαστέςσυστήματα. Καθορίζει τον συνολικό αριθμό των ανεξάρτητων πλαισίων διαδικασίας εφαρμογής σε ένα σύστημα κοινής μνήμης που εκτελείται παράλληλα, τον οποίο πρέπει να λάβει υπόψη το λειτουργικό σύστημα. Λέω "αναγκαστική" γιατί δεν μπορεί να ελέγξει τη σειρά εκτέλεσης δύο διεργασιών που βρίσκονται σε διαφορετικούς λογικούς επεξεργαστές. Αυτό ισχύει και για τα υπερνήματα: αν και εκτελούνται «διαδοχικά» στον ίδιο πυρήνα, η συγκεκριμένη σειρά υπαγορεύεται από το υλικό και δεν είναι ορατή ούτε ελέγχεται από προγράμματα.

Τις περισσότερες φορές, το λειτουργικό σύστημα κρύβει από τις τελικές εφαρμογές τα χαρακτηριστικά της φυσικής τοπολογίας του συστήματος στο οποίο εκτελείται. Για παράδειγμα, οι ακόλουθες τρεις τοπολογίες: (2, 1, 1), (1, 2, 1) και (1, 1, 2) - το λειτουργικό σύστημα θα αναπαρασταθεί ως δύο λογικοί επεξεργαστές, αν και ο πρώτος από αυτούς έχει δύο επεξεργαστές , το δεύτερο έχει δύο πυρήνες και το τρίτο είναι μόνο δύο νήματα.


Η Διαχείριση εργασιών των Windows εμφανίζει 8 λογικούς επεξεργαστές. αλλά πόσο είναι αυτό σε επεξεργαστές, πυρήνες και υπερνήματα;


Το Linux top δείχνει 4 λογικούς επεξεργαστές.

Αυτό είναι αρκετά βολικό για τους δημιουργούς εφαρμογών - δεν χρειάζεται να αντιμετωπίσουν χαρακτηριστικά υλικού που είναι συχνά ασήμαντα για αυτούς.

Ορισμός τοπολογίας λογισμικού

Φυσικά, η αφαίρεση της τοπολογίας σε έναν ενιαίο αριθμό λογικών επεξεργαστών σε ορισμένες περιπτώσεις δημιουργεί αρκετούς λόγους για σύγχυση και παρεξήγηση (σε έντονες διαφωνίες στο Διαδίκτυο). Οι εφαρμογές υπολογιστών που θέλουν να έχουν τη μέγιστη απόδοση από το υλικό απαιτούν λεπτομερή έλεγχο σχετικά με το πού θα τοποθετηθούν τα νήματα τους: πιο κοντά μεταξύ τους σε γειτονικά υπερνήματα ή το αντίστροφο, πιο μακριά σε διαφορετικούς επεξεργαστές. Η ταχύτητα επικοινωνίας μεταξύ λογικών επεξεργαστών εντός του ίδιου πυρήνα ή επεξεργαστή είναι πολύ μεγαλύτερη από την ταχύτητα μεταφοράς δεδομένων μεταξύ των επεξεργαστών. Η πιθανότητα ετερογένειας στην οργάνωση της μνήμης RAM περιπλέκει επίσης την εικόνα.

Πληροφορίες σχετικά με την τοπολογία του συστήματος συνολικά, καθώς και τη θέση κάθε λογικού επεξεργαστή στο IA-32, είναι διαθέσιμες χρησιμοποιώντας την εντολή CPUID. Από την εμφάνιση των πρώτων συστημάτων πολλαπλών επεξεργαστών, το σύστημα λογικής αναγνώρισης επεξεργαστή έχει επεκταθεί αρκετές φορές. Μέχρι σήμερα, μέρη του περιέχονται στα φύλλα 1, 4 και 11 του CPUID. Ποιο από τα φύλλα που θα παρακολουθήσετε μπορεί να προσδιοριστεί από το παρακάτω μπλοκ διάγραμμα, που λαμβάνεται από το άρθρο:

Δεν θα βαρεθώ εδώ με όλες τις λεπτομέρειες των επιμέρους τμημάτων αυτού του αλγορίθμου. Εάν υπάρχει ενδιαφέρον, τότε το επόμενο μέρος αυτού του άρθρου μπορεί να αφιερωθεί σε αυτό. Θα παραπέμψω τον ενδιαφερόμενο αναγνώστη στο οποίο αναλύεται όσο το δυνατόν λεπτομερέστερα αυτό το θέμα. Εδώ θα περιγράψω αρχικά εν συντομία τι είναι το APIC και πώς σχετίζεται με την τοπολογία. Στη συνέχεια, εξετάστε το ενδεχόμενο να εργαστείτε με το φύλλο 0xB (έντεκα σε δεκαδικό), το οποίο είναι επί του παρόντος τελευταία λέξηστο Apicoconstruction.

Αναγνωριστικό APIC
Το τοπικό APIC (προηγμένος προγραμματιζόμενος ελεγκτής διακοπών) είναι μια συσκευή (τώρα μέρος του επεξεργαστή) υπεύθυνη για την εργασία με διακοπές που έρχονται σε έναν συγκεκριμένο λογικό επεξεργαστή. Κάθε λογικός επεξεργαστής έχει το δικό του APIC. Και καθένα από αυτά στο σύστημα πρέπει να έχει μια μοναδική τιμή APIC ID. Αυτός ο αριθμός χρησιμοποιείται από τους ελεγκτές διακοπών για διευθυνσιοδότηση κατά την παράδοση μηνυμάτων και από όλους τους άλλους (όπως το λειτουργικό σύστημα) για την αναγνώριση λογικών επεξεργαστών. Οι προδιαγραφές για αυτόν τον ελεγκτή διακοπών έχουν εξελιχθεί από το Intel 8259 PIC έως το Dual PIC, το APIC και το xAPIC σε x2APIC.

Αυτή τη στιγμή, το πλάτος του αριθμού που είναι αποθηκευμένο στο APIC ID έχει φτάσει τα πλήρη 32 bit, αν και στο παρελθόν περιοριζόταν στα 16 και ακόμη νωρίτερα μόνο στα 8 bit. Σήμερα, τα απομεινάρια των παλιών ημερών είναι διάσπαρτα σε όλο το CPUID, αλλά και τα 32 bit του APIC ID επιστρέφονται στο CPUID.0xB.EDX. Κάθε λογικός επεξεργαστής που εκτελεί ανεξάρτητα την εντολή CPUID θα επιστρέψει μια διαφορετική τιμή.

Αποσαφήνιση οικογενειακών δεσμών
Η τιμή APIC ID από μόνη της δεν λέει τίποτα για την τοπολογία. Για να μάθετε ποιοι δύο λογικοί επεξεργαστές βρίσκονται στον ίδιο φυσικό επεξεργαστή (δηλαδή, είναι "αδέρφια" υπερνημάτων), ποιοι δύο βρίσκονται στον ίδιο επεξεργαστή και ποιοι είναι εντελώς διαφορετικοί επεξεργαστές, πρέπει να συγκρίνετε τις τιμές APIC ID τους. Ανάλογα με τον βαθμό σχέσης, κάποια από τα κομμάτια τους θα ταιριάζουν. Αυτές οι πληροφορίες περιέχονται στις υπολίστες CPUID.0xB, οι οποίες κωδικοποιούνται με έναν τελεστή στο ECX. Κάθε ένα από αυτά περιγράφει τη θέση ενός πεδίου bit ενός από τα επίπεδα τοπολογίας στο EAX (ακριβέστερα, ο αριθμός των bit που πρέπει να μετατοπιστούν στο APIC ID προς τα δεξιά για να αφαιρεθούν χαμηλότερα επίπεδατοπολογία), καθώς και τον τύπο αυτού του στρώματος - υπερνήμα, πυρήνας ή επεξεργαστής - στο ECX.

Οι λογικοί επεξεργαστές εντός του ίδιου πυρήνα θα ταιριάζουν με όλα τα bit APIC ID εκτός από αυτά στο πεδίο SMT. Για λογικούς επεξεργαστές που βρίσκονται στον ίδιο επεξεργαστή, όλα τα bit εκτός από τα πεδία Core και SMT. Δεδομένου ότι ο αριθμός των υποφύλλων για το CPUID.0xB μπορεί να αυξηθεί, αυτό το σχήμα θα υποστηρίξει την περιγραφή τοπολογιών με μεγαλύτερο αριθμό επιπέδων, εάν χρειαστεί στο μέλλον. Επιπλέον, θα είναι δυνατή η εισαγωγή ενδιάμεσων επιπέδων μεταξύ των υφιστάμενων.

Μια σημαντική συνέπεια της οργάνωσης αυτού του σχήματος είναι ότι στο σύνολο όλων των APIC ID όλων των λογικών επεξεργαστών του συστήματος μπορεί να υπάρχουν «τρύπες», δηλ. δεν θα πάνε διαδοχικά. Για παράδειγμα, σε έναν επεξεργαστή πολλαπλών πυρήνων με απενεργοποιημένο το HT, όλα τα αναγνωριστικά APIC μπορεί να αποδειχθούν ζυγά, καθώς το λιγότερο σημαντικό bit που είναι υπεύθυνο για την κωδικοποίηση του αριθμού υπερνήματος θα είναι πάντα μηδέν.

Σημειώστε ότι το CPUID.0xB δεν είναι η μόνη πηγή πληροφοριών σχετικά με τους λογικούς επεξεργαστές που είναι διαθέσιμοι στο λειτουργικό σύστημα. Η λίστα με όλους τους διαθέσιμους επεξεργαστές, μαζί με τις τιμές APIC ID τους, κωδικοποιείται στον πίνακα MADT ACPI.

Λειτουργικά συστήματα και τοπολογία

OSπαρέχουν πληροφορίες σχετικά με την τοπολογία των λογικών επεξεργαστών σε εφαρμογές που χρησιμοποιούν τις δικές τους διεπαφές.

Στο Linux, οι πληροφορίες τοπολογίας περιέχονται στο ψευδο-αρχείο /proc/cpuinfo, καθώς και στην έξοδο της εντολής dmidecode. Στο παρακάτω παράδειγμα, φιλτράρω τα περιεχόμενα του cpuinfo σε κάποιο σύστημα τετραπλού πυρήνα που δεν είναι HT, αφήνοντας μόνο εγγραφές που σχετίζονται με την τοπολογία:

Κρυφό κείμενο

[email προστατευμένο]:~$ cat /proc/cpuinfo |grep "processor\|physical\ id\|siblings\|core\|cores\|apicid" Επεξεργαστής: 0 φυσικός αναγνωριστικός: 0 αδέρφια: 4 core id: 0 πυρήνες cpu: 2 apicid: 0 αρχικό apicid: 0 επεξεργαστής: 1 φυσικό αναγνωριστικό: 0 αδέρφια: 4 πυρήνες αναγνωριστικού: 0 πυρήνες cpu: 2 apicid: 1 αρχικό apicid: 1 επεξεργαστής: 2 φυσικό αναγνωριστικό: 0 αδέρφια: 4 πυρήνες: 1 πυρήνες cpu: 2 apicid: 2 αρχικοί αψιδωτοί: 2 επεξεργαστής: 3 φυσικός αναγνωριστικός: 0 αδέλφια: 4 πυρήνα αναγνωριστικού: 1 πυρήνες cpu: 2 αψιδωτοί: 3 αρχικοί αιχμές: 3

Στο FreeBSD, η τοπολογία αναφέρεται μέσω του μηχανισμού sysctl στη μεταβλητή kern.sched.topology_spec ως XML:

Κρυφό κείμενο

[email προστατευμένο]:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 ομάδα THREADΟμάδα SMT 2, 3 ομάδα THREADΟμάδα SMT 4, 5 ομάδα THREADΟμάδα SMT 6, 7 ομάδα THREADΟμάδα SMT

Στα MS Windows 8, οι πληροφορίες τοπολογίας μπορούν να προβληθούν στη Διαχείριση εργασιών.

Από τον αριθμό των πυρήνων μέσα ΕΠΕΞΕΡΓΑΣΤΗΣΗ συνολική απόδοση του συστήματος επηρεάζεται σε μεγάλο βαθμό, ειδικά κατά την εκτέλεση πολλαπλών εργασιών. Μπορείτε να μάθετε τον αριθμό τους χρησιμοποιώντας λογισμικό τρίτων και τυπικές μεθόδους Windows.

Οι περισσότεροι επεξεργαστές είναι πλέον 2-4 πυρήνες, αλλά υπάρχουν ακριβά μοντέλα για υπολογιστές παιχνιδιών και κέντρα δεδομένων με 6 και ακόμη και 8 πυρήνες. Προηγουμένως, όταν ο κεντρικός επεξεργαστής είχε μόνο έναν πυρήνα, όλες οι επιδόσεις ήταν στη συχνότητα και η εργασία με πολλά προγράμματα ταυτόχρονα μπορούσε να "κρεμάσει" εντελώς το λειτουργικό σύστημα.

Μπορείτε να προσδιορίσετε τον αριθμό των πυρήνων, καθώς και να δείτε την ποιότητα της εργασίας τους, χρησιμοποιώντας λύσεις ενσωματωμένες στα ίδια τα Windows ή προγράμματα τρίτων (το άρθρο θα συζητήσει τα πιο δημοφιλή από αυτά).

Μέθοδος 1: AIDA64

είναι ένα δημοφιλές πρόγραμμα για την παρακολούθηση της απόδοσης του υπολογιστή και τη διεξαγωγή διαφόρων δοκιμών. Το λογισμικό πληρώνεται, αλλά υπάρχει μια δοκιμαστική περίοδος, η οποία είναι αρκετή για να μάθετε τον αριθμό των πυρήνων στην CPU. Η διεπαφή AIDA64 είναι πλήρως μεταφρασμένη στα ρωσικά.

Η οδηγία μοιάζει με αυτό:


Μέθοδος 2: CPU-Z

Το CPU-Z είναι ένα δωρεάν πρόγραμμα που σας επιτρέπει να λαμβάνετε όλες τις βασικές πληροφορίες σχετικά με τα στοιχεία του υπολογιστή. Έχει μια απλή διεπαφή, η οποία μεταφράζεται στα ρωσικά.

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

Μέθοδος 3: Διαχείριση εργασιών

Αυτή η μέθοδος είναι κατάλληλη μόνο για χρήστες Windows 8, 8.1 και 10. Ακολουθήστε αυτά τα βήματα για να μάθετε τον αριθμό των πυρήνων με αυτόν τον τρόπο:


Μέθοδος 4: Διαχείριση Συσκευών

Αυτή η μέθοδος είναι κατάλληλη για όλες τις εκδόσεις των Windows. Όταν το χρησιμοποιείτε, θα πρέπει να θυμάστε ότι για ορισμένους επεξεργαστές της Intel, οι πληροφορίες ενδέχεται να εμφανίζονται εσφαλμένα. Το γεγονός είναι ότι οι CPU της Intel χρησιμοποιούν τεχνολογία Hyper-threading, η οποία χωρίζει έναν πυρήνα επεξεργαστή σε πολλά νήματα, αυξάνοντας έτσι την απόδοση. Αλλά συγχρόνως "Διαχειριστή της συσκευής"μπορεί να δει διαφορετικά νήματα στον ίδιο πυρήνα ως πολλαπλοί ξεχωριστοί πυρήνες.

Ο οδηγός βήμα προς βήμα μοιάζει με αυτό:


Δεν είναι δύσκολο να μάθετε μόνοι σας τον αριθμό των πυρήνων στον κεντρικό επεξεργαστή. Μπορείτε επίσης απλώς να δείτε τις προδιαγραφές στην τεκμηρίωση για τον υπολογιστή / φορητό υπολογιστή σας, εάν το έχετε στη διάθεσή σας. Ή "google" το μοντέλο του επεξεργαστή, αν το γνωρίζετε.

Στα πρώτα χρόνια της νέας χιλιετίας, όταν οι συχνότητες της CPU ξεπέρασαν τελικά το όριο του 1 GHz, ορισμένες εταιρείες (ας μην κουνάμε το δάχτυλο στην Intel) προέβλεψαν ότι η νέα αρχιτεκτονική NetBurst θα μπορούσε να φτάσει στο μέλλον ταχύτητες της τάξης των 10 GHz. Οι λάτρεις περίμεναν μια νέα εποχή όπου οι ταχύτητες του ρολογιού της CPU θα αυξάνονταν σαν μανιτάρια μετά τη βροχή. Χρειάζεστε περισσότερη απόδοση; Απλώς κάντε αναβάθμιση σε επεξεργαστή με υψηλότερη ταχύτητα ρολογιού.

Το μήλο του Νεύτωνα έπεσε δυνατά στα κεφάλια των ονειροπόλων που θεωρούσαν τα megahertz ως τα περισσότερα εύκολος τρόποςσυνεχής ανάπτυξη στην απόδοση των Η/Υ. Οι φυσικοί περιορισμοί εμπόδισαν την εκθετική αύξηση της ταχύτητας του ρολογιού χωρίς αντίστοιχη αύξηση της απαγωγής θερμότητας και άλλα προβλήματα που σχετίζονται με τις τεχνολογίες κατασκευής άρχισαν επίσης να εμφανίζονται. Πραγματικά, τα τελευταία χρόνιαοι ταχύτεροι επεξεργαστές λειτουργούν σε συχνότητες μεταξύ 3 και 4 GHz.

Φυσικά, η πρόοδος δεν μπορεί να σταματήσει όταν οι άνθρωποι είναι πρόθυμοι να πληρώσουν χρήματα για αυτήν - υπάρχουν αρκετοί χρήστες που είναι έτοιμοι να πληρώσουν ένα σημαντικό ποσό για έναν πιο ισχυρό υπολογιστή. Ως εκ τούτου, οι μηχανικοί άρχισαν να αναζητούν άλλους τρόπους για να αυξήσουν την απόδοση, ιδίως αυξάνοντας την αποτελεσματικότητα της εκτέλεσης εντολών, και όχι μόνο βασιζόμενοι στην ταχύτητα του ρολογιού. Ο παραλληλισμός αποδείχθηκε επίσης μια λύση - εάν δεν μπορείτε να κάνετε μια CPU πιο γρήγορη, τότε γιατί να μην προσθέσετε έναν δεύτερο τέτοιο επεξεργαστή για να αυξήσετε τους υπολογιστικούς πόρους;

Ο Pentium EE 840 είναι ο πρώτος επεξεργαστής διπλού πυρήνα που κυκλοφορεί στη λιανική αγορά.

Το κύριο πρόβλημα με τη συγχρονικότητα είναι ότι το λογισμικό πρέπει να είναι ειδικά γραμμένο για να κατανέμει το φορτίο σε πολλαπλά νήματα - που σημαίνει ότι δεν έχετε άμεσο χτύπημα για το χρήμα σας, αλλά η συχνότητα. Το 2005, όταν κυκλοφόρησαν οι πρώτοι επεξεργαστές διπλού πυρήνα, δεν παρείχαν σημαντική ώθηση στην απόδοση, αφού δεν ήταν λίγοι που χρησιμοποιήθηκαν σε επιτραπέζιους υπολογιστές. λογισμικόπου θα τους υποστήριζε. Πράγματι, τα περισσότερα απόΟι επεξεργαστές διπλού πυρήνα ήταν πιο αργοί από τους επεξεργαστές ενός πυρήνα στις περισσότερες εργασίες, επειδή οι επεξεργαστές μονού πυρήνα λειτουργούσαν με υψηλότερες ταχύτητες ρολογιού.

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

Αλλά τίθεται το ερώτημα: πόσους πυρήνες CPU χρειάζεστε πραγματικά; Αρκεί ένας επεξεργαστής τριπλού πυρήνα για gaming ή είναι καλύτερο να πληρώσετε επιπλέον και να πάρετε ένα τετραπύρηνο τσιπ; Αρκεί ένας επεξεργαστής διπλού πυρήνα για τον μέσο χρήστη ή μήπως οι περισσότεροι πυρήνες κάνουν πραγματικά τη διαφορά; Ποιες εφαρμογές είναι βελτιστοποιημένες για πολλούς πυρήνες και ποιες θα ανταποκρίνονται μόνο σε αλλαγές στις προδιαγραφές όπως η συχνότητα ή το μέγεθος της κρυφής μνήμης;

Θεωρήσαμε ότι ήταν καλή στιγμή να δοκιμάσουμε εφαρμογές από το ενημερωμένο πακέτο (αν και η ενημέρωση δεν έχει ολοκληρωθεί ακόμη) σε διαμορφώσεις ενός, διπλού, τριπλού και τετραπύρηνου για να δούμε πόσο πολύτιμοι έχουν γίνει οι επεξεργαστές πολλαπλών πυρήνων το 2009.

Για να κάνουμε τις δοκιμές δίκαιες, επιλέξαμε έναν τετραπύρηνο επεξεργαστή - έναν Intel Core 2 Quad Q6600 υπερχρονισμένο στα 2,7 GHz. Αφού εκτελέσαμε δοκιμές στο σύστημά μας, απενεργοποιήσαμε έναν από τους πυρήνες, επανεκκινήσαμε και επαναλάβαμε τις δοκιμές. Απενεργοποιήσαμε τους πυρήνες διαδοχικά και πήραμε αποτελέσματα για διαφορετικό αριθμό ενεργών πυρήνων (από έναν έως τέσσερις), ενώ ο επεξεργαστής και η συχνότητά του δεν άλλαξαν.

Η απενεργοποίηση των πυρήνων της CPU στα Windows είναι πολύ εύκολη. Εάν θέλετε να μάθετε πώς να το κάνετε αυτό, πληκτρολογήστε "msconfig" στο παράθυρο "Έναρξη αναζήτησης" των Windows Vista και πατήστε "Enter". Αυτό θα ανοίξει το βοηθητικό πρόγραμμα System Configuration.

Σε αυτό, μεταβείτε στην καρτέλα "Εκκίνηση" και πατήστε το πλήκτρο "Επιλογές για προχωρημένους".

Αυτό θα εμφανίσει το παράθυρο BOOT Advanced Options. Επιλέξτε το πλαίσιο ελέγχου "Αριθμός επεξεργαστών" και καθορίστε τον αριθμό των πυρήνων επεξεργαστή που θα είναι ενεργοί στο σύστημα. Όλα είναι πολύ απλά.

Μετά την επιβεβαίωση, το πρόγραμμα θα σας ζητήσει να κάνετε επανεκκίνηση. Μετά την επανεκκίνηση, στο "Windows Task Manager" (Task Manager) μπορείτε να δείτε τον αριθμό των ενεργών πυρήνων. Η κλήση "Task Manager" εκτελείται πατώντας Crtl+Shift+Esc.

Επιλέξτε την καρτέλα "Απόδοση" στη "Διαχείριση εργασιών". Σε αυτό μπορείτε να δείτε τα γραφήματα φόρτωσης για κάθε επεξεργαστή / πυρήνα (είτε πρόκειται για ξεχωριστό επεξεργαστή / πυρήνα είτε για εικονικό επεξεργαστή, όπως βλέπουμε στην περίπτωση του Core i7 με ενεργή υποστήριξη Hyper-Threading) στο "Χρήση CPU / CPU Ιστορία». Δύο γραφήματα σημαίνουν δύο ενεργούς πυρήνες, τρία σημαίνουν τρεις ενεργούς πυρήνες και ούτω καθεξής.

Τώρα που εξοικειωθείτε με τη μεθοδολογία των δοκιμών μας, ας προχωρήσουμε σε μια λεπτομερή ανασκόπηση της διαμόρφωσης του δοκιμαστικού υπολογιστή και των προγραμμάτων.

Διαμόρφωση δοκιμής

Υλικό συστήματος
ΕΠΕΞΕΡΓΑΣΤΗΣ Intel Core 2 Quad Q6600 (Kentsfield), 2,7 GHz, FSB-1200, 8 MB L2 cache
Πλατφόρμα MSI P7N SLI Platinum, Nvidia nForce 750i, BIOS A2
Μνήμη A-Data EXTREME DDR2 800+, 2 x 2048MB, DDR2-800, CL 5-5-5-18 στα 1,8V
HDD Western Digital Caviar WD50 00AAJS-00YFA, 500 GB, 7200 rpm, 8 MB cache, SATA 3,0 Gb/s
Καθαρά Ενσωματωμένος ελεγκτής nForce 750i Gigabit Ethernet
Κάρτες βίντεο Gigabyte GV-N250ZL-1GI 1GB DDR3 PCIe
μονάδα ισχύος Ultra HE1000X, ATX 2.2, 1000W
Λογισμικό και προγράμματα οδήγησης
λειτουργικό σύστημα Microsoft Windows Vista Ultimate 64-bit 6.0.6001, SP1
Έκδοση DirectX DirectX 10
Πρόγραμμα οδήγησης πλατφόρμας nForce Driver Έκδοση 15.25
Πρόγραμμα οδήγησης γραφικών Nvidia Forceware 182.50

Δοκιμές και ρυθμίσεις

3D παιχνίδια
κρυση Ρυθμίσεις ποιότητας ορίστηκαν στο χαμηλότερο, Λεπτομέρειες αντικειμένου σε Υψηλό, Φυσική σε Πολύ υψηλό, έκδοση 1.2.1, 1024x768, Εργαλείο συγκριτικής αξιολόγησης, μέσος όρος 3 εκτελέσεων
Αριστερά 4 Νεκροί Ρυθμίσεις ποιότητας ορίστηκαν στο χαμηλότερο, 1024x768, έκδοση 1.0.1.1, επίδειξη χρόνου.
κόσμος σε σύγκρουση Οι ρυθμίσεις ποιότητας ορίστηκαν στο χαμηλότερο, 1024x768, Ενημερωμένη έκδοση κώδικα 1.009, ενσωματωμένο σημείο αναφοράς.
iTunes Έκδοση: 8.1.0.52, CD ήχου ("Terminator II" SE), 53 λεπτά, Προεπιλεγμένη μορφή AAC
Κουτσό MP3 Έκδοση: 3.98 (64-bit), CD ήχου ""Terminator II" SE, 53 λεπτά, wave to MP3, 160 Kb/s
TMPEG 4.6 Έκδοση: 4.6.3.268, Εισαγωγή αρχείου: "Terminator II" SE DVD (5 λεπτά), Ανάλυση: 720x576 (PAL) 16:9
DivX 6.8.5 Λειτουργία κωδικοποίησης: Τρελή ποιότητα, Βελτιωμένη πολλαπλή νήμα, Ενεργοποιημένη με χρήση SSE4, Αναζήτηση τετάρτου εικονοστοιχείου
Xvid 1.2.1 Εμφάνιση κατάστασης κωδικοποίησης=απενεργοποίηση
Αναφορά MainConcept 1.6.1 MPEG2 σε MPEG2 (H.264), MainConcept H.264/AVC Codec, 28 sec HDTV 1920x1080 (MPEG2), Ήχος: MPEG2 (44,1 KHz, 2 κανάλια, 16-bit, 224 Kb/s), Λειτουργία: PAL (25 FPS), Προφίλ: Tom's Hardware Settings for Qct-Core
Autodesk 3D Studio Max 2009 (64-bit) Έκδοση: 2009, Rendering Dragon Image σε 1920x1080 (HDTV)
Adobe Photoshop CS3 Έκδοση: 10.0x20070321, Φιλτράρισμα από φωτογραφία TIF 69 MB, Σημείο αναφοράς: Tomshardware-Benchmark V1.0.0.4, Φίλτρα: Crosshatch, Glass, Sumi-e, Τονισμένα άκρα, Γωνιακές πινελιές, Ψεκασμένες πινελιές
Grisoft AVG Antivirus 8 Έκδοση: 8.0.134, Βάση ιών: 270.4.5/1533, Σημείο αναφοράς: Σάρωση 334 MB Φάκελος συμπιεσμένων αρχείων ZIP/RAR
WinRAR 3.80 Έκδοση 3.80, Σημείο αναφοράς: THG-Workload (334 MB)
WinZip 12 Έκδοση 12, Compression=Best, Benchmark: THG-Workload (334 MB)
3D Mark Vantage Έκδοση: 1.02, βαθμολογίες GPU και CPU
PC Mark Vantage Έκδοση: 1.00, Σύστημα, Μνήμη, σημεία αναφοράς μονάδας σκληρού δίσκου, Windows Media Player 10.00.00.3646
SiSoftware Sandra 2009 SP3 Δοκιμή CPU=Αριθμητική CPU/Πολυμέσα, Δοκιμή μνήμης=Σύγκριση εύρους ζώνης

Αποτελέσματα δοκιμών

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

Θα ξεκινήσουμε με το σημείο αναφοράς συνθετικών παιχνιδιών 3DMark Vantage. Επιλέξαμε την εκτέλεση «Είσοδος», την οποία το 3DMark εκτελεί στη χαμηλότερη διαθέσιμη ανάλυση, έτσι ώστε η απόδοση της CPU να έχει μεγαλύτερο αντίκτυπο στο αποτέλεσμα.

Η σχεδόν γραμμική ανάπτυξη είναι αρκετά ενδιαφέρουσα. Η μεγαλύτερη αύξηση παρατηρείται κατά τη μετακίνηση από έναν πυρήνα σε δύο, αλλά ακόμη και τότε η επεκτασιμότητα μπορεί να εντοπιστεί αρκετά αισθητά. Και τώρα ας προχωρήσουμε στη δοκιμή PCMark Vantage, η οποία έχει σχεδιαστεί για να εμφανίζει τη συνολική απόδοση του συστήματος.

Τα αποτελέσματα του PCMark υποδηλώνουν ότι ο τελικός χρήστης θα επωφεληθεί από την αύξηση του αριθμού των πυρήνων της CPU σε τρεις, ενώ ο τέταρτος πυρήνας, αντίθετα, θα μειώσει ελαφρώς την απόδοση. Ας δούμε με τι συνδέεται αυτό το αποτέλεσμα.

Στη δοκιμή υποσυστήματος μνήμης, βλέπουμε και πάλι το μεγαλύτερο κέρδος απόδοσης όταν μετακινούμαστε από έναν πυρήνα CPU σε δύο.

Η δοκιμή απόδοσης φαίνεται να έχει τον μεγαλύτερο αντίκτυπο στη συνολική βαθμολογία PCMark, καθώς το κέρδος απόδοσης τελειώνει σε τρεις πυρήνες σε αυτή την περίπτωση. Ας δούμε αν τα αποτελέσματα μιας άλλης συνθετικής δοκιμής SiSoft Sandra είναι παρόμοια.

Θα ξεκινήσουμε με τις δοκιμές αριθμητικής και πολυμέσων της SiSoft Sandra.


Οι συνθετικές δοκιμές δείχνουν ένα αρκετά γραμμικό κέρδος απόδοσης όταν μετακινούνται από έναν πυρήνα CPU σε τέσσερις. Αυτή η δοκιμή είναι γραμμένη ειδικά για την αποτελεσματική χρήση τεσσάρων πυρήνων, αλλά αμφιβάλλουμε ότι οι πραγματικές εφαρμογές θα έχουν την ίδια γραμμική πρόοδο.

Η δοκιμή μνήμης Sandra υποδηλώνει επίσης ότι τρεις πυρήνες θα δώσουν περισσότερο εύρος ζώνης μνήμης στις λειτουργίες iSSE2 με ακέραιο buffer.

Μετά τα συνθετικά τεστ, ήρθε η ώρα να δούμε τι παίρνουμε στα τεστ εφαρμογής.

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

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

Όσο για το iTunes, βλέπουμε μια μικρή ενίσχυση απόδοσης μετά την ενεργοποίηση δύο πυρήνων, αλλά περισσότεροι πυρήνες δεν κάνουν τίποτα.

Αποδεικνύεται ότι ούτε το Lame ούτε το iTunes είναι βελτιστοποιημένα για πολλαπλούς πυρήνες CPU για κωδικοποίηση ήχου. Από την άλλη πλευρά, από όσο γνωρίζουμε, τα προγράμματα κωδικοποίησης βίντεο είναι συχνά εξαιρετικά βελτιστοποιημένα για πολλαπλούς πυρήνες λόγω της εγγενώς παράλληλης φύσης τους. Ας ρίξουμε μια ματιά στα αποτελέσματα της κωδικοποίησης βίντεο.

Θα ξεκινήσουμε τις δοκιμές κωδικοποίησης βίντεο με την αναφορά MainConcept.

Παρατηρήστε πόσο επηρεάζει το αποτέλεσμα η αύξηση του αριθμού των πυρήνων: ο χρόνος κωδικοποίησης μειώνεται από εννέα λεπτά σε επεξεργαστή Core 2 μονού πυρήνα 2,7 GHz σε μόλις δύο λεπτά και 30 δευτερόλεπτα όταν και οι τέσσερις πυρήνες είναι ενεργοί. Είναι ξεκάθαρο ότι αν μετατρέπετε συχνά το βίντεο σε μετακωδικοποίηση, τότε είναι καλύτερο να πάρετε έναν επεξεργαστή με τέσσερις πυρήνες.

Θα έχουμε παρόμοια οφέλη στις δοκιμές TMPGEnc;

Εδώ μπορείτε να δείτε την επίδραση στο αποτέλεσμα του κωδικοποιητή. Εάν ο κωδικοποιητής DivX είναι εξαιρετικά βελτιστοποιημένος για πολλαπλούς πυρήνες CPU, τότε το Xvid δεν παρουσιάζει τόσο αξιοσημείωτο πλεονέκτημα. Ωστόσο, ακόμη και το Xvid δίνει 25% μείωση στον χρόνο κωδικοποίησης όταν μετακινείται από έναν πυρήνα σε δύο.

Ας ξεκινήσουμε τις δοκιμές γραφικών με το Adobe Photoshop.

Όπως μπορείτε να δείτε, η έκδοση CS3 δεν παρατηρεί την προσθήκη πυρήνων. Ένα περίεργο αποτέλεσμα για ένα τόσο δημοφιλές πρόγραμμα, αν και ομολογούμε ότι δεν χρησιμοποιήσαμε τελευταία έκδοση Photoshop CS4. Τα αποτελέσματα του CS3 δεν είναι ακόμα εμπνευσμένα.

Ας ρίξουμε μια ματιά στα αποτελέσματα της τρισδιάστατης απόδοσης στο Autodesk 3ds Max.

Είναι προφανές ότι το Autodesk 3ds Max αγαπά τους πρόσθετους πυρήνες. Αυτό το χαρακτηριστικόήταν παρόν στο 3ds Max όταν εκτελούνταν σε περιβάλλον DOS, επειδή η εργασία απόδοσης 3D χρειάστηκε τόσο πολύ για να εκτελεστεί που χρειαζόταν να διανεμηθεί σε πολλούς υπολογιστές σε ένα δίκτυο. Και πάλι, για τέτοια προγράμματα, είναι πολύ επιθυμητό να χρησιμοποιούνται τετραπύρηνες επεξεργαστές.

Η δοκιμή σάρωσης προστασίας από ιούς είναι πολύ κοντά στις πραγματικές συνθήκες, καθώς σχεδόν όλοι χρησιμοποιούν προγράμματα προστασίας από ιούς.

Το AVG Antivirus δείχνει μια θαυμάσια ώθηση απόδοσης κατά την αύξηση των πυρήνων της CPU. Κατά τη διάρκεια μιας σάρωσης προστασίας από ιούς, η απόδοση του υπολογιστή μπορεί να μειωθεί δραματικά και τα αποτελέσματα δείχνουν ξεκάθαρα ότι πολλοί πυρήνες μειώνουν σημαντικά τον χρόνο σάρωσης.


Τα WinZip και WinRAR δεν εμφανίζουν αξιοσημείωτα κέρδη απόδοσης σε πολλούς πυρήνες. Το WinRAR δείχνει αύξηση απόδοσης σε δύο πυρήνες, αλλά τίποτα περισσότερο. Θα είναι ενδιαφέρον να δούμε πώς αποδίδει η έκδοση 3.90 που μόλις κυκλοφόρησε.

Το 2005, όταν άρχισαν να εμφανίζονται επιτραπέζιοι υπολογιστές διπλού πυρήνα, απλά δεν υπήρχαν παιχνίδια που να έδειχναν κέρδη απόδοσης όταν μετακινούνταν από επεξεργαστές μονού πυρήνα σε επεξεργαστές πολλαπλών πυρήνων. Αλλά οι καιροί έχουν αλλάξει. Πώς επηρεάζουν τα σύγχρονα παιχνίδια πολλοί πυρήνες CPU; Ας τρέξουμε μερικά δημοφιλή παιχνίδια και ας δούμε. Πραγματοποιήσαμε δοκιμές παιχνιδιών σε χαμηλή ανάλυση 1024x768 και με χαμηλά επίπεδα γραφικών λεπτομερειών για να ελαχιστοποιήσουμε τον αντίκτυπο της κάρτας γραφικών και να καθορίσουμε πόσο από τα δεδομένα του παιχνιδιού πλήττουν την απόδοση της CPU.

Ας ξεκινήσουμε με το Crysis. Μειώσαμε όλες τις επιλογές στο ελάχιστο, εκτός από τη λεπτομέρεια αντικειμένου, την οποία ορίσαμε σε "Υψηλό" και τη Φυσική, την οποία ορίσαμε σε "Πολύ Υψηλό". Ως αποτέλεσμα, η απόδοση του παιχνιδιού θα πρέπει να εξαρτάται περισσότερο από την CPU.

Το Crysis έδειξε μια εντυπωσιακή εξάρτηση από τον αριθμό των πυρήνων της CPU, κάτι που προκαλεί έκπληξη, καθώς πιστεύαμε ότι ανταποκρινόταν περισσότερο στην απόδοση της κάρτας βίντεο. Σε κάθε περίπτωση, μπορείτε να δείτε ότι στο Crysis, οι μονοπύρηνες CPU δίνουν το μισό ρυθμό καρέ από ό,τι με τέσσερις πυρήνες (ωστόσο, να θυμάστε ότι εάν το παιχνίδι εξαρτάται περισσότερο από την απόδοση της κάρτας βίντεο, τότε η διάδοση των αποτελεσμάτων με διαφορετικό ο αριθμός των πυρήνων της CPU θα είναι μικρότερος). Είναι επίσης ενδιαφέρον να σημειωθεί ότι το Crysis μπορεί να χρησιμοποιήσει μόνο τρεις πυρήνες, αφού η προσθήκη ενός τέταρτου δεν κάνει αισθητή διαφορά.

Αλλά ξέρουμε ότι το Crysis κάνει σοβαρή χρήση υπολογισμών φυσικής, οπότε ας δούμε ποια θα είναι η κατάσταση σε ένα παιχνίδι με όχι τόσο προηγμένη φυσική. Για παράδειγμα, στο Left 4 Dead.

Είναι ενδιαφέρον ότι το παιχνίδι Left 4 Dead παρουσιάζει παρόμοιο αποτέλεσμα, αν και η μερίδα του λέοντος στο κέρδος απόδοσης έρχεται μετά την προσθήκη του δεύτερου πυρήνα. Υπάρχει μια μικρή αύξηση στη μετάβαση σε τρεις πυρήνες, αλλά ο τέταρτος πυρήνας δεν απαιτείται για αυτό το παιχνίδι. Μια ενδιαφέρουσα τάση. Ας δούμε πώς θα είναι τυπικό για τη στρατηγική σε πραγματικό χρόνο World in Conflict.

Τα αποτελέσματα είναι και πάλι παρόμοια, αλλά βλέπουμε καταπληκτικό χαρακτηριστικό- Τρεις πυρήνες CPU δίνουν ελαφρώς καλύτερη απόδοση από τέσσερις. Η διαφορά είναι κοντά στο περιθώριο λάθους, αλλά αυτό επιβεβαιώνει και πάλι ότι ο τέταρτος πυρήνας δεν χρησιμοποιείται στα παιχνίδια.

Ήρθε η ώρα να βγάλουμε συμπεράσματα. Επειδή λάβαμε πολλά δεδομένα, ας απλοποιήσουμε την κατάσταση υπολογίζοντας το μέσο κέρδος απόδοσης.

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

Στις εφαρμογές, βλέπουμε πιο ρεαλιστική πρόοδο - περίπου 35% αύξηση από τον δεύτερο πυρήνα της CPU, 15% αύξηση από τον τρίτο και 32% αύξηση από τον τέταρτο. Είναι περίεργο ότι όταν προσθέτουμε έναν τρίτο πυρήνα, παίρνουμε μόνο το μισό πλεονέκτημα που δίνει ένας τέταρτος πυρήνας.

Στις εφαρμογές όμως είναι καλύτερα να κοιτάμε μεμονωμένα προγράμματα και όχι το συνολικό αποτέλεσμα. Πράγματι, οι εφαρμογές κωδικοποίησης ήχου, για παράδειγμα, δεν επωφελούνται καθόλου από την αύξηση του αριθμού των πυρήνων. Από την άλλη πλευρά, οι εφαρμογές κωδικοποίησης βίντεο επωφελούνται σε μεγάλο βαθμό από περισσότερους πυρήνες CPU, αν και αυτό εξαρτάται αρκετά από τον κωδικοποιητή που χρησιμοποιείται. Στην περίπτωση του 3D Max 3D renderer, βλέπουμε ότι είναι εξαιρετικά βελτιστοποιημένο για περιβάλλοντα πολλαπλών πυρήνων και οι εφαρμογές επεξεργασίας φωτογραφιών 2D όπως το Photoshop δεν ανταποκρίνονται στον αριθμό των πυρήνων. Το AVG Antivirus έδειξε σημαντική αύξηση στην απόδοση σε πολλούς πυρήνες και στα βοηθητικά προγράμματα συμπίεσης αρχείων το κέρδος δεν είναι τόσο μεγάλο.

Όσον αφορά τα παιχνίδια, όταν μετακινούμαστε από έναν πυρήνα σε δύο, η απόδοση αυξάνεται κατά 60%, και αφού προσθέσουμε έναν τρίτο πυρήνα στο σύστημα, έχουμε άλλο ένα προβάδισμα 25%. Ο τέταρτος πυρήνας στα παιχνίδια που επιλέξαμε δεν παρέχει πλεονεκτήματα. Φυσικά, αν παίρναμε περισσότερα παιχνίδια, τότε η κατάσταση θα μπορούσε να αλλάξει, αλλά, σε κάθε περίπτωση, οι τριπύρηνες επεξεργαστές Phenom II X3 φαίνονται να είναι μια πολύ ελκυστική και φθηνή επιλογή για έναν gamer. Είναι σημαντικό να σημειωθεί ότι κατά τη μετάβαση σε περισσότερα υψηλές αναλύσειςκαι προσθέτοντας οπτικές λεπτομέρειες, η διαφορά λόγω του αριθμού των πυρήνων θα είναι μικρότερη όσο γίνεται η κάρτα γραφικών καθοριστικός παράγονταςεπηρεάζουν τον ρυθμό καρέ.


Τέσσερις πυρήνες.

Με όλα αυτά που ειπώθηκαν και έγιναν, μπορούν να εξαχθούν ορισμένα συμπεράσματα. Γενικά, δεν χρειάζεται να είστε κανενός είδους επαγγελματίας χρήστης για να επωφεληθείτε από μια εγκατάσταση CPU πολλαπλών πυρήνων. Η κατάσταση έχει αλλάξει σημαντικά σε σχέση με πριν από τέσσερα χρόνια. Φυσικά, η διαφορά δεν φαίνεται τόσο σημαντική εκ πρώτης όψεως, αλλά είναι πολύ ενδιαφέρον να σημειωθεί πόσες εφαρμογές έχουν βελτιστοποιηθεί για multithreading τα τελευταία χρόνια, ειδικά εκείνα τα προγράμματα που μπορούν να δώσουν σημαντική ώθηση απόδοσης από αυτήν τη βελτιστοποίηση. Στην πραγματικότητα, μπορούμε να πούμε ότι σήμερα δεν έχει νόημα να προτείνουμε μονοπύρηνες CPU (αν μπορείτε ακόμα να τις βρείτε), εκτός από λύσεις χαμηλής κατανάλωσης.

Επιπλέον, υπάρχουν εφαρμογές για τις οποίες οι χρήστες ενθαρρύνονται να αγοράζουν επεξεργαστές με όσο το δυνατόν περισσότερους πυρήνες. Μεταξύ αυτών, σημειώνουμε την κωδικοποίηση βίντεο, την απόδοση 3D και τις βελτιστοποιημένες εφαρμογές εργασίας, συμπεριλαμβανομένου του λογισμικού προστασίας από ιούς. Για τους gamers, οι εποχές που ένας μονοπύρηνος επεξεργαστής με ισχυρή κάρτα γραφικών ήταν αρκετός έχει περάσει.

mob_info