Περίληψη. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005. υαδική Αφαίρεση. υαδική Αφαίρεση (συν.) Ακόµη ένα παράδειγµα Αφαίρεσης.



Σχετικά έγγραφα
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Άλλες Αριθμητικές Συναρτήσεις/Κυκλώματα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

1 η Θεµατική Ενότητα : Αριθµητικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

4.1 Θεωρητική εισαγωγή

Υπολογιστές και Πληροφορία 1

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 12

Αθροιστές. Ημιαθροιστής

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 11

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Ενότητα 9 ΑΡΙΘΜΗΤΙΚΑ & ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Πράξεις με δυαδικούς αριθμούς

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αριθµητική υπολογιστών

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

a -j a 5 a 4 a 3 a 2 a 1 a 0, a -1 a -2 a -3

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Ελίνα Μακρή

Δυαδικό Σύστημα Αρίθμησης

Ψηφιακοί Υπολογιστές

Ψηφιακά Συστήματα. 1. Συστήματα Αριθμών

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Σ ή. : υαδικά. Ε ό. ή Ενότητα

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

3.1 εκαδικό και υαδικό

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

Λογική Σχεδίαση Ψηφιακών Συστημάτων

Κεφάλαιο 2 Κωδικοποίηση & Αποκωδικοποίηση

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Αριθμητικά Συστήματα

Δυαδικη παρασταση αριθμων και συμβολων

Οργάνωση Υπολογιστών

