Opcode

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

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

Λόγω της φύσης της αρχιτεκτονικής ενός υπολογιστή, οι κωδικοί λειτουργίας έχουν τη μορφή δυαδικών αριθμών. Εναλλακτικά, οι κωδικοί λειτουργίας μπορούν να αναπαρασταθούν με δεκαεξαδικά ψηφία, (για παράδειγμα, 10100101 = A5) για ευκολία ανάγνωσης και κωδικοποίησης κατά το σχεδιασμό ή την εξομοίωση ενός προγράμματος με κώδικα μηχανής. Οι τιμές αυτές μετατρέπονται στη συνέχεια σε δυαδικές ισοδύναμες για να αποθηκευτούν. Οι σύγχρονοι κωδικοί λειτουργίας έχουν μήκος τουλάχιστον δύο δεκαεξαδικούς χαρακτήρες, οι οποίοι καταλαμβάνουν 1 byte αποθηκευτικού χώρου.

Οι κωδικοί λειτουργίας διαφέρουν σε δυνατότητες και "αξία" ανάλογα με τον υπολογιστή στον οποίο ανήκουν, καθώς εξαρτώνται από το υλικό. Για παράδειγµα, ο opcode για STORE όπως εκφράζεται σε Hex µπορεί να είναι FA για ένα µηχάνηµα και 02 για ένα άλλο. Ορισμένοι κωδικοί λειτουργίας δεν θα είναι διαθέσιμοι σε ορισμένους υπολογιστές. Γενικά, υπάρχουν δύο προσεγγίσεις για την κατασκευή συνόλων εντολών. Ένας υπολογιστής μειωμένου συνόλου εντολών (RISC) προσφέρει λιγότερους δυνατούς κωδικούς εντολών υπέρ της αύξησης της ταχύτητας για απλές διεργασίες. Ο υπολογιστής σύνθετου συνόλου εντολών (CISC) προσφέρει περισσότερους κωδικούς εντολών υπέρ της αύξησης της ταχύτητας για σύνθετες διεργασίες.

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

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

Ε: Τι είναι ο κωδικός λειτουργίας;


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

Ε: Τι είναι οι τελεστές;


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

Ε: Πόσοι κοινοί κώδικες λειτουργίας χρησιμοποιούνται στους σύγχρονους υπολογιστές;


Α: Υπάρχουν εκατοντάδες κοινοί κώδικες λειτουργίας που χρησιμοποιούνται στους σύγχρονους υπολογιστές.

Ερ: Πώς αναπαριστώνται οι opcodes;


Α: Οι opcodes μπορούν να αναπαρασταθούν είτε με δυαδικούς αριθμούς είτε με δεκαεξαδικά ψηφία για ευκολία ανάγνωσης και κωδικοποίησης κατά το σχεδιασμό ή την εξομοίωση ενός προγράμματος με κώδικα μηχανής.

Ε: Πόσο μεγάλοι είναι οι σύγχρονοι κώδικες opcodes;


Α: Οι σύγχρονοι opcodes έχουν μήκος τουλάχιστον δύο δεκαεξαδικούς χαρακτήρες και καταλαμβάνουν 1 byte αποθηκευτικού χώρου.

Ε: Τι είναι το RISC και το CISC;


Α: Ο υπολογισμός μειωμένου συνόλου εντολών (Reduced Instruction Set Computing, RISC) προσφέρει λιγότερους δυνατούς κώδικες εντολών υπέρ της αύξησης της ταχύτητας για απλές διεργασίες, ενώ ο υπολογισμός σύνθετου συνόλου εντολών (Complex Instruction Set Computing, CISC) προσφέρει περισσότερους κώδικες εντολών υπέρ της αύξησης της ταχύτητας για σύνθετες διεργασίες.

Ερ: Πώς χρησιμοποιούν συνήθως οι προγραμματιστές τους κωδικούς λειτουργίας;


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

AlegsaOnline.com - 2020 / 2023 - License CC3