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

Αρχιτεκτονική Συνεπεξεργαστή
Η αρχιτεκτονική του συνεπεξεργαστή όπως το 8087 φαίνεται παρακάτω. Γενικά, αυτός ο συν-επεξεργαστής λειτουργεί παράλληλα με τον μικροεπεξεργαστή. Αυτός ο συνεπεξεργαστής αναπτύχθηκε από την Intel και χρησιμοποιήθηκε με μικροεπεξεργαστές οικογένειας 8086 16-bit. Όταν ο επεξεργαστής λειτουργεί σε συνδυασμό με τον μικροεπεξεργαστή, το τμήμα υπολογισμού απλώς χειρίζεται ο επεξεργαστής και αυτό επιτρέπει στην CPU να χρησιμοποιήσει τους πόρους για να εκτελέσει διάφορες άλλες δραστηριότητες.
Το παρακάτω σχήμα αντιπροσωπεύει την αρχιτεκτονική του συνεπεξεργαστή 8087. Αυτή η αρχιτεκτονική περιλαμβάνει δύο κύριες μονάδες όπως μονάδα ελέγχου και μια αριθμητική μονάδα εκτέλεσης που ονομάζεται επίσης NEU.

Στη μονάδα ελέγχου, υπάρχουν διάφορες μονάδες όπως η προσωρινή μνήμη δεδομένων, ο καταχωρητής λέξεων ελέγχου και κατάστασης, η κοινόχρηστη ουρά τελεστών, ο δείκτης εξαίρεσης και η μονάδα παρακολούθησης διευθύνσεων και διαύλου. Η Numeric Execution Unit ή NEU περιλαμβάνει κυρίως μια μονάδα ελέγχου μικροκώδικα, στοίβα εγγραφής, προγραμματιζόμενο μετατοπιστή, προσωρινό μητρώα , αριθμητική μονάδα, μονάδα εκθέτη & κοινόχρηστη ουρά τελεστών.
Η μονάδα ελέγχου στον συνεπεξεργαστή πρέπει να ελέγχει την εκτέλεση εντολών (IE) για την οποία είναι υπεύθυνη η Numeric Execution Unit. Κυρίως, η μονάδα ελέγχου μικροκώδικα (CU) της μονάδας αριθμητικής εκτέλεσης λαμβάνει τις αριθμητικές οδηγίες από τη μονάδα ελέγχου του συνεπεξεργαστή. Αυτός ο συνεπεξεργαστής έχει πλήρεις 8 καταχωρητές των 80 bit και καθένας από αυτούς χρησιμοποιείται στη στοίβα LIFO. Οι τελεστές πάνω στους οποίους θα εμφανίζονται οι εντολές του συνεπεξεργαστή υπάρχουν στη στοίβα καταχωρητή.

