ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 9: Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ (Κεφάλαιο 5) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)
Περίληψη q Πρόσθεση Δυαδική Πρόσθεση - Ηµι-αθροιστής - Πλήρης Αθροιστής - Αθροιστής Ριπής - Αθροιστής Πρόβλεψης Κρατουµένου Δεκαδική Πρόσθεση - Αθροιστής BCD q Άλλες Αριθµητικές Συναρτήσεις/Κυκλώµατα ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.2 Θεοχαρίδης, ΗΜΥ, 2016
Αθροιστής 1-bit q Εκτελεί πρόσθεση µεταξύ δύο bits. q Τέσσερις πιθανές πράξεις: 0+0=0 0+1=1 1+0=1 1+1=10 q Η υλοποίηση του κυκλώµατος απαιτεί 2 εξόδους, η µία για το άθροισµα (sum) και η άλλη για το κρατούµενο (carry). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.3 Θεοχαρίδης, ΗΜΥ, 2016
Ηµι-αθροιστής (Half Adder) q Εκτελεί πρόσθεση µεταξύ δύο bit. q Είσοδοι: A 0, B 0 q Έξοδοι: S 0, C 1 q Ο δείκτης υποδεικνύει σηµαντικότητα, 0 για LSB και 1 για το επόµενο σηµαντικό bit. q Δυαδικές Συναρτήσεις: Πίνακας Αληθείας A 0 B 0 S 0 C 1 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S 0 = A 0 B 0 +A 0 B 0 = A 0 B 0 C 1 = A 0 B 0 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.4 Θεοχαρίδης, ΗΜΥ, 2016
Ηµι-αθροιστής (συν.) q S 0 = A 0 B 0 +A 0 B 0 = A 0 B 0 q C 1 = A 0 B 0 Διάγραµµα µπλοκ Λογικό Διάγραµµα C 1 A 0 B 0 Ηµιαθροιστής 1-bit A 0 B 0 S 0 S 0 C 1 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.5 Θεοχαρίδης, ΗΜΥ, 2016
Πρόσθεση n-bit q Σχεδιάστε ένα δυαδικό αθροιστή ο οποίος προσθέτει δύο n-bit δυαδικούς αριθµούς και παράγει ένα άθροισµα (sum) µε n-bit και ένα κρατούµενο εξόδου (carry out) µε 1- bit. q Παράδειγµα: Θεωρήστε n=4 C out C 3 C 2 C 1 C 0 1 1 0 1 0 A 3 A 2 A 1 A 0 1 1 0 1 + B 3 B 2 B 1 B 0 +1 1 0 1 -------------- --------------- S 3 S 2 S 1 S 0 1 0 1 0 q Αυτό απαιτεί πρόσθεση 3ων-bit! ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.6 Θεοχαρίδης, ΗΜΥ, 2016
Πλήρης Αθροιστής 1-bit (Full Adder) q Συνδυαστικό κύκλωµα που διεκπεραιώνει την πρόσθεση µεταξύ 3ων bits (2 bits προσθετέων και 1 bit για κρατούµενο εισόδου--carry-in) A i B i C i+1 Πλήρης Αθροιστής 1-bit C i S i ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.7 Θεοχαρίδης, ΗΜΥ, 2016
Πλήρης Αθροιστής 1-bit (συν.) n Οι K-χάρτες για: n C i+1 : n S i : A i A i B i C i B i C i 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 A i B i C i S i C i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.8 Θεοχαρίδης, ΗΜΥ, 2016
Πλήρης Αθροιστής 1-bit (συν.) n Δυαδικές συναρτήσεις: n C i+1 = A i B i + A i C i + B i C i n S i = A i B i C i + A i B i C i + A i B i C i + A i B i C i = A i B i C i n Μπορείτε να σχεδιάσετε ένα πλήρη αθροιστή άµεσα από τις πιο πάνω συναρτήσεις (απαιτούνται 3 πύλες AND και 1 πύλη OR για το C i+1, και 2 πύλες XOR για το S i ) n Υπάρχει καλύτερη υλοποίηση; ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.9 Θεοχαρίδης, ΗΜΥ, 2016
Πλήρης Αθροιστής µε 2 Ηµι-αθροιστές n Ένας πλήρης αθροιστής µπορεί να υλοποιηθεί και µε 2 ηµι-αθροιστές και 1 πύλη OR, αφού το C i+1 µπορεί να εκφραστεί ως: n C i+1 = A i B i + A i B i C i + A i B i C i = A i B i + (A i B i + A i B i )C i = A i B i + (Ai B i )C i n και το S i = A i B i C i A Bi i S i C i+ 1 C i ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.10 Θεοχαρίδης, ΗΜΥ, 2016
Συνδυαστικοί Αθροιστές n-bit q Εκτελούν παράλληλη πρόσθεση πολλαπλών-bit 1. Αθροιστής Ριπής (Ripple Carry Adder) Απλός Σχεδιασµός Χρονοβόρος. Γιατί; (θα δείτε σε λίγο!) 2. Αθροιστής Πρόβλεψης Κρατουµένου (Carry Lookahead Adder) Πιο πολύπλοκος σχεδιασµός Μειώνει την καθυστέρηση του κυκλώµατος ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.11 Θεοχαρίδης, ΗΜΥ, 2016
Αθροιστής Ριπής n-bit - (n-bit ripple carry adder) q Κατασκευάζεται µε n πλήρες αθροιστές 1- bit, δοµηµένοι παράλληλα. q Ο ένας πλήρης αθροιστής 1-bit διαδέχεται τον άλλο, έτσι ώστε το κρατούµενο εξόδου (carry out) από τον ένα γίνετε το κρατούµενο εισόδου (carry in) του επόµενου. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.12 Θεοχαρίδης, ΗΜΥ, 2016
Παράδειγµα: Αθροιστής Ριπής 4ων-bit C 4 C3 C2 C1 C0 A3 A2 A1 A0 +B3 B2 B1 B0 -------------- S3 S2 S1 S0 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.13 Θεοχαρίδης, ΗΜΥ, 2016
Καθυστέρηση Αθροιστή Ριπής q Η καθυστέρηση του κυκλώµατος ενός αθροιστή ριπής καθορίζεται από την καθυστέρηση του µονοπατιού του κρατουµένου από το LSB (C 0 ) στο MSB (C n ). q Θεωρήστε την καθυστέρηση σε ένα 1-bit FA να είναι Δ. Τότε, η καθυστέρηση του αθροιστή ριπής n-bit είναι nδ. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.14 Θεοχαρίδης, ΗΜΥ, 2016
Αθροιστής Πρόβλεψης Κρατουµένου (Carry Lookahead Adder -- CLA) q Εναλλακτικός σχεδιασµός για ένα συνδυαστικό αθροιστή µε n-bit. q Πρακτικός σχεδιασµός µε µειωµένη καθυστέρηση, αλλά απαιτεί πιο πολύπλοκο σχεδιασµό. q Παράγεται από ένα µετασχηµατισµό του σχεδιασµού αθροιστή ριπής. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.15 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασµός CLA q Από ένα FA, διαχωρίζουµε µεταξύ της παραγωγής (generation) του κρατουµένου (όταν ένα νέο κρατούµενο παράγεται, C out =1) και της µετάδοσης (propagation) του κρατουµένου (όταν ένα υπάρχον C in µεταδίδεται στο C out ) q Παραγωγή: G i = A i B i : if 1, C i+1 =1 q Μετάδοση: P i = A i B i : εάν 1 τότε C i+1 = C i Full Adder (FA) Partial Full Adder (PFA) B i A i A i B i S i C i C i+ 1 S i G i P i C i ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.16 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασµός CLA (συν.) q Ένα bit από λογική G/P µόνο δεν βοηθά, αλλά q Διαδοχική λογική G/P µπορεί να παράγει το κρατούµενο εξόδου ενός µπλοκ q C i+1 = G i + P i C i q Ο σχεδιασµός του PFA διαχωρίζει την λειτουργικότητα (και άρα την υλοποίηση) του S από αυτή του G/P ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.17 Θεοχαρίδης, ΗΜΥ, 2016
Σχεδιασµός CLA (συν.) q Μπορεί ο σχεδιασµός της προηγούµενης διαφάνειας να λύσει το πρόβληµα της µεγάλης καθυστέρησης; q Όχι, το κρατούµενο εξόδου συνεχίζει την κυµάτωση! q Ιδέα: χρήση δύο επιπέδων λογικής για την παραγωγή του κρατούµενου εξόδου από οποιοδήποτε µπλοκ C i βάση του κρατούµενου εισόδου C 0 και των προσθετέων bits A i and B i ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.18 Θεοχαρίδης, ΗΜΥ, 2016
Μπλοκ CLA q Υλοποίηση: C 1 = G 0 +P 0 C 0 C 2 = G 1 +P 1 C 1 = G 1 +P 1 (G 0 +P 0 C 0 ) = G 1 +P 1 G 0 +P 1 P 0 C 0 C 3 = G 2 + P 2 C 2 = G 2 +P 2 G 1 +P 2 P 1 G 0 +P 2 P 1 P 0 C 0 C 4 = G 3 +P 3 G 2 +P 3 P 2 G 1 +P 3 P 2 P 1 G 0 + P 3 P 2 P 1 P 0 C 0 = G 0-3 + P 0-3 C 0 Οµάδα Παραγωγής Κρατουµένου Οµάδα Μετάδοσης Κρατουµένου ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.19 Θεοχαρίδης, ΗΜΥ, 2016
Λογική Παραγωγής/Μετάδοσης για 4-bit CLA Όλα 2-επιπέδων à Το Cout υπολογίζεται γρήγορα ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.20 Θεοχαρίδης, ΗΜΥ, 2016
Δεκαδική Πρόσθεση q Σχεδιάστε ένα κύκλωµα για την εκτέλεση δεκαδικής πρόσθεσης, αφαίρεσης, q Είσοδος σε κωδικοποιηµένη δεκαδική µορφή, π.χ. BCD q Δεκαδικός Αθροιστής BCD: 8 είσοδοι (4 bits για τον κάθε δεκαδικό αριθµό) 5 έξοδοι για το δεκαδικό άθροισµα και το κρατούµενο Θυµηθείτε τον κανόνα για BCD πρόσθεση: Προσθέτουµε 0110 στο άθροισµα αν αυτό είναι µεγαλύτερο του 1001, για να διορθώσουµε την τιµή του κρατουµένου ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.21 Θεοχαρίδης, ΗΜΥ, 2016
Αθροιστής Binary Coded Decimal (BCD) C = K + z3.z2 + z3.z1 Προσθετέος Προσθετέος K δυαδικός αθροιστής 4-bit z3 z2 z1 z0 C 0 δυαδικός αθροιστής 4-bit S3 S2 S1 S0 Άθροισµα BCD ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.22 Θεοχαρίδης, ΗΜΥ, 2016
Περίληψη q Αφαίρεση δυαδικών Συµπλήρωµα του 2 (2 s complement) Επέκταση σε συµπλήρωµα του r Αφαίρεση µε συµπλήρωµα q Δυαδικοί Αθροιστές/Αφαιρέτες Προσηµασµένοι (Signed) αριθµοί Προσηµασµένη Πρόσθεση/Αφαίρεση Πρόβληµα Υπερχείλισης (Overflow) q Δυαδικοί Πολλαπλασιαστές ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.23 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδική Αφαίρεση q Μη-προσηµασµένοι αριθµοί (Unsigned numbers) το πρόσηµο δεν αναπαρίσταται ρητά (εννοείται). q Δεδοµένων των δυαδικών αριθµών M και N, βρείτε M-N: Περίπτωση I: M N, άρα, το MSB του Borrow είναι το 0 B 0 0 0 1 1 0 M 1 1 1 1 030 N -1 0 0 1 1-19 Το αποτέλεσµα είναι ορθό! Dif 0 1 0 1 1 11 Περίπτωση II: N > M, άρα, το MSB του Borrow είναι το 1 B 1 1 1 0 0 0 M 1 0 0 1 1 19 N -1 1 1 1 0-30 Το αποτέλεσµα χρειάζεται Dif 1 0 1 0 1 21 διόρθωση! ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.24 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδική Αφαίρεση (συν.) q Γενικά, εάν N > M, Dif = M-N+2 n, όπου το n = # bits. q Στην περίπτωση II του προηγούµενου παραδείγµατος, Dif= 19-30+2 5 = 21. q Για να διορθωθεί η απόλυτη τιµή (magnitude) του Dif, που έπρεπε να ήταν N-M, υπολογίζεται το 2 n -(M-N+2 n ). q Αυτό είναι γνωστό ως το συµπλήρωµα του 2 (2 s complement) του Dif. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.25 Θεοχαρίδης, ΗΜΥ, 2016
Γενική Διαδικασία q Για την αφαίρεση 2 n-bit αριθµών, M-N, στην βάση του 2: Βρείτε M-N. Εάν το MSB του Borrow είναι 0, τότε M N. Το αποτέλεσµα είναι θετικό και ορθό. Εάν το MSB του Borrow είναι 1, τότε N > M. Το αποτέλεσµα είναι αρνητικό και ο βαθµός του πρέπει να διορθωθεί µε την αφαίρεση του από το 2 n (βρείτε το συµπλήρωµα του 2). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.26 Θεοχαρίδης, ΗΜΥ, 2016
Ακόµη ένα παράδειγµα Αφαίρεσης q M = 01100100 και N = 10010110, βρείτε M-Ν B 1 0 0 1 1 1 1 0 0 M 0 1 1 0 0 1 0 0 100 N -1 0 0 1 0 1 1 0-150 Dif 1 1 0 0 1 1 1 0 206 2 n 1 0 0 0 0 0 0 0 0 256 Dif - 1 1 0 0 1 1 1 0-206 0 0 0 1 1 0 0 1 0 50 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.27 Θεοχαρίδης, ΗΜΥ, 2016
Διάγραµµα Αφαιρέτη M 0 M 1 M 2 M 3 N 0 N 1 N 2 N 3 B 4-bit αφαιρέτης Επιλεκτικό Συµπλήρωµα του 2 Ενεργοποιείται όταν B=1; αλλιώς, το αποτέλεσµα από τον αφαιρέτη περνά. Δεν είναι ο καλύτερος τρόπος υλοποίησης κυκλώµατος αφαιρέτη! ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.28 Θεοχαρίδης, ΗΜΥ, 2016
Διάγραµµα Δυαδικού Αθροιστή-Αφαιρέτη N 0 N 1 N 2 N 3 M 0 M 1 M 2 M 3 4-bit Αθροιστής B 4-bit Αφαιρέτης Επιλεκτικό Συµπλήρωµα του 2 (Sub/Add) Quadruple 2-to-1 MUX Αποτέλεσµα Sub/Add =1 à αποτέλεσµα= M-N Sub/Add =0 à αποτέλεσµα =M+N ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.29 Θεοχαρίδης, ΗΜΥ, 2016
Προσηµασµένοι Αριθµοί (αρνητικοί/θετικοί) q Signed magnitude q Complement - Συµπλήρωµα Two s complement One s complement sign indicated by most significant digit q Biased (excess) (πρόσθεση σταθερού) q Η επιλογή σχετίζεται άµεσα µε το τι έχουµε να επιλέξουµε από µεριάς υλικού, κόστους, ενέργειας, κλπ. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.30 Θεοχαρίδης, ΗΜΥ, 2016
Συµπληρώµατα q Υπάρχουν 2 τύποι συµπληρωµάτων για κάθε σύστηµα βάσης-r : Συµπλήρωµα βάσης r (r s complement) πχ. συµπλήρωµα του 2 για δυαδικό και συµπλήρωµα του 10 για δεκαδικό. Μειωµένο (Diminished) Συµπλήρωµα βάσης r (r-1 s complement) πχ. το συµπλήρωµα του 1 για δυαδικό και το συµπλήρωµα του 9 για δεκαδικό. q Θα εξετάσουµε µόνο συµπληρώµατα του 2 και του 1 για δυαδικούς (βάση 2). Η ίδια λογική ισχύει και για άλλες βάσεις (πχ. δεκαδική). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.31 Θεοχαρίδης, ΗΜΥ, 2016
Προσηµασµένοι αριθµοί q Το most significant digit είναι το sign indicator, τα υπόλοιπα digits δείχνουν το magnitude 0000 1111 0001 1110 0 +1 0010-6 -7 +2 1101-5 +3 0011 1100-4 +4 0100 1011-3 -2 1010-1 1001 SM +5 0101 +6 0110-0 +7 0111 1000 increment X = x k-1 x k-2 x 1 x 0 k-2 X = (-1) x k-1σ2 i x i i=0 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.32 Θεοχαρίδης, ΗΜΥ, 2016
Χαρακτηριστικά του δυαδικού S-M q k-bit συµµετρικό εύρος [-2 k-1 +ulp, 2 k-1 -ulp] q δύο κωδικοποιήσεις για το µηδέν! q απλή αντίστρεψη (negation)àcomplement sign bit) q πρόσθεση άριθµών διαφορετικού προσήµου χρειάζεται διαφορετική αντιµετώπιση από την πρόσθεση του ιδίου προσήµου (και αφαίρεση) q συµµετρικό shift left: shift in zeros; right: shift zeros στο magnitude διατηρώντας το sign bit q επέκταση (extend) - left (sign): pad with zeros; right: pad with zeros διατηρώντας το sign bit ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.33 Θεοχαρίδης, ΗΜΥ, 2016
Συµπληρώµατα! q Σταθερή αντιστροφή: M και η αρνητική µορφή του Y is M-Y 0 M-1 1 M-2 0 +1 2-2 -1 +2 M-3-3 +3 signed +4 values M-N -N +P P 3 4 Θετικοί αριθµοί αύξηση M < N + P + 1 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.34 Θεοχαρίδης, ΗΜΥ, 2016
Κανόνες Πρόσθεσης Μαθηµατικά! Επιθυµιτή Πράξη Πράξη που επιτελείται mod M Σωστό αποτέλεσµα ΧΩΡΙΣ υπερχείλιση Συνθήκες Υπερχείλισης (+X) + (+Y) (+X) (-Y) X + Y X + Y X + Y > P (+X) + (-Y) X + (M-Y) X-Y if Y <= X NA (+X) (+Y) M-(Y-X) if Y > X (-X) + (+Y) (M-X) + Y Y-X if X <=Y NA (-X) (-Y) M-(X-Y) if X > Y (-X) + (-Y) (-X) (+Y) (M-X) + (M-Y) M (X + Y) X + Y > N ΆΡΑ, αν µπορούµε και έχουµε ΔΙΑΘΕΣΙΜΟ αντιστροφέα προσήµου, όλα µπορούν να γίνουν! ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.35 Θεοχαρίδης, ΗΜΥ, 2016
Two s Complement (2 sc) q M = 2 k (for k=4, l=0, M = 2 4 =16) 0000 1111 0001 1110 0 +1 0010-2 -1 +2 1101-3 +3 0011 1100-4 +4 0100 1011-5 -6 1010-7 1001 2s c +5 0101 +6 0110-8 +7 0111 1000 increment a mod(2 k ) system k-2 X = -2 k-1 x k-1 + Σ2 i x i i=0 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.36 Θεοχαρίδης, ΗΜΥ, 2016
Συµπλήρωµα του 2... ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.37 Θεοχαρίδης, ΗΜΥ, 2016
Χαρακτηριστικά του 2 s complement q Μή συµµετρικό εύρος! [-2 k-1, 2 k-1 - ulp] Άρα η αντιστροφή προσήµου οδηγεί σε υπερχείλιση!!! q Μια κωδικοποίηση για το µηδέν (all zeros) q Αντιστροφή προσήµου (negation) complement all the bits and add 1 2s c(y) = 2 k Y = ((2 k ulp) Y) + ulp = Y compl + ulp mod απλά «κόβουµε» το high order carry-out Το RCA µε negation logic κάνει πρόσθεση ΚΑΙ αφαίρεση Μή συµµετρικό shift left: shift in zeros; right: shift in sign Επέκταση (extend) - left (sign): replicate sign bit; right: pad with zeros ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.38 Θεοχαρίδης, ΗΜΥ, 2016
Συµπλήρωµα του 2 q Για ένα θετικό δυαδικό αριθµό µε n ψηφία N 2, το συµπλήρωµα του 2, 2C(N 2 ), δίνεται από: { 2C(N 2 ) = 2 n -N 2, εάν N 2 0 0, εάν N 2 = 0 q Παράδειγµα 1: N 2 =1010 2C(N 2 ) = 2 4 -N 2 = 10000 2 1010 2 = 0110 2 q Παράδειγµα 2: N 2 =11111 2C(N 2 ) = 2 5 -N 2 = 100000 2 11111 2 = 00001 2 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.39 Θεοχαρίδης, ΗΜΥ, 2016
q Συµπλήρωµα του 2 (συν.) Ένας πιο εύκολος τρόπος για να υπολογίσουµε το συµπλήρωµα του 2: 1. Αφήστε τα least significant 0 και πρώτο 1 χωρίς αλλαγές 2. Αντικαταστήστε 0 µε 1 και 1 µε 0 στα υπόλοιπα higher significant bits. q Παραδείγµατα: complement complement N = 10 10 χωρίς N = 0101 1000 01 10 1010 1000 αλλαγές χωρίς αλλαγές συµπλήρωµα του 2 συµπλήρωµα του 2 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.40 Θεοχαρίδης, ΗΜΥ, 2016
Συµπλήρωµα του 1 q Για ένα θετικό δυαδικό αριθµό N 2 µε n ψηφία, το συµπλήρωµα του 1, 1C(N 2 ), δίνεται από: 1C(N 2 ) = (2 n -1) - N 2 q Παράδειγµα 1: N 2 =011 1C(N 2 ) = (2 3-1)-N 2 = 111 2 011 2 = 100 2 q Παράδειγµα 2: N 2 =1010 1C(N 2 ) = (2 4-1) - N 2 = 1111 2 1010 2 = 0101 2 q Παρατήρηση: το συµπλήρωµα του 1 µπορεί να παραχθεί ευκολότερα βρίσκοντας το συµπλήρωµα όλων των bits του αριθµό (bit-by-bit complementation). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.41 Θεοχαρίδης, ΗΜΥ, 2016
Παρατήρηση q Συγκρίνετε το συµπλήρωµα του 1 µε το συµπλήρωµα του 2: 2C(N 2 ) = 2 n -N 2 = [(2 n -1) - N 2 ] + 1 = 1C(N 2 ) +1 q Άρα το, συµπλήρωµα του 2 µπορεί να βρεθεί βρίσκοντας το συµπλήρωµα του 1 και προσθέτοντας 1. q Παράδειγµα: N = 1001 2C(N) = 2 4 N = 10000 1001 = 0111 1C(N) = 2 4 1 - N = 1111 1001 = 0110 à 2C(N) = 1C(N) + 1 = 0110 + 0001 = 0111 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.42 Θεοχαρίδης, ΗΜΥ, 2016
Αφαίρεση µε Συµπληρώµατα q Για να βρούµε το M-N = M+(-N), µπορούµε να χρησιµοποιήσουµε µια συµπληρωµατική µορφή για την αναπαράσταση ενός αρνητικού αριθµού - N, και να κάνουµε µια απλή πρόσθεση. q Πρέπει να µπορούµε να µετατρέψουµε το αποτέλεσµα. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.43 Θεοχαρίδης, ΗΜΥ, 2016
Αφαίρεση µε Συµπλήρωµα του 2 q Εάν χρησιµοποιήσουµε συµπλήρωµα του 2 για την αναπαράσταση αρνητικών αριθµών: 1. R I = M + 2C(N 2 ) = M + (2 n -N) = M N + 2 n 2. Εάν υπάρχει ένα µη-µηδενικό carry out στην πρόσθεση, τότε M N à το carry out αγνοείται και τα υπόλοιπα ψηφία είναι ίσα µε R = M-N. 3. Εάν M < N, τότε υπολογίζουµε το συµπλήρωµα του 2 του R I (=2 n - R I = 2 n - (M N + 2 n ) = N M) και προσθέτουµε ένα αρνητικό πρόσηµο στην αρχή του αριθµού. Δηλ., το αποτέλεσµα του R είναι -2C([R I ] 2 ) = -(N-M). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.44 Θεοχαρίδης, ΗΜΥ, 2016
Παράδειγµα q A = 1010100 (84 10 ), B = 1000011 (67 10 ) q Βρείτε R = A-B: 2C(B) = 0111101 (61 10 ) A+2C(B) = 1010100+0111101 = 10010001 Το carry απορρίπτεται, R = 0010001 (17 10 ) q Βρείτε R = B-A: 2C(A) = 0101100 (44 10 ) B+2C(A) = 1000011+0101100 = 01101111 R = -2C(B+2C(A)) = -0010001 (-17 10 ) (το bit του carry δεν υπολογίζεται) ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.45 Θεοχαρίδης, ΗΜΥ, 2016
Αφαίρεση µε Συµπλήρωµα του 1 q Εάν χρησιµοποιήσουµε συµπλήρωµα του 1 για την αναπαράσταση αρνητικών αριθµών: 1. R I = M + 1C(N 2 ) = M + (2 n -1-N) = M N + 2 n -1 2. Εάν υπάρχει ένα µη-µηδενικό carry out στην πρόσθεση, τότε M N à το carry out αγνοείται και προσθέτουµε 1 στα υπόλοιπα ψηφία. Το αποτέλεσµα είναι R = M-N. 3. Εάν M < N, τότε υπολογίζουµε το συµπλήρωµα του 1 του R I (=2 n - 1 - R I = 2 n - 1 - (M N + 2 n -1) = N M) και προσθέτουµε το αρνητικό πρόσηµο µπροστά. Δηλ., το αποτέλεσµα του R είναι -1C([R I ] 2 ) = -(N-M). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.46 Θεοχαρίδης, ΗΜΥ, 2016
Παράδειγµα q A = 1010100 (84 10 ), B = 1000011 (67 10 ) q Βρείτε R = A-B: 1C(B) = 0111100 (60 10 ) A+1C(B) = 1010100+0111100 = 10010000 Το carry απορρίπτεται και προσθέτουµε 1, R = 0010000 + 1 = 0010001 (17 10 ) q Βρείτε R = B-A: 1C(A) = 0101011 B+1C(A) = 1000011+0101011 = 01101110 R = -1C(B+1C(A)) = -0010001 (-17) (το bit του carry δεν υπολογίζεται) ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.47 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικοί Αθροιστές/Αφαιρέτες q Εάν εκτελέσουµε αφαίρεση χρησιµοποιώντας συµπληρώµατα, εξαλείφουµε την πράξη της αφαίρεσης, και, εποµένως, µπορούµε να χρησιµοποιήσουµε έναν αθροιστή, µε κατάλληλο κύκλωµα για συµπλήρωµα. q Στην ακρίβεια, µπορούµε να χρησιµοποιήσουµε έναν αθροιστή, για πρόσθεση και για αφαίρεση: Συµπλήρωµα αφαιρετέου για αφαίρεση Μη-συµπλήρωση αφαιρετέου για πρόσθεση à Για να υλοποιήσουµε ένα κύκλωµα πρόσθεσης/ αφαίρεσης, χρειαζόµαστε ένα αθροιστή (adder) και ένα κύκλωµα που να επιλέγει µεταξύ συµπληρώµατος ή µη (selective complementer) ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.48 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικοί Αθροιστές/Αφαιρέτες q Η αφαίρεση A -B µπορεί να γίνει υπολογίζοντας το συµπλήρωµα του 2 του B και προσθέτοντας το αποτέλεσµα στον A. q Το συµπλήρωµα του 2 του B υπολογίζεται µε (i) την συµπλήρωση του B και (ii) προσθέτοντας 1 στο αποτέλεσµα του (i). A-B = A + 2C(B) = A + 1C(B) + 1 = A + B + 1 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.49 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικός Αθροιστής/Αφαιρέτης 4 ων -bit -- Οι πύλες XOR λειτουργούν ως προγραµµατιζόµενοι αντιστροφείς ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.50 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικός Αθροιστής/Αφαιρέτης 4 ων -bit q Όταν S = 0, το κύκλωµα εκτελεί A + B, αφού το carry in στο LSB είναι 0 και οι έξοδοι των πυλών XOR δίνουν B 0 = Β. q Όταν S = 1, το κύκλωµα εκτελεί Α + Β + 1 = A - B, αφού το carry στο LSB είναι 1 και οι έξοδοι των πυλών XOR δίνουν B 1 = Β. Άρα, το κύκλωµα προσθέτει στον A το συµπλήρωµα του 1 του B συν 1 (από το carry στο LSB). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.51 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικός Αθροιστής/Αφαιρέτης 4 ων -bit S=0 B 3 B 2 B 1 B 0 0 Όταν S = 0, επιλέγει πρόσθεση ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.52 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικός Αθροιστής/Αφαιρέτης 4 ων -bit S=1 B 3 B 2 B 1 B 0 1 Όταν S = 1, επιλέγει αφαίρεση ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.53 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικός Αθροιστής/Αφαιρέτης 4 ων -bit n Όταν C 4 = 0 και S = 1, τότε A < B και πρέπει να διορθωθεί το αποτέλεσµα R 3 R 0 (διαφάνεια 38). n Άρα, πρέπει να υπολογιστεί το συµπλήρωµα του 2 του R 3 R 0 : n Χρησιµοποιείται ένα ειδικό κύκλωµα για το συµπλήρωµα του 2 ή n Χρησιµοποιείται ο αθροιστής/αφαιρέτης ξανά, µε A 3 A 0 =0000, B 3 B 0 =R 3 R 0 και S=1. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.54 Θεοχαρίδης, ΗΜΥ, 2016
Προσηµασµένοι Δυαδικοί Αριθµοί (Signed Binary Numbers) q Σύστηµα Προσηµασµένης-Απόλυτης-Τιµής (Signed-Magnitude system): Οι προσηµασµένοι αριθµοί αναπαριστούνται χρησιµοποιώντας το MSB του δυαδικού αριθµού για τον καθορισµό του πρόσηµου του αριθµού: - Εάν MSB = 0 à θετικός αριθµός - Εάν MSB = 1 à αρνητικός αριθµός Μην το συγχύσετε µε µη-προσηµασµένους (unsigned) αριθµούς! ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.55 Θεοχαρίδης, ΗΜΥ, 2016
Προσηµασµένοι Αριθµοί: Σύστηµα Signed-Magnitude (συν.) q Για παράδειγµα: -10 10 - -1010 2 σε µη-προσηµασµένο (το πρόσηµο δεν αποτελεί µέρος της δυαδικής τιµής) - 11010 2 σε προσηµασµένο µε signed-magnitude (το πρόσηµο αναπαρίσταται µε MSB=1) q Άλλο παράδειγµα: 1011 2-11 10 σε µη-προσηµασµένο - -3 10 σε προσηµασµένο µε signed-magnitude ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.56 Θεοχαρίδης, ΗΜΥ, 2016
Προσηµασµένοι Αριθµοί Σύστηµα Signed-Magnitude (συν.) q Για την υλοποίηση πρόσθεσης ή αφαίρεσης µε signedmagnitude, χρειαζόµαστε: Να ξεχωρίσουµε το bit του πρόσηµου από τα magnitude bits, Να θεωρήσουµε τα magnitude bits ως ένα µη-προσηµασµένο αριθµό (η διόρθωση πρέπει να γίνεται όπου χρειάζεται). q Για αποφυγή της διόρθωσης, χρησιµοποιείται το σύστηµα Προσηµασµένου-Συµπληρώµατος (Signed Complement). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.57 Θεοχαρίδης, ΗΜΥ, 2016
Προσηµασµένοι Αριθµοί: Σύστηµα Προσηµασµένου-Συµπληρώµατος (Signed-Complement) q Η απόλυτη τιµή (magnitude) ενός αρνητικού αριθµού αναπαρίσταται στην συµπληρωµατική του µορφή (µε συµπλήρωµα του 2 ή του 1). q Πχ., Χρησιµοποιούµε 8-bits για την αναπαράσταση των -9 10 και 9 10-9 10 : - 10001001 2 σε signed-magnitude - 11110110 2 σε signed-1 s complement - 11110111 2 σε signed-2 s complement 9 10 = 00001001 2 σε όλα τα πιο πάνω συστήµατα ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.58 Θεοχαρίδης, ΗΜΥ, 2016
Πρόσθεση/Αφαίρεση µε Signed-Magnitude q Για την εκτέλεση πρόσθεσης ή αφαίρεσης 2 αριθµών (M και N) σε signed-magnitude, ακολουθούµε τους γνωστούς κανόνες αριθµητικής: Ίδιο πρόσηµο: προσθέτουµε και κρατούµε το ίδιο πρόσηµο. Διαφορετικά πρόσηµα: Αφαιρούµε το N από το M και εάν το Borrow == 1, διορθώνουµε το αποτέλεσµα παίρνοντας το συµπλήρωµα του 2. Το πρόσηµο είναι αρνητικό. Παράδειγµα: M=00011001, N=10100101 το N είναι αρνητικό, άρα υπολογίζουµε M-N = 0011001-0100101 = 1110100, µε End-Borrow = 1. à M-N < 0 και για την διόρθωση του βρίσκουµε το συµπλήρωµα του 2 του Μ-Ν =0001100 à αποτέλεσµα = 10001100. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.59 Θεοχαρίδης, ΗΜΥ, 2016
Πρόσθεση µε Signed-2 s Complement q Η πρόσθεση 2 προσηµασµένων αριθµών, όπου οι αρνητικοί αριθµοί αναπαρίστανται σε signed-2 s complement, παράγεται προσθέτοντας τους 2 αριθµούς (συµπεριλαµβανοµένων των sing bits). Το Carry out αγνοείται. q Παραδείγµατα: (Υποθέστε αναπαραστάσεις 5-bit) 01010 (+10) 01010 (+10) 10110 (-10) 10110 (-10) +00101 (+5) +11011 (-5) +00101 (+5) +11011 (-5) 01111 (+15) 00101 (+5) 11011 (-5) 10001 (-15) ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.60 Θεοχαρίδης, ΗΜΥ, 2016
Πρόσθεση µε Signed-2 s Complement (συν.) q Όταν διαβάζεται αριθµούς σε 2 s complement να θυµάστε ότι, όταν MSB = 1 ο αριθµός είναι αρνητικός και χρειάζεται να υπολογίσετε το 2 s complement της απόλυτης τιµής (magnitude). q Παράδειγµα: Πιο είναι το δεκαδικό αντίστοιχο του 1001001 2? Είναι αρνητικός αριθµός αφού το MSB=1 Magnitude = 001001 το συµπλήρωµα του 2 του magnitude = 110111 Ο αριθµός είναι το -55 10 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.61 Θεοχαρίδης, ΗΜΥ, 2016
Αφαίρεση µε Signed-2 s Complement q Η αφαίρεση 2 προσηµασµένων αριθµών, όπου οι αρνητικοί αριθµοί αναπαρίστανται σε signed-2 s complement, παράγεται προσθέτοντας το 2 s complement του αφαιρετέου µε τον αφαιρέτη (συµπεριλαµβανοµένων των sing bits). Το Carry out αγνοείται. q Παραδείγµατα: (5-bit αναπαραστάσεις) 01010 (+10) 01010 (+10) 10110 (-10) 10110 (-10) -00101 -(+5) -11011 -(-5) -00101 -(+5) -11011 -(-5) 01010 (+10) 01010 (+10) 10110 (-10) 10110 (-10) +11011 +(-5) +00101 +(+5) +11011 +(-5) +00101 +(+5) 00101 (+5) 01111 (+15) 10001 (-15) 11011 (-5) ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.62 Θεοχαρίδης, ΗΜΥ, 2016
Το πρόβληµα της Υπερχείλισης q Εάν η πρόσθεση 2 n-bit αριθµών δίνει έναν αριθµό µε n+1 bits, τότε εµφανίζονται συνθήκες υπερχείλισης. q Η εύρεση υπερχείλισης µπορεί να υλοποιηθεί είτε µε υλικό (h/w) ή λογισµικό (s/w). q Η εύρεση εξαρτάται από το αριθµητικό σύστηµα που χρησιµοποιείται: προσηµασµένο ή µηπροσηµασµένο. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.63 Θεοχαρίδης, ΗΜΥ, 2016
Το πρόβληµα της Υπερχείλισης στο Μη-Προσηµασµένο Σύστηµα q Πρόσθεση: Όταν το Carry out == 1. q Αφαίρεση: Δεν µπορεί να γίνει ποτέ. Το Magnitude του αποτελέσµατος είναι πάντα ίσο ή µικρότερο από τον πιο µεγάλο των 2 αριθµών. q à ΔΕΝ είναι πρόβληµα! ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.64 Θεοχαρίδης, ΗΜΥ, 2016
Το πρόβληµα της Υπερχείλισης στο Σύστηµα Signed-2 s complement q Να θυµάστε ότι το MSB είναι το πρόσηµο. Αλλά προσθέτεται και το πρόσηµο! Άρα, ένα carry out == 1 δεν σηµαίνει πάντα υπερχείλιση! q Υπερχείλιση παρατηρείται ΜΟΝΟ όταν και οι 2 αριθµοί έχουν το ίδιο πρόσηµο. Αυτή η κατάσταση µπορεί να βρεθεί όταν το τελικό carry out (C n ) είναι διαφορετικό από το carry της προηγούµενης θέσης (C n-1 ). ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.65 Θεοχαρίδης, ΗΜΥ, 2016
Το πρόβληµα της Υπερχείλισης στο Σύστηµα Signed-2 s complement (συν.) q Παράδειγµα 1: M=65 10 και N=65 10 σε ένα 8-bit σύστηµα µε signed-2 s complement. M = N = 01000001 2 M+N = 10000010 µε C n =0. Αυτό είναι λάθος αφού δίνει αρνητικό αριθµό! Εάν το C n οριστεί ως το MSB, τότε έχουµε 010000010 2 (130 10 ) που είναι ορθό, αλλά χρειάζεται 9-bits à υπερχείλιση q Παράδειγµα 2: M=-65 10 και N=-65 10 σε ένα 8-bit σύστηµα µε signed-2 s complement. M = N = 10111111 2 M+N = 01111110 µε C n =1. Αυτό είναι πάλι λάθος αφού δίνει θετικό αριθµό! Εάν το C n οριστεί ως το MSB, τότε έχουµε 101111110 2 (-130 10 ) που είναι ορθό, αλλά πάλι απαιτεί 9-bits à υπερχείλιση ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.66 Θεοχαρίδης, ΗΜΥ, 2016
Εύρεση Υπερχείλισης στο Σύστηµα Signed-2 s complement q Οι καταστάσεις υπερχείλισης εντοπίζονται συγκρίνοντας τις τιµές στο carry in και carry out του sign bit (C n-1 και C n ). n-bit αθροιστής/αφαιρέτης µε λογική εύρεσης υπερχείλισης V C C n+1 C n n-bit αθροιστής/ αφαιρέτης το C =1 δείχνει υπερχείλιση όταν προσθέτουµε/αφαιρ. unsigned αριθµούς. το V=1 δείχνει υπερχείλιση όταν προσθέτουµε/αφαιρ. αριθµούς σε signed-2 s complement ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.67 Θεοχαρίδης, ΗΜΥ, 2016
Πολλαπλιασιασµός q Ο πολλαπλασιασµός είναι ΑΠΛΟΣ! Επαναλαµβανόµενη ΠΡΟΣΘΕΣΗ. Αν λοιπόν έχουµε αθροιστές, µπορούµε να κτίσουµε πολλαπλασιαστές!. q Θυµηθείτε ότι το AND operation ισούται µε πολλαπλασιασµό µεταξύ δυο ψηφίων: a b ab 0 0 0 0 1 0 1 0 0 1 1 1 a b a b 0 0 0 0 1 0 1 0 0 1 1 1 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.68 Θεοχαρίδης, ΗΜΥ, 2016
Παράδειγµα Δυαδικού Πολλαπλασιασµού 1 1 0 1 Multiplicand - Πολλαπλασιαστέος x 0 1 1 0 Multiplier - Πολλαπλασιαστής 0 0 0 0 Partial products Μερικά Γινόµενα 1 1 0 1 1 1 0 1 + 0 0 0 0 1 0 0 1 1 1 0 Product - Γινόµενο Αφού πάντοτε πολλαπλασιάζουμε με 0 ή 1, τα μερικά γινόμενα (par>al products) είναι είτε 0000 είτε ίσα με τον πολλαπλασιαστέο (mul>plicand - 1101 στο παράδειγμα αυτό). Υπάρχουν ΤΕΣΣΕΡΑ μερικά γινόμενα που προσθέτουμε για να πάρουμε το τελικό αποτέλεσμα γινόμενο. Μπορούμε να τα προσθέσουμε σε ΖΕΥΓΗ με τρεις αθροιστές Παρόλο που το τελικό γινόμενο είναι μέχρι 8 ψηφία, μπορούμε να χρησιμοποιήσουμε και 4- ψήφιους αθροιστές αρκεί να τους βάλουμε στην σειρά με βάση την δύναμη του ψηφίου που προσθέτουμε (π.χ. δεκάδες με δεκάδες, εκατοντάδες με εκατοντάδες, κ.ο.κ. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.69 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικός Πολ/στης q Ο δυαδικός πολ/σµός µοιάζει µε τον δεκαδικό πολ/σµό: Ο n-bit πολλαπλασιαστέος (multiplicand) πολ/ζεται µε κάθε bit του m-bit πολλαπλασιαστή (multiplier), αρχίζοντας από το LSB, για την παράγωγή n µερικών γινοµένων. Το κάθε διαδοχικό σύνολο των µερικών γινοµένων µετατοπίζεται 1 bit προς αριστερά. Το αποτέλεσµα παράγεται µε την πρόσθεση των m γραµµών των µερικών γινοµένων. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.70 Θεοχαρίδης, ΗΜΥ, 2016
Δυαδικός Πολ/στης (συν.) q Παράδειγµα: Πολ/στης A=A 1 A 0 και πολ/στέος B=B 1 B 0 Βρείτε το C = AxB: x A 1 A 0 B 1 B 0 ------------------------ + A 1 B 1 A 1 B 0 A 0 B 1 A 0 B 0 -------------------------------------- C 3 C 2 C 2 C 0 ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.71 Θεοχαρίδης, ΗΜΥ, 2016
Κύκλωµα Δυαδικού Πολ/στή πολ/στης 2-bit Χ 2-bit Οι Half Adders είναι αρκετοί αφού δεν υπάρχει Carry-in µαζί µε τις δύο εισόδους της πρόσθεσης. ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.72 Θεοχαρίδης, ΗΜΥ, 2016
Κύκλωµα Δυαδικού Πολ/στή πολ/στης 4-bit Χ 3-bit Το 4-bit x 3-bit δίνει αποτέλεσµα 7-bit ΗΜΥ210 Δ09 Σχεδιασµός Συνδυαστικών Κυκλωµάτων ΙΙ.73 Θεοχαρίδης, ΗΜΥ, 2016