Εκπαιδευτικά σεμινάρια

Ποια είναι τα θέματα ενός επεξεργαστή; διαφορές με τους πυρήνες

Πίνακας περιεχομένων:

Anonim

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

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

Ευρετήριο περιεχομένων

Ποιοι είναι οι πυρήνες ενός επεξεργαστή

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

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

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

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

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

Τι είναι τα θέματα επεξεργασίας;

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

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

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

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

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

Προγράμματα, διαδικασίες και θέματα

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

Οι διαδικασίες του προγράμματος

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

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

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

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

Τα θέματα μιας διαδικασίας

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

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

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

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

Μπορούμε να δούμε αυτά τα νήματα ή τα νήματα στο σύστημα;

Όχι με πολύ λεπτομερή τρόπο, αλλά ναι, μπορούμε να τα δούμε, τόσο στα Windows όσο και στα Mac.

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

Στην οθόνη παρακολούθησης δραστηριότητας των Mac, θα έχουμε απευθείας τα θέματα που αναφέρονται στην κύρια οθόνη.

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

Επισκεφτείτε τα άρθρα μας σχετικά με:

Ελπίζουμε ότι όλα ήταν περισσότερο ή λιγότερο σαφή και εκτιμούμε ότι έχετε επιλέξει να μάθουμε περισσότερα για αυτό το θέμα.

Εκπαιδευτικά σεμινάρια

Η επιλογή των συντακτών

Back to top button