Hyper-Threading: "δύο σε ένα" από την Intel ή κρυφές δυνατότητες του Xeon. Ποιοι είναι λοιπόν οι λογικοί πυρήνες επεξεργαστή (σε αντίθεση με τους φυσικούς πυρήνες επεξεργαστή)

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

Τι είναι ένας πολυπύρηνος επεξεργαστής;

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

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

Υπερ-νήμα

Οι πυρήνες σε επεξεργαστές πολλαπλών πυρήνων μπορούν να υποστηρίξουν τεχνολογία SMT, η οποία σας επιτρέπει να εκτελέσετε πολλαπλά νήματα υπολογισμού και να δημιουργήσετε πολλούς λογικούς επεξεργαστές με βάση κάθε πυρήνα. Σε επεξεργαστές που παράγονται από την Intel, αυτή η τεχνολογία ονομάζεται "Hyper-threading". Χάρη σε αυτό, μπορείτε να διπλασιάσετε τον αριθμό των λογικών επεξεργαστών σε σύγκριση με τον αριθμό των φυσικών τσιπ. Σε μικροεπεξεργαστές που υποστηρίζουν αυτή την τεχνολογία, κάθε φυσικός επεξεργαστής είναι ικανός να διατηρεί την κατάσταση δύο νημάτων ταυτόχρονα. Για το λειτουργικό σύστημα, αυτό θα μοιάζει με δύο λογικούς επεξεργαστές. Εάν υπάρχει μια παύση στην εργασία ενός από αυτούς (για παράδειγμα, περιμένει να ληφθούν δεδομένα από τη μνήμη), ο άλλος λογικός επεξεργαστής αρχίζει να εκτελεί το δικό του νήμα.

Τύποι επεξεργαστών πολλαπλών πυρήνων

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

Αρχή λειτουργίας

Οι περισσότεροι σύγχρονοι επεξεργαστές πολλαπλών πυρήνων λειτουργούν σύμφωνα με το ακόλουθο σχήμα. Εάν μια εφαρμογή που εκτελείται υποστηρίζει multithreading, μπορεί να αναγκάσει τον επεξεργαστή να εκτελέσει πολλές εργασίες ταυτόχρονα. Για παράδειγμα, εάν ο υπολογιστής χρησιμοποιεί επεξεργαστή 4 πυρήνων με συχνότητα ρολογιού 1,8 GHz, το πρόγραμμα μπορεί να «φορτώσει» ταυτόχρονα και τους τέσσερις πυρήνες, ενώ η συνολική συχνότητα του επεξεργαστή θα είναι 7,2 GHz. Εάν εκτελούνται πολλά προγράμματα ταυτόχρονα, καθένα από αυτά μπορεί να χρησιμοποιήσει μέρος των πυρήνων του επεξεργαστή, γεγονός που οδηγεί επίσης σε αύξηση της απόδοσης του υπολογιστή.

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

Στην αγορά της Αγίας Πετρούπολης εμφανίστηκε ένας επεξεργαστής Intel Pentium 4 με συχνότητα ρολογιού 3,06 GHz, ο οποίος χρησιμοποιεί τεχνολογία Hyper-Threading (HT).
Σύμφωνα με τους κατασκευαστές, αυτή η τεχνολογία, που προηγουμένως χρησιμοποιούταν μόνο σε συστήματα διακομιστών, σηματοδότησε την αρχή μιας νέας κατηγορίας επιτραπέζιων προσωπικών υπολογιστών υψηλής απόδοσης.
Χάρη στην τεχνολογία HT, ένας φυσικός επεξεργαστής γίνεται αντιληπτός από το λειτουργικό σύστημα του υπολογιστή και τις εφαρμογές ως δύο λογικούς επεξεργαστές. Σύμφωνα με τον Alexey Navolokin, επικεφαλής του γραφείου αντιπροσωπείας της Intel στη Ρωσία και την ΚΑΚ, τα προκαταρκτικά στοιχεία δείχνουν ότι ο νέος επεξεργαστής με τεχνολογία NT παρέχει μέση αύξηση απόδοσης 25%.

