ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 2013 – 2014 Γραπτή Εργασία #1 Ηµεροµηνία Παράδοσης 24 ΝΟΕΜΒΡΙΟΥ 2013 ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ Άσκηση 1 [20 µονάδες] Α. Αναπαραστήστε τους κάτωθι αριθµούς του δεκαδικού συστήµατος στο δυαδικό, οκταδικό και δεκαεξαδικό σύστηµα µε τον ελάχιστο δυνατό αριθµό ψηφίων και συµπληρώστε τον πίνακα. (Προσοχή στην υποδιαστολή). ΔΕΚΑΔΙΚΟΣ 1056 13,625 0,875 ΔΥΑΔΙΚΟΣ ΟΚΤΑΔΙΚΟΣ ΔΕΚΑΕΞΑΔΙΚΟΣ Β. Αναπαραστήστε τους κάτωθι αριθµούς του δεκαδικού συστήµατος, τον καθένα µε τον ελάχιστο δυνατό αριθµό δυαδικών ψηφίων, στο δυαδικό σύστηµα χρησιµοποιώντας τις αναπαραστάσεις πρόσηµο και µέτρο, συµπλήρωµα ως προς 1, συµπλήρωµα ως προς 2 και συµπληρώστε τον πίνακα. (Προσοχή στην υποδιαστολή). ΑΡΙΘΜΟΣ Α Β Γ ΔΕΚΑΔΙΚΟΣ -49 +74 -5,125 ΜΕΤΡΟ ΠΡΟΣΗΜ+ΜΕΤΡΟ ΣΥΜΠΛΗΡ. 1 ΣΥΜΠΛΗΡ. 2 Γ. Εκτελέστε αναλυτικά τις πράξεις (α) Α+Β χρησιµοποιώντας αναπαράσταση συµπληρώµατος ως προς 1, (β) A-B µε αναπαράσταση συµπληρώµατος ως προς 2, µε τον ελάχιστο απαιτούµενο αριθµό δυαδικών ψηφίων. Τα Α και Β ορίζονται στο (Β). Απάντηση Α. ΔΕΚΑΔΙΚΟΣ 1056 13,625 0,875 ΔΥΑΔΙΚΟΣ 10 000 100 000 1101,101 0,111 ΟΚΤΑΔΙΚΟΣ 2040 15,5 0,7 ΔΕΚΑΕΞΑΔΙΚΟΣ 420 D,A 0,E Μετατρέπουµε το 105610 στο οκταδικό (διαιρούµε µε το 8, κρατάµε το υπόλοιπο, διαιρούµε το πηλίκο, κ.ο.κ., µέχρι το πηλίκο να γίνει 0). Η βασική εξίσωση της διαίρεσης είναι Δ=δ*π+υ, όπου Δ=Διαιρεταίος, δ=διαιρέτης, π=πηλίκο, υ= υπόλοιπο. Σελίδα 1 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 1056 = 8 * 132 132 = 8 * 16 16 = 8 * 2 2 =8 * 0 + 0 ΛΣΨ (Λιγότερο Σηµαντικό Ψηφίο) +4 +0 + 2 ΠΣΨ (Περισσότερο Σηµαντικό Ψηφίο) δηλ 105610 = 20408 = 010 000 100 0002 = 0100 0010 00002 = 42016 Θυµηθείτε ότι: 3 δυαδικά ψηφία (bits) ⇒ ένα οκταδικό ψηφίο 4 δυαδικά ψηφία (bits) ⇒ ένα δεκαεξαδικό ψηφίο Μετατρέπουµε το 1310 σε δυαδικό 13=2 * 6+1 ΛΣΨ 6= 2 * 3+0 3= 2 * 1+1 1= 2 * 0+1 ΠΣΨ Συνεπώς, 1310 = 11012 = 001 1012 = 158 = 11012 = D16 Για τη µετατροπή του 0,62510 κάνουµε διαδοχικούς πολλαπλασιασµούς µε το 2, κρατώντας το ακέραιο µέρος και πολλαπλασιάζοντας το κλασµατικό µέχρι αυτό να µηδενιστεί ή µέχρι να εξαντλήσουµε τον διαθέσιµο αριθµό δυαδικών ψηφίων: 0,625 * 2 = 1,25 0,25 * 2 = 0,50 0,50 * 2 = 1,00 δηλ 0,62510 = 0,1012 = 0,58 = 0,10102 = 0,A16 Όµοια το 0,87510 γράφεται: 0,87510 = 0,1112 = 0,78 = 0,11102 = 0,E16 Β. ΑΡΙΘΜΟΣ ΔΕΚΑΔΙΚΟΣ ΜΕΤΡΟ ΠΡΟΣΗΜ+ΜΕΤΡΟ ΣΥΜΠΛΗΡ. 1 ΣΥΜΠΛΗΡ. 2 Α Β Γ -49 +74 -5,125 110001 1001010 101,001 1 110001 0 1001010 1 101,001 1 001110 0 1001010 1 010,110 1 001111 0 1001010 1 010,111 Μετατρέπουµε τους αριθµούς 49, 74, 5 και 0,125 σύµφωνα µε το (Α) και συµπληρώνουµε τη στήλη ΜΕΤΡΟ. Βάζουµε µπροστά το κατάλληλο bit πρόσηµου και έχουµε τη στήλη ΠΡΟΣΗΜ+ΜΕΤΡΟ. Για τους αρνητικούς βάζουµε bit πρόσηµου 1 και αντιστρέφουµε τα δυαδικά ψηφία του µέτρου για το ΣΥΜΠΛΗΡ. 1 Οι θετικοί παραµένουν όπως είναι ! Προσθέτουµε 1 στο Λιγότερο Σηµαντικό Ψηφίο του ΣΥΜΠΛΗΡ. 1 και έχουµε το ΣΥΜΠΛΗΡ. 2 Σελίδα 2 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 Οι θετικοί παραµένουν όπως είναι ! Γ. (α) Υπολογισµός του αθροίσµατος A+B σε ΣΥΜΠΛΗΡ. 1 Κάνουµε επέκταση προσήµου στο Α γιατί πρέπει να έχουµε τον ίδιο αριθµό δυαδικών ψηφίων σε κάθε προσθετέο. A 1100 1110 -49 B 0100 1010 + +74 --------------------- --------1 0001 1000 +25 +1 επιστρεφόµενο κρατούµενο (end-around carry) --------------------0001 1001 = 2510 (Σωστό!) (β) Υπολογισµός της διαφοράς Α-Β σε ΣΥΜΠΛΗΡ. 2 Βρίσκουµε το συµπλήρωµα ως προς 2 του Β: 0 1001010 10110101, προσθέτουµε 1 1011 0110 Κάνουµε επέκταση πρόσηµου στο Α ώστε να έχει µήκος 8 δυαδικών ψηφίων (8 bits): 1100 1111 A 1100 1111 -49 B 1011 0110 + -74 --------------------------------1 1000 0101 -123 Το κρατούµενο εξόδου της πρόσθεσης δυαδικών αριθµών σε συµπλήρωµα ως προς 2, αγνοείται. Ένας τρόπος για να βρούµε σε ποιον αριθµό αντιστοιχεί το αποτέλεσµα αυτό είναι να υπολογίσουµε τον αντίθετό του, δηλαδή το συµπλήρωµα ως προς 2. Εύκολα βρίσκουµε ότι αυτό είναι 0111 1011 που αντιστοιχεί στο 12310. Άρα ο δυαδικός 1000 01012 είναι πράγµατι ο -12310. Ένας άλλος τρόπος για να βρούµε σε ποιον αριθµό X10 του δεκαδικού συστήµατος αρίθµησης αντιστοιχεί ο σε συµπλήρωµα ως προς 2 δυαδικός bn-1bn-2...b1b0.b-1b-2...b-m είναι µέσω της σχέσης: n −2 X10 = −bn −1 2 n −1 + ∑b 2 i i i=−m Στην προκειµένη περίπτωση ο δυαδικός αριθµός 10000101, ο οποίος αποτελείται από 8 δυαδικά ψηφία (n=8) αντιστοιχεί στον δεκαδικό: 8−2 € X10 = −1⋅ 2 8−1 + ∑ bi 2 i = i=0 = −1⋅ 2 7 + 0⋅ 2 6 + 0⋅ 2 5 + 0⋅ 2 4 + 0⋅ 2 3 +1⋅ 2 2 + 0⋅ 21 +1⋅ 2 0 = −128 + 4 +1 = −123 € € Σελίδα 3 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 Άσκηση 2 [10 µονάδες] Να απλοποιήσετε τη λογική συνάρτηση f(x,y,z) = xyz’ + yzy’+ yz(x+y’+(yz)’) + z(x+z’) + x’(y+z)’ χρησιµοποιώντας µόνο αλγεβρικούς µετασχηµατισµούς, ώστε να καταλήξετε σε έκφραση που το λογικό της κύκλωµα να µπορεί να υλοποιηθεί µόνο µε δύο πύλες των δύο εισόδων η καθεµία. Απάντηση Αρχίζοντας από τη λογική συνάρτηση και εφαρµόζοντας αξιώµατα και ιδιότητες της άλγεβρας Boole, έχουµε: f(x,y,z) = xyz’ + yzy’+ yz(x+y’+(yz)’) + z(x+z’) + x’(y+z)’ = = xyz’ + yy’z + xyz + yy’z + (yz)(yz)’ + xz + zz’ + x’(y+z)’ = [a⋅0=0, a+0=a, aa’=0] = xyz + xz + xyz’ + x’(y+z)’ = = xy(z + z’) + xz + x’(y+z)’ = [a⋅1=a , a+a’=1] = xy + xz + x’(y+z)’ = = x(y + z) + x’(y+z)’ = x XNOR (y+z) [ab+a’b’= a XNOR b] ή f(x,y,z) = x XOR (y+z)’ [a XNOR b = a XOR b’ = a’ XOR b] Οι υλοποιήσεις των εκφράσεων αυτών µε δύο µόνον πύλες των δύο εισόδων η καθεµία, φαίνονται στο ακόλουθα σχήµατα: Άσκηση 3 [10 µονάδες] Για το συνδυαστικό κύκλωµα του σχήµατος να υπολογίσετε τη συνάρτηση εξόδου W, να την απλοποιήσετε µε αλγεβρικές πράξεις και να την υλοποιήσετε µόνο µε πύλες NOR. Σελίδα 4 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 Απάντηση Χρησιµοποιούµε τις W1 και W2 ως βοηθητικές συναρτήσεις. H W1 είναι η έξοδος µιας πύλης AND, οι είσοδοι της οποίας προέρχονται από µία πύλη NAND και µία πύλη NOR. Άρα: W1 = = = = = (ΑΒ’)’(Α+C)’ (AB’ + A + C)’ (A(Β’+1) + C)’ (Α ⋅1 + C)’ (A + C)’ = A’C’ Αντίστοιχα για την W2 έχουµε: W2 = ((Α’Β)’(Α+C’)’)’ = A’B + A + C’ = A + B + C’ [De Morgan] [Α, κοινός παράγοντας, z + 1 = 1] [De Morgan] [DeMorgan] [(z’)’ = z] [απορρόφηση] Η έξοδος W µπορεί να γραφτεί ως W = (W1 + W2)’. Άρα για τη συνολική συνάρτηση W, έχουµε W = = = (W1 + W2)’ = (Α’C’ + (A + B + C’))’ = (Α’C’ + A + B + C’)’ ((A’+1) C’ + A + B)’ (A + B + C’)’ Η έκφραση αυτή οδηγεί στην ακόλουθη υλοποίηση µε πύλες NOR: Σελίδα 5 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 Άσκηση 4 [15 µονάδες] Οι κυµατοµορφές τάσης-χρόνου του σχήµατος αντιστοιχούν στις εισόδους A, B και C και στην έξοδο Υ ενός συνδυαστικού κυκλώµατος. Θεωρούµε «θετική λογική» όπου η υψηλή τιµή αντιστοιχεί στο λογικό ‘1’ και η χαµηλή τιµή στο λογικό ‘0’. Α. Να υπολογιστεί η λογική συνάρτηση της εξόδου Υ ως κανονικό άθροισµα γινοµένων. Β. Να υλοποιηθεί το κύκλωµα χωρίς απλοποίηση, µόνο µε πύλες ΝΑΝD. Απάντηση Α. Από τις κυµατοµορφές, έχοντας φέρει κάθετες διακεκοµµένες γραµµές, σε κάθε σηµείο τους όπου έχουµε µεταβολή των σηµάτων εισόδου από 1 σε 0 ή από 0 σε 1 βρίσκουµε τον παρακάτω πίνακα αλήθειας (mi = ελαχιστόρος, minterm): Σελίδα 6 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 ABC 111 Y 0 011 1 101 1 001 0 100 1 110 010 100 000 1 0 1 1 Διατάσσοντας τις εισόδους κατά αύξουσα σειρά και απαλείφοντας τους ίδιους όρους έχουµε ABC 000 Y 1 mi 001 0 1 010 0 2 011 1 3 100 1 4 101 110 111 1 1 0 5 6 7 0 Η συνάρτηση σε µορφή αθροίσµατος ελαχιστόρων γράφεται: Υ= Σ(0,3,4,5,6) Β. Η υλοποίηση της συνάρτησης αυτής µε πύλες ΑΝD, OR και ΝΟΤ δείχνεται στο παρακάτω σχήµα: Με τον «γραφικό µετασχηµατισµό» 2 ΙΝV στις συνδέσεις ΑND-OR έχουµε το κύκλωµα : Με βάση την ισοδυναµία ότι και Σελίδα 7 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 έχουµε τελικά την υλοποίηση µόνο µε πύλες NAND: Άσκηση 5 [15 µονάδες] Δίνεται η λογική συνάρτηση F σε µορφή αθροίσµατος ελαχιστόρων: F(A,B,C,D) = Σ(0,2,6,8,10,12,14) Α. Να γραφεί η αλγεβρική έκφραση του παραπάνω αθροίσµατος ελαχιστόρων της F. Β. Να γραφεί η συνάρτηση F σε µορφή γινοµένου µεγιστόρων, καθώς και η αντίστοιχη αλγεβρική της έκφραση. Γ. Να απλοποιηθεί η συνάρτηση F µε χρήση χάρτη Karnaugh. Δ. Να υλοποιηθεί η συνάρτηση F µε δύο µόνον πύλες και πύλες ΝΟΤ. Απάντηση Α. F(A,B,C,D) = Σ(0,2,6,8,10,12,14) = A’B’C’D’+A’B’CD’+A’BCD’+AB’C’D’+AB’CD’+ABC’D’+ABCD’ B. Η λογική συνάρτηση F σε µορφή κανονικού γινοµένου αθροισµάτων είναι: F(A,B,C,D) = Π(1,3,4,5,7,9,11,13,15) = (A+B+C+D’)(A+B+C’+D’)(A+B’+C+D)(A+B’+C+D’)(A+B’+C’+D’)(A’+B+C+D’)(A’+B+ C’+D’) (A’+B’+C+D’)(A’+B’+C’+D’) Γ. Με βάση την F(A,B,C,D) = Σ(0,2,6,8,10,12,14) συµπληρώνουµε τον αντίστοιχο χάρτη Karnaugh. Η απλοποιηµένη συνάρτηση που προκύπτει είναι: F(A,B,C,D) = AD’ + B’D’ + CD’ Δ. Απλοποιώντας περαιτέρω την παραπάνω λογική συνάρτηση µε τη βοήθεια της άλγεβρας Boole έχουµε: Σελίδα 8 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 F(A,B,C,D) = AD’ + B’D’ + CD’ = (Α+B’+C)D’ Το ζητούµενο κύκλωµα µε δύο λογικές πύλες (εκτός από τους αντιστροφείς) είναι το ακόλουθο: Άσκηση 6 [10 µονάδες] Να υλοποιηθεί η συνάρτηση F(A,B,C,D) του πίνακα Karnaugh µε δύο πύλες OR και µια πύλη NAND και όσους αντιστροφείς χρειάζονται. Απάντηση Παρατηρούµε ότι δουλεύοντας µε τους µέγιστους όρους (µεγιστόρους) της συνάρτησης µπορούµε να την απλοποιήσουµε πιο εύκολα. Συγκεκριµένα έχουµε: F(A,B,C,D) = (A+B) (C+D’) Η λογική αυτή έκφραση υλοποιείται άµεσα µε 2 πύλες OR, 1 πύλη NAND και 2 αντιστροφείς, όπως δείχνεται στο παρακάτω λογικό κύκλωµα: Σελίδα 9 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 Άσκηση 7 [20 µονάδες] Να σχεδιάσετε το λογικό κύκλωµα ενός ψηφιακού συστήµατος, το οποίο να δέχεται στην είσοδο δύο ακέραιους αριθµούς A και B σε αναπαράσταση συµπληρώµατος ως προς 2, των δύο δυαδικών ψηφίων ο καθένας, και να παράγει στην έξοδο S την απόλυτη τιµή του αλγεβρικού αθροίσµατός τους, δηλαδή S=|A+B|, σε αναπαράσταση συµπληρώµατος ως προς 2. Θεωρείστε ότι A=A1A0 και B=B1B0, όπου A1, B1 τα περισσότερο σηµαντικά δυαδικά ψηφία. Σηµειώστε ότι η περίπτωση κατά την οποία και οι δύο είσοδοι ισούνται µε 10 δεν πρόκειται να συµβεί. Με άλλα λόγια, η περίπτωση A1A0=B1B0=10 δεν µας ενδιαφέρει. Α. Καταστρώστε τον πίνακα αληθείας του συστήµατος. Πόσα δυαδικά ψηφία θα χρειαστείτε για την αναπαράσταση του αποτελέσµατος; Β. Χρησιµοποιήστε χάρτες Karnaugh για να απλοποιήσετε τις συναρτήσεις εξόδου. Γ. Σχεδιάστε τα λογικά κυκλώµατα των εξόδων µε τον κατά το δυνατό µικρότερο αριθµό πυλών. Απάντηση Α. Καταστρώνουµε τον πίνακα αληθείας. Παρατηρούµε ότι η απόλυτη τιµή του αθροίσµατος κυµαίνεται µεταξύ 0 και 3, δηλαδή S ∈ [0,3]. Αυτό συµβαίνει επειδή η περίπτωση να είναι A=B=(-2)10=(10)2 έχει αποκλειστεί µε βάση την εκφώνηση. Επειδή στον κώδικα συµπληρώµατος ως προς 2 µε κ δυαδικά ψηφία µπορούν να παρασταθούν όλοι οι ακέραιοι στο διάστηµα [–2κ-1, 2κ-1-1], για τις τιµές εξόδου του κυκλώµατός µας που είναι στο διάστηµα [0, +3] θα χρειαστούµε κ=3 δυαδικά ψηφία, έστω S2S1S0. Σηµειώνεται ότι το αποτέλεσµα είναι θετικός αριθµός, οπότε το bit προσήµου S2 θα είναι πάντοτε 0 (µηδέν). A1A0B1B0 A (δεκαδικό) B (δεκαδικό) S=|A+B| S2 S1 S0 0000 0 0 0 000 0001 0 1 1 001 0010 0 -2 2 010 0011 0 -1 1 001 0100 1 0 1 001 0101 1 1 2 010 0110 1 -2 1 001 0111 1 -1 0 000 1000 -2 0 2 010 1001 -2 1 1 001 1010 -2 -2 4 xxx 1011 -2 -1 3 011 1100 -1 0 1 001 1101 -1 1 0 000 1110 -1 -2 3 011 1111 -1 -1 2 010 Για τη συµπλήρωση του πίνακα λάβαµε υπόψη µας ότι για την παράσταση δυαδικών αριθµών των δύο δυαδικών ψηφίων σε συµπλήρωµα ως προς 2 ισχύει: Δυαδικό Δεκαδικό 10 -2 11 -1 00 0 01 1 Σελίδα 10 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 Β. Συµπληρώνουµε τον χάρτη Karnaugh για τα S0 και S1. S0=A0B0’+A0’B0 = A0 ⊕ B0 S1 = A1B1 + A0’Β1B0’ + Α1Α0’Β0’ + Α1’Α0Β1’Β0 = = A1B1 + A0’B0’(Β1+Α1) + Α0Β0 (Α1’Β1’) = = A1B1 + (A0+B0)’(Α1+Β1) + Α0Β0 (Α1+Β1)’ Γ. Τα λογικά κυκλώµατα για τα S0, S1, S2 δίνονται στα σχήµατα που ακολουθούν. Θυµηθείτε ότι S2=0. Σελίδα 11 από 12 ΠΛΗ21 – 1η ΕΡΓΑΣΙΑ – 2013-14 ΑΣΚΗΣΗ 1η 2η 3η 4η 5η 6η 7η ΣΥΝΟΛΟ Τελικός Βαθµός ΜΟΝΑΔΕΣ 20 10 10 15 15 10 20 100 10.0 Σελίδα 12 από 12 Ο βαθµός σας