Η υπάρχουσα στοίβα κατευθύνεται μέσω του SP 3-bit (δείκτης στοίβας) που διατηρεί τις δυαδικές τιμές που κυμαίνονται από 000 – 111 προκειμένου να εμφανιστούν οι 8 καταχωρητές στοίβας. Λειτουργεί σε κυκλική στοίβα στη λειτουργία LIFO. Όμως, μόλις πραγματοποιηθεί η ενέργεια επαναφοράς, τότε ο δείκτης μπορεί να αρχικοποιηθεί με τη δυαδική τιμή «000».
Τα αριθμητικά δεδομένα τρεις ταξινομήσεις στις οποίες λειτουργεί ο συν-επεξεργαστής είναι συσσωρευμένοι δεκαδικοί αριθμοί, πραγματικοί αριθμοί και δυαδικοί ακέραιοι. Οι δυαδικοί ακέραιοι αριθμοί είναι τριών τύπων ακέραιος λέξεων 16 bit, σύντομος ακέραιος 32 bit και μεγάλος ακέραιος 64 bit. Η μορφή BCD 80-bit σημαίνει τους συσκευασμένους δεκαδικούς αριθμούς ενώ οι πραγματικοί αριθμοί είναι 3 τύπων. 32-bit σύντομο πραγματικό, 64-bit μεγάλο πραγματικό, και 80-bit προσωρινό πραγματικό.
Για τη μεταφορά των αριθμητικών δεδομένων στον συνεπεξεργαστή είτε α Χρησιμοποιείται δίαυλος εκθέτη 16 bit ή δίαυλος mantissa 64 bit . Ο συνεπεξεργαστής περιλαμβάνει μια λέξη ελέγχου 16-bit & μια λέξη κατάστασης 16-bit.
Η λέξη ελέγχου γράφεται στον καταχωρητή ελέγχου και αυτό λαμβάνει χώρα με τέτοιο τρόπο ώστε ο συνεπεξεργαστής να γράφει αρχικά τη λέξη ελέγχου μέσα στη θέση της μνήμης. Μετά από αυτό, ο συνεπεξεργαστής απλώς διαβάζει τη λέξη ελέγχου χρησιμοποιώντας τη θέση μνήμης και την αποθηκεύει στον καταχωρητή ελέγχου.
Ομοίως, η λέξη κατάστασης διαβάζεται με τέτοιο τρόπο ώστε ο επεξεργαστής να στέλνει τα δεδομένα στον καταχωρητή κατάστασης προς μια θέση της μνήμης. Επιπλέον, αυτός ο συνεπεξεργαστής διαβάζει τον καταχωρητή κατάστασης από τη συγκεκριμένη θέση της μνήμης. Αυτό σημαίνει ότι ο επεξεργαστής και ο μικροεπεξεργαστής επικοινωνούν μεταξύ τους μέσω της κύριας μνήμης.
Πώς λειτουργεί ο συνεπεξεργαστής;
Ο συνεπεξεργαστής έχει σχεδιαστεί κυρίως για να λειτουργεί και με τους επεξεργαστές 8086 και 8088. Ο συνεπεξεργαστής χρησιμοποιείται για να βοηθήσει το σύστημα να λειτουργεί πιο δυναμικά, εκφορτώνοντας συγκεκριμένες εργασίες CPU. Μόλις αυτός ο επεξεργαστής λειτουργήσει σε συνδυασμό με τον μικροεπεξεργαστή, τότε οι οδηγίες τόσο του μικροεπεξεργαστή όσο και του συνεπεξεργαστή ενσωματώνονται κατά τη συγγραφή του προγράμματος. Η αρχή των εντολών στο πρόγραμμα της γλώσσας συναρμολόγησης έχει ένα «F» που αντιπροσωπεύει τις οδηγίες του συνεπεξεργαστή, ενώ οι εντολές χωρίς το πρόθεμα «F» δείχνουν τις οδηγίες του μικροεπεξεργαστή.
Αρχικά, οι οδηγίες λαμβάνονται από τον μικροεπεξεργαστή από τη θέση της μνήμης και τις φορτώνουν διαδοχικά μέσα στην ουρά, την ίδια στιγμή, ο συνεπεξεργαστής 8087 διαβάζει και αποθηκεύει τις οδηγίες σε μια εσωτερική ουρά. Αυτό σημαίνει ότι κάθε εντολή μπορεί να διαβαστεί τόσο μέσω του συνεπεξεργαστή όσο και του επεξεργαστή, ωστόσο κατά τη στιγμή της εκτέλεσης, τόσο ο συνεπεξεργαστής όσο και ο μικροεπεξεργαστής μπορούν να εκτελέσουν την εκτέλεση των συγκεκριμένων εντολών τους. Αυτό σημαίνει ότι η οδηγία διαβάζεται και αποκωδικοποιείται. Εάν ο μικροεπεξεργαστής ελέγξει ότι υπάρχει μια εντολή συμεπεξεργαστή, τότε αυτή η εντολή αντιμετωπίζεται ως No-operation. Ομοίως, εάν αυτός ο συν-επεξεργαστής προσεγγίσει οποιαδήποτε εντολή του μικροεπεξεργαστή, τότε θα αντιμετωπίζεται ως μη λειτουργία.
Τύποι Συνεπεξεργαστή
Υπάρχουν διαφορετικοί συνεπεξεργαστές διαθέσιμοι με βάση τους κατασκευαστές όπως οι παρακάτω.
Συνεπεξεργαστής Intel 8087
Ο Intel 8087 είναι ένας ειδικά σχεδιασμένος συν-επεξεργαστής που χρησιμοποιείται για την εκτέλεση μαθηματικών υπολογισμών που περιλαμβάνουν τιμές κινητής υποδιαστολής και ακέραιους αριθμούς. Μερικές φορές, είναι επίσης γνωστός ως επεξεργαστής αριθμητικών δεδομένων και επεξεργαστής μαθηματικών. Αυτός είναι ένας αριθμητικός συν-επεξεργαστής για επεξεργαστές Intel 80188, 8086, 80186 & 8088. Ο συνεπεξεργαστής 8087 περιλαμβάνει οκτώ γενικούς καταχωρητές 80-bit που εκτελούνται ως στοίβα. Έτσι, όλες οι λειτουργίες κινητής υποδιαστολής εκτελούνται απλώς με δεδομένα από τη στοίβα & από εξωτερική μνήμη.