Εκτός σειράς
Η τεχνολογία NT επιτρέπει στους χρήστες να βελτιώνουν την απόδοση του υπολογιστή με δύο τρόπους: όταν εργάζονται με λογισμικό που χρησιμοποιεί επεξεργασία πολλαπλών νημάτων και όταν εργάζονται σε περιβάλλοντα πολλαπλών εργασιών. Οι εφαρμογές που γράφτηκαν για να εκμεταλλευτούν την ικανότητα του νέου επεξεργαστή να λειτουργεί ταυτόχρονα με πολλά κομμάτια κώδικα (τα λεγόμενα "threads") θα "βλέπουν" έναν φυσικό επεξεργαστή Intel Pentium 4 με συχνότητα ρολογιού 3,06 GHz με τεχνολογία HT ως δύο λογικούς επεξεργαστές . Η τεχνολογία NT επιτρέπει στον επεξεργαστή να επεξεργάζεται δύο ανεξάρτητες ροές δεδομένων όχι με τη σειρά τους, αλλά ταυτόχρονα.

Για δουλειές
Χρησιμοποιώντας την τεχνολογία HT, μπορείτε, για παράδειγμα, να αναπαράγετε ένα μουσικό άλμπουμ και ταυτόχρονα να ανταλλάσσετε μηνύματα σε μια συνομιλία χωρίς να διακυβεύεται η ποιότητα του ήχου. Με τη λήψη ενός αρχείου MP3 από το Διαδίκτυο στο αρχείο μουσικής σας, μπορείτε να εκτελέσετε ταυτόχρονα ένα πρόγραμμα προστασίας από ιούς που θα προστατεύει τον υπολογιστή σας από τη διείσδυση ανεπιθύμητων προγραμμάτων από το εξωτερικό.
Η HT παρέχει άφθονες ευκαιρίες στον επιχειρηματικό κόσμο - ο επικεφαλής μιας επιχείρησης μπορεί ταυτόχρονα να βλέπει χρηματιστηριακές αναφορές και δείκτες, να παρακολουθεί την απόδοση ενός αυτοματοποιημένου συστήματος διαχείρισης επιχειρήσεων και να διατηρεί επαφή με εργολάβους. Μηχανικοί και επιστήμονες που χρησιμοποιούν υπολογιστή βασισμένο στον επεξεργαστή Intel Pentium 4 με τεχνολογία Hyper-Threading θα μπορούν να εργάζονται πιο αποτελεσματικά με πηγές πληροφοριών, ενώ θα τις κατεβάζουν μέσω Διαδικτύου και θα τις λαμβάνουν από συναδέλφους σε διάφορες μορφές αρχείων - από PDF σε XLS.
Οι εταιρείες ενσωμάτωσης της Αγίας Πετρούπολης (Svega+, Computer Service 320-80-80, Computer Center KEY και Computer World) σχεδιάζουν να πουλήσουν τουλάχιστον 15-20 υπολογιστές βασισμένους στον επεξεργαστή Intel Pentium 4 μηνιαίως 3,06 GHz με τεχνολογία NT.

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

4 Λύσεις συλλέγουν φόρμα ιστού για το "Λοιπόν, ποιοι είναι οι λογικοί πυρήνες ενός επεξεργαστή (σε αντίθεση με τους φυσικούς πυρήνες ενός επεξεργαστή);"

Οι φυσικοί πυρήνες είναι απλώς οι φυσικοί πυρήνες ενός επεξεργαστή. Οι λογικοί πυρήνες είναι η ικανότητα ενός μόνο πυρήνα να κάνει δύο ή περισσότερα πράγματα ταυτόχρονα. Αυτό προέκυψε από τους πρώτους επεξεργαστές Pentium 4 που ήταν σε θέση να κάνουν αυτό που ονομαζόταν Hyper Threading (HTT).

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

Οι νέοι πυρήνες είναι επεξεργαστές με περισσότερες δυνατότητες, επομένως λειτουργούν σε πολλά πράγματα ταυτόχρονα, αλλά δεν είναι πραγματικοί επεξεργαστές ως φυσικοί πυρήνες. Μπορείτε να διαβάσετε περισσότερα σχετικά με τους περιορισμούς του hyperthreading και της βασικής φυσικής εδώ στο tomshardware σε αυτό το άρθρο με τίτλο: Intel Core i5 και Core i7: Intel Mainstream Magnum Opus.

Μπορείτε να δείτε την ανάλυση του παραθύρου σας χρησιμοποιώντας την εντολή lscpu:

