Uploaded by First Time Silicon

Άσκηση 1

advertisement
Άσκηση 1
Γράψτε τους ακόλουθους αριθμούς στη ζητούμενη κωδικοποίηση, χρησιμοποιώντας τα ελάχιστα δυνατά ψηφία του
αριθμητικού συστήματος που αναφέρεται.
(α) +6110 σε κώδικα "πρόσημο – μέτρο" ("προσημασμένο μέγεθος") χρησιμοποιώντας δυαδικά ψηφία,
(β) -3410 σε κώδικα "συμπλήρωμα ως προς 16" χρησιμοποιώντας δεκαεξαδικά ψηφία,
(γ) +1910 σε κώδικα "συμπλήρωμα ως προς 2" χρησιμοποιώντας δυαδικά ψηφία, και
(δ) -1710 σε κώδικα "συμπλήρωμα ως προς 1" χρησιμοποιώντας δυαδικά ψηφία.
Δεν απαιτείται να δικαιολογήσετε τις απαντήσεις σας.
Ενδεικτική απάντηση
(α) 0111101ΠΜ.
Με διαδοχικές διαιρέσεις με το 2 παίρνουμε ότι 6110 = 1111012. Θα χρειαστούμε επίσης να υποδείξουμε το
πρόσημο με το αριστερότερο επιπλέον ψηφίο της αναπαράστασης.
(β) DE16s
Θα χρειαστούμε 2 ψηφία σε κώδικα "συμπλήρωμα ως προς 16" που μας προσφέρουν το επιθυμητό εύρος
αναπαράστασης (με ένα ψηφίο μπορούμε μόνο να αναπαραστήσουμε τους αριθμούς στο διάστημα [-8, +7], ενώ
με 2 το διάστημα [-128, +127]). Αφού 3410 = 10 00102 = 2216, ο -3410 θα έχει αναπαράσταση : (FF – 22) + 1 = DD +
1 = DE16s
(γ) 0100112s
Με κ ψηφία στον κώδικα "συμπλήρωμα ως προς 2" αναπαρίστανται οι αριθμοί του διαστήματος [-2κ-1, +2κ-1-1].
Συνεπώς, για την αναπαράσταση του +19 θα χρειαστούν κ = 6 ψηφία. Αφού ο αριθμός είναι θετικός, στον κώδικα
"συμπλήρωμα ως προς 2" θα έχει την ίδια αναπαράσταση με τον φυσικό 19 στα ίδια ψηφία. Με διαδοχικές
διαιρέσεις βρίσκουμε ότι 1910 = 0100112s
(δ) 1011101s
Με κ ψηφία στον κώδικα "συμπλήρωμα ως προς 1" αναπαρίστανται οι αριθμοί του διαστήματος [ -2κ-1+1, +2κ-11], συνεπώς για την αναπαράσταση του -1710 θα χρειαστώ κ = 6 ψηφία. Αφού ο αριθμός είναι αρνητικός στον
κώδικα "συμπλήρωμα ως προς 1" θα έχει τη συμπληρωματική αναπαράσταση του φυσικού 1710 στα ίδια ψηφία.
Με διαδοχικές διαιρέσεις βρίσκουμε ότι 1710 = 0100012. Συμπληρώνουμε κάθε ψηφίο και καταλήγουμε στη
ζητούμενη αναπαράσταση 1011101s.
b
S3
S2
c
S1
d
S0
a
Αποκωδικοποιητής
4 16
Άσκηση 2
1. Να εξετάσετε εάν οι F1 και F2 των παρακάτω λογικών διαγραμμάτων είναι ισοδύναμες.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
F1
d
D0
c
D1
F2
D2
D3
S1 S0
a b
Λύση
F1 (a,b,c,d) = [ ∑(1, 3, 4, 9, 11, 14) ]΄ = ∑ (0, 2, 5, 6, 7, 8, 10, 12, 13, 15)
F2 (a,b,c,d) = a΄b΄d΄ + a΄b(c+d) + ab΄d΄ + abc΄ =
= a΄b΄(c+c΄)d΄ + a΄bc + a΄bd + ab΄(c+c΄)d΄ + abc΄(d+d΄) =
= a΄b΄cd΄+ a΄b΄c΄d΄ + a΄bc(d+d΄) + a΄b(c+c΄)d + ab΄cd΄ + ab΄c΄d΄ + abc΄d + abc΄d΄
= m2 + m0 + a΄bcd + a΄bcd΄ + a΄bcd + a΄bc΄d + m10 + m8 + m13 + m12 =
= m2 + m0 + m7 + m6 + m7 + m5 + m10 + m8 + m13 + m12 =
= ∑ (0, 2, 5, 6, 7, 8, 10, 12, 13)
Παρατηρούμε ότι F1 ≠ F2.
Άσκηση 3
Να δώσετε λογικά διαγράμματα για την υλοποίηση της F3(a,b,c,d) = Σ(2,5,7,8,10,15) και αδιάφορους τους m0, m6, m12
και m13 με :
1. τον ελάχιστο αριθμό λογικών πυλών έως 2 εισόδων, και
2. μόνο με πύλες ΝΑΝD 2 εισόδων.
Λύση
Απλοποιώντας τη συνάρτηση με χάρτη Karnaugh παίρνουμε :
cd
ab
00 01 11 10
00 X
1
01
1
1
X
11 X
X
1
10 1
1
F = b’d’+bd
1. Είναι F = b’d’+bd = b  d και το λογικό μας διάγραμμα απαιτεί μόνο 1 λογική πύλη XNOR 2 εισόδων :
b
d
2.
F
F = b’d’+bd
(Θεώρημα διπλοαντιστροφής)
= [(b’d’+bd) ’]’
(Θεώρημα DeMorgan)
= [(b’d’) ’ (bd)’]’
(Θεώρημα αυτοαπορρόφησης)
= {[(bb)’ (dd)’]’ (bd)’}’
H τελευταία έκφραση μπορεί να υλοποιηθεί με 5 πύλες NAND 2 εισόδων ως ακολούθως :
b
d
F
Άσκηση 4
Να δώσετε το λογικό διάγραμμα για ένα κύκλωμα το οποίο να δέχεται ως εισόδους τους αριθμούς Α, Β, C και
D, των 3 δυαδικών ψηφίων έκαστος σε παράσταση συμπληρώματος του 2 και δύο σήματα ελέγχου E1 και E0.
Ανάλογα με τις τιμές των σημάτων ελέγχου, το κύκλωμα θα πρέπει να επιτελεί τις ακόλουθες λειτουργίες :
E1
E0
Λειτουργία
0
0
Α+D
0
1
B+C
1
0
A-D
1
1
B-C
Μπορείτε στο λογικό σας διάγραμμα να χρησιμοποιήσετε λογικές πύλες ή / και MSI. Εάν χρησιμοποιήσετε MSI,
στο λογικό σας διάγραμμα θα πρέπει να φαίνεται καθαρά το τι συνδέεται στην κάθε είσοδό τους.
Λύση
Από το δεδομένο πίνακα λειτουργίας παρατηρούμε ότι το ζητούμενο κύκλωμα πραγματοποιεί είτε πρόσθεση
είτε αφαίρεση των εντέλων του ανάλογα με την τιμή του σήματος e1. Για την υλοποίηση και των δύο αυτών
αριθμητικών πράξεων, μπορούμε να χρησιμοποιήσουμε έναν παράλληλο προσθετή / αφαιρέτη των 3 δυαδικών
ψηφίων με είσοδο ελέγχου το E1.
Παρατηρούμε επίσης ότι τιμή του E0 καθορίζει τα έντελα τα οποία θα λάβουν μέρος στην αριθμητική πράξη.
Όταν E0 = 0, επιλέγεται ως πρώτο έντελο το Α, ενώ όταν E0 = 1, επιλέγεται το Β. Αντίστοιχα ως δεύτερο έντελο
επιλέγεται το D όταν E0 = 0 και το C όταν E0 = 1. Συνεπώς μπορούμε να χρησιμοποιήσουμε το E0 ως σήμα επιλογής σε
πολυπλέκτες 21 που θα δέχονται ομότιμα δυαδικά ψηφία των Α και Β και των D και C.
Βάσει των παραπάνω και υποθέτοντας ότι Α=a2a1a0, B=b2b1b0, C=c2c1c0, D=d2d1d0 και ότι το αποτέλεσμα
αναπαρίσταται ως r2r1r0 καταλήγουμε στο ακόλουθο λογικό διάγραμμα :
a2
b2
a1
b1
a0
b0
0
1
0
1
0
1
d2
c2
d1
c1
d0
c0
0
1
0
1
0
1
E0
E1
c
FA
c
FA
c
FA
s
s
s
r2
r1
r0
Άσκηση 5
Χρησιμοποιώντας έναν αποκωδικοποιητή και όσες πύλες ΟR χρειάζεστε να προτείνετε ένα κύκλωμα που να υλοποιεί
τη συνάρτηση :
 Χ+3 αν -4 ≤ Χ ≤ -2
