Κεντρική Μονάδα Επεξεργασίας

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

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

Ο ρυθμός ρολογιού, ή η ταχύτητα των εσωτερικών τμημάτων μιας CPU, μετριέται σε Hertz (Hz). Οι σύγχρονοι επεξεργαστές λειτουργούν συχνά τόσο γρήγορα που αντί γιγαχέρτζ (GHz) χρησιμοποιείται η τιμή gigahertz. Ένα GHz είναι 1.000.000.000 κύκλοι ανά δευτερόλεπτο.

Οι περισσότερες CPU που χρησιμοποιούνται σε επιτραπέζιους (οικιακούς) υπολογιστές είναι μικροεπεξεργαστές που κατασκευάζονται είτε από την Intel είτε από την Advanced Micro Devices (συνήθως συντομεύεται σε AMD). Ορισμένες άλλες εταιρείες που κατασκευάζουν επεξεργαστές είναι η ARM, η IBM και η AMD υπό την ATI Technologies, η οποία είναι ο ηγέτης αυτή τη στιγμή. Οι περισσότερες από τις CPU τους χρησιμοποιούνται σε ενσωματωμένα συστήματα για πιο εξειδικευμένα πράγματα, όπως σε κινητά τηλέφωνα, αυτοκίνητα, κονσόλες παιχνιδιών ή στο στρατό.

Μια CPU Pentium στο εσωτερικό ενός υπολογιστήZoom
Μια CPU Pentium στο εσωτερικό ενός υπολογιστή

Τύποι CPUs

Τον 20ό αιώνα οι μηχανικοί επινόησαν πολλές διαφορετικές αρχιτεκτονικές υπολογιστών. Σήμερα οι περισσότεροι επιτραπέζιοι υπολογιστές χρησιμοποιούν είτε CPU 32-bit είτε CPU 64-bit. Οι εντολές σε μια ΚΜΕ 32 bit είναι καλές στο χειρισμό δεδομένων μεγέθους 32 bit (οι περισσότερες εντολές "σκέφτονται" σε 32 bit σε μια ΚΜΕ 32 bit). Ομοίως, μια ΚΜΕ 64 bit είναι καλή στο χειρισμό δεδομένων μεγέθους 64 bit (και συχνά καλή στο χειρισμό δεδομένων 32 bit). Το μέγεθος των δεδομένων που χειρίζεται καλύτερα μια ΚΜΕ ονομάζεται συχνά μέγεθος λέξης της ΚΜΕ. Πολλές παλιές ΚΜΕ των δεκαετιών του 70, του 80 και των αρχών της δεκαετίας του 90 (και πολλά σύγχρονα ενσωματωμένα συστήματα) έχουν μέγεθος λέξης 8 ή 16 bit. Όταν εφευρέθηκαν οι ΚΜΕ στα μέσα του 20ου αιώνα είχαν πολλά διαφορετικά μεγέθη λέξεων. Ορισμένες είχαν διαφορετικά μεγέθη λέξεων για εντολές και δεδομένα. Τα λιγότερο δημοφιλή μεγέθη λέξεων σταμάτησαν αργότερα να χρησιμοποιούνται.

Οι περισσότερες CPU είναι μικροεπεξεργαστές. Αυτό σημαίνει ότι η ΚΜΕ είναι ένα μόνο τσιπ. Ορισμένα τσιπ με μικροεπεξεργαστές στο εσωτερικό τους περιέχουν και άλλα εξαρτήματα και είναι πλήρεις "υπολογιστές" ενός τσιπ. Αυτό ονομάζεται μικροελεγκτής.

Καταχωρητές

Όταν η CPU εκτελεί ένα πρόγραμμα υπολογιστή, χρειάζεται κάπου να αποθηκεύσει τα δεδομένα στα οποία λειτουργούν οι εντολές (τα δεδομένα που διαβάζουν και γράφουν). Αυτή η αποθήκευση ονομάζεται καταχωρητής. Μια ΚΜΕ διαθέτει συνήθως πολλούς καταχωρητές. Η πρόσβαση στους καταχωρητές πρέπει να είναι πολύ γρήγορη (για ανάγνωση και εγγραφή). Ως εκ τούτου, αποτελούν μέρος του ίδιου του τσιπ της ΚΜΕ.

Μνήμη

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