$ lscpu Αρχιτεκτονική: x86_64 CPU op-mode(s): 32-bit, 64-bit CPU(s): 4 Thread(s) ανά πυρήνα: 2 Core(s) ανά υποδοχή: 2 socket CPU: 1 NUMA κόμβος(οι): 1 Αναγνωριστικό προμηθευτή: GenuineIntel οικογένεια CPU: 6 Μοντέλο: 37 ​​Βήμα: 5 CPU MHz: 2667.000 Εικονικοποίηση: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3070K ): 0-3

Στα παραπάνω ο φορητός μου Intel i5 έχει 4 «επεξεργαστές» συνολικά

Επεξεργαστής: 4

εκ των οποίων υπάρχουν 2 φυσικοί πυρήνες

Πυρήνας ανά πρίζα: 2

εκ των οποίων το καθένα μπορεί να τρέξει έως και 2 νήματα

Θέμα(α) ανά πυρήνα: 2

Ταυτοχρονα. Αυτά τα νήματα είναι λογικές δυνατότητες του πυρήνα.

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

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

Για παράδειγμα, ο 4πύρηνος επεξεργαστής μου τρέχει σε δύο νήματα ανά πυρήνα, οπότε έχω 8 λογικούς επεξεργαστές.

$ sudo dmidecode |egrep "Ορισμός υποδοχής: Proc|((Thread|Core) Count)" Ονομασία υποδοχής: Proc 1 Πλήθος πυρήνων: 14 Πλήθος νημάτων: 28 Ονομασία υποδοχής: Proc 2 Πλήθος πυρήνων: 14 Πλήθος νημάτων: 28

Δύο φωλιές. Κάθε υποδοχή έχει 14 φυσικούς πυρήνες. Κάθε πυρήνας έχει δύο νήματα (28/14). Ο συνολικός αριθμός λογικών "cpus" ή μονάδων λογικής επεξεργασίας είναι 56 (αυτό είναι το "top" και ορισμένες άλλες εντολές σας δείχνουν ως τον αριθμό "cpus").

Η τεχνολογία Hyperthreading επιτρέπει σε έναν φυσικό πυρήνα επεξεργαστή να συμπεριφέρεται σαν δύο λογικούς επεξεργαστές.

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

Η Intel αναφέρεται στον φυσικό επεξεργαστή ως υποδοχή.

Το Hyperthreading επιτρέπει σε έναν φυσικό επεξεργαστή να συμπεριφέρεται σαν να είχε δύο φυσικούς επεξεργαστές, οι οποίοι ονομάζονται λογικοί επεξεργαστές. Για τι?

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

Περίληψη

Ο φυσικός επεξεργαστής είναι κάτι που μπορούμε να δούμε και να καταρρεύσει.

Ο λογικός επεξεργαστής είναι παρόμοιος με: Phsical Core, που λειτουργεί ως δύο φυσικοί πυρήνες

  • Φροντιστήριο

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

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

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

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

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

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

Στον σύγχρονο κόσμο, ένας επεξεργαστής είναι κάτι που αγοράζουμε σε ένα όμορφο κουτί λιανικής ή σε μια όχι και τόσο ωραία συσκευασία 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. Διατίθενται ξεχωριστοί πυρήνες, μια κοινή κρυφή μνήμη τρίτου επιπέδου, καθώς και σύνδεσμοι QPI με άλλους επεξεργαστές και ένας κοινός ελεγκτής μνήμης.

Υπερνήμα

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

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

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

Περιορισμοί νημάτων
Σε ποιες περιπτώσεις δικαιολογείται η παρουσία «άδικων» πολυπύρηνων με τη μορφή HT; Εάν ένα νήμα εφαρμογής δεν μπορεί να φορτώσει όλους τους κόμβους εκτέλεσης μέσα στον πυρήνα, τότε μπορούν να «δανειστούν» σε ένα άλλο νήμα. Αυτό είναι τυπικό για εφαρμογές που έχουν ένα σημείο συμφόρησης όχι στον υπολογισμό, αλλά στην πρόσβαση δεδομένων, δηλαδή συχνά δημιουργούν ελλείψεις προσωρινής μνήμης και πρέπει να περιμένουν να παραδοθούν δεδομένα από τη μνήμη. Κατά τη διάρκεια αυτής της περιόδου, ο πυρήνας χωρίς 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 λογικούς επεξεργαστές. αλλά πόσο είναι σε επεξεργαστές, πυρήνες και hyperthreads;


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ggg@shadowbox:~$ 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 core id: 0 πυρήνες cpu: 2 apicid: 1 αρχικό apicid: 1 επεξεργαστής: 2 φυσικό αναγνωριστικό: 0 αδέρφια: 4 core id: 1 πυρήνες cpu: 2 apicid: 2 αρχικό apicid: 2 επεξεργαστής: 3 φυσικό id: 0 αδέρφια: 4 πυρήνα id: 1 πυρήνες cpu: 2 apicid: 3 αρχικό apicid: 3

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

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

