Βασικά Θέματα Αρχιτεκτονικής Υπολογιστών — Ιούνιος 2021¶
Μεταγραφή από τα αρχεία της συνεδρίας (χωρίς λύσεις). Όπου το κείμενο δεν διαβάζεται, σημειώνεται [δυσανάγνωστο].
14.jpg¶
Άσκηση 5
Ερώτηση 1 / 1 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 2 βαθμοί)
Δίνεται το ακόλουθο απόσπασμα μικροπρογράμματος σε δυαδική μορφή το οποίο εκτελείται. Αρχικά η τιμή όλων των καταχωρητών είναι 0. Συμπληρώστε το κατάλληλο bitstream (κενό) ώστε μετά την εκτέλεση των μικροεντολών ο καταχωρητής 0001 να έχει την τιμή FE:
| BRA | BIN | CON | I | I | I | APORT | SPORT | DDATA | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | [δυσανάγνωστο] | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| | 00000 | 000 | 000 | 111 | 001 | 011 | 0111 | 0101 | 00 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | | 00100 | 011 | 110 | 101 | | | | | | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | | 00001 | 000 | 001 | 111 | 000 | 111 | 0001 | 0001 | 00 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | | 00001 | 000 | 001 | 101 | 000 | 011 | 0001 | 0010 | 01 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | | 00100 | 000 | 001 | 101 | 000 | 111 | 0001 | 0010 | 00 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | | 00000 | 000 | 111 | 101 | 000 | 011 | 0111 | 0101 | 10 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
Σημείωση: οι επικεφαλίδες των δέκα τελευταίων στηλών και οι υποδείξεις bits των στηλών I δεν είναι αναγνώσιμες με βεβαιότητα.
Η ακολουθία Bits (χωρίς κενά) είναι: [________]
2021-06-08_184533.png¶
Ερώτηση 1 / 1 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 1.50 βαθμοί)
Ένας υπολογιστής ειδικού σκοπού διαθέτει μόνο κρυφή μνήμη εντολών με λόγο επιτυχίας he=95. Η προσπέλαση του συστήματος μνήμης (κρυφή μνήμη ή κύρια μνήμη) από την Κεντρική Μονάδα Επεξεργασίας, ΚΜΕ, γίνεται ανά ψηφιολέξη (byte). Ο χρόνος προσπέλασης της κρυφής μνήμης ισούται με 3 κύκλους ρολογιού, ενώ ο χρόνος προσπέλασης της κύριας μνήμης ισούται με 26 κύκλους ρολογιού. Ο συνολικός χρόνος προσπέλασης και μεταφοράς ενός μπλοκ εντολών από την κύρια μνήμη στην κρυφή μνήμη ισούται με 70 κύκλους ρολογιού. Η ΚΜΕ μπορεί να προσπελάσει εντολές μόνο από την κρυφή μνήμη. Ο χρόνος κύκλου ρολογιού είναι 4 ns. Υποθέστε ότι το σύνολο των εντολών του προγράμματος σε επίπεδο γλώσσας μηχανής αποτελείται από τρία είδη εντολών, βλέπε πιο κάτω Δεδομένα. Υποθέστε ότι τόσο το εκτελούμενο πρόγραμμα όσο και τα απαιτούμενα δεδομένα βρίσκονται στην κύρια μνήμη. Θεωρήστε ότι εκτελείται ένα πρόγραμμα του οποίου το πλήθος των εκτελούμενων εντολών κάθε είδους Α, Β και Γ δίνεται πιο κάτω στα Δεδομένα.
Δεδομένα:
- Εντολές τύπου Α: Κύκλοι ρολογιού για την εκτέλεση μιας εντολής στην ΚΜΕ: 7, Ψηφιολέξεις που καταλαμβάνει η εντολή στη μνήμη: 1, Πλήθος ψηφιολέξεων δεδομένων που προσπελαύνει η εντολή κατά την εκτέλεσή της: 0, Πλήθος εκτελούμενων εντολών: 468
- Εντολές τύπου Β: Κύκλοι ρολογιού για την εκτέλεση μιας εντολής στην ΚΜΕ: 9, Ψηφιολέξεις που καταλαμβάνει η εντολή στη μνήμη: 1, Πλήθος ψηφιολέξεων δεδομένων που προσπελαύνει η εντολή κατά την εκτέλεσή της: 1, Πλήθος εκτελούμενων εντολών: 56
- Εντολές τύπου Γ: Κύκλοι ρολογιού για την εκτέλεση μιας εντολής στην ΚΜΕ: 5, Ψηφιολέξεις που καταλαμβάνει η εντολή στη μνήμη: 3, Πλήθος ψηφιολέξεων δεδομένων που προσπελαύνει η εντολή κατά την εκτέλεσή της: 3, Πλήθος εκτελούμενων εντολών: 150
Υπολογίστε το μέσο χρόνο προσπέλασης του συστήματος μνήμης κατά την εκτέλεση του προγράμματος σε nsec. Να δώσετε μόνο το ακέραιο μέρος του αποτελέσματος χωρίς να χρησιμοποιήσετε τελεία, πχ. εάν το αποτέλεσμα είναι 123456,56 nsec να δώσετε τον αριθμό 123456 nsec.
________ nsec
IMG_20210530_230955.jpg¶
Ερώτηση 1 / 1 (Ελεύθερου Κειμένου — 8 βαθμοί)
Υποθέστε ότι στη διεύθυνση 2X (hex) (όπου X το τελευταίο ψηφίο του ΑΜ σας όπως έχει δηλωθεί στο eclass π.χ. 21) της κύριας μνήμης βρίσκεται ο αριθμός A και στη θέση 2X+1 (hex) ο αριθμός B ενώ στη θέση 2X+2 (hex) βρίσκεται ένας αριθμός από 0-15 - 8-bit). Να υλοποιηθεί ένα μικροπρόγραμμα που θέτει σε κατάσταση reset τα ψηφία του A χρησιμοποιώντας ως μάσκα τα ψηφία του B (Τα bits της μάσκας που είναι στην κατάσταση reset καθορίζουν ποια αντίστοιχα bits του A που πρέπει να τεθούν στην κατάσταση reset) και το αποτέλεσμα να αποθηκευτεί σε καταχωρητή του οποίου η διεύθυνση στο register file είναι το περιεχόμενο της 2X+2 (hex) της κύριας μνήμης. Θα πρέπει να συμπεριλάβετε και τον αντίστοιχο ψευδοκώδικα των εντολών.
Ισχύουν τα κάτωθι:
- Δεν σας απασχολεί το bootstrap και θεωρείται δεδομένο
- Δεν μπορείτε να χρησιμοποιήσετε τα 8 DIP Switches της πλακέτας (PCE~)
- Δεν σας απασχολεί η προηγούμενη/επόμενη εντολή
Η λύση σας θα πρέπει να γραφτεί στο αρχείο excel των 40δων που θα το βρείτε στην σχετική εργασία στο exams και να υποβληθεί ως εργασία στην πλατφόρμα EXAMS (ενότητα Εργασίες).
(https://exams.eclass.upatras.gr/modules/work/?course=CEID147)
Προσοχή μην αφήσετε την υποβολή για την τελευταία στιγμή γιατί η πλατφόρμα μπορεί να την απορρίψει.
IMG_20210602_185456.jpg¶
[Σχήμα: τμήμα πίνακα μικροπρογράμματος σε δυαδική μορφή, κομμένο στο πάνω μέρος και μερικώς καλυμμένο. Ορατές οι τελευταίες γραμμές: 00001 000 001 101 000 111 0001 0001 00 0 1 1 0 0 και 00000 000 111 101 000 011 0101 0101 01 0 1 1 0 0]
Μετά την εκτέλεση αυτής της ακολουθίας μικροεντολών η τιμή του καταχωρητή (2) στο δεκαεξαδικό αυ[κομμένο]
[Λείπει από τη φωτογραφία: το υπόλοιπο της πρότασης (μορφή της απάντησης στο δεκαεξαδικό σύστημα)]
Απάντηση: [________]
IMG_20210604_110940.jpg¶
Ερώτηση 1 / 1 (Ελεύθερου Κειμένου — 8 βαθμοί)
Υποθέστε ότι στη διεύθυνση 2X (hex) (όπου X το τελευταίο ψηφίο του ΑΜ σας όπως έχει δηλωθεί στο eclass π.χ. 21) της κύριας μνήμης βρίσκεται ο αριθμός Α και στη θέση 2X+1 (hex) ο αριθμός Β ενώ στη θέση 2X+2 (hex) βρίσκεται ένας αριθμός από 0-15 - 8-bit). Να υλοποιηθεί ένα μικροπρόγραμμα που να υπολογίζει την διαφορά Α-Β-1 και το αποτέλεσμα να αποθηκεύεται σε καταχωρητή του οποίου η διεύθυνση στο register file είναι το περιεχόμενο της διεύθυνσης 2X+2 (hex) της κύριας μνήμης. Θα πρέπει να συμπεριλάβετε και τον αντίστοιχο ψευδοκώδικα των εντολών.
Ισχύουν τα κάτωθι:
- Δεν σας απασχολεί το bootstrap και θεωρείται δεδομένο
- Δεν μπορείτε να χρησιμοποιήσετε τα 8 DIP Switches της πλακέτας (PCE~) αλλά τα δεδομένα πρέπει να δημιουργηθούν κάνοντας δυαδικές πράξεις
- Δεν σας απασχολεί η προηγούμενη/επόμενη εντολή
IMG_20210609_205659.jpg¶
Ερώτηση 1 / 2 (Σωστό / Λάθος — 0.50 βαθμοί)
Σωστή απάντηση 0.5 \\\\\\ Λάθος απάντηση -0.3 \\\\\\ Η αρνητική βαθμολογία μεταφέρεται εκτός της άσκησης. Έχετε αριθμούς σε αναπαράσταση σταθερής υποδιαστολής των κ δυαδικών ψηφίων. Εάν αυξήσουμε το πλήθος των ακέραιων δυαδικών ψηφίων διατηρώντας σταθερό το συνολικό πλήθος των δυαδικών ψηφίων κ τότε: Το συνολικό πλήθος των αριθμών που μπορούν να αναπαρασταθούν αυξάνεται.
- [ ] Σωστό
- [ ] Λάθος
IMG_20210609_205719.jpg¶
Ερώτηση 2 / 2 (Σωστό / Λάθος — 0.50 βαθμοί)
Σωστή απάντηση 0.5 \\\\\\ Λάθος απάντηση -0.3 \\\\\\ Η αρνητική βαθμολογία μεταφέρεται εκτός της άσκησης.
Έχετε αριθμούς σε αναπαράσταση σταθερής υποδιαστολής των κ δυαδικών ψηφίων. Εάν αυξήσουμε το πλήθος των ακέραιων δυαδικών ψηφίων διατηρώντας σταθερό το συνολικό πλήθος των δυαδικών ψηφίων κ τότε: Το πλήθος των ακέραιων αριθμών που μπορούν να αναπαρασταθούν παραμένει σταθερό.
- [ ] Σωστό
- [ ] Λάθος
Screenshot_5.png¶
Δίνεται το ακόλουθο απόσπασμα μικροπρογράμματος σε δυαδική μορφή το οποίο εκτελείται. Αρχικά η τιμή όλων των καταχωρητών είναι 0. Συμπληρώστε την τιμή που θα έχει ο καταχωρητής (κενό) στην πρόταση που ακολουθεί:
[Σχήμα: πίνακας μικροπρογράμματος σε δυαδική μορφή με πολλές γραμμές μικροεντολών και στήλες ετικετών· τα περιεχόμενα των κελιών δεν είναι αναγνώσιμα με βεβαιότητα στην ανάλυση της φωτογραφίας]
Μετά την εκτέλεση αυτής της ακολουθίας μικροεντολών η τιμή του καταχωρητή 06 (0110) στο δεκαεξαδικό σύστημα (προσοχή ~2 ψηφία hex) θα είναι ____
Screenshot_20210608_000622_com.google.android.apps.docs.jpg¶
Ερώτηση 1 / 1 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 2.50 βαθμοί)
Υπολογιστικό σύστημα ειδικού σκοπού με καταχωρητές των 8 δυαδικών ψηφίων και αρτηρία δεδομένων των 8 δυαδικών ψηφίων χρησιμοποιεί την τεχνική του χρονοπρογραμματισμένου ελέγχου (polling) για να ελέγξει εάν θέλει εξυπηρέτηση κάποια από τις περιφερειακές συσκευές εισόδου και την τεχνική της προγραμματισμένης διαδικασίας εισόδου (programmed input/output) για τη μεταφορά του περιεχομένου των καταχωρητών δεδομένων του ελεγκτή της περιφερειακής συσκευής εισόδου στην κύρια μνήμη. Ο ελεγκτής της περιφερειακής συσκευής έχει 2 καταχωρητές. Κάθε περιφερειακή συσκευή μεταφέρει σειριακά δεδομένα στους καταχωρητές του ελεγκτή της, με ρυθμό μεταφοράς ο οποίος δεν είναι σταθερός και η μέγιστη τιμή του είναι 20 δυαδικά ψηφία ανά sec. Θεωρήστε ότι όταν γεμίσουν οι καταχωρητές του ελεγκτή, θα πρέπει να αδειάσουν τελείως για να μπορέσει η περιφερειακή συσκευή να γράψει σ' αυτούς δεδομένα. Η μεταφορά της πληροφορίας από τους καταχωρητές του ελεγκτή της περιφερειακής συσκευής προς το υπολογιστικό σύστημα γίνεται μέσω αρτηρίας των 8 δυαδικών ψηφίων. Κάθε έλεγχος της κατάστασης του ελεγκτή της περιφερειακής συσκευής από την κεντρική μονάδα επεξεργασίας απαιτεί 0,005 sec, η εκτέλεση μιας εντολής ανάγνωσης ενός καταχωρητή δεδομένων του ελεγκτή της περιφερειακής συσκευής εισόδου/εξόδου απαιτεί 0,001 sec, η εκτέλεση μια εντολής εγγραφής στην κύρια μνήμη απαιτεί 0,00008 sec. Τα ανώτερω δεδομένα ισχύουν για όλες τις ερωτήσεις, ενώ τα στοιχεία που αναφέρονται σε κάθε ερώτηση ισχύουν μόνο σε αυτή την ερώτηση.
Α. Θεωρήστε ότι υπάρχουν 4 περιφερειακές μονάδες κάθε μια με τον ελεγκτή της και ότι στο 50% των ελέγχων απαιτείται εξυπηρέτηση (μεταφορά δεδομένων). Κάθε ελεγκτής ελέγχεται 21 φορές ανά sec. Να υπολογίσετε το ποσοστό του χρόνου που αφιερώνει η ΚΜΕ για τον έλεγχο και την εξυπηρέτηση των περιφερειακών συσκευών. Να γράψετε μόνο την τιμή με δυο ακέραια ψηφία, υποδιαστολή και δύο ψηφία δεξιά της υποδιαστολής, πχ. 04,30. Για να περιορίσετε σε δύο το πλήθος των ψηφίων δεξιά της υποδιαστολής να εφαρμόσετε την τεχνική της περικοπής.
[πεδίο απάντησης: ______]
Β. Να υπολογίσετε πόσες φορές ανά sec πρέπει με ελέγχεται η κατάσταση του ελεγκτή κάθε περιφερειακής συσκευής ώστε να μην χάνεται πληροφορία. Να γράψετε μόνο την τιμή με δύο ψηφία πχ. 04 ή 67.
[πεδίο απάντησης: ______]
Γ. Να υπολογίσετε το μέγιστο πλήθος περιφερειακών συσκευών (κάθε μία με τον ελεγκτή της) με τα ίδια ακριβώς χαρακτηριστικά λειτουργίας και χρήσης, που μπορούν να συνδεθούν στο υπολογιστικό σύστημα χωρίς να χάνεται πληροφορία. Να γράψετε διψήφιο αριθμό πχ. 02.
[πεδίο απάντησης: ______]
Screenshot_2021-06-04-11-02-12-173_com.miui.gallery.jpg¶
Ερώτηση 1 / 1 (Ελεύθερου Κειμένου — 8 βαθμοί)
Υποθέστε ότι στη διεύθυνση 2X (hex) (όπου X το τελευταίο ψηφίο του ΑΜ σας όπως έχει δηλωθεί στο eclass π.χ. 21) της κύριας μνήμης βρίσκεται ο αριθμός A και στη θέση 2X+1 (hex) ο αριθμός B ενώ στη θέση 2X+2 (hex) βρίσκεται ένας αριθμός από 0-15 - 8-bit). Να υλοποιηθεί ένα μικροπρόγραμμα που να υπολογίζει την διαφορά A-B-1 και το αποτέλεσμα να αποθηκεύεται σε καταχωρητή του οποίου η διεύθυνση στο register file είναι το περιεχόμενο της διεύθυνσης 2X+2 (hex) της κύριας μνήμης. Θα πρέπει να συμπεριλάβετε και τον αντίστοιχο ψευδοκώδικα των εντολών.
Ισχύουν τα κάτωθι:
- Δεν σας απασχολεί το bootstrap και θεωρείται δεδομένο
- Δεν μπορείτε να χρησιμοποιήσετε τα 8 DIP Switches της πλακέτας (PCE~) αλλά τα δεδομένα πρέπει να δημιουργηθούν κάνοντας δυαδικές πράξεις
- Δεν σας απασχολεί η προηγούμενη/επόμενη εντολή