Ο συν-επεξεργαστής Intel 8087 υποστηρίζει απλώς αριθμούς κινητής υποδιαστολής BCD, ακέραιους, απλούς και διπλής ακρίβειας, καθώς και αριθμούς κινητής υποδιαστολής εκτεταμένης ακρίβειας. Μόλις ο επεξεργαστής 8087 φορτώσει δεδομένα από τη μνήμη, τότε μετατρέπεται εσωτερικά για να επεκτείνει τον αριθμό ακριβείας και περαιτέρω όλοι οι υπολογισμοί εκτελούνται μέσω αυτού του αριθμού.
Επομένως, η εναλλαγή από έναν αριθμό διπλής ακρίβειας σε έναν αριθμό απλής ακρίβειας, διαφορετικά από ακέραιους αριθμούς 64-bit – ακέραιους αριθμούς 32-bit/16-bit δεν δίνουν καμία σημαντική ώθηση στην απόδοση. Οι 8087 συνεπεξεργαστές δεν κατασκευάστηκαν μόνο από την Intel, αλλά οι AMD, Cyrix & IBM κατασκευάζουν επίσης αυτούς τους συνεπεξεργαστές.
Motorola 68881
Ο Motorola 68881 είναι ένας συνεπεξεργαστής που χρησιμοποιείται κυρίως με τη 2η γενιά του Motorola 68K μικροεπεξεργαστές όπως η Motorola 68030 & 68020. Θεωρητικά, αυτός ο συνεπεξεργαστής χρησιμοποιείται με παλαιότερες CPU 68000 ή 68010 ως περιφερειακή συσκευή.

Ο συν-επεξεργαστής Motorola 68881 λειτουργεί απλά σαν μια συσκευή με χαρτογράφηση μνήμης. Μόλις η κύρια CPU φορτώσει την εντολή του συνεπεξεργαστή, τότε γράφει τον κωδικό εντολής στο CIR (Co-processor Interface Registers), οι οποίοι αντιστοιχίζονται στον χώρο διευθύνσεων της CPU και μετά διαβάζει την απόκριση του συν-επεξεργαστής από έναν από τους καταχωρητές CIR.
Οι συνεπεξεργαστές Motorola 68881/68882 χρησιμοποιήθηκαν στους σταθμούς εργασίας IBM RT PC, Sun Microsystems Sun-3, NeXT Computer, Apple Computer Macintosh II, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, STT, Faltaricon, STT. Αυτοί οι επεξεργαστές χρησιμοποιούνται επίσης σε ορισμένα προϊόντα Atari & Amiga τρίτων κατασκευαστών, όπως μια συσκευή με αντιστοίχιση μνήμης στο 68000.
Apple Motion Coprocessors
Οι συνεπεξεργαστές της σειράς M της Apple είναι γνωστοί ως συνεπεξεργαστές κίνησης που χρησιμοποιούνται σε κινητές συσκευές Apple. Ο πρώτος συνεπεξεργαστής σχεδιάστηκε το 2013 και χρησιμοποιήθηκε για τη συλλογή δεδομένων αισθητήρων από ενσωματωμένα γυροσκόπια, επιταχυνσιόμετρα και πυξίδες και εκφόρτωση των συγκεντρωμένων δεδομένων αισθητήρων χρησιμοποιώντας την κύρια CPU.