user@host:~$ 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, οι πληροφορίες τοπολογίας μπορούν να προβληθούν στη Διαχείριση εργασιών.

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

Μορφή βίντεο του άρθρου "Όλη η αλήθεια για τους επεξεργαστές πολλαπλών πυρήνων"

Μια απλή εξήγηση της ερώτησης "τι είναι ένας επεξεργαστής"

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

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

Λειτουργία Επεξεργαστή - Υπολογισμός. Δεν έχει σημασία ποιες ακριβώς. Το γεγονός είναι ότι όλη η εργασία στον υπολογιστή βασίζεται αποκλειστικά σε αριθμητικούς υπολογισμούς. Πρόσθεση, πολλαπλασιασμός, αφαίρεση και άλλη άλγεβρα - όλα αυτά γίνονται από ένα μικροκύκλωμα που ονομάζεται "επεξεργαστής". Και τα αποτελέσματα τέτοιων υπολογισμών εμφανίζονται στην οθόνη με τη μορφή ενός παιχνιδιού, ενός αρχείου Word ή απλώς μιας επιφάνειας εργασίας.

Το κύριο μέρος του υπολογιστή που εκτελεί τους υπολογισμούς είναι τι είναι ένας επεξεργαστής.

Τι είναι ένας πυρήνας και πολυπύρηνος επεξεργαστής

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

Εάν φανταστείτε έναν επεξεργαστή ως διαμέρισμα, τότε ο πυρήνας είναι ένα μεγάλο δωμάτιο σε ένα τέτοιο διαμέρισμα. Ένα διαμέρισμα ενός δωματίου είναι ένας πυρήνας επεξεργαστή (ένα μεγάλο δωμάτιο-χωλ), μια κουζίνα, ένα μπάνιο, ένας διάδρομος... Ένα διαμέρισμα δύο δωματίων είναι σαν δύο πυρήνες επεξεργαστή μαζί με άλλα δωμάτια. Υπάρχουν διαμερίσματα τριών, τεσσάρων, ακόμη και 12 δωματίων. Το ίδιο συμβαίνει και με τους επεξεργαστές: μέσα σε ένα κρύσταλλο «διαμερίσματος» μπορεί να υπάρχουν αρκετοί πυρήνες «δωμάτιου».

Πολυπύρηνος- Αυτή είναι η διαίρεση ενός επεξεργαστή σε πολλά ίδια λειτουργικά μπλοκ. Ο αριθμός των μπλοκ είναι ο αριθμός των πυρήνων μέσα σε έναν επεξεργαστή.

Τύποι επεξεργαστών πολλαπλών πυρήνων

Υπάρχει μια λανθασμένη αντίληψη: «όσο περισσότερους πυρήνες έχει ένας επεξεργαστής, τόσο το καλύτερο». Έτσι ακριβώς προσπαθούν να παρουσιάσουν το θέμα οι έμποροι, που πληρώνονται για να δημιουργήσουν αυτού του είδους την παρανόηση. Το καθήκον τους είναι να πουλούν φθηνούς επεξεργαστές, επιπλέον, σε υψηλότερες τιμές και σε τεράστιες ποσότητες. Αλλά στην πραγματικότητα, ο αριθμός των πυρήνων απέχει πολύ από το κύριο χαρακτηριστικό των επεξεργαστών.