Όταν η ΚΜΕ θέλει να διαβάσει ή να γράψει δεδομένα στη μνήμη RAM, εξάγει μια διεύθυνση για τα δεδομένα αυτά. Κάθε byte στη RAM έχει μια διεύθυνση μνήμης. Το μέγεθος των διευθύνσεων είναι συχνά το ίδιο με το μέγεθος της λέξης: Μια ΚΜΕ 32-bit χρησιμοποιεί διευθύνσεις 32-bit, κ.λπ. Ωστόσο, οι μικρότερες ΚΜΕ, όπως οι ΚΜΕ 8-bit, χρησιμοποιούν συχνά διευθύνσεις που είναι μεγαλύτερες από το μέγεθος της λέξης. Διαφορετικά, το μέγιστο μήκος του προγράμματος θα ήταν πολύ μικρό.

Επειδή το μέγεθος των διευθύνσεων είναι περιορισμένο, το μέγιστο μέγεθος της μνήμης είναι επίσης περιορισμένο. Οι επεξεργαστές 32-bit μπορούν συνήθως να διαχειριστούν μόνο μέχρι 4 GB μνήμης RAM. Αυτός είναι ο αριθμός των διαφορετικών bytes που μπορούν να επιλεγούν χρησιμοποιώντας μια διεύθυνση 32 bit (κάθε bit μπορεί να έχει δύο τιμές-0 και 1-και 2 32bytes είναι 4 GB). Ένας επεξεργαστής 64-bit μπορεί να είναι σε θέση να χειριστεί έως και 16 ΕΒ μνήμης RAM (16 exabytes, περίπου 16 δισεκατομμύρια GB ή 16 δισεκατομμύρια δισεκατομμύρια bytes). Το λειτουργικό σύστημα μπορεί να τον περιορίσει στη χρήση μικρότερων ποσοτήτων.

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

Cache

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

Συχνά έχει νόημα να έχουμε μια "κρυφή μνήμη για την κρυφή μνήμη", όπως ακριβώς έχει νόημα να έχουμε μια κρυφή μνήμη για τη μνήμη RAM. Στην πολυεπίπεδη κρυφή μνήμη, υπάρχουν πολλές κρυφές μνήμες, που ονομάζονται κρυφή μνήμη L1, κρυφή μνήμη L2 και ούτω καθεξής. Η κρυφή μνήμη L1 είναι η ταχύτερη (και πιο ακριβή ανά byte) κρυφή μνήμη και βρίσκεται πιο "κοντά" στη CPU. Η κρυφή μνήμη L2 βρίσκεται ένα βήμα πιο μακριά και είναι πιο αργή από την κρυφή μνήμη L1 κ.λπ. Η κρυφή μνήμη L1 μπορεί συχνά να θεωρηθεί ως κρυφή μνήμη για την κρυφή μνήμη L2 κ.λπ.

Λεωφορεία

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

Σύνολα εντολών

Ένα σύνολο εντολών (που ονομάζεται επίσης ISA - Instruction Set Architecture) είναι μια γλώσσα που γίνεται άμεσα κατανοητή από μια συγκεκριμένη CPU. Αυτές οι γλώσσες ονομάζονται επίσης κώδικας μηχανής ή δυαδικός κώδικας. Λένε πώς λέτε στη CPU να κάνει διάφορα πράγματα, όπως να φορτώσει δεδομένα από τη μνήμη σε έναν καταχωρητή ή να προσθέσει τις τιμές από δύο καταχωρητές. Κάθε εντολή σε ένα σύνολο εντολών έχει μια κωδικοποίηση, δηλαδή πώς η εντολή γράφεται ως ακολουθία bit.

Προγράμματα γραμμένα σε γλώσσες προγραμματισμού όπως η C και η C++ δεν μπορούν να εκτελεστούν απευθείας από τη CPU. Πρέπει να μεταφραστούν σε κώδικα μηχανής προτού η ΚΜΕ μπορέσει να τα εκτελέσει. Ένας μεταγλωττιστής είναι ένα πρόγραμμα υπολογιστή που κάνει αυτή τη μετάφραση.

Ο κώδικας μηχανής είναι απλώς μια ακολουθία από 0 και 1, γεγονός που καθιστά δύσκολη την ανάγνωσή του από τον άνθρωπο. Για να γίνει πιο ευανάγνωστο, τα προγράμματα κώδικα μηχανής γράφονται συνήθως σε γλώσσα assembly. Η γλώσσα συναρμολόγησης χρησιμοποιεί κείμενο αντί για 0 και 1: Θα μπορούσατε να γράψετε "LD A,0" για να φορτώσετε την τιμή 0 στον καταχωρητή A, για παράδειγμα. Ένα πρόγραμμα που μεταφράζει τη γλώσσα συναρμολόγησης σε κώδικα μηχανής ονομάζεται assembler.

