Σύγχρονα Θέματα Αρχιτεκτονικής Υπολογιστών — 2020¶
Arx2-Themata_2020-luseis-methologia_2.pdf¶
Θεωρήστε υπολογιστή με ιδεατή μνήμη, virtual memory, που υλοποιείται με την τεχνική της σελιδοποίησης. Το μέγεθος της σελίδας είναι 2^12 bytes. Σε κάθε byte αντιστοιχεί μία διεύθυνση. Υποθέστε ότι η ιδεατή μνήμη υλοποιείται με την τεχνική του αντεστραμμένου πίνακα σελίδων, inverted page table, με 5 αντιστοιχίσεις ανά θέση του πίνακα. Το πλήθος των δυαδικών ψηφίων ελέγχου στον πίνακα σελίδων είναι 7. Η λογική διεύθυνση είναι των 47 bits ενώ η φυσική διεύθυνση των 36 bits. Να υπολογίσετε τη χωρητικότητα του αντεστραμμένου πίνακα σελίδων σε bits. Να δώσετε την τιμή χρησιμοποιώντας 6 ψηφία και το K, M ή G ανάλογα πχ. 003472Κ ή 000321M ή 348848G. Εάν η χωρητικότητα μπορεί να δοθεί ως ακέραιος αριθμός σε Gbits, πρέπει να δοθεί υποχρεωτικά σε Gbits, εάν δεν μπορεί να δοθεί ως ακέραιος αριθμός σε Gbits και μπορεί να δοθεί ως ακέραιος αριθμός σε Mbits να δοθεί σε Mbits, διαφορετικά να δοθεί σε Kbits πχ. το 5120K πρέπει να δοθεί ως 5M.
Χωρητικότητα του αντεστραμμένου πίνακα σελίδων σε bits:
Για την εκτέλεση μιας διαδικασίας απαιτείται η εκτέλεση της ακολουθίας βημάτων α, β, γ, δ, ε, ζ, η, θ και ι. Τα βήματα αυτά μπορούν να εκτελεστούν από τις αντίστοιχες μονάδες Α, Β, Γ, Δ, Ε, Ζ, Η, Θ και Ι με καθυστέρηση 12, 19, 5, 13, 40, 5, 33, 17, 5 nsec αντίστοιχα. Έχετε στη διάθεσή σας καταχωρητές [δυσανάγνωστο] καθυστέρηση διάδοσης 7 nsec. Να σχεδιάσετε το μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών (pipelining) που επιτυγχάνει το μέγιστο ρυθμό ολοκλήρωσης διαδικασιών και για αυτό το ρυθμό τον ελάχιστο χρόνο εκτέλεσης μιας διαδικασίας (latency). Από πόσες βαθμίδες αποτελείται ο μηχανισμός μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε; Να υπολογίσετε την περίοδο του σήματος χρονισμού (clock). Να υπολογίσετε σε κάθε πόσα nsec ολοκληρώνεται μία νέα διαδικασία (ρυθμός ολοκλήρωσης διαδικασιών). Αγνοήστε τις αρχικές συνθήκες. Να υπολογίσετε πόσος χρόνος απαιτείται για την εκτέλεση μιας διαδικασίας (latency). Ποια είναι η μέγιστη επιτάχυνση του ρυθμού ολοκλήρωσης διεργασιών στο μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε σε σχέση με ένα μηχανισμό που δεν υλοποιεί την τεχνική των μερικώς επικαλυπτόμενων λειτουργιών; Σε όλες τις περιπτώσεις η απάντησή σας να είναι ένας τριψήφιος ακέραιος αριθμός, πχ. 002.
Από πόσες βαθμίδες αποτελείται ο μηχανισμός μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε: Ποια είναι η περίοδος του σήματος χρονισμού (clock) σε nsec: Σε κάθε πόσα nsec ολοκληρώνεται και μία νέα διαδικασία: Πόσος χρόνος απαιτείται για την εκτέλεση μιας διαδικασίας (latency): Ποια είναι η μέγιστη επιτάχυνση του ρυθμού ολοκλήρωσης διεργασιών στο μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε σε σχέση με ένα μηχανισμό που δεν υλοποιεί την τεχνική των μερικώς επικαλυπτόμενων λειτουργιών:
Θεωρήστε επεξεργαστή που διαθέτει κρυφή μνήμη εντολών. Σε κάθε ψηφιολέξη (byte) αντιστοιχεί μια διεύθυνση. Για την προσπέλαση της κρυφής μνήμης εντολών θεωρούμε ότι η διεύθυνση που παράγει ο επεξεργαστής αποτελείται από τρία πεδία. Το πεδίο1 αποτελείται από τα λιγότερο σημαντικά δυαδικά ψηφία της διεύθυνσης. Το πεδίο2 αποτελείται από τα αμέσως σημαντικότερα δυαδικά ψηφία της διεύθυνσης και το πεδίο3 αποτελείται από τα πιο σημαντικά δυαδικά ψηφία της διεύθυνσης που παράγει ο επεξεργαστής. Να υπολογίσετε: α. το μέγεθος του πλαισίου σε bytes χρησιμοποιώντας τρία ψηφία, πχ. 022. β. τη χωρητικότητα της κρυφής μνήμης σε Kbytes ή Mbytes δίνοντας ένα τετραψήφιο ακέραιο αριθμό και το K ή το M ανάλογα, πχ. 0012K ή 0133M. Εάν η χωρητικότητα μπορεί να δοθεί σε Mbytes, πρέπει να δοθεί υποχρεωτικά σε Mbytes, πχ. το 1024K πρέπει να δοθεί ως 1Μ. γ. Το πλήθος των bits που απαιτούνται για την αποθήκευση των ετικετών χρησιμοποιώντας οκτώ ψηφία, πχ. 00293940.
Δίνονται: Οργάνωση κρυφής μνήμης εντολών: 9-τρόπων συνόλου συσχέτισης και εύρος πεδίων πεδίο1: 7 bits πεδίο2: 11 bits πεδίο3: 15 bits
Μέγεθος του πλαισίου σε bytes = Χωρητικότητα της κρυφής μνήμης σε Kbytes ή Mbytes = Πλήθος των bits που απαιτούνται για την αποθήκευση των ετικετών =
Θεωρήστε ότι το τμήμα προγράμματος που ακολουθεί ανήκει σε πρόγραμμα που εκτελείται σε υπερβαθμωτό (superscalar) επεξεργαστή με ρυθμό αποστολής εντολών προς εκτέλεση 4.
1. NOR r1, r7, r8 / r1 <-- NOR(r7, r8)
2. LOAD r0, (r9) / r0 <-- M(r9)
3. ADD r3, r1, r10 / r3 <-- r1+r10
4. SUB r4, r1, r2 / r4 <-- r1-r2
5. ADD r6, r4, r5 / r6 <-- r4+r5
6. ADD r3, r8, r2 / r3 <-- r8+r2
7. MULT r7, r5, r2 / r7 <-- r5*r2
8. STORE r1, (r6) / r1 --> M(r6)
Να απαντήσετε εάν η ακόλουθη πρόταση είναι σωστή ή λάθος.
Σε επεξεργαστή που ισχύει το μοντέλο της ισχυρής σειριακής συνέπειας στην εκτέλεση των εντολών, η υπ' αριθμόν 4 εντολή μπορεί να ολοκληρωθεί πριν την υπ' αριθμόν 3 εντολή.
- [ ] Σωστό
- [ ] Λάθος
Θεωρήστε ότι το τμήμα προγράμματος που ακολουθεί ανήκει σε πρόγραμμα που εκτελείται σε υπερβαθμωτό (superscalar) επεξεργαστή με ρυθμό αποστολής εντολών προς εκτέλεση 6.
1. SUB r4, r1, r2 / r4 <-- r1-r2
2. NOR r6, r4, r5 / r6 <-- NOR(r4, r5)
3. ADD r3, r8, r2 / r3 <-- r8+r2
4. DIV r7, r5, r3 / r7 <-- r5/r3
5. LOAD r0, (r7) / r0 <-- M(r7)
6. STORE r0, (r9) / r0 --> M(r9)
7. ADD r3, r1, r0 / r3 <-- r1+r0
Να απαντήσετε εάν η ακόλουθη πρόταση είναι σωστή ή λάθος.
Σε επεξεργαστή που ισχύει το μοντέλο της ισχυρής σειριακής συνέπειας στην εκτέλεση των εντολών, η υπ' αριθμόν 4 εντολή δεν μπορεί να εκτελεστεί πριν την υπ' αριθμόν 3 εντολή.
- [ ] Σωστό
- [ ] Λάθος
Στους υπερβαθμωτούς επεξεργαστές με αποστολή εντολών προς εκτέλεση με προκαθορισμένη σειρά (in-order) είναι δυνατόν να εμφανιστούν μόνο εξαρτήσεις Ανάγνωση Μετά από Εγγραφή και Εγγραφή Μετά από Ανάγνωση.
- [ ] Σωστό
- [ ] Λάθος
Δίνονται οι εντολές: α. LOAD R1, (R2) // R1<--M(R2) και β. LOAD R1, d(R2) // R1<--M[(R2)+d] Στο σύνολο των εντολών του επεξεργαστή έχει νόημα να υπάρχουν οι εντολές α και β μόνο στην περίπτωση που η μονάδα επεξεργασίας δεδομένων εκτελεί κάθε εντολή σε ένα κύκλο ρολογιού.
- [ ] Σωστό
- [ ] Λάθος
Στους υπερβαθμωτούς επεξεργαστές οι εξαρτήσεις Ανάγνωση Μετά από Εγγραφή και Εγγραφή Μετά από Ανάγνωση είναι πραγματικές εξαρτήσεις ενώ η εξάρτηση Εγγραφή Μετά από Εγγραφή είναι ψευδοεξάρτηση.
- [ ] Σωστό
-
[ ] Λάθος
-
Της μονάδας επεξεργασίας δεδομένων σταθερής υποδιαστολής της οποίας κάθε εντολή εκτελείται σε ένα κύκλο ρολογιού, η διάρκεια του κύκλου ρολογιού καθορίζεται από την εντολή που απαιτεί τον περισσότερο χρόνο για την εκτέλεσή της.
-
[ ] Σωστό
- [ ] Λάθος
Όταν ο υπερβαθμωτός επεξεργαστής ακολουθεί το μοντέλο της ασθενούς συνέπειας δεν επιτρέπεται όλες οι εντολές να ολοκληρώνονται εκτός σειράς.
- [ ] Σωστό
- [ ] Λάθος
Θεωρήστε επεξεργαστή Πολύ Μεγάλου Μήκους Εντολών, ΠΜΜΕ (Very Long Instruction Processor). Ο μεταγλωττιστής (compiler) πρέπει να γνωρίζει το πλήθος κάθε είδους λειτουργικών μονάδων του επεξεργαστή.
- [ ] Σωστό
-
[ ] Λάθος
-
Της μονάδας επεξεργασίας δεδομένων σταθερής υποδιαστολής της οποίας κάθε εντολή εκτελείται σε τόσους κύκλους ρολογιού όσους απαιτείται, εάν κατά τη διάρκεια ενός κύκλου ρολογιού απαιτείται να γίνουν δύο ταυτοτικές λειτουργίες (πχ. δύο προσθέσεις) δεν είναι πάντα αναγκαίο να υπάρχει αντίστοιχο πλήθος λειτουργικών μονάδων για την εκτέλεση αυτών των λειτουργιών.
-
[ ] Σωστό
- [ ] Λάθος
Θεωρήστε επεξεργαστή μερικώς επικαλυπτόμενων εντολών ο οποίος διαθέτει κοινή κρυφή μνήμη εντολών και δεδομένων με μία πόρτα ανάγνωσης και μία άλλη πόρτα εγγραφής και υλοποιεί την τεχνική της παροχέτευσης (bypassing). Θεωρήστε επίσης ότι σε ένα κύκλο μπορεί να γίνει εγγραφή σε κάποιο καταχωρητή και στον ίδιο κύκλο ανάγνωση αυτού που γράφτηκε. Δίνεται το τμήμα προγράμματος που ακολουθεί. Για κάθε είδος εξάρτησης να δηλώσετε τα ζεύγη των εξαρτημένων εντολών για τα οποία εάν δεν υπάρξει πρόνοια θα προκύψει πρόβλημα (hazard). Οι απαντήσεις σας να έχουν την ακόλουθη μορφή πχ. διαδικασιακές εξαρτήσεις: Ε2-Ε4+Ε3-Ε6 το οποίο σημαίνει ότι υπάρχουν δύο διαδικασιακές εξαρτήσεις που πρέπει να αντιμετωπιστούν για να μην υπάρξει πρόβλημα, μία μεταξύ των εντολών Ε2 και Ε4 και μία μεταξύ των εντολών Ε3 και Ε6. Εάν δεν υπάρχει εξάρτηση που να δημιουργεί πρόβλημα τότε γράφουμε το μηδέν πχ. 0. Προσοχή: στις αριθμητικές και τις λογικές εντολές το αποτέλεσμα γράφεται στο πρώτο τελούμενο, πχ. ADD R4, R2, R3 σημαίνει R4 <-- R2+R3
Ε1 ADD R3, R2, R6
Ε2 LOAD R3, (R6)
Ε3 AND R3, R1, R9
Ε4 SUB R3, R4, R10
Ε5 MUL R9, R11, R3
Ε6 ADD R2, R9, R15
ΔΟΜΙΚΕΣ ΕΞΑΡΤΗΣΕΙΣ: ΕΞΑΡΤΗΣΕΙΣ ΑΝΑΓΝΩΣΗ ΜΕΤΑ ΑΠΟ ΕΓΓΡΑΦΗ: ΕΞΑΡΤΗΣΕΙΣ ΕΓΓΡΑΦΗΣ ΜΕΤΑ ΑΠΟ ΑΝΑΓΝΩΣΗ: ΕΞΑΡΤΗΣΕΙΣ ΕΓΓΡΑΦΗΣ ΜΕΤΑ ΑΠΟ ΕΓΓΡΑΦΗ:
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Επιπλέον πηγές χωρίς μεταγραφή εδώ (λύσεις →
2020.solutions.md, ή διπλότυπες φωτογραφίες της ίδιας σελίδας):ff0bcc861ab0a302.jpg