15Aug
Η εμφάνιση των οικονομικών επεξεργαστών πολλαπλών πυρήνων για καταναλωτές αυξάνει την ερώτηση για πολλούς χρήστες: πώς υπολογίζετε αποτελεσματικά την πραγματική ταχύτητα ενός συστήματος πολλαπλών πυρήνων;Είναι ένα σύστημα 4-core 3Ghz πραγματικά 12Ghz;Διαβάστε παρακάτω καθώς ερευνούμε.
Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινοτική μονάδα δίσκου Q & A web sites.
Το ερώτημα
Reader SuperUser NReilingh ήταν περίεργο πώς να την ταχύτητα επεξεργαστή για ένα σύστημα πολλαπλών πυρήνων που πραγματικά υπολογίζεται:
Είναι σωστό να πούμε, για παράδειγμα, ότι ένας επεξεργαστής με τέσσερις πυρήνες εκτελώντας κάθε φορά σε 3GHz είναι στην πραγματικότητα ένας επεξεργαστής που τρέχεισε 12GHz;
Κάποτε μπήκα σε ένα επιχείρημα "Mac εναντίον PC"( το οποίο από την πλευρά του δεν είναι το επίκεντρο αυτού του θέματος. .. που ήταν στο γυμνάσιο) με γνωστό που επέμενε ότι οι Mac ήταν διαφημίζονται μόνο ως μηχανές 1Ghz επειδή ήτανδιπλού επεξεργαστή G4 που εκτελούν κάθε φορά τα 500MHz.
Τη στιγμή που ήξερα ότι αυτό θα ήταν hogwash για λόγους που νομίζω ότι είναι εμφανείς στους περισσότερους ανθρώπους, αλλά μόλις είδα ένα σχόλιο σε αυτή την ιστοσελίδα με την επίδραση της "6 πυρήνες x 0.2GHz = 1.2Ghz" και αυτό με πήρε το σκεπτόμενο πάλι γιααν υπάρχει μια πραγματική απάντηση σε αυτό.
Έτσι, αυτό είναι ένα περισσότερο ή λιγότερο φιλοσοφικό / βαθύ τεχνικό ερώτημα σχετικά με τη σημασιολογία του υπολογισμού ταχύτητας ρολογιού.Βλέπω δύο δυνατότητες:
- Κάθε πυρήνας εκτελεί στην πραγματικότητα x υπολογισμούς ανά δευτερόλεπτο, οπότε ο συνολικός αριθμός υπολογισμού είναι x( πυρήνες).Η ταχύτητα ρολογιού
- είναι μάλλον ένας μετρητής του αριθμού των κύκλων που ο επεξεργαστής περνάει μέσα σε ένα δευτερόλεπτο, έτσι ώστε όσο όλοι οι πυρήνες λειτουργούν με την ίδια ταχύτητα, η ταχύτητα κάθε κύκλου ρολογιού παραμένει η ίδια ανεξάρτητα από τον αριθμό των πυρήνωνυπάρχει.Με άλλα λόγια, το Hz =( core1Hz + core2Hz +. ..) / πυρήνες.
Επομένως, ποιος είναι ο κατάλληλος τρόπος για να υποδηλώσει τη συνολική ταχύτητα ρολογιού και, το σημαντικότερο, είναι ακόμη δυνατό να χρησιμοποιηθεί ονοματολογία ταχύτητας ενός πυρήνα σε ένα σύστημα πολλαπλών πυρήνων;
Οι συνεργάτες της απάντησης
SuperUser Mokubai βοηθούν να ξεκαθαρίσουν τα πράγματα.Γράφει:
Ο κύριος λόγος για τον οποίο ένας επεξεργαστής τετραπλού πυρήνα 3GHz δεν είναι ποτέ τόσο γρήγορος όσο ένας μονοφωνικός πυρήνας 12GHz είναι να κάνει με το πώς λειτουργεί η εργασία που εκτελείται σε αυτόν τον επεξεργαστή, δηλ. Ένα μονόκλωνο ή πολλαπλών σπειρωμάτων.Ο νόμος του Amdahl είναι σημαντικός όταν εξετάζετε τους τύπους εργασιών που εκτελείτε.
10: a = a + 1 20: goto 10
Στη συνέχεια, η εργασία εξαρτάται σε μεγάλο βαθμό από το αποτέλεσματου προηγούμενου περάσματος και δεν μπορεί να τρέξει πολλαπλά αντίγραφα του ίδιου χωρίς να καταστραφεί η τιμή του 'a' καθώς κάθε αντίγραφο θα πάρει την τιμή του 'a' σε διαφορετικούς χρόνους και να το γράψει πίσω διαφορετικά.Αυτό περιορίζει την εργασία σε ένα καινούργιο νήμα και έτσι η εργασία μπορεί πάντα να τρέχει σε έναν μόνο πυρήνα σε οποιαδήποτε δεδομένη στιγμή, αν ήταν να τρέξει σε πολλαπλούς πυρήνες τότε θα συνέβαινε η διαφθορά συγχρονισμού.Αυτό περιορίζει το 1/2 της ισχύος cpu ενός συστήματος διπλού πυρήνα, ή το 1/4 σε ένα σύστημα τετραπλού πυρήνα.
Τώρα πάρτε μια εργασία όπως:
10: a = a + 1 20: b = b + 1 30: c = c + 1 40: d = d + 1 50: goto 10Όλες αυτές οι γραμμές είναι ανεξάρτητεςνα χωριστεί σε τέσσερα ξεχωριστά προγράμματα όπως το πρώτο και να τρέξει ταυτόχρονα, καθένας ικανός να χρησιμοποιήσει αποτελεσματικά την πλήρη ισχύ ενός από τους πυρήνες χωρίς κανένα πρόβλημα συγχρονισμού, εκεί έρχεται ο νόμος του Amdahl.
Έτσι εάν έχετε μια ενιαία εφαρμογή με σπειρώματα που κάνει υπολογισμούς βίαιης δύναμης, ο μοναδικός επεξεργαστής 12GHz θα κερδίσει τα χέρια κάτω, αν μπορείτε κάπως να κάνετε το έργο χωρισμένο σε ξεχωριστά μέρη και με πολλαπλά σπειρώματα τότε οι 4 πυρήνες θα μπορούσαν να πλησιάσουν,, την ίδια απόδοση, σύμφωνα με το νόμο Amdahl.
Το κύριο πράγμα που σας δίνει ένα σύστημα πολλαπλών CPU είναι η ανταπόκριση.Σε ένα ενιαίο κεντρικό μηχάνημα που εργάζεται σκληρά, το σύστημα μπορεί να φαίνεται υποτονικό καθώς οι περισσότερες φορές θα μπορούσαν να χρησιμοποιηθούν από μία εργασία και οι άλλες εργασίες εκτελούνται μόνο σε σύντομες εκρήξεις μεταξύ των μεγαλύτερων εργασιών, καταλήγοντας σε ένα σύστημα που φαίνεται υποτονικό ή τρελό.Σε ένα σύστημα πολλαπλών πυρήνων το βαρύ καθήκον παίρνει έναν πυρήνα και όλα τα άλλα καθήκοντα παίζουν στους άλλους πυρήνες, κάνοντας τις δουλειές τους γρήγορα και αποτελεσματικά.
Το επιχείρημα του "6 πυρήνες x 0.2GHz = 1.2Ghz" είναι σκουπίδια σε κάθε κατάσταση, εκτός από τις περιπτώσεις όπου τα καθήκοντα είναι απόλυτα παράλληλα και ανεξάρτητα.Υπάρχει ένας μεγάλος αριθμός εργασιών που είναι ιδιαίτερα παράλληλες, αλλά απαιτούν ακόμα κάποια μορφή συγχρονισμού.Το χειρόφρενο είναι ένα βίντεο trancoder που είναι πολύ καλό στη χρήση όλων των διαθέσιμων CPU, αλλά απαιτεί μια βασική διαδικασία για να κρατήσει τα άλλα νήματα γεμάτα με δεδομένα και να συλλέξει τα δεδομένα που έχουν γίνει με.
- Κάθε πυρήνας εκτελεί στην πραγματικότητα x υπολογισμούς ανά δευτερόλεπτο, οπότε ο συνολικός αριθμός υπολογισμών είναι x( πυρήνες).
Κάθε πυρήνας είναι ικανός να κάνει υπολογισμούς x ανά δευτερόλεπτο, υποθέτοντας ότι ο φόρτος εργασίας είναι κατάλληλος παράλληλος, σε ένα γραμμικό πρόγραμμα το μόνο που έχετε είναι 1 πυρήνας.Η ταχύτητα ρολογιού
- είναι μάλλον ένας μετρητής του αριθμού των κύκλων που περνά ο επεξεργαστής μέσα σε ένα δευτερόλεπτο, έτσι ώστε όσο όλοι οι πυρήνες λειτουργούν με την ίδια ταχύτητα, η ταχύτητα κάθε κύκλου ρολογιού παραμένει η ίδια ανεξάρτητα από τον αριθμό των πυρήνωνυπάρχει.Με άλλα λόγια, το Hz =( core1Hz + core2Hz +. ..) / πυρήνες.
Νομίζω ότι είναι λάθος να πιστεύουμε ότι 4 x 3GHz = 12GHz, χορηγείται τα μαθηματικά έργα, αλλά συγκρίνετε τα μήλα με τα πορτοκάλια και τα ποσά δεν είναι σωστά, τα GHz δεν μπορούν απλά να προστεθούν μαζί για κάθε κατάσταση.Θα το αλλάξω σε 4 x 3GHz = 4 x 3GHz.
Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.