Λειτουργικότητα

Ακολουθούν μερικά από τα βασικά πράγματα που μπορεί να κάνει μια CPU:

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

Ακόμα και πολύ περίπλοκα προγράμματα μπορούν να δημιουργηθούν συνδυάζοντας πολλές απλές εντολές όπως αυτές. Αυτό είναι εφικτό επειδή κάθε εντολή χρειάζεται πολύ λίγο χρόνο για να συμβεί. Πολλές CPU σήμερα μπορούν να εκτελέσουν περισσότερες από 1 δισεκατομμύριο (1.000.000.000) εντολές σε ένα μόνο δευτερόλεπτο. Γενικά, όσο περισσότερα μπορεί να κάνει μια CPU σε δεδομένο χρόνο, τόσο πιο γρήγορη είναι. Ένας τρόπος μέτρησης της ταχύτητας ενός επεξεργαστή είναι το MIPS (εκατομμύρια εντολές ανά δευτερόλεπτο). Τα flops (πράξεις κινητής υποδιαστολής ανά δευτερόλεπτο) και η ταχύτητα του ρολογιού της CPU (συνήθως μετριέται σε gigahertz) είναι επίσης τρόποι μέτρησης του πόση δουλειά μπορεί να κάνει ένας επεξεργαστής σε συγκεκριμένο χρόνο.

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

Σωληνώσεις εντολών

Κάθε εντολή που εκτελείται από μια CPU γίνεται συνήθως σε πολλά βήματα. Για παράδειγμα, τα βήματα για την εκτέλεση της εντολής "INC A" (αύξηση της τιμής που είναι αποθηκευμένη στον καταχωρητή A κατά ένα) σε μια απλή CPU θα μπορούσαν να είναι τα εξής:

  • Διαβάστε την εντολή από τη μνήμη,
  • αποκωδικοποιεί την εντολή (καταλαβαίνει τι κάνει η εντολή), και
  • προσθέστε ένα στο μητρώο Α.

Διαφορετικά τμήματα της CPU κάνουν αυτά τα διαφορετικά πράγματα. Συχνά είναι δυνατόν να εκτελούνται ταυτόχρονα ορισμένα βήματα από διαφορετικές εντολές, γεγονός που καθιστά την ΚΜΕ ταχύτερη. Για παράδειγμα, μπορούμε να διαβάσουμε μια εντολή από τη μνήμη την ίδια στιγμή που αποκωδικοποιούμε μια άλλη εντολή, αφού αυτά τα βήματα χρησιμοποιούν διαφορετικές μονάδες. Αυτό μπορεί να θεωρηθεί ότι έχουμε πολλές εντολές "μέσα στον αγωγό" ταυτόχρονα. Στην καλύτερη περίπτωση, όλες οι μονάδες εργάζονται ταυτόχρονα σε διαφορετικές εντολές, αλλά αυτό δεν είναι πάντα εφικτό.

Μονάδες διαχείρισης μνήμης (MMUs) και εικονική μνήμη

