Τι είναι ένα σετ εντολών;

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

Opcodes

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

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

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

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

Παράνομοι κωδικοί

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

Ορισμένα πρώιμα παιχνίδια υπολογιστή στο Apple II βασίζονταν σε συγκεκριμένους παράνομους κωδικούς. Στη συνέχεια, αντιμετώπισαν προβλήματα απόδοσης και σταθερότητας στην μεταγενέστερη αναθεώρηση της CPU της Apple IIc καθώς το IIc αφαίρεσε τους παράνομους κωδικούς λειτουργίας που απαιτούσαν τα παιχνίδια. Οι παράνομοι κωδικοί πρόσβασης χρησιμοποιήθηκαν επίσης σε κύκλους προστασίας πνευματικών δικαιωμάτων ως μέθοδος ασφάλειας μέσω της αφάνειας στον αγώνα τους ενάντια στους πειρατές που σπάζουν το περιεχόμενό τους. Ορισμένοι παράνομοι κωδικοί λειτουργίας εννοούνται απλώς ως εργαλεία εντοπισμού σφαλμάτων και χειριστές σφαλμάτων.

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

Μεταγλωττιστές και συναρμολόγηση

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

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

συμπέρασμα

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

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


Πώς να κλωνοποιήσετε έναν σκληρό δίσκο

Πώς να κλωνοποιήσετε έναν σκληρό δίσκο

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

Πώς να διορθώσετε το πρόγραμμα οδήγησης WUDFRd απέτυχε να φορτώσει στα Windows 10;

Πώς να διορθώσετε το πρόγραμμα οδήγησης WUDFRd απέτυχε να φορτώσει στα Windows 10;

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

Πώς να διορθώσετε τον κωδικό σφάλματος NVIDIA GeForce Experience 0x0003

Πώς να διορθώσετε τον κωδικό σφάλματος NVIDIA GeForce Experience 0x0003

Αντιμετωπίζετε τον κωδικό σφάλματος 0x0003 της εμπειρίας NVIDIA GeForce στην επιφάνεια εργασίας σας; Εάν ναι, διαβάστε το ιστολόγιο για να βρείτε πώς να διορθώσετε αυτό το σφάλμα γρήγορα και εύκολα.

Τι είναι το SMPS;

Τι είναι το SMPS;

Μάθετε τι είναι το SMPS και την έννοια των διαφορετικών αξιολογήσεων απόδοσης πριν επιλέξετε ένα SMPS για τον υπολογιστή σας.

Γιατί δεν ενεργοποιείται το Chromebook μου

Γιατί δεν ενεργοποιείται το Chromebook μου

Λάβετε απαντήσεις στην ερώτηση Γιατί δεν ενεργοποιείται το Chromebook μου; Σε αυτόν τον χρήσιμο οδηγό για χρήστες Chromebook.

Πώς να αναφέρετε απάτες ηλεκτρονικού ψαρέματος στην Google

Πώς να αναφέρετε απάτες ηλεκτρονικού ψαρέματος στην Google

Μάθετε πώς να αναφέρετε έναν απατεώνα στην Google για να τον αποτρέψετε από το να εξαπατήσει άλλους με αυτόν τον οδηγό.

Το Roomba σταματά, κολλάει και γυρίζει - Διορθώστε

Το Roomba σταματά, κολλάει και γυρίζει - Διορθώστε

Διορθώστε ένα πρόβλημα όπου η ηλεκτρική σκούπα ρομπότ Roomba σταματά, κολλάει και γυρίζει συνέχεια.

Πώς να αλλάξετε τις ρυθμίσεις γραφικών στο Steam Deck

Πώς να αλλάξετε τις ρυθμίσεις γραφικών στο Steam Deck

Το Steam Deck προσφέρει μια ισχυρή και ευέλικτη εμπειρία παιχνιδιού στα χέρια σας. Ωστόσο, για να βελτιστοποιήσετε το παιχνίδι σας και να εξασφαλίσετε το καλύτερο δυνατό

Τι είναι η ασφάλεια που βασίζεται στην απομόνωση;

Τι είναι η ασφάλεια που βασίζεται στην απομόνωση;

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

Πώς να χρησιμοποιήσετε το Auto Clicker για το Chromebook

Πώς να χρησιμοποιήσετε το Auto Clicker για το Chromebook

Σήμερα, επρόκειτο να εμβαθύνουμε σε ένα εργαλείο που μπορεί να αυτοματοποιήσει επαναλαμβανόμενες εργασίες κλικ στο Chromebook σας: το Αυτόματο κλικ. Αυτό το εργαλείο μπορεί να σας εξοικονομήσει χρόνο και