5.1 Θεωρητική εισαγωγή

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Στοιχειώδης Λογικές Συναρτήσεις

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Chapter 3. Αριθμητική Υπολογιστών. Έβδομη (7 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Αριθμητικά Συστήματα Κώδικες

ΑΣΚΗΣΗ 4 ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΩΝ ΛΟΓΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Αριθμητικά Συστήματα. Επιμέλεια Διαφανειών: Δ.

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

7. ΥΑ ΙΚΗ ΠΡΟΣΘΕΣΗ ΚΑΙ ΑΦΑΙΡΕΣΗ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

Εισαγωγή στην επιστήμη των υπολογιστών

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Εισαγωγή στην Επιστήμη των Υπολογιστών

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ


Κατ οίκον Εργασία ΚE5

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Αριθμητικά Συστήματα

Αριθμητικά Συστήματα Η ανάγκη του ανθρώπου για μετρήσεις οδήγησε αρχικά στην επινόηση των αριθμών Κατόπιν, στην επινόηση συμβόλων για τη παράσταση

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Chapter 3 Αριθμητική Υπολογιστών

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 2

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

Περίληψη ΗΜΥ-210: Λογικός Σχεδιασµός. Λογικές Πύλες. BUFFER, NAND και NOR. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης

Αρχιτεκτονικές Υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Ενδιάμεση Β205. Κεφ. 1-2, Παράρτημα Α Εργαστήρια Εργασίες Ενδιάμεση του 2014 Όχι διάλεξη την Τρίτη (Προετοιμασία)

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΚΩ ΙΚΕΣ

Transcript:

ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Κεφάλαιο 5 -ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αφαίρεση δυαδικών Περίληψη συµπλήρωµα ως προς 2 (2 s complement) ιεύρυνση σε συµπλήρωµα ως προς r Αφαίρεση µε συµπλήρωµα υαδικοί Προσθετέοι/Αφαιρετέοι Προσηµασµένοι (signed) αριθµοί Προσηµασµένη Πρόσθεση/Αφαίρεση Πρόβληµα Υπερχείλισης (overflow) υαδικοί Πολλαπλασιαστές MKM - 2 υαδική Αφαίρεση Μη-προσηµασµένοι αριθµοί: το σήµα του πλην δεν αναπαρίσταται σαφώς (explicitly). εδοµένου των δυαδικών αριθµών M και N, βρες M-N: Περίπτωση I: M N, άρα, το MSB του Borrow είναι το 0 B 0 0 0 1 1 0 M 1 1 1 1 0 30 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 διόρθωση! υαδική Αφαίρεση (συν.) Γενικά, εάν N > M, Dif = M-N+2 n, όπου το n = # bits. Στην περίπτωση II του προηγούµενου παραδείγµατος, Dif= 19-30+2 5 = 21. Για να διορθώσουµε τον µέτρο (magnitude) του Dif, που έπρεπε να ήταν be N-M, υπολογίστε 2 n -(M-N+2 n ). Αυτό είναι γνωστό ως το συµπλήρωµα ως προς 2 του Dif. MKM - 3 MKM - 4 Γενική ιαδικασία Για να αφαιρέσω 2 n-bit αριθµούς, M-N, στην βάση του 2: Βρέστε M-N. Εάν το MSB του Borrow είναι 0, τότε M N. Το αποτέλεσµα είναι θετικό και ορθό. Εάν το MSB του Borrow είναι 1, τότε N > M. Το αποτέλεσµα είναι αρνητικό και ο βαθµός του πρέπει να διορθωθεί µε την αφαίρεση του αριθµού από το 2 n (βρέστε το συµπλήρωµα ως προς 2). Ακόµη ένα παράδειγµα Αφαίρεσης εδοµένου M = 01100100 και N = 10010110, M-N= 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-50 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 MKM - 5 MKM - 6 Κεφάλαιο 5-ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα 1

Μπλοκ ιάγραµµα για τον αφαιρέτη Μπλοκ ιάγραµµα για υαδικό Αθροιστής-Αφαιρέτη B M 0 M 1 M 2 M 3 N 0 N 1 N 2 N 3 4-bit αφαιρέτης (επιλεκτική) µηχανή συµπληρώµατος του 2 Ενεργοποιείται όταν B=1; αλλιώς, διατήρησε το αποτέλεσµα του αφαιρέτη. εν είναι ο καλύτερος τρόπος υλοποίησης κυκλώµατος αφαιρέτη! M 0 M 1 M 2 M 3 υαδικός Αθροιστής Αφαίρεση/Πρόσθεση (Sub/Add) B Quadruple 2-to-1 MUX N 0 N 1 N 2 N 3 4-bit Αφαιρέτης (επιλεκτική) µηχανή συµπληρώµατος του 2 Αποτέλεσµα Sub/Add=1 αποτέλεσµα= M-N Sub/Add=0 αποτέλεσµα =M+N MKM - 7 MKM - 8 Συµπληρώµατα Υπάρχουν 2 τύποι συµπληρωµάτων για κάθε σύστηµα βάσης-r : Συµπλήρωµα βάσης (r s), πχ. συµπλήρωµα ως προς 2 και συµπλήρωµα ως προς 10. Μειωµένο (Diminished) Συµπλήρωµα βάσης (r-1 s), πχ. το συµπλήρωµα ως προς 1 και το συµπλήρωµα ως προς 9. Εξετάζουµε µόνο συµπληρώµατα του 2 και του 1 για την βάση του 2. Ίδια λογική ισχύει και για άλλες βάσεις (πχ. δεκαδική). Συµπλήρωµα ως προς 2 Για ένα θετικό δυαδικό αριθµό µε n ψηφία N 2, το συµπλήρωµα ως προς 2, 2C(N 2 ), δίνεται από: { 2C(N 2 ) = 2 n -N 2, εάν n > 0 0, εάν n = 0 Παράδειγµα: N 2 =1010 2C(N 2 ) = 2 4 -N 2 = 10000 2 1010 2 = 0110 2 Παράδειγµα : N 2 =11111 2C(N 2 ) = 2 5 -N 2 = 100000 2 11111 2 = 00001 2 MKM - 9 MKM - 10 Συµπλήρωµα ως προς 2 (συν.) Ένας πιο εύκολος τρόπος για να υπολογίσουµε το συµπλήρωµα του 2: 1. Αφήστε τα λιγότερο σηµαντικά (least significant) 0 και πρώτο 1 χωρίς αλλαγές 2. Αντικαταστήστε 0 µε 1 και 1 µε 0 στα υπόλοιπα περισσότερο σηµαντικά (higher significant) bits. Παραδείγµατα: complement χωρίς αλλαγές complement χωρίς αλλαγές N = 1010 N = 01011000 01 10 10101000 συµπλήρωµα ως προς 2 συµπλήρωµα ως προς 2 Συµπλήρωµα ως προς 1 Για ένα θετικό δυαδικό αριθµό n ψηφίων N 2, το συµπλήρωµα ως προς 1, 1C(N 2 ), δίνεται από: 1C(N 2 ) = (2 n -1) - N 2 Παράδειγµα: N 2 =011 1C(N 2 ) = (2 3-1)-N 2 = 111 2 011 2 = 100 2 Παράδειγµα : N 2 =1010 1C(N 2 ) = (2 4-1) - N 2 = 1111 2 1010 2 = 0101 2 Παρατήρηση: το συµπλήρωµα ως προς 1 µπορεί να παραχθεί µε το να βρούµε το συµπλήρωµα όλων των ψηφίων (bits) στον αριθµό. MKM - 11 MKM - 12 Κεφάλαιο 5-ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα 2

Παρατήρηση Συγκρίνετε το συµπλήρωµα ως προς 1 µε το συµπλήρωµα ως προς 2: 2 n -N= [(2 n -1) - N] + 1 Άρα το, συµπλήρωµα ως προς 2 µπορεί να βρεθεί βρίσκοντας το συµπλήρωµα ως προς 1 και προσθέτοντας 1. Παράδειγµα: 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 Αφαίρεση µε συµπληρώµατα Για να βρούµε το M-N = M+(-N), µπορούµε να χρησιµοποιήσουµε µια συµπληρωµατική µορφή για την αναπαράσταση ενός αρνητικού αριθµού -N, και να κάνουµε µια απλή πρόσθεση. Πρέπει να µπορούµε να µετατρέψουµε το αποτέλεσµα. MKM - 13 MKM - 14 Αφαίρεση µε συµπλήρωµα ως προς 2 Εάν χρησιµοποιήσουµε συµπλήρωµα ως προς 2 για την αναπαράσταση αρνητικών αριθµών: 1. R I = M + 2C(N 2 ) = M + (2 n -N) = M N + 2 n 2. Εάν υπάρχει ένα µη-µηδενικό carry out στην πρόσθεση, M N, αγνόησε αυτό το carry και τα υπόλοιπα ψηφία είναι ίσα µε 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). Παράδειγµα A = 1010100 (84 10 ), B = 1000011 (67 10 ) Βρέστε R = A-B: 2C(B) = 0111101 (61 10 ) A+B = 1010100+0111101 = 10010001 Απορρίπτω το carry, R = 0010001 (17 10 ) Βρέστε R = B-A: 2C(A) = 0101100 (44 10 ) B+A = 1000011+0101100 = 1101111 R = -2C(B+A) = -0010001 (-17) MKM - 15 MKM - 16 Αφαίρεση µε συµπλήρωµα ως προς 1 Εάν χρησιµοποιήσουµε συµπλήρωµα ως προς 1 για την αναπαράσταση αρνητικών αριθµών: 1. Σχηµάτισε R I = M + 1C(N 2 ) = M + (2 n -1-N) = M N + 2 n -1. 2. Εάν υπάρχει ένα µη-µηδενικό carry out στην πρόσθεση, M N, απόρριψε το και πρόσθεσε 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). Παράδειγµα A = 1010100 (84 10 ), B = 1000011 (67 10 ) Βρέστε R = A-B: 1C(B) = 0111100 (60 10 ) A+B = 1010100+0111100 = 10010000 Απορρίψτε το carry and προσθέστε 1, R = 0010000 + 1 = 0010001 (17 10 ) Βρέστε R = B-A: 1C(A) = 0101011 B+A = 1000011+0101011 = 1101110 R = -1C(B+A) = -0010001 (-17) MKM - 17 MKM - 18 Κεφάλαιο 5-ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα 3