Οι συνεπεξεργαστές Apple της σειράς M απλώς συλλέγουν επεξεργάζονται και αποθηκεύουν τα δεδομένα του αισθητήρα ακόμα κι αν η συσκευή είναι σε κατάσταση ύπνου και οι εφαρμογές μπορούν να ανακτήσουν δεδομένα μόλις ενεργοποιηθεί ξανά η συσκευή. Έτσι, μειώνεται η ισχύς που αντλείται από τη συσκευή και εξοικονομείται η διάρκεια ζωής της μπαταρίας.
Διαφορά μεταξύ Επεξεργαστή και Συνεπεξεργαστή
Η διαφορά μεταξύ επεξεργαστή και συνεπεξεργαστή περιλαμβάνει τα ακόλουθα.
Επεξεργαστής |
Συνεπεξεργαστής |
Ο επεξεργαστής είναι η κύρια μονάδα επεξεργασίας στον υπολογιστή που εκτελεί διαφορετικές λειτουργίες αριθμητικής, λογικής & ελέγχου με βάση τις οδηγίες. | Ο συνεπεξεργαστής είναι ένας ειδικός επεξεργαστής που παρέχει υποστήριξη στον κύριο επεξεργαστή.
|
Ο επεξεργαστής αναλαμβάνει όλες τις κύριες εργασίες
|
Ο συνεπεξεργαστής φροντίζει μόνο κάποια άλλα πράγματα όπως γραφικά και αριθμητικούς υπολογισμούς. |
Χειρίζεται λογικές πράξεις και μαθηματικούς υπολογισμούς και παράγει σήματα ελέγχου σε άλλα στοιχεία για το συγχρονισμό των εργασιών. | Εκτελεί επεξεργασία σήματος, μαθηματικές πράξεις, δικτύωση & κρυπτογράφηση με βάση τον τύπο. |
Ο επεξεργαστής διατηρεί τη σωστή λειτουργία ολόκληρου του υπολογιστή. | Αυτός ο επεξεργαστής βοηθά στην αύξηση της απόδοσης του συστήματος και εκφορτώνει σοβαρές εργασίες από την CPU. |
Πλεονεκτήματα
Τα πλεονεκτήματα ενός συνεπεξεργαστή περιλαμβάνουν τα ακόλουθα.
- Ο συν-επεξεργαστής απλώς χειρίζεται πιο εξειδικευμένες εργασίες πιο γρήγορα σε σύγκριση με τον πυρήνα της CPU
- Αυτοί οι επεξεργαστές είναι εύκολοι στη χρήση και οι πιο δημοφιλείς.
- Μειώνει την καταπόνηση του μικροεπεξεργαστή αναλαμβάνοντας ειδικές εργασίες επεξεργασίας από την CPU, ώστε να λειτουργεί με υψηλότερη ταχύτητα.
- Αυτός ο επεξεργαστής είναι χρήσιμος για την επέκταση των χαρακτηριστικών επεξεργασίας της CPU επεκτείνοντας το σύνολο εντολών ή προσφέροντας καταχωρητές διαμόρφωσης.
Μειονεκτήματα
Τα μειονεκτήματα των συνεπεξεργαστών περιλαμβάνουν τα ακόλουθα.
- Ο συνεπεξεργαστής δεν είναι ικανός να ανακτήσει εντολές από τη μνήμη, να εκτελέσει απευθείας εντολές, να διαχειριστεί τη μνήμη, να εκτελέσει λειτουργίες εισόδου/εξόδου
- Εξαρτάται από τον κύριο επεξεργαστή να ανακτήσει τις οδηγίες του συνεπεξεργαστή και να φροντίσει για όλες τις άλλες λειτουργίες που δεν σχετίζονται με τον συνεπεξεργαστή.
- Αυτός δεν είναι ο κύριος επεξεργαστής του συστήματος.
- Ο συνεπεξεργαστής δεν μπορεί να λειτουργήσει χωρίς τον κύριο μικροεπεξεργαστή.
Εφαρμογές
Οι εφαρμογές των συνεπεξεργαστών περιλαμβάνουν τα ακόλουθα.
- Ο συνεπεξεργαστής χρησιμοποιείται για την εκτέλεση ορισμένων από τις πιο εξειδικευμένες εργασίες, όπως η επεξεργασία γραφικής απεικόνισης ή πολύπλοκοι μαθηματικοί υπολογισμοί.
- Ένας συν-επεξεργαστής χρησιμοποιείται απλώς για τη μείωση του φόρτου στην CPU ενός υπολογιστή.
- Αυτός ο επεξεργαστής λειτουργεί με την CPU του υπολογιστή δίπλα-δίπλα.
- Αυτός ο επεξεργαστής εκτελεί μαθηματικές πράξεις υψηλού επιπέδου πολύ πιο γρήγορα σε σύγκριση με τον κύριο επεξεργαστή όπως ρίζες, λογάριθμοι, συναρτήσεις τριγωνομετρίας κ.λπ.
- Ένας συμεπεξεργαστής αυξάνει τις λειτουργίες του πρωτεύοντος επεξεργαστή.
- Ο συνεπεξεργαστής εκτελεί διαφορετικές λειτουργίες όπως επεξεργασία σήματος, αριθμητική κινητής υποδιαστολής, επεξεργασία συμβολοσειρών, γραφικά, διασύνδεση I/O μέσω περιφερειακών συσκευών, κρυπτογραφία κ.λπ.
- Αυτοί οι επεξεργαστές είναι αυτόνομα τσιπ σε προηγούμενους επιτραπέζιους υπολογιστές που ήταν συνδεδεμένοι στη μητρική πλακέτα.
- Ένας συμεπεξεργαστής χειρίζεται τις εργασίες της CPU για την ενίσχυση της συνολικής απόδοσης.
Έτσι, αυτό είναι μια επισκόπηση ενός συνεπεξεργαστή – η εργασία και οι εφαρμογές της. Αυτός ο επεξεργαστής είναι επίσης γνωστός ως Math Processor. Ένας συνεπεξεργαστής εκτελεί διαφορετικές εργασίες πολύ πιο γρήγορα σε σύγκριση με τον πυρήνα της CPU. Έτσι, η συνολική ταχύτητα του συστήματος υπολογιστή αυξάνεται. Αυτός ο επεξεργαστής μπορεί να συνδεθεί σε έναν επεξεργαστή ARM. Μόλις προστεθεί, πρέπει να αυξήσουμε το σύνολο εντολών του Core CPU ή να συμπεριλάβουμε διαμορφώσιμους καταχωρητές για αύξηση της επεξεργαστικής ισχύος. Εδώ είναι μια ερώτηση για εσάς, τι είναι ένας μικροεπεξεργαστής;