Ας επιστρέψουμε στην αναλογία επεξεργαστών και διαμερισμάτων. Ένα διαμέρισμα δύο δωματίων είναι πιο ακριβό, πιο άνετο και πιο αριστοκρατικό από ένα διαμέρισμα ενός δωματίου. Αλλά μόνο εάν αυτά τα διαμερίσματα βρίσκονται στην ίδια περιοχή, εξοπλισμένα με τον ίδιο τρόπο και η ανακαίνισή τους είναι παρόμοια. Υπάρχουν αδύναμοι τετραπύρηνες (ή ακόμα και 6πύρηνες) επεξεργαστές που είναι σημαντικά πιο αδύναμοι από τους διπύρηνους. Αλλά είναι δύσκολο να το πιστέψει κανείς σε αυτό: φυσικά, η μαγεία των μεγάλων αριθμών 4 ή 6 έναντι "μερικών" δύο. Ωστόσο, αυτό ακριβώς συμβαίνει πολύ, πολύ συχνά. Μοιάζει σαν το ίδιο διαμέρισμα τεσσάρων δωματίων, αλλά σε ερειπωμένη κατάσταση, χωρίς ανακαίνιση, σε μια εντελώς απομακρυσμένη περιοχή - και μάλιστα στην τιμή ενός πολυτελούς διαμερίσματος δύο δωματίων στο κέντρο.

Πόσοι πυρήνες υπάρχουν μέσα σε έναν επεξεργαστή;

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

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

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

Τώρα ξέρετε ότι οι επεξεργαστές διαθέτουν 1, 2, 3, 4, 6 και 12 πυρήνες. Οι επεξεργαστές ενός πυρήνα και των 12 πυρήνων είναι πολύ σπάνιοι. Οι επεξεργαστές τριών πυρήνων ανήκουν στο παρελθόν. Οι επεξεργαστές έξι πυρήνων είναι είτε πολύ ακριβοί (Intel) είτε όχι τόσο δυνατοί (AMD) που πληρώνετε περισσότερα για τον αριθμό. Οι 2 και 4 πυρήνες είναι οι πιο συνηθισμένες και πρακτικές συσκευές, από τις πιο αδύναμες έως τις πιο ισχυρές.

Συχνότητα επεξεργαστή πολλαπλών πυρήνων

Ένα από τα χαρακτηριστικά των επεξεργαστών υπολογιστών είναι η συχνότητά τους. Αυτά τα ίδια megahertz (και πιο συχνά gigahertz). Η συχνότητα είναι ένα σημαντικό χαρακτηριστικό, αλλά απέχει πολύ από το μοναδικό. Ναι, ίσως όχι το πιο σημαντικό. Για παράδειγμα, ένας επεξεργαστής διπλού πυρήνα 2 gigahertz είναι πιο ισχυρή προσφορά από τον μονοπύρηνο αδερφό του 3 gigahertz.

Είναι εντελώς λάθος να υποθέσουμε ότι η συχνότητα ενός επεξεργαστή είναι ίση με τη συχνότητα των πυρήνων του πολλαπλασιαζόμενη επί τον αριθμό των πυρήνων. Για να το πούμε απλά, ένας 2πύρηνος επεξεργαστής με συχνότητα πυρήνα 2 GHz έχει συνολική συχνότητα σε καμία περίπτωση ίση με 4 gigahertz! Ακόμη και η έννοια της «κοινής συχνότητας» δεν υπάρχει. Σε αυτήν την περίπτωση, Συχνότητα CPUίσο ακριβώς με 2 GHz. Χωρίς πολλαπλασιασμό, πρόσθεση ή άλλες πράξεις.

Και πάλι θα «μετατρέψουμε» τους επεξεργαστές σε διαμερίσματα. Εάν το ύψος των οροφών σε κάθε δωμάτιο είναι 3 μέτρα, τότε το συνολικό ύψος του διαμερίσματος θα παραμείνει το ίδιο - τα ίδια τρία μέτρα και όχι ένα εκατοστό υψηλότερα. Όσα δωμάτια και αν υπάρχουν σε ένα τέτοιο διαμέρισμα, το ύψος αυτών των δωματίων δεν αλλάζει. Επίσης ταχύτητα ρολογιού των πυρήνων του επεξεργαστή. Δεν αθροίζεται και δεν πολλαπλασιάζεται.

Εικονικός πολυπύρηνος ή Hyper-Threading