υαδικοί Αθροιστές/Αφαιρέτης Εάν κάνετε αφαίρεση χρησιµοποιώντας συµπληρώµατα, εξαλείφουµε την λειτουργία της αφαίρεσης, και µπορούµε να χρησιµοποιήσουµε ένα αθροιστή µε κατάλληλα συµπληρώµατα για αφαίρεση. Μπορούµε να χρησιµοποιήσουµε προσθετέο και για πρόσθεση και για αφαίρεση: Πάρε το συµπλήρωµα του αφαιρετέου (subtrahend) για αφαίρεση Μην πάρεις το συµπλήρωµα του αφαιρετέου για πρόσθεση Για να υλοποιήσουµε ένα κύκλωµα πρόσθεσηςαφαίρεσης, χρειαζόµαστε µόνο ένα επιλεκτικό συµπληρωτή (complementer) και ένα αθροιστή. υαδικοί Αθροιστές/Αφαιρέτες (συν.) Ηαφαίρεση A-B µπορεί να γίνει παίρνοντας το συµπλήρωµα ως προς 2 του B και προσθέτοντας A. Το συµπλήρωµα ως προς 2 του B το παίρνουµε µε τo συµπλήρωση ως προς 1 του B και προσθέτοντας 1 σε αυτό. A-B = A + 2C(B) = A + 1C(B) + 1 = A + B + 1 MKM - 19 MKM - 20 4-bit υαδικός Αθροιστής/Αφαιρέτης Οι πύλες XOR ενεργούν σαν προγραµµατιζόµενοι αντιστροφείς MKM - 21 Όταν S=0, το κύκλωµα εκτελεί A + B. Το carry in είναι 0, και οι πύλες XOR περνούν το B χωρίς αλλαγές. Όταν S=1, το carry στο LSB είναι 1, και παίρνετε το συµπλήρωµα του Β (συµπλήρωµα ως προς 1) πριν την πρόσθεση; Άρα το κύκλωµα προσθέτει στο A το συµπλήρωµα ως προς 1 του B συν 1 (από το carry στο LSB). MKM - 22 S=0 S=1 B 3 B 2 B 1 B 0 B 3 B 2 B 1 B 0 0 1 Όταν S=0 διαλέγει πρόσθεση Όταν S=1 διαλέγει αφαίρεση MKM - 23 MKM - 24 Κεφάλαιο 5-ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα 4

