Μετάβαση στο περιεχόμενο

Σύγχρονα Θέματα Αρχιτεκτονικής Υπολογιστών — 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]

  1. XOR R14, R15, R13

  2. SUB R1, R4, R3

  3. ADD R12, R2, R4

  4. STORE R6, (R3)

  5. AND R5, R4 R8

  6. SUB R9, R5, R12

  7. LOAD R6, (R11)

  8. XOR R13, R14, R5


✖ Βρήκα λάθος στη μεταγραφή