Οι σύγχρονες CPU χρησιμοποιούν συχνά μια μονάδα διαχείρισης μνήμης (MMU). Η MMU είναι ένα στοιχείο που μεταφράζει διευθύνσεις από την ΚΜΕ σε (συνήθως) διαφορετικές διευθύνσεις RAM. Όταν χρησιμοποιείται μια MMU, οι διευθύνσεις που χρησιμοποιούνται σε ένα πρόγραμμα δεν είναι (συνήθως) οι "πραγματικές" διευθύνσεις στις οποίες αποθηκεύονται τα δεδομένα. Αυτό ονομάζεται εικονική (το αντίθετο της "πραγματικής") μνήμη. Μερικοί από τους λόγους για τους οποίους είναι καλό να έχετε μια MMU παρατίθενται παρακάτω:

  • Μια MMU μπορεί να "κρύψει" τη μνήμη άλλων προγραμμάτων από ένα πρόγραμμα. Αυτό επιτυγχάνεται με το να μην μεταφράζονται διευθύνσεις στις "κρυφές" διευθύνσεις ενώ το πρόγραμμα εκτελείται. Αυτό είναι καλό γιατί σημαίνει ότι τα προγράμματα δεν μπορούν να διαβάσουν και να τροποποιήσουν τη μνήμη άλλων προγραμμάτων, γεγονός που βελτιώνει την ασφάλεια και τη σταθερότητα. (Τα προγράμματα δεν μπορούν να "κατασκοπεύουν" το ένα το άλλο ή να "πατάνε το ένα στα πόδια του άλλου").
  • Πολλές MMU μπορούν να καταστήσουν ορισμένα τμήματα της μνήμης μη εγγράψιμα, μη αναγνώσιμα ή μη εκτελέσιμα (που σημαίνει ότι ο κώδικας που είναι αποθηκευμένος σε αυτό το τμήμα της μνήμης δεν μπορεί να εκτελεστεί). Αυτό μπορεί να είναι καλό για λόγους σταθερότητας και ασφάλειας, καθώς και για άλλους λόγους.
  • Οι MMUs επιτρέπουν σε διαφορετικά προγράμματα να έχουν διαφορετικές "απόψεις" της μνήμης. Αυτό είναι χρήσιμο σε πολλές διαφορετικές καταστάσεις. Για παράδειγμα, θα είναι πάντα δυνατό να υπάρχει ο "κύριος" κώδικας ενός προγράμματος στην ίδια (εικονική) διεύθυνση χωρίς να συγκρούεται με άλλα προγράμματα. Είναι επίσης βολικό όταν υπάρχουν πολλά διαφορετικά κομμάτια κώδικα (από βιβλιοθήκες) που μοιράζονται μεταξύ των προγραμμάτων.
  • Οι MMUs επιτρέπουν στον κώδικα από τις βιβλιοθήκες να εμφανίζεται σε διαφορετικές διευθύνσεις κάθε φορά που εκτελείται ένα πρόγραμμα. Αυτό είναι καλό, επειδή το να μη γνωρίζουμε πού βρίσκονται τα πράγματα στη μνήμη συχνά δυσκολεύει τους χάκερ να κάνουν τα προγράμματα να κάνουν κακά πράγματα. Αυτό ονομάζεται τυχαιοποίηση του χώρου διευθύνσεων.
  • Τα προηγμένα προγράμματα και τα λειτουργικά συστήματα μπορούν να χρησιμοποιήσουν τεχνάσματα με τις MMUs για να αποφύγουν την αντιγραφή δεδομένων μεταξύ διαφορετικών θέσεων στη μνήμη.

Πολλαπλοί πυρήνες

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

Κατασκευαστές

Οι ακόλουθες εταιρείες κατασκευάζουν CPU υπολογιστών:

  • ARM
  • Intel
  • Προηγμένες συσκευές Micro Devices
  • MCST
  • SRISA
  • Sun Microsystems

Περαιτέρω πληροφορίες

Ερωτήσεις και απαντήσεις

Q: Τι είναι μια CPU;


A: Η CPU (κεντρική μονάδα επεξεργασίας) είναι ένα σημαντικό μέρος κάθε υπολογιστή. Στέλνει σήματα για τον έλεγχο των άλλων τμημάτων του υπολογιστή, σχεδόν όπως ο εγκέφαλος ελέγχει το σώμα. Η ΚΜΕ είναι μια ηλεκτρονική μηχανή που λειτουργεί με βάση έναν κατάλογο οδηγιών για την εκτέλεση συγκεκριμένων εργασιών.

Ερ: Πώς λειτουργεί η ΚΜΕ;


Α: Η ΚΜΕ διαβάζει τον κατάλογο των εντολών και εκτελεί (εκτελεί) κάθε μία με τη σειρά. Ένας κατάλογος οδηγιών που μπορεί να εκτελέσει η ΚΜΕ είναι ένα πρόγραμμα υπολογιστή.

Ερ: Σε τι μετράται ο ρυθμός ρολογιού ή η ταχύτητα μιας ΚΜΕ;


Α: Ο ρυθμός ρολογιού ή η ταχύτητα των εσωτερικών τμημάτων μιας ΚΜΕ μετριέται σε Hertz (Hz). Οι σύγχρονοι επεξεργαστές λειτουργούν συχνά τόσο γρήγορα που αντί γιγαχέρτζ (GHz) χρησιμοποιείται - ένα GHz είναι 1.000.000.000 κύκλοι ανά δευτερόλεπτο.

Ερ: Ποιες είναι ορισμένες εταιρείες που κατασκευάζουν ΚΜΕ;


Α: Ορισμένες εταιρείες που κατασκευάζουν επεξεργαστές είναι η Intel, η Advanced Micro Devices (AMD), η ARM (που πρόσφατα εξαγοράστηκε από τη Nvidia), η IBM και η AMD υπό την ATI Technologies, η οποία σήμερα ηγείται της αγοράς.

Ε: Πού χρησιμοποιούνται οι περισσότερες CPU;


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

AlegsaOnline.com - 2020 / 2023 - License CC3