Όταν C 4 = 0 και S=1 σηµαίνει ότι το A < B και πρέπει να διορθωθεί το αποτέλεσµα R 3 R 0 (διαφάνεια 15). Άρα, πρέπει να υπολογίσουµε το συµπλήρωµα ως προς 2 του R 3 R 0 : Χρησιµοποιείστε ένα ειδικό κύκλωµα για το συµπλήρωµα ως προς 2 ή Χρησιµοποιείστε τον 4-bit αθροιστή/ αφαιρέτη ξανά, µε A 3 A 0 =0000, B 3 B 0 =R 3 R 0, και S=1. Προσηµασµένοι υαδικοί Αριθµοί Σύστηµα Προσηµασµένου-µέτρου (magnitude): Οι προσηµασµένοι αριθµοί αναπαριστούνται χρησιµοποιώντας το MSB του δυαδικού αριθµού για την εύρεση του πρόσηµου του αριθµού: Εάν MSB = 0 θετικός αριθµός Εάν MSB = 1 αρνητικός αριθµός Μην το συγχύσετε µε µη- προσηµασµένους αριθµούς! MKM - 25 MKM - 26 Προσηµασµένοι υαδικοί Αριθµοί (συν.) Για παράδειγµα: -10 10-1010 2 σε µη-προσηµασµένο (- το πρόσηµο καθορίζεται σαφώς) 11010 2 σε προσηµασµένο (- το πρόσηµο καθορίζεται έµµεσα αφού MSB=1) Άλλο παράδειγµα: 1011 2 11 10 σε µη-προσηµασµένο -3 10 σε προσηµασµένο Προσηµασµένοι υαδικοί Αριθµοί (συν.) Για την υλοποίηση πρόσθεσης προσηµασµένου- µέτρου και αφαίρεση χρειαζόµαστε να ξεχωρίσουµε το ψηφίο πρόσηµου από τα ψηφία µέτρου, και να βλέπουµε τα magnitude bits σαν ένα µη-προσηµασµένο αριθµό (κάντε την διόρθωση όπου χρειάζεται). Για την αποφυγή της διόρθωσης, χρησιµοποιείται το σύστηµα προσηµασµένουσυµπληρώµατος. MKM - 27 MKM - 28 Σύστηµα Προσηµασµένου- Συµπληρώµατος Το µέτρο ενός αρνητικού αριθµού αναπαρίσταται στην συµπληρωµατική του µορφή (το συµπλήρωµα του 2 ή του 1). Πχ.: Χρησιµοποιούµε 8-bits στην αναπαράσταση -9 10 and 9 10-9 10 : 1001001 2 σε προσηµασµένο-µέτρο 11110110 2 σε προσηµασµένο συµπλήρωµα ως προς 1 11110111 2 σε προσηµασµένο συµπλήρωµα ως προς 2 9 10 = 00001001 2 σε όλα τα πιο πάνω συστήµατα Προσηµασµένη-Magnitude Πρόσθεση-Αφαίρεση Για την εκτέλεση πρόσθεσης ή αφαίρεσης 2 αριθµών M και N σε προσηµασµένο-µέτρου, ακολουθήστε τους κανόνες αριθµητικής: Ίδιο πρόσηµο: προσθέστε και κρατήστε το ίδιο πρόσηµο. ιαφορετικά πρόσηµα: Αφαιρέστε το N από το M; εάν το Borrow == 1, διορθώστε το αποτέλεσµα παίρνοντας το συµπλήρωµα του 2. Το πρόσηµο είναι αρνητικό. Παράδειγµα: M:00011001, N:10100101 το N είναι αρνητικό, άρα βρέστε M-N =0011001-0100101 =1110100, µε end borrow 1. Αυτό υπονοεί ότι το M-N είναι αρνητικός αριθµός, και για την διόρθωση του βρίσκουµε το συµπλήρωµα ως προς 2 0001100 άρα 10001100. MKM - 29 MKM - 30 Κεφάλαιο 5-ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα 5