F(X) =

 Χ-2 αν 0 ≤ Χ ≤ +2
Οι είσοδοι και οι έξοδοι του κυκλώματός σας αναπαρίστανται με κώδικα συμπληρώματος του 2.
Λύση
Παρατηρούμε ότι η είσοδός μας παίρνει τιμές στο διάστημα [-4, +2] και συνεπώς θα χρειαστούμε 3 δυαδικά ψηφία,
έστω χ, y και z για την αναπαράστασή της σε κώδικα συμπληρώματος του 2. H έξοδός μας παίρνει τιμές στο διάστημα
[-2, +1] και συνεπώς χρειάζεται 2 δυαδικά ψηφία, έστω f1 και f0, για την αναπαράστασή της. Καταστρώνουμε τον
πίνακα αληθείας και έχουμε:
x
S2
y
S1
z
S0
Αποκωδικοποιητής
Είσοδος στο
Είσοδος στο
Έξοδος στο
Έξοδος στο
δυαδικό
δεκαδικό
δεκαδικό
δυαδικό
x
y
z
f1
f0
0
0
0
0
-2
1
0
0
0
1
+1
-1
1
1
0
1
0
+2
0
0
0
0
1
1
+3
Χ
Χ
Χ
1
0
0
-4
-1
1
1
1
0
1
-3
0
0
0
1
1
0
-2
+1
0
1
1
1
1
-1
Χ
Χ
Χ
απ' όπου προκύπτει ότι f1 = Σ(0, 1, 4) και f0 = Σ(1, 4, 6) με αδιάφορους όρους τους 3 και 7. Μπορούμε να υλοποιήσουμε
αυτές τις δύο συναρτήσεις με αποκωδικοποιητή 38 και πύλες OR όπως στο παρακάτω σχήμα :
0
1
2
3
4
5
6
7
f1
f0
Άσκηση 6
Σχεδιάστε ένα κύκλωμα το οποίο θα δέχεται ως είσοδο δύο προσημασμένους αριθμούς Α ( = A1A0 ) και Β (=Β1Β0) των
δύο δυαδικών ψηφίων ο καθένας σε κώδικα "συμπλήρωμα ως προς 2" και παράγει στην έξοδο τον μικρότερο εκ των
Α και Β επίσης σε κώδικα "συμπλήρωμα ως προς 2". Στην περίπτωση που οι Α και Β είναι ίσοι, δε μας ενδιαφέρει η
έξοδος του κυκλώματος.
Ενδεικτική απάντηση
Έστω ότι οι δύο αριθμοί μας γράφονται στον κώδικα "συμπλήρωμα ως προς 2" με δυαδικά ψηφία ως Α = Α1Α0 2s και
Β = Β1Β0 2s. Αντίστοιχα η έξοδος του κυκλώματός μας είναι η F = F1F0 2s. Σχηματίζουμε τον ακόλουθο πίνακα αληθείας:
Είσοδοι στο
Έξοδος στο
Έξοδοι
Eίσοδοι
δεκαδικό
δεκαδικό
Α2s
Β2s
F2s
Α10
Β10
F10
Α1 Α0
Β1 Β0
F1 F0
00
00
0
0
X
XX
00
01
0
+1
0
00
00
10
0
-2
-2
10
00
11
0
-1
-1
11
01
00
+1
0
0
00
01
01
+1
+1
X
XX
01
10
+1
-2
-2
10
01
11
+1
-1
-1
11
10
00
-2
0
-2
10
10
01
-2
+1
-2
10
10
10
-2
-2
X
XX
10
11
-2
-1
-2
10
11
00
-1
0
-1
11
11
01
-1
+1
-1
11
11
10
-1
-2
-2
10
11
11
-1
-1
X
XX
απ΄ όπου παίρνουμε ότι :
F1 (Α1, Α0, Β1, Β0) = Σ (2, 3, 6, 7, 8, 9, 11, 12, 13, 14) + DC (0, 5, 10, 15) και
F0 (Α1, Α0, Β1, Β0) = Σ (3, 7, 12, 13) + DC (0, 5, 10, 15)
Η απλοποίηση αυτών των συναρτήσεων με χάρτες Karnaugh μας δίνει :
B1 B0
A1 A0
00 01 11 10
00
X
01
1
1
X 1
1
11
1
1 X 1
10
1
1
1 X
F1 = A1 + B1
B1 B0
A1 A0
00
00 01 11 10
X
X 1
01
11
1
1
1 X
10
F0 = A1 A0 B΄1 + B1 Β0 Α΄1
X
Τέλος, σχεδιάζουμε το ακόλουθο λογικό διάγραμμα :
A1
B1
F1
B0
F0
A0
Download