Υπάρχουν επίσης εικονικούς πυρήνες επεξεργαστή. Η τεχνολογία Hyper-Threading στους επεξεργαστές Intel κάνει τον υπολογιστή να «νομίζει» ότι υπάρχουν στην πραγματικότητα 4 πυρήνες μέσα σε έναν επεξεργαστή διπλού πυρήνα. Σαν ένα ενιαίο σκληρό δίσκο χωρίζεται σε πολλά λογικά- τοπικές μονάδες δίσκου C, D, E και ούτω καθεξής.

ΥπερπληθωρισμόςΤο Threading είναι μια πολύ χρήσιμη τεχνολογία για μια σειρά εργασιών.. Μερικές φορές συμβαίνει ότι ο πυρήνας του επεξεργαστή χρησιμοποιείται μόνο κατά το ήμισυ και τα υπόλοιπα τρανζίστορ στη σύνθεσή του είναι σε αδράνεια. Οι μηχανικοί βρήκαν έναν τρόπο να κάνουν και αυτούς τους «αδρανείς» να λειτουργούν, διαιρώντας κάθε πυρήνα φυσικού επεξεργαστή σε δύο «εικονικά» μέρη. Είναι σαν ένα αρκετά μεγάλο δωμάτιο να χωρίστηκε στα δύο από ένα χώρισμα.

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

Σημειώστε ότι το πιο ακριβό και παραγωγικής κατηγορίας μεταποιητέςΠυρήναςΤο i7 είναι υποχρεωτικό εξοπλισμένοΥπερπληθωρισμόςΣπείρωμα. Έχουν 4 φυσικούς πυρήνες και 8 εικονικούς. Αποδεικνύεται ότι 8 υπολογιστικά νήματα λειτουργούν ταυτόχρονα σε έναν επεξεργαστή. Λιγότερο ακριβοί αλλά και ισχυροί επεξεργαστές κατηγορίας Intel Πυρήναςi5αποτελείται από τέσσερις πυρήνες, αλλά το Hyper Threading δεν λειτουργεί εκεί. Αποδεικνύεται ότι το Core i5 λειτουργεί με 4 νήματα υπολογισμών.

Επεξεργαστές Πυρήναςi3- τυπικός «μέσος όρος», τόσο σε τιμή όσο και σε απόδοση. Έχουν δύο πυρήνες και καμία υπόδειξη Hyper-Threading. Συνολικά αποδεικνύεται ότι Πυρήναςi3μόνο δύο υπολογιστικά νήματα. Το ίδιο ισχύει και για τα ειλικρινά οικονομικά κρύσταλλα Pentium καιCeleron. Δύο πυρήνες, χωρίς υπερ-νήμα = δύο νήματα.

Ένας υπολογιστής χρειάζεται πολλούς πυρήνες; Πόσους πυρήνες χρειάζεται ένας επεξεργαστής;

Όλοι οι σύγχρονοι επεξεργαστές είναι αρκετά ισχυροί για κοινές εργασίες. Περιήγηση στο Διαδίκτυο, αλληλογραφία σε κοινωνικά δίκτυα και μέσω ηλεκτρονικού ταχυδρομείου, εργασίες γραφείου Word-PowerPoint-Excel: το αδύναμο Atom, ο προϋπολογισμός Celeron και το Pentium είναι κατάλληλα για αυτήν την εργασία, για να μην αναφέρουμε τον πιο ισχυρό Core i3. Δύο πυρήνες είναι υπεραρκετοί για κανονική εργασία. Ένας επεξεργαστής με μεγάλο αριθμό πυρήνων δεν θα φέρει σημαντική αύξηση στην ταχύτητα.

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

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

Υπάρχουν πλεονεκτήματα στους επεξεργαστές πολλαπλών πυρήνων;

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

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

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

Όταν ο επεξεργαστής έχει λιγότερους πυρήνες, είναι καλύτερα

Δεν πρέπει να αγοράσετε έναν επεξεργαστή χρησιμοποιώντας τον εσφαλμένο τύπο "όσο περισσότεροι πυρήνες, τόσο το καλύτερο". Αυτό είναι λάθος. Πρώτον, οι επεξεργαστές 4, 6 και 8 πυρήνων είναι σημαντικά πιο ακριβοί από τους αντίστοιχους διπλού πυρήνα. Μια σημαντική αύξηση της τιμής δεν δικαιολογείται πάντα από άποψη απόδοσης. Για παράδειγμα, εάν ένας επεξεργαστής 8 πυρήνων αποδειχθεί ότι είναι μόλις 10% ταχύτερος από έναν επεξεργαστή με λιγότερους πυρήνες, αλλά είναι 2 φορές πιο ακριβός, τότε θα είναι δύσκολο να δικαιολογηθεί μια τέτοια αγορά.

