Σύγχρονα Θέματα Αρχιτεκτονικής Υπολογιστών — Ιούνιος 2025¶
IMG_3210.jpg¶
[Σχήμα: λογότυπο Πανεπιστημίου Πατρών και μεγάλο γράμμα «Α» στην επάνω δεξιά γωνία]
Πανεπιστήμιο Πατρών / University of Patras
Τμήμα Μηχανικών Η/Υ & Πληροφορικής
Αρχιτεκτονική ΙΙ
Σύγχρονα Θέματα Αρχιτεκτονικής Υπολογιστών
Εαρινό Εξάμηνο | Δευτέρα, 16 Ιουνίου 2025
Οι εξετάσεις διενεργούνται με ΚΛΕΙΣΤΑ βιβλία. ΔΕΝ ΕΠΙΤΡΕΠΟΝΤΑΙ σημειώσεις ή άλλου είδους βοηθήματα και οποιαδήποτε συνεργασία ή ανταλλαγή απόψεων / απαντήσεων με άλλα άτομα κατά τη διάρκεια της εξέτασης.
Σωστή απάντηση = +1.0 μονάδα, Λάθος απάντηση = -0.2 μονάδα, Καμία απάντηση = 0.0 μονάδα. ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ώρες
[Φόρμα ταυτοποίησης φοιτητή (ονοματεπώνυμο, αριθμός μητρώου, έτος σπουδών, βαθμός): κενή στο φύλλο· δεν μεταγράφεται]
Έχω περάσει το Εργαστήριο του μαθήματος (Αφορά το μάθημα Σύγχρονα Θέματα Αρχιτεκτονικής Υπολογιστών) ☐ Ναι ☐ Όχι Αν ναι, με βαθμό: ______
Θέμα 1
Ένας επεξεργαστής έχει σχεδιαστεί με διοχέτευση (pipeline) 5 σταδίων και κάθε στάδιο χρειάζεται 150 ps. Πόσος είναι ο χρόνος για την εκτέλεση 12 εντολών; Υποθέστε ότι οι εντολές δεν έχουν καμία εξάρτηση μεταξύ τους.
- [ ] (α) 1800 ps
- [ ] (β) 2400 ps
- [ ] (γ) 2550 ps
- [ ] (δ) 3800 ps
- [ ] (ε) άλλο
Θέμα 2
Θεωρήστε έναν επεξεργαστή που υλοποιεί διοχέτευση (pipeline) 5 σταδίων τα οποία μπορούν να ομαδοποιηθούν ως εξής: Στάδιο Προκόμισης Εντολής (ΠΕ), Στάδιο Αποκωδικοποίησης Εντολής και Ανάγνωσης Καταχωρητών (ΑΕ), Στάδιο Εκτέλεσης Πράξης (ΕΠ), Στάδιο Προσπέλασης Μνήμης (ΠΜ), και Στάδιο Αποθήκευσης Αποτελέσματος (ΑΑ). [δυσανάγνωστο: διατύπωση ερωτήματος]
Λανθάνοντες χρόνοι: ΠΕ=200ps, ΑΕ=100ps, ΕΠ=200ps, ΠΜ=200ps, ΑΑ=100ps
- [ ] (α) 2 φορές ταχύτερα
- [ ] (β) 3 φορές ταχύτερα
- [ ] (γ) 4 φορές ταχύτερα
- [ ] (δ) 5 φορές ταχύτερα
- [ ] (ε) άλλο
Θέμα 3
Θεωρήστε δύο επεξεργαστές Ε1 και Ε2 της ίδιας αρχιτεκτονικής συνόλου εντολών αλλά με διαφορετική σχεδίαση ο κάθε ένας (δηλαδή, διαφορετική μικροαρχιτεκτονική). Ο Ε1 υλοποιεί σχεδίαση ενός κύκλου ρολογιού (δηλαδή όλες οι εντολές χρειάζονται ακριβώς έναν κύκλο ρολογιού) με χρόνο κύκλου [δυσανάγνωστο] 800ps. Ο Ε2 υλοποιεί διοχέτευση (pipeline) 5 σταδίων [δυσανάγνωστο]
[Λείπει από τη φωτογραφία: το τέλος της περιγραφής του Ε2 και η ερώτηση του θέματος]
- [ ] (α) 200 ps
- [ ] (β) 250 ps
- [ ] (γ) 550 ps
- [ ] (δ) 800 ps
- [ ] (ε) άλλο
Θέμα 4
Θεωρήστε έναν επεξεργαστή με διοχέτευση (pipeline) 5 σταδίων, όπως στα παραπάνω ερωτήματα (δηλαδή, τα στάδια ΠΕ, ΑΕ, ΕΠ, ΠΜ και ΑΑ). Εκτελούμε ένα πρόγραμμα σε αυτόν τον επεξεργαστή μεγέθους 7 εντολών. Δύο από αυτές τις εντολές θεωρούμε ότι έχουν εξαρτήσεις δεδομένων που [δυσανάγνωστο]
[Λείπει από τη φωτογραφία: το τέλος της πρότασης και η ερώτηση του θέματος]
- [ ] (α) 7 κύκλους
- [ ] (β) 19 κύκλους
- [ ] (γ) 13 κύκλους
- [ ] (δ) 22 κύκλους
- [ ] (ε) άλλο
Θέμα 5
Θεωρήστε έναν επεξεργαστή με κρυφή μνήμη δεδομένων (L1 Data Cache) με οργάνωση μονοσήμαντης απεικόνισης (direct map), συνολικής χωρητικότητας 16 KB και μεγέθους πλαισίου (block size) 32 bytes. [δυσανάγνωστο] πόσα bit χρειάζεται το πεδίο της ετικέτας (tag);
- [ ] (α) 17 bit
- [ ] (β) 18 bit
- [ ] (γ) 19 bit
- [ ] (δ) 20 bit
- [ ] (ε) άλλο
Καλή Επιτυχία!
Σελίδα 1 από 2
IMG_3211.jpg¶
Θέμα 6¶
Θεωρήστε έναν επεξεργαστή με διοχέτευση (pipeline) 5 σταδίων που δεν υλοποιεί μονάδα ανίχνευσης κινδύνων δεδομένων και για την επίλυση των εξαρτήσεων χρησιμοποιείται η εντολή NOP (No-OPeration). Για το παρακάτω πρόγραμμα συμβολικής γλώσσας, να εντοπίσετε τις εξαρτήσεις δεδομένων και να υπολογίσετε ποιος είναι ο ελάχιστος αριθμός εντολών NOP πρέπει να προστεθούν ώστε το πρόγραμμα να εκτελεστεί σωστά. Υποθέστε ότι δεν μπορεί να γίνει καμία αναδιάταξη στις εντολές.
LOAD R1, B //R1←B
LOAD R2, C //R2←C
ADD R1, R2, R3 //R3←R1+R2
STORE A, R3 //A←R3
LOAD R4, E //R4←E
SUB R1, R4, R5 //R5←R1+R4
STORE D, R5 //D←R5
- [ ] (α) 6 εντολές NOP
- [ ] (β) 8 εντολές NOP
- [ ] (γ) 15 εντολές NOP
- [ ] (δ) 21 εντολές NOP
- [ ] (ε) άλλο
Θέμα 7¶
Ένας επεξεργαστής διαθέτει κρυφή μνήμη (cache) συσχετιστική 4 δρόμων (4-way set associative) με μέγεθος πλαισίου (block size) 16 λέξεις των 32 bit η κάθε μία. Αν το μέγεθος της κρυφής μνήμης είναι 256 KB, πόσα σύνολα (sets) περιέχει;
- [ ] (α) 256 σύνολα (sets)
- [ ] (β) 512 σύνολα (sets)
- [ ] (γ) 1024 σύνολα (sets)
- [ ] (δ) 2048 σύνολα (sets)
- [ ] (ε) άλλο
Θέμα 8¶
Θεωρήστε έναν υπολογιστή που υλοποιεί σελιδοποίηση (paging) και χρησιμοποιεί εικονικές διευθύνσεις (virtual addresses) των 32bit και το μέγεθος σελίδας είναι 4KB. Για την εικονική διεύθυνση 0xdeadbeef, ποιος είναι ο αριθμός σελίδας (page number);
- [ ] (α) 0xeef
- [ ] (β) 0xdbada
- [ ] (γ) 0xdeadb
- [ ] (δ) 0xeefbd
- [ ] (ε) άλλο
Θέμα 9¶
Θεωρήστε ένα σύστημα εικονικής μνήμης με πίνακα σελίδων ενός επιπέδου. Το σύστημα υποστηρίζει εικονικές/λογικές διευθύνσεις των 29 bit, φυσικές διευθύνσεις των 26 bit, και μέγεθος σελίδας ίσο με \(2^{16}\) bytes (64KB). Κάθε καταχώρηση του πίνακα σελίδων περιέχει (α) έναν αριθμό φυσικού πλαισίου (Physical Frame Number), και (β) 6 bit κατάστασης (status bits). Ποιο είναι το συνολικό μέγεθος του πίνακα σελίδων;
- [ ] (α) 4KB
- [ ] (β) 64KB
- [ ] (γ) 128KB
- [ ] (δ) 256KB
- [ ] (ε) άλλο
Θέμα 10¶
Πότε έχουμε αστοχία στον TLB (Translation Lookaside Buffer);
- [ ] (α) Όταν η μετάφραση της διεύθυνσης που ζητήθηκε από το πρόγραμμα δεν υπάρχει στον TLB
- [ ] (β) Όταν η μετάφραση της διεύθυνσης υπάρχει στον TLB αλλά δεν ζητείται ποτέ από το πρόγραμμα
- [ ] (γ) Όταν έχει γεμίσει ο TLB
- [ ] (δ) Όταν η μετάφραση της διεύθυνσης δεν υπάρχει στον πίνακα σελίδων
- [ ] (ε) άλλο
IMG_0354.png¶
Θέμα με εξαρτήσεις
Θεωρείστε το μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών του σχήματος 4.4 του βιβλίου και ότι έχει υλοποιηθεί η τεχνική παροχέτευσης για την επίλυση των εξαρτήσεων δεδομένων. Θέλουμε να εκτελέσουμε τις επόμενες κάποιας γλώσσας προγραμματισμού υψηλού επιπέδου:
LOAD r1, A
LOAD r2, B
MULT r1, r2, r3 // r1 x r2 → r3
STORE D, r3
ADD r1, r3, r4
LOAD r5, C
MULT r5, r4, r6
STORE E, r6
Να εντοπιστούν και να επιλυθούν οι εξαρτήσεις
a) Χωρίς παροχέτευση
b) Με παροχέτευση
Σημείωση: η φωτογραφία περιέχει χειρόγραφες απαντήσεις φοιτητή.
Επιπλέον πηγές (διπλότυπες φωτογραφίες, ελέγχθηκαν ως προς τα παραπάνω κείμενα και δεν προσθέτουν νέο περιεχόμενο):
screen.png(Θέμα 6, ίδιο με τη IMG_3211.jpg)
Λύσεις (🟡 community)
Κατάσταση: 🟡 community Πηγή: φωτογραφία με συμπληρωμένες απαντήσεις (1.jpg) και μήνυμα φοιτητή στο Discord (Φεβρουάριος 2026)
Προσοχή
Η «μέγιστη επιτάχυνση» 005 ισχύει ως ιδανικό όριο, ίσο με το πλήθος των βαθμίδων. Με το άθροισμα των καθυστερήσεων μονάδων (149 nsec) προς περίοδο 47 nsec ο λόγος είναι περίπου 3,2· η ερμηνεία της εκφώνησης πρέπει να ελεγχθεί. Τα υπόλοιπα (5 βαθμίδες, περίοδος 47 nsec = 40 + 7, latency 235 nsec) είναι συνεπή μεταξύ τους. Απαντήσεις πολλαπλής επιλογής: όλες οι επιλογές (α)–(ε) υπάρχουν στο φύλλο. Η απάντηση 2.α («2 φορές ταχύτερα») δεν συμφωνεί με τον ιδεατό λόγο 800 ps / 200 ps = 4, αν η εκφώνηση του Θέματος 2 ερωτά για αυτόν τον λόγο· η διατύπωση του ερωτήματος είναι δυσανάγνωστη στο φύλλο, οπότε η ασυμφωνία μπορεί να οφείλεται σε άλλο ερώτημα. Το μήνυμα με τις απαντήσεις 1.β–10.α έχει τη μορφή ερωτήματος από τον ίδιο τον φοιτητή («;»)· δεν επιβεβαιώθηκε από διδάσκοντα ή άλλη πηγή.
Λύσεις — Σύγχρονα Θέματα Αρχιτεκτονικής Υπολογιστών — Ιούνιος 2025¶
Οι απαντήσεις είναι φοιτητικές (ανεπαλήθευτες). Η φωτογραφία 1.jpg είναι αντίγραφο της εκφώνησης του ερωτήματος διοχέτευσης του Ιουνίου 2025 με συμπληρωμένες τιμές· η δεύτερη πηγή είναι το μήνυμα φοιτητή με τις απαντήσεις των 10 ερωτήσεων πολλαπλής επιλογής.
1.jpg¶
Για την εκτέλεση μιας διαδικασίας απαιτείται η εκτέλεση της ακολουθίας βημάτων α, β, γ, δ, ε, ζ, η, θ και ι. Τα βήματα αυτά μπορούν να εκτελεστούν από τις αντίστοιχες μονάδες Α, Β, Γ, Δ, Ε, Ζ, Η, Θ και Ι με καθυστέρηση 12, 19, 5, 13, 40, 5, 33, 17, 5 nsec αντίστοιχα. Έχετε στη διάθεση σας καταχωρητές με μέγιστη καθυστέρηση διάδοσης 7 nsec. Να σχεδιάσετε το μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών (pipelining) που επιτυγχάνει το μέγιστο ρυθμό ολοκλήρωσης διαδικασιών και για αυτό το ρυθμό τον ελάχιστο χρόνο εκτέλεσης μιας διαδικασίας (latency). Από πόσες βαθμίδες αποτελείται ο μηχανισμός μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε; Να υπολογίσετε την περίοδο του σήματος χρονισμού (clock). Να υπολογίσετε σε κάθε πόσα nsec ολοκληρώνεται μία νέα διαδικασία (ρυθμός ολοκλήρωσης διαδικασιών). Αγνοήστε τις αρχικές συνθήκες. Να υπολογίσετε πόσος χρόνος απαιτείται για την εκτέλεση μιας διαδικασίας (latency). Ποια είναι η μέγιστη επιτάχυνση του ρυθμού ολοκλήρωσης διεργασιών στο μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε σε σχέση με ένα μηχανισμό που δεν υλοποιεί την τεχνική των μερικώς επικαλυπτόμενων λειτουργιών; Σε όλες τις περιπτώσεις η απάντησή σας να είναι ένας τριψήφιος ακέραιος αριθμός, πχ. 002.
Από πόσες βαθμίδες αποτελείται ο μηχανισμός μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε; 005
Ποια είναι η περίοδο του σήματος χρονισμού (clock) σε nsec; 047
Σε κάθε πόσα nsec ολοκληρώνεται και μία νέα διαδικασία; 047
Πόσος χρόνος απαιτείται για την εκτέλεση μιας διαδικασίας (latency); 235
Ποια είναι η μέγιστη επιτάχυνση του ρυθμού ολοκλήρωσης διεργασιών στο μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε σε σχέση με ένα μηχανισμό που δεν υλοποιεί την τεχνική των μερικώς επικαλυπτόμενων λειτουργιών; 005
Οι απαντήσεις στα θέματα είναι : 1.β 2.α 3.γ 4.γ 5.β 6.β 7.γ 8.γ 9.ε 10.α ?