Uploaded by vag fag

Answers1

advertisement
ΠΛΗ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
Ο βαθµός σας
Download