Δεύτερον, όσο περισσότερους πυρήνες έχει ένας επεξεργαστής, τόσο πιο αδηφάγος είναι από άποψη κατανάλωσης ενέργειας. Δεν έχει νόημα να αγοράσετε έναν πολύ πιο ακριβό φορητό υπολογιστή με Core i7 4 πυρήνων (8 νημάτων), εάν αυτός ο φορητός υπολογιστής επεξεργάζεται μόνο αρχεία κειμένου, περιηγείται στο Διαδίκτυο και ούτω καθεξής. Δεν θα υπάρχει διαφορά με τον διπύρηνο (4 νήματα) Core i5 και ο κλασικός Core i3 με μόνο δύο υπολογιστικά νήματα δεν θα είναι κατώτερος από τον πιο επιφανή «συνάδελφό» του. Και ένας τόσο ισχυρός φορητός υπολογιστής θα διαρκέσει πολύ λιγότερο με ισχύ μπαταρίας από τον οικονομικό και μη απαιτητικό Core i3.

Πολυπύρηνες επεξεργαστές σε κινητά τηλέφωνα και tablet

Η μόδα για πολλούς πυρήνες υπολογιστών μέσα σε έναν επεξεργαστή ισχύει και για φορητές συσκευές. Τα smartphone και τα tablet με μεγάλο αριθμό πυρήνων δεν χρησιμοποιούν σχεδόν ποτέ τις πλήρεις δυνατότητες των μικροεπεξεργαστών τους. Οι φορητοί υπολογιστές διπλού πυρήνα μερικές φορές στην πραγματικότητα λειτουργούν λίγο πιο γρήγορα, αλλά 4, και ακόμη περισσότερο, 8 πυρήνες είναι ειλικρινά υπερβολικοί. Η μπαταρία καταναλώνεται εντελώς ασεβή και οι ισχυρές υπολογιστικές συσκευές απλώς μένουν σε αδράνεια. Συμπέρασμα - οι επεξεργαστές πολλαπλών πυρήνων σε τηλέφωνα, smartphone και tablet είναι απλώς ένας φόρος τιμής στο μάρκετινγκ και όχι μια επείγουσα ανάγκη. Οι υπολογιστές είναι πιο απαιτητικές συσκευές από τα τηλέφωνα. Χρειάζονται πραγματικά δύο πυρήνες επεξεργαστή. Τέσσερα δεν θα κάνουν κακό. Το 6 και το 8 είναι υπερβολικό για κανονικές εργασίες και ακόμη και παιχνίδια.

Πώς να επιλέξετε έναν πολυπύρηνο επεξεργαστή και να μην κάνετε λάθος;

Το πρακτικό μέρος του σημερινού άρθρου είναι σχετικό για το 2014. Είναι απίθανο να αλλάξει κάτι σημαντικά τα επόμενα χρόνια. Θα μιλήσουμε μόνο για επεξεργαστές που κατασκευάζονται από την Intel. Ναι, η AMD προσφέρει καλές λύσεις, αλλά είναι λιγότερο δημοφιλείς και πιο δυσνόητες.

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

