ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 2: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 24 25 Ηµεροµηνία Εξέτασης 29.6.25 Χρόνος Εξέτασης 3:3 7: ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ Α. ΨΗΦΙΑΚΗ ΣΧΕ ΙΑΣΗ ΘΕΜΑ Α: [,5 µονάδες] Απλοποιήστε το λογικό κύκλωµα του σχήµατος και σχεδιάστε τη κυµατοµορφή εξόδου Χ. (Υπόδειξη: Σχεδιάστε τη κυµατοµορφή εξόδου Χ στο παρόν φύλλο αµέσως µετά από τις κυµατοµορφές των εισόδων A, B, C). X = (AB) Χ 2 = (Β+C) Χ 3 = (Χ Χ 2 ) =Χ +Χ 2 = ΑΒ+Β+C = B+C X = (C+X 3 ) = (C+B+C) = (Β+C) A B C X ΘΕΜΑ Α2: [,5 µονάδα] Σχεδιάστε ένα συνδυαστικό κύκλωµα το οποίο να δέχεται δύο µη προσηµασµένους δυαδικούς αριθµούς Α και Β των τριών και δύο bit αντίστοιχα ο κάθε ένας, (δηλαδή Α=a 2 a a και Β=b b ), και Σελίδα από
να υπολογίζει το γινόµενό τους P=Α Β. Έχετε στην διάθεση σας µόνο πύλες ΚΑΙ (AND), πλήρεις αθροιστές και ηµιαθροιστές. Αρχικά αναλύουµε την πράξη του πολλαπλασιασµού ως εξής: a 2 a a x b b a 2 b a b a b + a 2 b a b a b c 3 a 2 b +c 2 a 2 b +a b +c a b +a b a b c 3 c 2 c Στον παραπάνω πολλαπλασιασµό τα σύµβολα c, c 2, c 3 είναι τα κρατούµενα που προκύπτουν από τις προσθέσεις a b +a b, a 2 b +a b +c, και a 2 b +c 2 αντίστοιχα. Τα µερικά γινόµενα a i b j υλοποιούνται µε την λογική πράξη ΚΑΙ αφού πρόκειται για µερικά γινόµενα δύο δυαδικών ψηφίων το κάθε ένα. Άρα θα πρέπει να χρησιµοποιήσουµε 6 πύλες ΚΑΙ δύο εισόδων για τα µερικά γινόµενα, δύο ηµιαθροιστές για τις προσθέσεις a b +a b και a 2 b +c 2, και τέλος έναν πλήρη αθροιστή για την πρόσθεση a 2 b +a b +c. Το κύκλωµα φαίνεται στο παρακάτω σχήµα. b b a 2 a a c 3 c HA s c 2 c FA s c c HA s c 3 a 2 b +c 2 a 2 b +a b +c a b +a b a b ΘΕΜΑ Α3: [2, µονάδες] Α) Με FFs τύπου T αρνητικής ακµής πυροδότησης να σχεδιάσετε ένα σύγχρονο ακολουθιακό κύκλωµα το οποίο για Ε= να διατρέχει διαδοχικά τις καταστάσεις, 2, 3,,, 2, 3,,,... ενώ για Ε= να διατρέχει διαδοχικά τις καταστάσεις,, 3, 2,,, 3, 2,,... Ζητείται να σχεδιάσετε το απλούστερο δυνατό κύκλωµα, µε τον µικρότερο αριθµό πυλών. Το ζητούµενο κύκλωµα θα αποτελείται από δύο FFs. Σελίδα 2 από
Βήµα Σ: ιάγραµµα καταστάσεων Βήµα Σ2: Είσοδος Παρ. Επόµενη Κατάσταση Κατάσταση Είσοδοι FFs Ε Q Q Q Q T T Q Q E Q Q E T T T ( Q Q ) + E Q Q = E Q = EQQ + EQ Q + EQ Q + EQQ = E Q T = = EQQ + EQ Q + EQQ + EQ Q = E Q Q + E Q Q = E Q Q T Βήµα Σ3: E SET DT Q T SET DT Q T CLR Q CLR Q CP Β. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Σελίδα 3 από
ΘΕΜΑ Β: [, µονάδa] Σε µια αρχιτεκτονική βασιζόµενη σε µηχανισµό σωρού, γράψτε πρόγραµµα για τον παρακάτω υπολογισµό : E = ((A B C D) / A) A D Οι διαθέσιµες εντολές είναι οι PUSH, POP, MUL, SUB και DIV. Ο πρώτος τελεστέος κάθε πράξης είναι αυτός που βρίσκεται στην κορυφή του σωρού. Το πρόγραµµά σας δε θα πρέπει να χρησιµοποιεί ενδιάµεσες αποθηκεύσεις. Αρχικά θα µετατρέψουµε την ζητούµενη έκφραση σε postfix notation. Προσοχή χρειάζεται στις µηαντιµεταθετικές πράξεις, όπου ο δεύτερος τελεστέος στην αρχική έκφραση τοποθετείται πρώτος στην postfix notation, καθώς σύµφωνα µε την εκφώνηση ο πρώτος τελεστέος κάθε πράξης είναι αυτός που βρίσκεται στην κορυφή του σωρού *. E = ((A B C D) / A) A D = ((AB CD ) / A) AD = (CD AB / A) AD = ACD AB / AD = AD ACD AB / Περιεχόµενα σωρού (Αριστερά αναγράφεται το στοιχείο που βρίσκεται στην κορυφή) PUSH Α A PUSH D D, A MUL DxA PUSH A A, DxA PUSH C C, A, DxA PUSH D D, C, A, DxA MUL DxC, A, DxA PUSH A A, DxC, A, DxA PUSH B B, A, DxC, A, DxA MUL BxA, DxC, A, DxA SUB (BxA)-(DxC), A, DxA DIV [(BxA)-(DxC)]/A, DxA SUB [(BxA)-(DxC)]/A- DxA POP E - E = [(BxA)-(DxC)]/A- DxA ΘΕΜΑ Β2: [2, µονάδες] Θεωρείστε ότι η CPU ενός υπολογιστή, που παράγει διευθύνσεις των 8 δυαδικών ψηφίων, παράγει την επόµενη ακολουθία διευθύνσεων (οι διευθύνσεις είναι γραµµένες στο δεκαεξαδικό σύστηµα αρίθµησης): 4, 76, Β3,, 43, 7, 4, Β, 72, 2, 45, Β7. Η CPU διαθέτει κρυφή µνήµη µε χωρητικότητα 64 λέξεις και 8 λέξεις ανά πλαίσιο. Στο ξεκίνηµα η κρυφή µνήµη δεν έχει έγκυρα περιεχόµενα. α. Αν η κρυφή µνήµη είναι άµεσης οργάνωσης ποιο είναι το ποσοστό επιτυχίας της για την παραπάνω ακολουθία διευθύνσεων; Αποδείξτε την απάντηση σας. β. Ποιο είναι το µεγαλύτερο ποσοστό επιτυχίας που µπορεί να πετύχει οποιαδήποτε οργάνωση κρυφής µνήµης µε τα παραπάνω χαρακτηριστικά (χωρητικότητα 64 λέξεις και 8 λέξεις ανά πλαίσιο), για την δεδοµένη ακολουθία διευθύνσεων; Γιατί; γ. Υποδείξτε την πιο φθηνή οργάνωση που δίνει το µεγαλύτερο ποσοστό επιτυχίας, για την δεδοµένη ακολουθία διευθύνσεων. * Η µετατροπή µπορεί να επεκταθεί και στις αντιµεταθετικές πράξεις όπου δεν έχει σηµασία η σειρά των τελεστών Σελίδα 4 από
α. Η κρυφή µνήµη έχει 8 πλαίσια των 8 λέξεων το κάθε ένα οπότε οι αναφορές των διευθύνσεων είναι οι ακόλουθες: ιεύθυνση Εττικέτα Πλαίσιο Λέξη 4 miss 76 miss B3 miss miss 43 miss 7 miss 4 miss B miss 72 miss 2 hit 45 miss B7 miss Άρα το ποσοστό επιτυχίας σε αυτή την περίπτωση είναι /2 = 8,33% β. ος Τρόπος Αφού κάθε πλαίσιο της κρυφής µνήµης αποτελείται από 8 λέξεις, µπορούµε να θεωρήσουµε ότι η κύρια µνήµη χωρίζεται (νοητά) σε µπλοκ µεγέθους 8 λέξεων το κάθε ένα. Τα τρία τελευταία δυαδικά ψηφία της διεύθυνσης καθορίζουν την λέξη µέσα στο µπλοκ και τα πέντε περισσότερο σηµαντικά αποτελούν την διεύθυνση (αύξων αριθµό) του µπλοκ. Κάθε ένα µπλοκ της κύριας µνήµης αντιστοιχίζεται σε ένα ή περισσότερα πλαίσια της κρυφής µνήµης, ανάλογα µε την οργάνωση της κρυφής µνήµης. Οι διευθύνσεις και τα µπλοκ στα οποία αντιστοιχούν φαίνονται ακόλουθα: ιευθύνσεις Κύριας Μνήµης ( εκαεξ/κό) 7 8 F 7 ιευθύνσεις Κύριας Μνήµης ( υαδικό) ιεύθυνση Μπλόκ Κύριας Μνήµης ( υαδικό) Ζητούµενες ιευθύνσεις Κύριας Μνήµης ανά µπλοκ( εκαεξ/κό), 2, 4 - - 4 47 4, 43, 45 7 77 7, 72, 76 Β Β7 Β, Β3, Β7 Σελίδα 5 από
Άρα οι ζητούµενες διευθύνσεις ανήκουν σε 4 διαφορετικά µπλοκ (,,, ). Μία οργάνωση που θα πετυχαίνει το µεγαλύτερο ποσοστό επιτυχίας θα είναι εκείνη στην οποία θα µπορούν να συνυπάρχουν ταυτόχρονα και τα 4 αυτά µπλοκ. Τέτοια οργάνωση κρυφής µνήµης για παράδειγµα είναι η οργάνωση πλήρους συσχέτισης, που στην περίπτωση µας θα αποτελείται από 8 πλαίσια (οπότε µπορούν να συνυπάρχουν ταυτόχρονα τα 4 µπλοκ). Έτσι θα έχει επιτυχία σε όλες τις αναφορές (για την δεδοµένη ακολουθία διευθύνσεων) εκτός φυσικά από τις 4 αποτυχίες που οφείλονται στην αρχική προσκόµιση των ζητούµενων µπλοκ (η κρυφή µνήµη είναι άδεια αρχικά). Άρα το µεγαλύτερο ποσοστό επιτυχίας µπορεί να είναι 8 / 2 = 66,67% 2 ος Τρόπος β. Στη κρυφή µνήµη υπάρχουν 8 πλαίσια συνολικά. Αφού σε κάθε πλαίσιο της κρυφής µνήµης υπάρχουν 8 λέξεις, συµπεραίνουµε ότι ανεξάρτητα από την οργάνωση της κύριας µνήµης, τα 3 λιγότερο σηµαντικά ψηφία της διεύθυνσης θα χρειάζονται για να επιλέξουν τη λέξη εντός του πλαισίου. Συνεπώς οι αναφορές που µας δίδονται µπορούν να χωριστούν σε δύο µέρη : ο µέρος 2ο µέρος 4 : 76 : Β3 : : 43 : 7 : 4 : Β : 72 : 2 : 45 : Β7 : Ανάλογα µε το βαθµό συσχέτισης, το ο µέρος κατανέµεται ως εξής: πλήρως συσχετιστική οργάνωση : 5 bit ετικέτα bit επιλογή πλαισίου / συνόλου 4-τρόπων συνόλου συσχέτισης : 4 bit ετικέτα bit επιλογή συνόλου 2-τρόπων συνόλου συσχέτισης : 3 bit ετικέτα 2 bit επιλογή συνόλου άµεση οργάνωση : 2 bit ετικέτα 3 bit επιλογή πλαισίου. Η κάθε οργάνωση της κρυφής µνήµης µε οδηγεί στο να χωρίσω το ο µέρος των παραπάνω διευθύνσεων σε "αντικρουόµενες" οµάδες, σε οµάδες δηλαδή που "µάχονται" για το ίδιο κοµµάτι πλαισίων. Για την άµεση οργάνωση αυτό έχει γίνει στο (α) υποερώτηµα. Πλήρως συσχετιστική : Οµάδα µε ετικέτα, Οµάδα µε ετικέτα, Οµάδα µε ετικέτα και Οµάδα µε ετικέτα. όπου οι 4 οµάδες µάχονται για όλα τα (8 δηλαδή) πλαίσια της κρυφής µνήµης. 4-τρόπων συνόλου συσχέτισης : Οµάδα µε ετικέτα, Οµάδα µε ετικέτα, Οµάδα µε ετικέτα και Οµάδα µε ετικέτα. όπου οι 4 οµάδες µάχονται για τα (4) πλαίσια του σύνολου. 2-τρόπων συνόλου συσχέτισης : Σελίδα 6 από
Οµάδα µε ετικέτα που µάχεται για πλαίσια του συνόλου. Οµάδα µε ετικέτα που µάχεται για πλαίσια του συνόλου. Οµάδα µε ετικέτα που µάχεται για πλαίσια του συνόλου 2. Οµάδα µε ετικέτα που µάχεται για πλαίσια του συνόλου 2. Σε όλες τις παραπάνω οργανώσεις παρατηρούµε ότι ο αριθµός των αντικρουόµενων οµάδων είναι µικρότερος ή ίσος του διαθέσιµου αριθµού πλαισίων ανά σύνολο. Άρα οι αντικρουόµενες οµάδες µπορούν να συνυπάρχουν στη κρυφή µνήµη και, για τη δεδοµένη ακολουθία διευθύνσεων και οι τρεις παραπάνω οργανώσεις θα προσφέρουν το ίδιο ποσοστό επιτυχίας. ηλαδή µετά από 4 αποτυχηµένες αναφορές, κάθε µία προερχόµενη από διαφορετική οµάδα, όλες οι υπόλοιπες θα δίνουν επιτυχία. Το µέγιστο ποσοστό επιτυχίας είναι συνεπώς 8/2 = 66,67%. γ. Η επόµενη φθηνότερη οργάνωση (µετά την άµεση που είδαµε στο ερώτηµα α) είναι η οργάνωση συνόλου συσχέτισης µε 2 πλαίσια ανά σύνολο: ιεύθυνση Εττικέτα Πλαίσιο Λέξη 4 miss 76 miss B3 miss miss 43 hit 7 hit 4 hit B hit 72 hit 2 hit 45 hit B7 hit Άρα το ποσοστό επιτυχίας σε αυτή την περίπτωση είναι 8/2 = 66,67% και είναι πράγµατι το υψηλότερο δυνατό. Οι υπόλοιπες οργανώσεις είναι πιο ακριβές από την οργάνωση συνόλου συσχέτισης µε 2 πλαίσια ανά σύνολο οπότε δεν τις µελετάµε. Άρα η ζητούµενη οργάνωση είναι η οργάνωση συνόλου συσχέτισης µε 2 πλαίσια ανά σύνολο. Γ. ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ ΘΕΜΑ Γ: [,5 µονάδες] Θεωρείστε ότι σε µια περιοχή µνήµης 5 θέσεων που ξεκινούν από τη διεύθυνση 2Η είναι αποθηκευµένοι προσηµασµένοι δυαδικοί αριθµοί των 8 ψηφίων σε αναπαράσταση συµπληρώµατος ως προς 2. Γράψτε πρόγραµµα σε assembly του 885 που να αντικαθιστά κάθε έναν από τους παραπάνω αριθµούς µε την απόλυτη τιµή του. Π.χ. Σελίδα 7 από
ιεύθυνση (πριν την εκτέλεση του προγράµµατος) Περιεχόµενο ιεύθυνση (µετά την εκτέλεση του προγράµµατος) Περιεχόµενο 2 Α9 2 57 2 EE 2 2 22 23 22 23 23 23 24 98 24 68. Για την υλοποίηση του προγράµµατος θα πρέπει να ανιχνευθούν οι αρνητικοί αριθµοί της λίστας και να µετατραπούν σε θετικούς. Η ανίχνευση του πρόσηµου ενός αριθµού µπορεί να πραγµατοποιηθεί µε την εντολή RLC που ολισθαίνει το πλέον αριστερό ψηφίο (πρόσηµο) του αριθµού στον καταχωρητή Α στη σηµαία CY ώστε να µπορεί να γίνει χρήση της τιµής της σηµαίας αυτής για αλλαγή ροής προγράµµατος. Έτσι αν η τιµή του CY είναι ο αριθµός είναι αρνητικός και αντιστρέφεται µε την εντολή CMA (αντιστρέφει την τιµή κάθε ψηφίου) ώστε να προκύψει το συµπλήρωµα ως προς του αριθµού στο οποίο προστίθεται η µονάδα ώστε να προκύψει η αντίστοιχη θετική τιµή η οποία και εγγράφεται στη µνήµη. Αν ο αριθµός είναι θετικός δεν πραγµατοποιείται καµιά ενέργεια σε αυτόν. Η παραπάνω διαδικασία επαναλαµβάνεται για 5 φορές ώστε να ελεγχθούν όλοι οι αριθµοί της αρχικής λίστας. Μια ενδεικτική υλοποίηση είναι η παρακάτω: 885 Machine Code File LXI H 2 2 ; ; 2 2 ; 3 MVI B F 6 ; 4 F ; 5 MOV A M 7E ; 6 RLC 7 ; 7 JNC E D2 ; 8 E ; 9 ; A MOV A M 7E ; B CMA 2F ; C INR A 3C ; D MOV M A 77 ; E INX H 23 ; F DCR B 5 ; JNZ 5 C2 ; 5 ; 2 ; 3 HLT 76 ; ΘΕΜΑ Γ2: [,5 µονάδες] Σ ένα µικροϋπολογιστή βασισµένο στον 68 της Motorola θέλουµε να συνδέσουµε ένα ολοκληρωµένο κύκλωµα µνήµης RAM χωρητικότητας 4kBytes από τη διεύθυνση Ε hex και µετά. (Στο διάγραµµα του ολοκληρωµένου που δείχνεται στο σχήµα που ακολουθεί µε CS (Chip Select) συµβολίζεται η είσοδος επιλογής ολοκληρωµένου). α. Ποιο το πλήθος των bits που χρειάζονται για την προσπέλαση της µνήµης; Σελίδα 8 από
β. Ποια περιοχή της µνήµης θα καλύπτεται; ( ώστε την αρχική και τελική διεύθυνση σε hex). γ. Σχεδιάστε το διάγραµµα το του κυκλώµατος. Υπόδειξη: Συµβουλευτείτε τα διαγράµµατα χρονισµού για τους κύκλους ανάγνωσης και εγγραφής που παρουσιάζονται στο Παράρτηµα. α. Εφόσον η µνήµη έχει µέγεθος 4Κ, απαιτούνται 2bits για την διευθυνσιοδότηση της, καθώς 2 2 =4Κ. β. Η περιοχή µνήµης που θα καλύπτει θα είναι η Ε-ΕFFF. γ. Όπως παρατηρούµε στο σχήµα 4.5 του Τόµου Γ κατά τον κύκλο ανάγνωσης τα σήµατα ελέγχου R/W και VMA παίρνουν την τιµή. Επίσης η τιµή της διεύθυνσης είναι σταθερή στο δίαυλο διευθύνσεων καθ όλη τη διάρκεια του κύκλου. Όπως παρατηρούµε στο σχήµα 4.6 κατά τον κύκλο εγγραφής το σήµα ελέγχου R/W παίρνει τη τιµή ενώ το σήµα ελέγχου VMA παίρνει την τιµή. Επίσης η τιµή της διεύθυνσης είναι σταθερή στο δίαυλο διευθύνσεων καθ όλη τη διάρκεια του κύκλου ενώ τα δεδοµένα εµφανίζονται στο δίαυλο δεδοµένων προς το τέλος του κύκλου. Τα παραπάνω σήµατα ελέγχου θα πρέπει να συνδυαστούν ώστε να δηµιουργηθούν τα κατάλληλα σήµατα ελέγχου για την µνήµη. Αρχικά θα πρέπει να υλοποιήσουµε τη διευθυνσιοδότηση της µνήµης. Η µνήµη καταλαµβάνει τις θέσεις ΕΗ έως και ΕFFFH του συστήµατος µνήµης. Όταν εµφανίζεται µία από αυτές τις διευθύνσεις στο δίαυλο διευθύνσεων τότε θα δηµιουργείται σήµα επιλογής µνήµης (CS). Παρατηρούµε ότι τα 4 πιο σηµαντικά ψηφία των διευθύνσεων θα χρησιµοποιηθούν για την αποκωδικοποίηση των διευθύνσεων που ανήκουν στην µνήµη. Τα 2 λιγότερο σηµαντικά ψηφία θα χρησιµοποιηθούν για την εσωτερική διευθυνσιοδότηση της µνήµης. Επιπλέον πρέπει το σήµα VME να γίνει ώστε να είναι έγκυρη η διεύθυνση. Άρα, CS = VMA A5 A4 A3 A2 Το σήµα R/W του επεξεργαστή οδηγείται απευθείας στην είσοδο της R/W µνήµης. Το ίδιο συµβαίνει και µε τον δίαυλο δεδοµένων. Σελίδα 9 από
A 2 A 3 A 4 A 5 A 4 A 3...A A 5 VMA MOTOROLA 68 DBE R/W A...A D 8 D 7...D 2 Φ 2 CS~ Address Data R/W RAM 4K 8 Σελίδα από