Βασικά Θέματα Αρχιτεκτονικής Υπολογιστών — Ιούνιος 2024¶
Μεταγραφή από τα αρχεία της συνεδρίας (χωρίς λύσεις). Όπου το κείμενο δεν διαβάζεται, σημειώνεται [δυσανάγνωστο].
2024-06-11_9.10.17_.png¶
ΘΕΜΑ 6. (1,1 μον.) Θεωρήστε μια αρτηρία που χρησιμοποιείται για τη μεταφορά πληροφορίας 8 ψηφιολέξεων κάθε φορά από μια μονάδα εισόδου (υπηρέτης-slave) στον κύριο (master). Θεωρήστε ότι έχουμε τέσσερις διαφορετικές μονάδες εισόδου Α, Β, Γ και Δ. Η μεταφορά πληροφορίας στον κύριο από τη μονάδα εισόδου Α, Β, Γ και Δ απαιτεί 14, 18, 31 και 56 nsec αντίστοιχα. Θεωρήστε επίσης ότι η διαιτησία βάζει καθυστέρηση 5 nsec. Να υπολογίσετε το ρυθμό μεταφοράς πληροφορίας σε ψηφιολέξεις ανά δευτερόλεπτο από τη μονάδα Β στον κύριο για κάθε μια από τις ακόλουθες περιπτώσεις.
α. Η αρτηρία είναι σύγχρονη με περίοδο του σήματος χρονισμού (ρολογιού) 5 nsec - i. χωρίς δυνατότητα εισαγωγής κύκλων ρολογιού καθυστέρησης (wait states) - ii. με δυνατότητα εισαγωγής κύκλων ρολογιού καθυστέρησης
β. Η αρτηρία είναι ασύγχρονη απαιτεί και 8 nsec επιπλέον για κάθε μεταφορά λόγω του πρωτοκόλλου χειραψίας.
2024-06-11_9.14.11_.png¶
Θεωρήστε ένα υπολογιστή που βασίζεται στη χρήση καταχωρητών γενικού σκοπού και του οποίου το σύνολο των εντολών σε επίπεδο γλώσσας μηχανής αποτελείται από 200 εντολές, με σταθερό μήκος εντολών των 24 δυαδικών ψηφίων και 16 καταχωρητές με μήκος 32 δυαδικών ψηφίων ο καθένας.
α. Για κάθε μία από τις ακόλουθες εντολές σε συμβολική γλώσσα να σχεδιάσετε τη μορφή των εντολών σε επίπεδο γλώσσας μηχανής (δηλαδή τα πεδία από τα οποία αποτελείται κάθε εντολή σε επίπεδο γλώσσας μηχανής και το εύρος κάθε πεδίου).
β. Ποιο είναι το πλήθος των θέσεων μνήμης που μπορεί να διευθυνσιοδοτηθεί από κάθε μία των κάτωθι εντολών;
Σημείωση: η φωτογραφία περιέχει και πίνακα λύσης («Λύση»), που δεν μεταγράφεται. Η λίστα των εντολών σε συμβολική γλώσσα δεν διακρίνεται ξεχωριστά από τον πίνακα της λύσης.
IMG_20240612_152045.jpg¶
[Κεφαλίδα: «[δυσανάγνωστο] ογιστών Τρίτη 12/6/2024»· το αρχικό μέρος του τίτλου του μαθήματος είναι κομμένο. Επάνω δεξιά: «B» (παραλλαγή B). Το μικρό κείμενο «Έτος …» είναι δυσανάγνωστο.]
[δυσανάγνωστο] καταχωρητές των 16 [δυσανάγνωστο]. Συμπληρώστε τον κάτωθι πίνακα. Χρησιμοποιήστε τους συμβολισμούς: Y' για να δηλώσετε το συμπλήρωμα ως προς 1 του Y και Y'' για να δηλώσετε το συμπλήρωμα ως προς 2 του Y.
| E0 | E1 | Πράξη που εκτελείται |
|---|---|---|
| 0 | 0 | |
| 0 | 1 | |
| 1 | 0 |
β. Να σημειώσετε ποιες από τις ακόλουθες προτάσεις ισχύουν (χωρίς αιτιολόγηση). Για κάθε λάθος επιλογή θα ακυρώνεται μια σωστή.
[Σχήμα: λογικό κύκλωμα με πολλές πύλες, εισόδους και εξόδους· ορατές ετικέτες: Y, C15· οι υπόλοιπες ετικέτες δυσανάγνωστες.]
[δυσανάγνωστο: οι προτάσεις του β΄ μέρους. Η φωτογραφία είναι περιστρεφόμενη, θολή και κομμένη στο αριστερό άκρο· η αρίθμηση εμφανίζεται μόνο στις δύο πρώτες («1.», «2.») και η αρχή των περισσότερων προτάσεων λείπει. Δεν μεταγράφονται ολόκληρες προτάσεις, για να μην υπάρξει λάθος.]
Ορατά τμήματα προτάσεων (η αρχή τους είναι κομμένη): - […] χωρίς πρόσημο (θετικοί) και Y=0 τότε το αποτέλεσμα της πράξης δεν χωράει σε ένα καταχωρητή. - […] σε αναπαράσταση συμπληρώματος ως προς 2 και C15=1 τότε το αποτέλεσμα της πράξης δεν χωράει σε ένα καταχωρητή. - […] σε αναπαράσταση συμπληρώματος ως προς 2 και Y=0 τότε το αποτέλεσμα της πράξης δεν χωράει σε ένα καταχωρητή. - […] σε αναπαράσταση συμπληρώματος ως προς 2 και Y=1 τότε το αποτέλεσμα της πράξης δεν χωράει σε ένα καταχωρητή. - […] χωρίς πρόσημο (θετικοί) και C15=0 τότε το αποτέλεσμα της πράξης δεν χωράει σε ένα καταχωρητή.
Σημείωση: η φωτογραφία είναι υποβαθμισμένη· η μεταγραφή είναι μερική. Ελέγξτε με το πρωτότυπο πριν από τη μελέτη.
IMG_20240612_152132.jpg¶
ΘΕΜΑ 2. (2,0 μον) Θεωρήστε μια αρτηρία που χρησιμοποιείται για τη μεταφορά πληροφορίας 8 ψηφιολέξεων κάθε φορά και ότι, ανάλογα με τις μονάδες που επικοινωνούν, η μεταφορά από τον υπηρέτη (slave) στον κύριο (master) διαρκεί στο 30% των περιπτώσεων 15 nsec, στο 60% των περιπτώσεων 25 nsec, και στο 10% των περιπτώσεων 75 nsec. Θεωρήστε επίσης ότι η διαιτησία βάζει καθυστέρηση 5 nsec. Υπολογίστε το μέσο ρυθμό μεταφοράς πληροφορίας σε ψηφιολέξεις ανά δευτερόλεπτο για κάθε μια από τις ακόλουθες περιπτώσεις.
α. Η αρτηρία είναι σύγχρονη με περίοδο του σήματος χρονισμού (ρολογιού) 5 nsec.
i. χωρίς δυνατότητα εισαγωγής κύκλων ρολογιού καθυστέρησης (wait states)
ii. με δυνατότητα εισαγωγής κύκλων ρολογιού καθυστέρησης
β. Η αρτηρία είναι ασύγχρονη και απαιτεί 10 nsec επιπλέον για κάθε μεταφορά λόγω του πρωτοκόλλου χειραψίας.
Απάντηση
IMG_20240612_152135.jpg¶
ΘΕΜΑ 3. (2,4 μον.) Προσοχή. Οι απαντήσεις για την άσκηση αυτή να μπουν στον πίνακα που ακολουθεί.
Θεωρήστε υπολογιστή με 180 εντολές μόνο καταχωρητή-καταχωρητή (ή φόρτωσης-αποθήκευσης) με δύο τελούμενα και 16 καταχωρητές γενικού σκοπού των 32 δυαδικών ψηφίων ο κάθε ένας. Το μήκος κάθε εντολής σε δυαδικά ψηφία είναι ακέραιο πολλαπλάσιο του 8. Το εύρος της αρτηρίας διευθύνσεων είναι 32 δυαδικά ψηφία.
Α. Για κάθε διαφορετική εντολή, από τις εντολές σε συμβολική γλώσσα, να σχεδιάσετε τη μορφή της εντολής σε επίπεδο γλώσσας μηχανής (δηλαδή τα πεδία από τα οποία αποτελείται κάθε εντολή σε επίπεδο γλώσσας μηχανής να δώσετε το εύρος κάθε πεδίου και για ποιο λόγο χρησιμοποιείται).
Β. Να δώσετε το μήκος κάθε εντολής σε ψηφιολέξεις (bytes).
Γ. Θεωρήστε ότι τα δεδομένα είναι μίας λέξης (32 δυαδικά ψηφία), η αρτηρία δεδομένων μεταξύ της Κεντρικής Μονάδας Επεξεργασίας (ΚΜΕ) και του συστήματος μνήμης έχει εύρος 2 ψηφιολέξεις (byte) και σε κάθε διεύθυνση του συστήματος μνήμης αντιστοιχεί μια ψηφιολέξη και τόσο οι διευθύνσεις των εντολών όσο και των δεδομένων είναι ευθυγραμμισμένες (aligned) ως προς τη μισή λέξη (2 bytes). Πόσες προσπελάσεις στη μνήμη απαιτεί η εκτέλεση κάθε εντολής;
Απάντηση
IMG_20240612_152143.jpg¶
Υπολογιστής που βασίζεται στη χρήση 16 καταχωρητών γενικού σκοπού με εντολές μόνο καταχωρητή-καταχωρητή (ή φόρτωσης-αποθήκευσης) με δύο τελούμενα
| Πρόγραμμα | μορφή εντολής σε επίπεδο γλώσσας μηχανής | μήκος κάθε εντολής σε ψηφιολέξεις (bytes) | Πλήθος [δυσανάγνωστο] στη μνήμη που απαιτεί η προσκόμιση και εκτέλεση κάθε εντολής |
|---|---|---|---|
| LOAD R1, $FE80 / κατ' ευθείαν τρόπος διευθυνσιοδότησης (direct addressing mode) | |||
| LOAD R2, (R3) / έμμεσος τρόπος διευθυνσιοδότησης με χρήση καταχωρητή (indirect addressing mode) | |||
| MUL R2, R1 / R2=R2×R1 | |||
| ADD R1, #0237(16) / R1= R1×0237(16) | |||
| STORE $AOF5(16), R1 / κατ' ευθείαν τρόπος διευθυνσιοδότησης (direct addressing mode) |
IMG_20240612_160504.jpg¶
ΘΕΜΑ 5. (2,0 μον.) Θεωρήστε επεξεργαστή με 16 καταχωρητές των 32 δυαδικών ψηφίων ο καθένας [Λείπει από τη φωτογραφία: τμήμα πρότασης στο δεξί άκρο] των εντολών που περιλαμβάνονται οι εντολές του Πίνακα 1.
Πίνακας 1
| εντολές | σχόλια |
|---|---|
| LOADSB R1, A | Φόρτωσε προσημασμένη ψηφιολέξη |
| LOADSHW R1, A | Φόρτωσε προσημασμένη μισή λέξη |
| LOADW R1, A | Φόρτωσε λέξη |
| LOADUB R1, A | Φόρτωσε απρόσημη ψηφιολέξη |
| LOADUHW R1, A | Φόρτωσε απρόσημη μισή λέξη |
| STOREB A, R1 | αποθήκευσε ψηφιολέξη |
| STOREHW A, R1 | αποθήκευσε μισή λέξη |
| STOREW A, R1 | αποθήκευσε λέξη |
| ADD R1, R2, R3 | R1 ← R2+R3 |
Προσοχή: σε όλες τις ανωτέρω εντολές χρησιμοποιείται ο κατ' ευθείαν τρόπος διευθυνσιοδότησης (direct addressing mode).
Στον Πίνακα 2 δίνονται τα περιεχόμενα τμήματος της κυρίας μνήμης και στον Πίνακα 3 τα περιεχόμενα των καταχωρητών πριν την εκτέλεση των εντολών του Πίνακα 4. Θεωρήστε ότι χρησιμοποιείται απεικόνιση ανάλογη του μεγέθους (little endian). Οι προσημασμένοι αριθμοί είναι σε αναπαράσταση συμπληρώματος ως προς 2.
Υπενθυμίζεται: - Ψηφιολέξη: 8 δυαδικά ψηφία - μισή λέξη: 16 δυαδικά ψηφία - λέξη: 32 δυαδικά ψηφία
Ερώτηση 1. Αρκούν οι εντολές του Πίνακα 1 για τη μεταφορά πληροφορίας μεταξύ της κυρίας μνήμης και των καταχωρητών και για την εκτέλεση της πράξης της πρόσθεσης ή απαιτούνται πρόσθετες εντολές; Επιλέξτε [δυσανάγνωστο] χωρίς αιτιολόγηση. Στην περίπτωση που απαντήσετε όχι να δώσετε τις πρόσθετες εντολές που απαιτούνται [Λείπει από τη φωτογραφία: υπόλοιπο της πρότασης και αιτιολόγηση στο δεξί άκρο].
ΝΑΙ ΟΧΙ
Πίνακας 2
Η στήλη περιεχομένου του Πίνακα 2 και οι επόμενες στήλες δεξιά του είναι κομμένες στο δεξί άκρο της φωτογραφίας· δεν φαίνονται πλήρως.
| διεύθυνση θέσης μνήμης στο δεκαεξαδικό | περιεχόμενο θέσης μνήμης στο δεκαεξαδικό πριν την εκτέλεση των εντολών |
|---|---|
| 110 | 11 |
| 111 | 00 |
| 112 | F1 |
| 113 | E3 |
| 114 | E4 |
| 115 | 00 |
| 116 | AB |
| 117 | F0 |
| 118 | 01 |
| 119 | B6 |
| 11A | 05 |
| 11B | 32 |
| 11C | AE |
| 11D | BC |
| 11E | 10 |
| 11F | C4 |
| 120 | 89 |
| 121 | 1A |
| 122 | A0 |
Σημείωση: η παρούσα μεταγραφή βασίζεται σε φωτογραφία με λοξή λήψη και κομμένα άκρα· οι τιμές του Πίνακα 2 αναγνωρίστηκαν από ευθυγραμμισμένη μεγέθυνση της φωτογραφίας. Οι αντιστοιχίες διευθύνσεων και τιμών σε ορισμένες γραμμές είναι δυσανάγνωστες λόγω λοξού κάδρου.
Λύσεις (🟡 community)
Κατάσταση: 🟡 community Πηγή: φωτογραφία με λύση στο ίδιο κάδρο με την εκφώνηση (2024-06-11_9.14.11_.png) και χειρόγραφες απαντήσεις φοιτητή για τον χάρτη μνήμης (IMG_20240611_183833.jpg), προέλευση μη επιβεβαιωμένη
Προσοχή
Η λύση (πίνακας μορφών εντολών και χώρου διευθύνσεων) βρίσκεται στην ίδια φωτογραφία με την εκφώνηση· η προέλευση δεν είναι γνωστή, γι' αυτό community. Τα πεδία bit των μορφών εντολών δεν ελέγχθηκαν ξανά· πρέπει να συγκριθούν με την εκφώνηση πριν από τη χρήση. Η φωτογραφία IMG_20240611_183833.jpg περιέχει χειρόγραφες απαντήσεις φοιτητή για το θέμα της μνήμης (ΟΚ/ΚΜ, χάρτης διευθύνσεων, μονάδες μνήμης)· ο χάρτης διευθύνσεων και ο αριθμός των μονάδων δεν ελέγχθηκαν ως προς την εκφώνηση και δεν επιβεβαιώνονται.
Λύσεις — Βασικά Θέματα Αρχιτεκτονικής Υπολογιστών — Ιούνιος 2024¶
2024-06-11_9.14.11_.png¶
Θεωρήστε ένα υπολογιστή που βασίζεται στη χρήση καταχωρητών γενικού σκοπού και του οποίου το σύνολο των εντολών σε επίπεδο γλώσσας μηχανής αποτελείται από 200 εντολές, με σταθερό μήκος εντολών των 24 δυαδικών ψηφίων και 16 καταχωρητές με μήκος 32 δυαδικών ψηφίων ο καθένας.
α. Για κάθε μία από τις ακόλουθες εντολές σε συμβολική γλώσσα να σχεδιάσετε τη μορφή των εντολών σε επίπεδο γλώσσας μηχανής (δηλαδή τα πεδία από τα οποία αποτελείται κάθε εντολή σε επίπεδο γλώσσας μηχανής και το εύρος κάθε πεδίου).
β. Ποιο είναι το πλήθος των θέσεων μνήμης που μπορεί να διευθυνσιοδοτηθεί από κάθε μία από τις κάτωθι εντολών;
Λύση
| Τμήμα Προγράμματος Α | μορφή εντολής σε επίπεδο γλώσσας μηχανής | πλήθος θέσεων μνήμης που μπορεί να διευθυνσιοδοτηθεί από την εντολή |
|---|---|---|
| LOAD R, A — // R ← A, όπου A διεύθυνση θέσης μνήμης (κατ' ευθείαν τρόπος διευθυνσιοδότησης) | 8 bits: κωδικός λειτουργίας · 4 bits: R1 · 12 bits: διεύθυνση θέσης μνήμης | \(2^{12}\) θέσεις |
| LOAD R1, (R2) — // R1 ← M(R2), έμμεσος (indirect) τρόπος διευθυνσιοδότησης με χρήση καταχωρητή | 8 bits: κωδικός λειτουργίας · 4 bits: R1 · 4 bits: R2 · 8 bits: αχρησιμοποίητα | \(2^{32}\) θέσεις |
| LOAD R1, d(R2) — // R1 ← M[d + (R2)], έμμεσος (indirect) τρόπος διευθυνσιοδότησης με χρήση καταχωρητή | 8 bits: κωδικός λειτουργίας · 4 bits: R1 · 4 bits: R2 · 8 bits: d | \(2^{32}\) θέσεις |
| LOAD R, #0AB₍₁₆₎ — // άμεσος (immediate) τρόπος διευθυνσιοδότησης | 8 bits: κωδικός λειτουργίας · 4 bits: R · 12 bits: δεδομένο | 0 |
[Σχήμα: βέλος από το πεδίο των 12 bits της πρώτης εντολής (LOAD R, A) προς το κελί με τον αριθμό θέσεων \(2^{12}\) θέσεις]
IMG_20240611_183833.jpg¶
ΟΚΜ: 2MBytes - 4bits/θ.μ. → ΚΜ 16MBytes - 1byte/θ.μ.
(α)
Οp.επ/ψεις = 8bits/θ.μ. / 4bits/θ.μ. = 2, Κατ.επ/ψεις: 1θ.μ. 4bits × 2MBytes → x = (2 × 2^20 × 2^3) / 4 = 4 × 2^20 = 2^22 θ.μ. → 2^24 / 2^22 = 4 κατ. επ.
Κατ.επ/ψεις: 1θ.μ. 1byte × 16MBytes → x = 2^4 × 2^20 = 2^24 θ.μ.
ΟΚΜ: 22 ΚΜ: 24, 24 - 22 = 2
άρα Memory Map:
| Μονάδα μνήμης | Από (A23A12 … A0) | Έως (A23A12 … A0) |
|---|---|---|
| ΟΚ0-ΟΚ1 | 00000...0 | 00111...1 |
| ΟΚ2-ΟΚ3 | 01000...0 | 01111...1 |
| ΟΚ4-ΟΚ5 | 10000...0 | 10111...1 |
| ΟΚ6-ΟΚ7 | 11000...0 | 11111...1 |
[Σχήμα: Διάγραμμα σύνδεσης με διαύλους. Address Bus 24 bits, με A23 και A22 στον αποκωδικοποιητή (Decoder, En 3 2 1 0, είσοδοι 2^1 2^0), 22 bits προς κάθε μονάδα. Δύο μονάδες "ΟΚ0 MB-1" και "ΟΚ1 MB-1" με A[21-0], E0_0 / E0_1 και D[3:0]. Data Bus με 4 bits προς κάθε μονάδα. Vcc στον αποκωδικοποιητή, και τρεις τελείες (…) ανάμεσα στις μονάδες.]
(β) Επεξεργαστής με Address Bus = 26. Σχεδιάσαμε Μονάδα Μνήμης με Address Bus = 24 bits.
Επεξεργαστής: 2^26 θ.μ. = 2^6 × 2^20 = 64MB Μονάδα Μνήμ.: 16MB → 64MB / 16MB = 4 μον. μνήμης
[Σχήμα: CPU με γραμμές A25, A24, A23 και A[20-0]. Οι A25 A24 A23 (τιμές 0 0 1) οδηγούν αποκωδικοποιητή Dec 3-8 με εισόδους 2^2 2^1 2^0 και εξόδους 7 6 5 4 3 2 1 0. Οι έξοδοι συνδέονται με μονάδες μνήμης "Μον.Μν. 1", "2", "3", "4".]
(γ) 2000000(16) → 00100...0(2), 28 bits.
Ο Επεξεργαστής υποστηρίζει 26 bits. άρα 00100...0 (A25A24A23) → άρα x y z = 001 → D1.
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.