ΕΠΕΞΕΡΓΑΣΤΗΣ Αριθμός Πυρήνων Υπολογιστικά νήματα Τυπικές Εφαρμογές
Ατομο 1-2 1-4 Υπολογιστές χαμηλής κατανάλωσης και netbook. Ο στόχος των επεξεργαστών Atom είναι να ελαχιστοποιήσουν την κατανάλωση ενέργειας. Η παραγωγικότητά τους είναι ελάχιστη.
Celeron 2 2 Οι φθηνότεροι επεξεργαστές για επιτραπέζιους και φορητούς υπολογιστές. Η απόδοση είναι επαρκής για εργασίες γραφείου, αλλά αυτές δεν είναι καθόλου CPU gaming.
Pentium 2 2 Οι επεξεργαστές Intel είναι εξίσου φθηνοί και χαμηλών επιδόσεων με τον Celeron. Εξαιρετική επιλογή για υπολογιστές γραφείου. Τα Pentium είναι εξοπλισμένα με ελαφρώς μεγαλύτερη κρυφή μνήμη και, μερικές φορές, ελαφρώς αυξημένη απόδοση σε σύγκριση με το Celeron
Core i3 2 4 Δύο αρκετά ισχυροί πυρήνες, καθένας από τους οποίους χωρίζεται σε δύο εικονικούς «επεξεργαστές» (Hyper-Threading). Αυτοί είναι ήδη αρκετά ισχυροί CPU σε όχι πολύ υψηλές τιμές. Μια καλή επιλογή για έναν οικιακό ή ισχυρό υπολογιστή γραφείου χωρίς πολλές απαιτήσεις απόδοσης.
Core i5 4 4 Οι πλήρεις επεξεργαστές 4 πυρήνων Core i5 είναι αρκετά ακριβοί. Η απόδοσή τους λείπει μόνο στις πιο απαιτητικές εργασίες.
Core i7 4-6 8-12 Οι πιο ισχυροί, αλλά ιδιαίτερα ακριβοί επεξεργαστές Intel. Κατά κανόνα, σπάνια είναι ταχύτεροι από τον Core i5 και μόνο σε ορισμένα προγράμματα. Απλώς δεν υπάρχουν εναλλακτικές σε αυτές.

Μια σύντομη περίληψη του άρθρου "Όλη η αλήθεια για τους επεξεργαστές πολλαπλών πυρήνων." Αντί για σημείωση

  • Πυρήνας CPU- το συστατικό του. Μάλιστα, ανεξάρτητος επεξεργαστής μέσα στη θήκη. Επεξεργαστής διπλού πυρήνα - δύο επεξεργαστές μέσα σε έναν.
  • Πολυπύρηνοςσυγκρίσιμο με τον αριθμό των δωματίων μέσα στο διαμέρισμα. Τα διαμερίσματα δύο δωματίων είναι καλύτερα από τα διαμερίσματα ενός δωματίου, αλλά μόνο με άλλα χαρακτηριστικά ίσα (τοποθεσία διαμερίσματος, κατάσταση, επιφάνεια, ύψος οροφής).
  • Η δήλωση ότι όσο περισσότερους πυρήνες έχει ένας επεξεργαστής, τόσο καλύτερος είναι- ένα τέχνασμα μάρκετινγκ, ένας εντελώς λάθος κανόνας. Εξάλλου, ένα διαμέρισμα επιλέγεται όχι μόνο από τον αριθμό των δωματίων, αλλά και από τη θέση του, την ανακαίνιση και άλλες παραμέτρους. Το ίδιο ισχύει για πολλούς πυρήνες μέσα στον επεξεργαστή.
  • Υπάρχει "εικονικό" πολυπύρηνο— Τεχνολογία Hyper-Threading. Χάρη σε αυτή την τεχνολογία, κάθε «φυσικός» πυρήνας χωρίζεται σε δύο «εικονικούς». Αποδεικνύεται ότι ένας επεξεργαστής 2 πυρήνων με Hyper-Threading έχει μόνο δύο πραγματικούς πυρήνες, αλλά αυτοί οι επεξεργαστές επεξεργάζονται ταυτόχρονα 4 υπολογιστικά νήματα. Αυτό είναι ένα πραγματικά χρήσιμο χαρακτηριστικό, αλλά ένας επεξεργαστής 4 νημάτων δεν μπορεί να θεωρηθεί επεξεργαστής τετραπλού πυρήνα.
  • Για επιτραπέζιους επεξεργαστές Intel: Celeron - 2 πυρήνες και 2 νήματα. Pentium - 2 πυρήνες, 2 κλωστές. Core i3 - 2 πυρήνες, 4 νήματα. Core i5 - 4 πυρήνες, 4 νήματα. Core i7 - 4 πυρήνες, 8 νήματα. Οι επεξεργαστές φορητών υπολογιστών Intel (κινητά) έχουν διαφορετικό αριθμό πυρήνων/νημάτων.
  • Για φορητούς υπολογιστές, η ενεργειακή απόδοση (στην πράξη, η διάρκεια ζωής της μπαταρίας) είναι συχνά πιο σημαντική από τον αριθμό των πυρήνων.