Σύγχρονα Θέματα Αρχιτεκτονικής Υπολογιστών — 2021 (α)¶
5.png¶
ΑΣΚΗΣΗ 5
Υπολειπόμενος χρόνος: 8:05
Ερώτηση 1 / 1 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 2 βαθμοί)
Για την εκτέλεση μιας διαδικασίας απαιτείται η εκτέλεση της ακολουθίας βημάτων α, β, γ, δ, ε, ζ, η, θ και ι. Τα βήματα αυτά μπορούν να εκτελεστούν από τις αντίστοιχες μονάδες Α, Β, Γ, Δ, Ε, Ζ, Η, Θ και Ι με καθυστέρηση 12, 13, 15, 18, 12, 7, 30, 5, 14 nsec αντίστοιχα. Έχετε στη διάθεσή σας καταχωρητές με μέγιστη καθυστέρηση διάδοσης 4 nsec. Να σχεδιάσετε το μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών (pipelining) που επιτυγχάνει το μέγιστο ρυθμό ολοκλήρωσης διαδικασιών και για αυτό το ρυθμό τον ελάχιστο χρόνο εκτέλεσης μιας διαδικασίας (latency). Από πόσες βαθμίδες αποτελείται ο μηχανισμός μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε; Να υπολογίσετε την περίοδο του σήματος χρονισμού (clock). Να υπολογίσετε σε κάθε πόσα nsec ολοκληρώνεται μία νέα διαδικασία (ρυθμός ολοκλήρωσης διαδικασιών). Να υπολογίσετε πόσος χρόνος απαιτείται για την εκτέλεση μιας διαδικασίας (latency). Ποια είναι η μέγιστη επιτάχυνση του ρυθμού ολοκλήρωσης διεργασιών στο μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε σε σχέση με ένα μηχανισμό που δεν υλοποιεί την τεχνική των μερικώς επικαλυπτόμενων λειτουργιών; Σε όλες τις περιπτώσεις η απάντησή σας να είναι ένας τριψήφιος ακέραιος αριθμός, πχ. 002.
Από πόσες βαθμίδες αποτελείται ο μηχανισμός μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε; [κενό πεδίο]
Ποια είναι η περίοδος του σήματος χρονισμού (clock) σε nsec; [κενό πεδίο]
Σε κάθε πόσα nsec ολοκληρώνεται και μία νέα διαδικασία; [κενό πεδίο]
Πόσος χρόνος απαιτείται για την εκτέλεση μιας διαδικασίας (latency); [κενό πεδίο]
Ποια είναι η μέγιστη επιτάχυνση του ρυθμού ολοκλήρωσης διεργασιών στο μηχανισμό μερικώς επικαλυπτόμενων λειτουργιών που σχεδιάσατε σε σχέση με ένα μηχανισμό που δεν υλοποιεί την τεχνική των μερικώς επικαλυπτόμενων λειτουργιών; [κενό πεδίο]
7.png¶
ΑΣΚΗΣΗ 7
Ερώτηση 1 / 1 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 2 βαθμοί)
Θεωρήστε επεξεργαστή μερικώς επικαλυπτόμενων εντολών ο οποίος διαθέτει κοινή κρυφή μνήμη εντολών και δεδομένων με μια κοινή πόρτα ανάγνωσης και εγγραφής και δεν υλοποιεί την τεχνική της παροχέτευσης (bypassing). Θεωρήστε επίσης ότι σε ένα κύκλο μπορεί να γίνει εγγραφή σε κάποιο καταχωρητή και στον ίδιο κύκλο ανάγνωση αυτού που γράφτηκε. Δίνεται το τμήμα προγράμματος που ακολουθεί. Για κάθε είδος εξάρτησης να δηλώσετε τα ζεύγη των εξαρτημένων εντολών για τα οποία εάν δεν υπάρξει πρόνοια θα προκύψει πρόβλημα (hazard). Οι απαντήσεις σας να έχουν την ακόλουθη μορφή πχ. διαδικασιακές εξαρτήσεις: E2-E4+E3-E6 το οποίο σημαίνει ότι υπάρχουν δύο διαδικασιακές εξαρτήσεις που πρέπει να αντιμετωπιστούν για να μην υπάρξει πρόβλημα, μια μεταξύ των εντολών E2 και E4 και μια μεταξύ των εντολών E3 και E6. Εάν δεν υπάρχει εξάρτηση που να δημιουργεί πρόβλημα τότε γράφουμε το μηδέν πχ. 0. Προσοχή: στις αριθμητικές και τις λογικές εντολές το αποτέλεσμα γράφεται στο πρώτο τελούμενο, πχ ADD R4, R2, R3 σημαίνει R4 < -- R2+R3.
E1 MUL R13, R14, R1
E2 DIV R11, R2, R3
E3 ADD R1, R10, R15
E4 STORE R10, (R13)
E5 AND R4, R11, R7
E6 SUB R8, R4, R13
E7 MUL R9, R8, R3
E8 LOAD R1 (R2)
ΔΟΜΙΚΕΣ ΕΞΑΡΤΗΣΕΙΣ: _____
ΕΞΑΡΤΗΣΕΙΣ ΑΝΑΓΝΩΣΗΣ ΜΕΤΑ ΑΠΟ ΕΓΓΡΑΦΗ: _____
ΕΞΑΡΤΗΣΕΙΣ ΕΓΓΡΑΦΗΣ ΜΕΤΑ ΑΠΟ ΑΝΑΓΝΩΣΗ: _____
ΕΞΑΡΤΗΣΕΙΣ ΕΓΓΡΑΦΗΣ ΜΕΤΑ ΑΠΟ ΕΓΓΡΑΦΗ: _____
[Λείπει από τη φωτογραφία: τυχόν πεδία ή κείμενο κάτω από την τελευταία γραμμή «ΕΞΑΡΤΗΣΕΙΣ ΕΓΓΡΑΦΗΣ ΜΕΤΑ ΑΠΟ ΕΓΓΡΑΦΗ»]
ask3.PNG¶
Θεωρήστε επεξεργαστή στον οποίο το μήκος των λογικών διευθύνσεων είναι 50 δυαδικά ψηφία ενώ το μήκος των φυσικών διευθύνσεων είναι 32 δυαδικά ψηφία και το μέγεθος της σελίδας είναι 2 KBytes. Ο επεξεργαστής διαθέτει υβριδική κρυφή μνήμη με οργάνωση 2-τρόπων συνόλου συσχέτισης, με τη μέγιστη δυνατή χωρητικότητα και πλαίσιο των 16 bytes, και υλοποιεί την τακτική της τελικής ενημέρωσης (write back με ένα dirty bit ανά πλαίσιο). Σε κάθε byte του συστήματος μνήμης αντιστοιχεί μία διεύθυνση.
α. Να υπολογίσετε τη χωρητικότητα της κρυφής μνήμης σε KBytes (να δώσετε ένα καθαρό αριθμό χωρίς τελείες): [κενό πεδίο απάντησης]
β. Να υπολογίσετε το πλήθος των κυψελίδων που απαιτούνται για την υλοποίηση της κρυφής μνήμης (σε κάθε κυψελίδα αποθηκεύεται ένα δυαδικό ψηφίο). Αγνοήστε τα δυαδικά ψηφία που απαιτούνται για την υλοποίηση του μηχανισμού απελευθέρωσης πλαισίων (replacement policy).
Πλήθος κυψελίδων (δώστε ένα καθαρό αριθμό χωρίς τελείες): [κενό πεδίο απάντησης]
Inked_LI.jpg¶
[Λείπει από τη φωτογραφία: η αρχή της ερώτησης, επειδή η εικόνα είναι κομμένη στο πάνω μέρος]
Σημείωση: η φωτογραφία περιέχει χειρόγραφες σημειώσεις φοιτητή (κόκκινος κύκλος γύρω από τις αριθμήσεις 1 και 3), οι οποίες δεν αποτελούν μέρος της εκφώνησης.
υπάρχουν δύο διαδικασιακές εξαρτήσεις που πρέπει να αντιμετωπιστούν για να μην υπάρξει πρόβλημα, μια μεταξύ των εντολών 2 και 4 και μια μεταξύ των εντολών 3 και 6. Εάν δεν υπάρχει εξάρτηση που να δημιουργεί πρόβλημα τότε γράφουμε το μηδέν πχ 0. Προσοχή: στις αριθμητικές και τις λογικές εντολές το αποτέλεσμα γράφεται στο πρώτο τελούμενο, πχ ADD R4, R2, R3 σημαίνει R4 <-- R2+R3.
[Λείπει από τη φωτογραφία: η γραμμή 2]
-
XOR R14, R15, R13
-
SUB R1, R4, R3
-
ADD R12, R2, R4
-
STORE R6, (R3)
-
AND R5, R4 R8
-
SUB R9, R5, R12
-
LOAD R6, (R11)
-
XOR R13, R14, R5