Πρόσθεση Προσηµασµένου- Συµπληρώµατος Η πρόσθεση 2 προσηµασµένων αριθµών, µε αρνητικούς που αναπαριστούνται σε προσηµασµένο συµπλήρωµα ως προς 2, παράγεται προσθέτοντας τους 2 αριθµούς (συµπεριλαµβανοµένων των sing bits). Το Carry out αγνοείται. Παραδείγµατα: (Υποθέστε αναπαραστάσεις 5-ψηφίων) 01010 (+10) 01010 (+10) 10110 (-10) 10110 (-10) +00101 (+5) +11011 (-5) +00101 (+5) +11011 (-5) 01111 (+15) 00101 (+5) 11011 (-5) 10001 (-15) Πρόσθεση Προσηµασµένου- Συµπληρώµατος (συν.) Είναι διαφορετικό αυτό µε την αναπαράσταση αρνητικών αριθµών σε προσηµασµένο συµπλήρωµα του 2! Να θυµάστε ότι όταν MSB = 1 ο αριθµός είναι αρνητικός και χρειάζεται η εύρεση του συµπληρώµατος ως προς 2 του µέτρου. Παράδειγµα: Πιο είναι το δεκαδικό αντίστοιχο του 1001001 2? Είναι αρνητικός αριθµός αφού το MSB=1 Magnitude = 001001 το συµπλήρωµα του 2 του magnitude = 110111 Ο αριθµός είναι το -55 10 MKM - 31 MKM - 32 Αφαίρεση Προσηµασµένου- Συµπληρώµατος Η αφαίρεση 2 προσηµασµένων αριθµών, µε αρνητικούς στην προσηµασµένη µορφή συµπληρώµατος του 2, µπορεί να βρεθεί µε το συµπλήρωµα του 2 του αφαιρετέου (subtrahend) (µαζί µε το ψηφίο πρόσηµου) και την πρόσθεση του αφαιρέτης (minuend). Αγνοείται το carry out. Παραδείγµατα: (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) Το πρόβληµα της Υπερχείλισης Εάν η πρόσθεση 2 n-bit αριθµών είναι ένας αριθµός µε n+1 bits, τότε εµφανίζεται η κατάσταση υπερχείλισης. Η εύρεση υπερχείλισης µπορεί να υλοποιηθεί είτε µε υλικό(h/w) ή λογισµικό. Η εύρεση εξαρτάται από το αριθµητικό σύστηµα που χρησιµοποιείται: προσηµασµένο ή µη-προσηµασµένο. MKM - 33 MKM - 34 Το πρόβληµα της Υπερχείλισης στο Μη-Προσηµασµένο Σύστηµα Πρόσθεση: Όταν το Carry out == 1. Αφαίρεση: εν µπορεί να γίνει ποτέ. Το µέτρο του αποτελέσµατος είναι πάντα ίσο ή µικρότερο από τον πιο µεγάλο των 2 αριθµών. ΕΝ είναι πρόβληµα! Το πρόβληµα της Υπερχείλισης στο Προσηµασµένου Σύστηµα συµπληρώµατος του 2 Να θυµάστε ότι το MSB είναι το πρόσηµο. Αλλά προστίθεται και το πρόσηµο! Άρα ένα carry out == 1 δεν σηµαίνει πάντα υπερχείλιση. Υπερχείλιση παρατηρείται ΜΟΝΟ όταν και οι 2 αριθµοί έχουν το ίδιο πρόσηµο. Αυτή η κατάσταση µπορεί να βρεθεί όταν το carry out (C n ) είναι διαφορετικό από το carry της προηγούµενης θέσης (C n-1 ). MKM - 35 MKM - 36 Κεφάλαιο 5-ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα 6

