Λειτουργικά συστήματα

Γνώση Υπολογιστών >> Λειτουργικά συστήματα >  >> Unix

Πώς εκτελείται μια οδηγία στο SAP-1;

Ο υπολογιστής SAP-1 (απλός υπολογιστής προγράμματος συναρμολόγησης, ένας υποθετικός υπολογιστής που χρησιμοποιείται συχνά σε εισαγωγικά μαθήματα αρχιτεκτονικής υπολογιστών) εκτελεί οδηγίες σε έναν κύκλο εκτέλεσης-έκτακτης ανάγκης. Εδώ είναι μια κατανομή:

1. fetch: Η διεύθυνση της εντολής (που περιέχεται στον μετρητή προγράμματος, PC) αποστέλλεται στη μνήμη. Η μνήμη λαμβάνει τις οδηγίες από αυτή τη διεύθυνση και την τοποθετεί στο μητρώο οδηγιών (IR). Ο υπολογιστής στη συνέχεια αυξάνεται για να δείξει την επόμενη εντολή.

2. Αποκάλυψη: Η μονάδα ελέγχου αποκωδικοποιεί την εντολή στο IR. Αυτό συνεπάγεται τον εντοπισμό του OPCODE (το τμήμα της εντολής που καθορίζει τη λειτουργία που πρόκειται να εκτελεστεί) και τους τελεστές (τα δεδομένα που θα ενεργούν). Οι τελεστές μπορεί να είναι άμεσες τιμές (ενσωματωμένες στην ίδια την εντολή), διευθύνσεις των θέσεων μνήμης ή αριθμούς εγγραφής.

3. Εκτέλεση: Με βάση τον αποκωδικοποιημένο opcode, η μονάδα ελέγχου κατευθύνει τις κατάλληλες ενέργειες:

* αριθμητικές/λογικές λειτουργίες: Εάν η εντολή είναι μια αριθμητική λειτουργία (προσθήκη, υπο -κ.λπ.) ή μια λογική λειτουργία (και, ή, κλπ.), Οι τελεστές (που λαμβάνονται από τη μνήμη ή τα καταχωρητικά όπως καθορίζονται) αποστέλλονται στην αριθμητική λογική μονάδα (ALU). Το ALU εκτελεί τη λειτουργία και αποθηκεύει το αποτέλεσμα σε συγκεκριμένο μητρώο ή τοποθεσία μνήμης.

* Λειτουργίες μεταφοράς δεδομένων: Οδηγίες όπως το φορτίο και το κατάστημα μετακινούν δεδομένα μεταξύ μνήμης και καταχωρητών. Το φορτίο μετακινεί δεδομένα από μια θέση μνήμης σε ένα μητρώο. Το κατάστημα μετακινεί δεδομένα από ένα μητρώο σε μια τοποθεσία μνήμης.

* Οδηγίες ροής ελέγχου: Αυτές οι οδηγίες αλλάζουν τη σειρά εκτέλεσης διδασκαλίας.

* Jump: Ο υπολογιστής φορτώνεται με μια νέα διεύθυνση που καθορίζεται στην εντολή, προκαλώντας το πρόγραμμα να μεταβεί σε διαφορετική τοποθεσία.

* Κλάδος (υπό όρους άλμα): Ο υπολογιστής φορτώνεται με μια νέα διεύθυνση μόνο εάν πληρούται μια καθορισμένη κατάσταση (π.χ. η τιμή ενός μητρώου είναι μηδέν. Διαφορετικά, η εκτέλεση συνεχίζεται με την επόμενη εντολή.

* halt: Ο επεξεργαστής σταματά την εκτέλεση.

Παράδειγμα:

Ας υποθέσουμε ότι έχουμε μια εντολή `Προσθέστε R1, R2` (προσθέστε τα περιεχόμενα του μητρώου R1 για να καταχωρήσετε R2 και να αποθηκεύσετε το αποτέλεσμα στο R2).

1. fetch: Ο υπολογιστής δείχνει τη θέση μνήμης που περιέχει `Add R1, R2`. Αυτή η οδηγία έχει ληφθεί και φορτωθεί στο IR. Ο υπολογιστής αυξάνεται.

2. Αποκάλυψη: Η μονάδα ελέγχου αναγνωρίζει το "Add" ως OPCODE και προσδιορίζει τα R1 και R2 ως τελεστές (καταχωρητές).

3. Εκτέλεση: Η μονάδα ελέγχου κατευθύνει τις ακόλουθες ενέργειες:

* Τα περιεχόμενα του R1 έχουν ληφθεί.

* Τα περιεχόμενα του R2 έχουν ληφθεί.

* Το ALU προσθέτει τις δύο τιμές.

* Το αποτέλεσμα αποθηκεύεται στο R2.

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα