Βασικά Θέματα Αρχιτεκτονικής Υπολογιστών — Ιούνιος 2016¶
Μεταγραφή από τα αρχεία της συνεδρίας (χωρίς λύσεις). Όπου το κείμενο δεν διαβάζεται, σημειώνεται [δυσανάγνωστο].
IMG_0133.png¶
Θέμα με μεταβλητό μήκος εντολών – χώρο και προσπελάσεις προγράμματος – Ιούνιος 2016
Δίνεται το κάτωθι τμήμα προγράμματος Α το οποίο εκτελείται σε υπολογιστή με 16 καταχωρητές γενικού σκοπού καθένας των 32 δυαδικών ψηφίων. Θεωρήστε ότι ο κωδικός λειτουργίας κάθε εντολής καταλαμβάνει μία ψηφιολέξη (byte), οι διευθύνσεις είναι των 16 δυαδικών ψηφίων και κάθε εντολή καταλαμβάνει ακέραιο αριθμό ψηφιολέξεων, τα δεδομένα είναι των 32 δυαδικών ψηφίων, εκτός από την περίπτωση του άμεσου τρόπου διευθυνσιοδότησης που είναι των 8 δυαδικών ψηφίων, η αρτηρία δεδομένων μεταξύ της Κεντρικής Μονάδας Επεξεργασίας (ΚΜΕ) και του συστήματος μνήμης έχει εύρος μιας ψηφιολέξης (byte) και σε κάθε διεύθυνση του συστήματος μνήμης αντιστοιχεί μια ψηφιολέξη (δηλαδή σε κάθε θέση μνήμης αποθηκεύεται μια ψηφιολέξη). α. Να δώσετε τη μορφή κάθε είδους εντολής σε επίπεδο γλώσσας μηχανής. β) Να υπολογιστεί ο χώρος που καταλαμβάνει το πρόγραμμα στην κύρια μνήμη του υπολογιστή. γ. Πόσες προσπελάσεις στη μνήμη γίνονται κατά την εκτέλεση του προγράμματος.
| Τμήμα Προγράμματος Α | μορφή εντολής σε επίπεδο γλώσσας μηχανής | Χώρος που καταλαμβάνει η εντολή στην κύρια μνήμη σε bytes | Πλήθος προσπελάσεων κατά την εκτέλεση της εντολής |
|---|---|---|---|
| LOAD R1, (R2) /έμμεσος (indirect) τρόπος διευθυνσιοδότησης με χρήση καταχωρητή | |||
| LOAD R3, (R4) | |||
| SUB R2, R1 /R2 − R1 → R2 | |||
| LOAD R5, #4D₍₁₆₎ /άμεσος (immediate) τρόπος διευθυνσιοδότησης | |||
| SUB R5, R4 | |||
| ADD R3, R1 | |||
| STORE R3, $0800 κατ' ευθείαν (direct) τρόπος διευθυνσιοδότησης |
IMG_0191.png¶
Θέμα με μεταβλητό μήκος εντολών – χώρο και προσπελάσεις προγράμματος – Ιούνιος 2016
Δίνεται το κάτωθι τμήμα προγράμματος Α το οποίο εκτελείται σε υπολογιστή με 16 καταχωρητές γενικού σκοπού καθένας των 32 δυαδικών ψηφίων. Θεωρήστε ότι ο κωδικός λειτουργίας κάθε εντολής καταλαμβάνει μία ψηφιολέξη (byte), οι διευθύνσεις είναι των 16 δυαδικών ψηφίων και κάθε εντολή καταλαμβάνει ακέραιο αριθμό ψηφιολέξεων, τα δεδομένα είναι των 32 δυαδικών ψηφίων, εκτός από την περίπτωση του άμεσου τρόπου διευθυνσιοδότησης που είναι των 8 δυαδικών ψηφίων, η αρτηρία δεδομένων μεταξύ της Κεντρικής Μονάδας Επεξεργασίας (ΚΜΕ) και του συστήματος μνήμης έχει εύρος μιας ψηφιολέξης (byte) και σε κάθε διεύθυνση του συστήματος μνήμης αντιστοιχεί μια ψηφιολέξη (δηλαδή σε κάθε θέση μνήμης αποθηκεύεται μια ψηφιολέξη).
α. Να δώσετε τη μορφή κάθε είδους εντολής σε επίπεδο γλώσσας μηχανής. β) Να υπολογιστεί ο χώρος που καταλαμβάνει το πρόγραμμα στην κύρια μνήμη του υπολογιστή. γ. Πόσες προσπελάσεις στη μνήμη γίνονται κατά την εκτέλεση του προγράμματος.
| Τμήμα Προγράμματος Α | μορφή εντολής σε επίπεδο γλώσσας μηχανής | Χώρος που καταλαμβάνει η εντολή στην κύρια μνήμη σε bytes | Πλήθος προσπελάσεων κατά την εκτέλεση της εντολής |
|---|---|---|---|
| LOAD R1, (R2) /έμμεσος (indirect) τρόπος διευθυνσιοδότησης με χρήση καταχωρητή | |||
| LOAD R3, (R4) | |||
| SUB R2, R1 /R2 – R1 → R2 | |||
| LOAD R5, #4D(16) /άμεσος (immediate) τρόπος διευθυνσιοδότησης | |||
| SUB R5, R4 | |||
| ADD R3, R1 | |||
| STORE R3, $0800 κατ' ευθείαν (direct) τρόπος διευθυνσιοδότησης |
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Λύσεις (🟡 community)
Κατάσταση: 🟡 community Πηγή: φωτογραφία με λύση στο ίδιο κάδρο με τα θέματα (IMG_0133.png, προέλευση μη επιβεβαιωμένη)
Προσοχή
Η λύση βρίσκεται στην ίδια φωτογραφία με την εκφώνηση (τμήμα «Λύση»)· δεν υπάρχει ένδειξη ότι προέρχεται από τον διδάσκοντα, γι' αυτό η κατάσταση είναι community. Ο πίνακας πλήθους ψηφιολέξεων και προσπελάσεων δεν ελέγχθηκε εκ νέου· οι τιμές είναι όπως γράφονται στη φωτογραφία.
Λύσεις — Βασικά Θέματα Αρχιτεκτονικής Υπολογιστών — Ιούνιος 2016¶
IMG_0133.png¶
Θέμα με μεταβλητό μήκος εντολών – χώρο και προσπελάσεις προγράμματος – Ιούνιος 2016
Δίνεται το κάτωθι τμήμα προγράμματος Α το οποίο εκτελείται σε υπολογιστή με 16 καταχωρητές γενικού σκοπού καθένας των 32 δυαδικών ψηφίων. Θεωρήστε ότι ο κωδικός λειτουργίας κάθε εντολής καταλαμβάνει μία ψηφιολέξη (byte), οι διευθύνσεις είναι των 16 δυαδικών ψηφίων και κάθε εντολή καταλαμβάνει ακέραιο αριθμό ψηφιολέξεων, τα δεδομένα είναι των 32 δυαδικών ψηφίων, εκτός από την περίπτωση του άμεσου τρόπου διευθυνσιοδότησης που είναι των 8 δυαδικών ψηφίων, η αρτηρία δεδομένων μεταξύ της Κεντρικής Μονάδας Επεξεργασίας (ΚΜΕ) και του συστήματος μνήμης έχει εύρος μιας ψηφιολέξης (byte) και σε κάθε διεύθυνση του συστήματος μνήμης αντιστοιχεί μια ψηφιολέξη (δηλαδή σε κάθε θέση μνήμης αποθηκεύεται μια ψηφιολέξη). α. Να δώσετε τη μορφή κάθε είδους εντολής σε επίπεδο γλώσσας μηχανής. β) Να υπολογιστεί ο χώρος που καταλαμβάνει το πρόγραμμα στην κύρια μνήμη του υπολογιστή. γ. Πόσες προσπελάσεις στη μνήμη γίνονται κατά την εκτέλεση του προγράμματος.
| Τμήμα Προγράμματος Α | μορφή εντολής σε επίπεδο γλώσσας μηχανής | Χώρος που καταλαμβάνει η εντολή στην κύρια μνήμη σε bytes | Πλήθος προσπελάσεων κατά την εκτέλεση της εντολής |
|---|---|---|---|
24
| Τμήμα Προγράμματος Α | ||
|---|---|---|
| LOAD R1, (R2) /έμμεσος (indirect) τρόπος διευθυνσιοδότησης με χρήση καταχωρητή | ||
| LOAD R3, (R4) | ||
| SUB R2, R1 /R2 − R1 → R2 | ||
| LOAD R5, #4D\(_{(16)}\) /άμεσος (immediate) τρόπος διευθυνσιοδότησης | ||
| SUB R5, R4 | ||
| ADD R3, R1 | ||
| STORE R3, $0800 κατ' ευθείαν (direct) τρόπος διευθυνσιοδότησης |
Λύση
Η πρώτη, η δεύτερη και η τελευταία εντολή που δίνονται, προσπελαύνουν μνήμη, οπότε σε αυτές τις τρεις περιπτώσεις οι προσπελάσεις μνήμης είναι περισσότερες από τα bytes και μάλιστα τόσες περισσότερες όσες δηλώνει το κλάσμα
Από πλήθος των καταχωρητών υπολογίζουμε πλήθος των bits για την κωδικοποίηση τους, δηλαδή
Οι εντολές SUB, ADD και ADD έχουν παρόμοια μορφή, μέγεθος και προσπελάσεις και καμία από αυτές δεν προσπελαύνει μνήμη.
[Σχήμα: πίνακας κωδικοποίησης εντολών. Πάνω από τις στήλες: 8 | 4 | 4 bits. Κάτω: "Μεταβλητό μήκος εντολής = 28 bits → 32 bits", με ενδείξεις 8, 4, 16 και 4 bits. Τα πεδία της τελευταίας στήλης είναι "Χώρος (bytes)" και "Προσπελάσεις". Οι γραμμές LOAD R5 και STORE έχουν σημάδι X.]
| Χώρος (bytes) | Προσπελάσεις | ||||
|---|---|---|---|---|---|
| opcode LOAD | R1 | R2 | 2 | 6 | |
| opcode LOAD | R3 | R4 | 2 | 6 | |
| opcode SUB | R2 | R1 | 2 | 2 | |
| opcode LOAD | R5 | 4D | X | 3 | 3 |
| opcode SUB | R5 | R4 | 2 | 2 | |
| opcode ADD | R3 | R1 | 2 | 2 | |
| opcode STORE | R3 | 0800 | X | 4 | 8 |