Το πρόβληµα της Υπερχείλισης στο Προσηµασµένου Σύστηµα συµπληρώµατος του 2(συν.) Παράδειγµα 1: M=65 10 και N=65 10 σε ένα 8-bit προσηµασµένο σύστηµα συµπληρώµατος του 2. M = N = 01000001 2 M+N = 10000010 µε C n =0. Αυτό είναι λάθος! Βάλτε το C n σαν το MSB για να πάρετε 010000010 2 (130 10 ) που είναι ορθό, αλλά χρειάζεται 9-bits υπερχείλιση Παράδειγµα 2: M=-65 10 και N=-65 10 σε ένα 8-bit προσηµασµένο σύστηµα συµπληρώµατος του 2. M = N = 10111111 2 M+N = 01111110 µε C n =1. Αυτό είναι πάλι λάθος! Βάλτε το C n σαν το MSB για να πάρετε 101111110 2 (-130 10 ) που είναι ορθό, αλλά χρειάζεται 9-bits υπερχείλιση MKM - 37 Εύρεση Υπερχείλισης στο Προσηµασµένο Σύστηµα συµπληρώµατος του 2 Οι καταστάσεις υπερχείλισης εντοπίζονται συγκρίνοντας τις τιµές στο carry έξω και µέσα του sign bit (C n και C n-1 ). n-bit αθροιστής/αφαιρέτης µε λογική εύρεσης υπερχείλισης V C C n+1 C n n-bit αθροιστής/ αφαιρέτης το C =1 δείχνει υπερχείλιση όταν προσθέτουµε/αφαιρούµε µη-προσηµασµένους αριθµούς. το V=1 δείχνει υπερχείλιση όταν προσθέτουµε/αφαιρούµε προσηµασµένους αριθµούς οι οποίοι είναι συµπλήρωµα ως προς 2 MKM - 38 υαδικός Πολ/στης Οδυαδικός πολ/σµός µοιάζει µε τηον δεκαδικό πολ/σµό: ο n-bit multiplicand πολ/ζεται µε κάθε bit του m-bit multiplier, αρχίζοντας από το LSB, για την εύρεση n µερικών γινοµένων. Κάθε διαδοχικό σύνολο των µερικών γινοµένων γίνεται µετατόπιση 1 bit από αριστερά. Το αποτέλεσµα παράγεται µε την πρόσθεση m γραµµών των µερικών γινοµένων. υαδικός Πολ/στης (συν.) Παράδειγµα: Πολ/στης A=A 1 A 0 και πολ/στέος B=B 1 B 0 Βρέστε το C = AxB: B 1 B 0 x A 1 A 0 ----------------- A 0 B 1 A 0 B 0 + A 1 B 1 A 1 B 0 ------------------------------- C 3 C 2 C 2 C 0 MKM - 39 MKM - 40 Κύκλωµα υαδικού Πολ/στή πολ/στης 2 Χ 2 ψηφία Κύκλωµα υαδικού Πολ/στή πολ/στης 4 Χ 3 ψηφία Το 4 χ 3 ψηφία βγάζει αποτέλεσµα 7 ψηφίων Οι ηµι-αθροιστές είναι αρκετοί αφού δεν υπάρχει Carry-in Μαζί µε τις δύο εισόδους στην πρόσθεση MKM - 41 MKM - 42 Κεφάλαιο 5-ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα 7