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

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

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

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

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

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

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

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

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

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

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

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

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

Ελίνα Μακρή

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

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

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

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

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

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

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

Ψηφιακή Λογική και Σχεδίαση

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

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

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

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

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

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

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

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

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

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

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

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

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

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

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων.

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

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

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο Βασικές Συνδυαστικές Συναρτήσεις και. Διδάσκουσα: Μαρία Κ. Μιχαήλ

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

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

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

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

Κυκλώµατα µε MSI. υαδικός Αθροιστής & Αφαιρέτης

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

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

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

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

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

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

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

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

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

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

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

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

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

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


Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

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

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

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

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

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

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

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

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

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

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

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

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

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

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

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

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

Εισαγωγή στους Υπολογιστές

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

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

Εργαστήριο Ψηφιακών Συστηµάτων ΗΜΥ211

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

Transcript:

ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 28 Αριθμητικές Συναρτήσεις και Κυκλώματα Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρόσθεση Περίληψη υαδική Πρόσθεση Ημι-αθροιστής Πλήρης Αθροιστής Αθροιστής Ριπής Αθροιστής Πρόβλεψης Κρατουμένου εκαδική Πρόσθεση Αθροιστής BCD Άλλες Αριθμητικές Συναρτήσεις/Κυκλώματα MKM - 2 Αριθμητικές Συναρτήσεις και Κυκλώματα

Αθροιστής -bit Εκτελεί πρόσθεση μεταξύ δύο bits. Τέσσερις πιθανές πράξεις: += += += += Η υλοποίηση του κυκλώματος απαιτεί 2 εξόδους, η μία για το άθροισμα (sum) και η άλλη για το κρατούμενο (carry). MKM - 3 Ημι-αθροιστής (Half Adder) Εκτελεί πρόσθεση μεταξύ δύο bit. Είσοδοι: A, B Έξοδοι: S, C Πίνακας Αληθείας A Ο δείκτης υποδεικνύει σημαντικότητα, για LSB και για το επόμενο σημαντικό bit. υαδικές Συναρτήσεις: S = A B +A B = A B C = A B B S C MKM - 4 Αριθμητικές Συναρτήσεις και Κυκλώματα 2

Ημι-αθροιστής (συν.) S = A B +A B = A B C = A B ιάγραμμα μπλοκ Λογικό ιάγραμμα C A B Ημιαθροιστής -bit A B S S C MKM - 5 Πρόσθεση n-bit Σχεδιάστε ένα δυαδικό αθροιστή ο οποίος προσθέτει δύο n-bit δυαδικούς αριθμούς και παράγει ένα άθροισμα (sum) με n-bit και ένα κρατούμενο εξόδου (carry out) με -bit. Παράδειγμα: Θεωρήστε n=4 C out C 3 C 2 C C A 3 A 2 A A +B 3 B 2 B B + -------------- ---------- S 3 S 2 S S Αυτό απαιτεί πρόσθεση 3ων-bit! MKM - 6 Αριθμητικές Συναρτήσεις και Κυκλώματα 3

Πλήρης Αθροιστής -bit (Full Adder) Συνδυαστικό κύκλωμα που διεκπεραιώνει την πρόσθεση μεταξύ 3ων bits (2 bits προσθετέων και bitγια κρατούμενο εισόδου--carry-in) A i B i C i+ Πλήρης Αθροιστής -bit C i S i MKM - 7 Πλήρης Αθροιστής -bit (συν.) Οι K-χάρτες για: C i+ : S i : A i A i B i C i B i C i A i B i C i S i C i+ MKM - 8 Αριθμητικές Συναρτήσεις και Κυκλώματα 4

Πλήρης Αθροιστής -bit (συν.) υαδικές συναρτήσεις: C i+ = A i B i + A i C i + B i C i 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 Μπορείτε να σχεδιάσετε ένα πλήρη αθροιστή άμεσα από τις πιο πάνω συναρτήσεις (απαιτούνται 3 πύλες AND και πύλη OR για το C i+, και 2 πύλες XOR για το S i ) Υπάρχει καλύτερη υλοποίηση; MKM - 9 Πλήρης Αθροιστής με 2 Ημι-αθροιστές Ένας πλήρης αθροιστής μπορεί να υλοποιηθεί και με 2 ημι-αθροιστές και πύλη OR, αφού το C i+ μπορεί να εκφραστεί ως: C i+ = 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 και το S i = A i B i C i A i B i S i C i+ C i MKM - Αριθμητικές Συναρτήσεις και Κυκλώματα 5

Συνδυαστικοί Αθροιστές n-bit Εκτελούν παράλληλη πρόσθεση πολλαπλών-bit. Αθροιστής Ριπής (Ripple Carry Adder) Απλός Σχεδιασμός Χρονοβόρος. Γιατί; (θαδείτεσελίγο!) 2. Αθροιστής Πρόβλεψης Κρατουμένου (Carry Lookahead Adder) Πιο πολύπλοκος σχεδιασμός Μειώνει την καθυστέρηση του κυκλώματος MKM - Αθροιστής Ριπής n-bit (n-bit ripple curry adder) Κατασκευάζεται με n πλήρες αθροιστές - bit, δομημένοι παράλληλα. Ο ένας πλήρης αθροιστής -bit διαδέχεται τον άλλο, έτσι ώστε το κρατούμενο εξόδου (carry out) από τον ένα γίνετε το κρατούμενο εισόδου (carry in) του επόμενου. MKM - 2 Αριθμητικές Συναρτήσεις και Κυκλώματα 6

Παράδειγμα: Αθροιστής Ριπής 4ων-bit C 4 C3 C2 C C A3 A2 A A +B3 B2 B B -------------- S3 S2 S S MKM - 3 Καθυστέρηση Αθροιστή Ριπής Η καθυστέρηση του κυκλώματος ενός αθροιστή ριπής καθορίζεται από την καθυστέρηση του μονοπατιού του κρατουμένου από το LSB (C ) στο MSB (C n ). Θεωρήστε την καθυστέρηση σε ένα -bit FA να είναι. Τότε, η καθυστέρηση του αθροιστή ριπής n-bit είναι n. MKM - 4 Αριθμητικές Συναρτήσεις και Κυκλώματα 7

Αθροιστής Πρόβλεψης Κρατουμένου (Carry Lookahead Adder -- CLA) Εναλλακτικός σχεδιασμός για ένα συνδυαστικό αθροιστή με n-bit. Πρακτικός σχεδιασμός με μειωμένη καθυστέρηση, αλλά απαιτεί πιο πολύπλοκο σχεδιασμό. Παράγεται από ένα μετασχηματισμό του σχεδιασμού αθροιστή ριπής. MKM - 5 Σχεδιασμός CLA Από ένα FA, διαχωρίζουμε μεταξύ της παραγωγής (generation) του κρατουμένου (όταν ένα νέο κρατούμενο παράγεται, C out =) και της μετάδοσης (propagation) του κρατουμένου (όταν ένα υπάρχον C in μεταδίδεται στο C out ) Παραγωγή: G i = A i B i : if, C i+ = Μετάδοση: P i = A i B i : εάν τότε C i+ = C i Full Adder (FA) Partial Full Adder (PFA) B i A i A i B i S i C i+ C i S i G i P i C i MKM - 6 Αριθμητικές Συναρτήσεις και Κυκλώματα 8

Σχεδιασμός CLA (συν.) Ένα bit από λογική G/P μόνο δεν βοηθά, αλλά ιαδοχική λογική G/P μπορεί να παράγει το κρατούμενο εξόδου ενός μπλοκ MKM - 7 Σχεδιασμός CLA (συν.) C i+ = G i + P i C i Ο σχεδιασμός του PFA διαχωρίζει την λειτουργικότητα (καιάρατηνυλοποίηση) του S από αυτή του G/P MKM - 8 Αριθμητικές Συναρτήσεις και Κυκλώματα 9

Σχεδιασμός CLA (συν.) Μπορεί ο σχεδιασμός της προηγούμενης διαφάνειας να λύσει το πρόβλημα της μεγάλης καθυστέρησης; Όχι, το κρατούμενο εξόδου συνεχίζει την κυμάτωση! Ιδέα: χρήση δύο επιπέδων λογικής για την παραγωγή του κρατούμενου εξόδου από οποιοδήποτε μπλοκ C i βάση του κρατούμενου εισόδου C και των προσθετέων bits A i and B i MKM - 9 Μπλοκ CLA Υλοποίηση: C = G +P C C 2 = G +P C = G +P (G +P C ) = G +P G +P P C C 3 = G 2 + P 2 C 2 = G 2 +P 2 G +P 2 P G +P 2 P P C C 4 = G 3 +P 3 G 2 +P 3 P 2 G +P 3 P 2 P G + P 3 P 2 P P C = G -3 + P -3 C Ομάδα Παραγωγής Κρατουμένου Ομάδα Μετάδοσης Κρατουμένου MKM - 2 Αριθμητικές Συναρτήσεις και Κυκλώματα

Λογική Παραγωγής/Μετάδοσης για 4-bit CLA Όλα 2-επιπέδων Το Cout υπολογίζεται γρήγορα MKM - 2 εκαδική Πρόσθεση Σχεδιάστε ένα κύκλωμα για την εκτέλεση δεκαδικής πρόσθεσης, αφαίρεσης, Είσοδος σε κωδικοποιημένη δεκαδική μορφή, π.χ. BCD εκαδικός Αθροιστής BCD: 8 είσοδοι (4 bits για τον κάθε δεκαδικό αριθμό) 5 έξοδοι για το δεκαδικό άθροισμα και το κρατούμενο Θυμηθείτε τον κανόνα για BCD πρόσθεση: Προσθέτουμε στο άθροισμα αν αυτό είναι μεγαλύτερο του, για να διορθώσουμε την τιμή του κρατουμένου MKM - 22 Αριθμητικές Συναρτήσεις και Κυκλώματα

Αθροιστής Binary Coded Decimal (BCD) C = K + z3.z2 + z3.z Προσθετέος Προσθετέος K δυαδικός αθροιστής 4-bit z3 z2 z z C δυαδικός αθροιστής 4-bit S3 S2 S S Άθροισμα BCD MKM - 23 ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 28 Άλλες Αριθμητικές Συναρτήσεις και Κυκλώματα Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αριθμητικές Συναρτήσεις και Κυκλώματα 2

Αφαίρεση δυαδικών Περίληψη Συμπλήρωμα του 2 (2 s complement) Επέκταση σε συμπλήρωμα του r Αφαίρεση με συμπλήρωμα υαδικοί Αθροιστές/Αφαιρέτες Προσημασμένοι (Signed) αριθμοί Προσημασμένη Πρόσθεση/Αφαίρεση Πρόβλημα Υπερχείλισης (Overflow) υαδικοί Πολλαπλασιαστές MKM - 25 υαδική Αφαίρεση Μη-προσημασμένοι αριθμοί (Unsigned numbers) το πρόσημο δεν αναπαρίσταται ρητά (εννοείται). εδομένων των δυαδικών αριθμών M και N, βρείτε M-N: Περίπτωση I: M N, άρα, το MSB του Borrow είναι το B M 3 N - -9 Το αποτέλεσμα είναι ορθό! Dif Περίπτωση II: N > M, άρα, το MSB του Borrow είναι το B M 9 N - -3 Το αποτέλεσμα χρειάζεται Dif 2 διόρθωση! MKM - 26 Αριθμητικές Συναρτήσεις και Κυκλώματα 3

υαδική Αφαίρεση (συν.) Γενικά, εάν N > M, Dif = M-N+2 n, όπου το n = # bits. Στην περίπτωση II του προηγούμενου παραδείγματος, Dif= 9-3+2 5 = 2. Για να διορθωθεί ο βαθμό (magnitude) του Dif, που έπρεπε να ήταν N-M, υπολογίζεται το 2 n -(M-N+2 n ). Αυτό είναι γνωστό ως το συμπλήρωμα του 2 (2 s complement) του Dif. MKM - 27 Γενική ιαδικασία Για την αφαίρεση 2 n-bit αριθμών, M-N, στην βάση του 2: Βρείτε M-N. Εάν το MSB του Borrow είναι, τότε M N. Το αποτέλεσμα είναι θετικό και ορθό. Εάν το MSB του Borrow είναι, τότε N > M. Το αποτέλεσμα είναι αρνητικό και ο βαθμός του πρέπει να διορθωθεί με την αφαίρεση του από το 2 n (βρείτε το συμπλήρωμα του 2). MKM - 28 Αριθμητικές Συναρτήσεις και Κυκλώματα 4

Ακόμη ένα παράδειγμα Αφαίρεσης M = και N =, βρείτε M-Ν B M N - -5 Dif 26 2 n 256 Dif - -26 5 MKM - 29 ιάγραμμα Αφαιρέτη M M M 2 M 3 N N N 2 N 3 B 4-bit αφαιρέτης Ενεργοποιείται όταν B=; αλλιώς, το αποτέλεσμα από τον αφαιρέτη περνά. Επιλεκτικό Συμπλήρωμα του 2 εν είναι ο καλύτερος τρόπος υλοποίησης κυκλώματος αφαιρέτη! MKM - 3 Αριθμητικές Συναρτήσεις και Κυκλώματα 5

ιάγραμμα υαδικού Αθροιστή-Αφαιρέτη M M M 2 M 3 4-bit Αθροιστής B N N N 2 N 3 4-bit Αφαιρέτης Επιλεκτικό Συμπλήρωμα του 2 (Sub/Add) Quadruple 2-to- MUX Αποτέλεσμα Sub/Add = αποτέλεσμα= M-N Sub/Add = αποτέλεσμα =M+N MKM - 3 Συμπληρώματα Υπάρχουν 2 τύποι συμπληρωμάτων για κάθε σύστημα βάσης-r : Συμπλήρωμα βάσης r (r s complement) πχ. συμπλήρωμα του 2 για δυαδικό και συμπλήρωμα του για δεκαδικό. Μειωμένο (Diminished) Συμπλήρωμα βάσης r (r- s complement) πχ. το συμπλήρωμα του για δυαδικό και το συμπλήρωμα του 9 για δεκαδικό. Θα εξετάσουμε μόνο συμπληρώματα του 2 και του για δυαδικούς (βάση 2). Η ίδια λογική ισχύει και για άλλες βάσεις (πχ. δεκαδική). MKM - 32 Αριθμητικές Συναρτήσεις και Κυκλώματα 6

Συμπλήρωμα του 2 Για ένα θετικό δυαδικό αριθμό με n ψηφία N 2, το συμπλήρωμα του 2, 2C(N 2 ), δίνεται από: { 2C(N 2 ) = 2 n -N 2, εάν n >, εάν n = Παράδειγμα : N 2 = 2C(N 2 ) = 2 4 -N 2 = 2 2 = 2 Παράδειγμα 2: N 2 = 2C(N 2 ) = 2 5 -N 2 = 2 2 = 2 MKM - 33 Συμπλήρωμα του 2(συν.) Ένας πιο εύκολος τρόπος για να υπολογίσουμε το συμπλήρωμα του 2:. Αφήστε τα least significant και πρώτο χωρίς αλλαγές 2. Αντικαταστήστε με και με στα υπόλοιπα higher significant bits. Παραδείγματα: complement χωρίς αλλαγές complement N = N = χωρίς αλλαγές συμπλήρωμα του 2 συμπλήρωμα του 2 MKM - 34 Αριθμητικές Συναρτήσεις και Κυκλώματα 7

Συμπλήρωμα του Για ένα θετικό δυαδικό αριθμό N 2 με n ψηφία, το συμπλήρωμα του, C(N 2 ), δίνεται από: C(N 2 ) = (2 n -) - N 2 Παράδειγμα : N 2 = C(N 2 ) = (2 3 -)-N 2 = 2 2 = 2 Παράδειγμα 2: N 2 = C(N 2 ) = (2 4 -) - N 2 = 2 2 = 2 Παρατήρηση: το συμπλήρωμα του μπορεί να παραχθεί ευκολότερα βρίσκοντας το συμπλήρωμα όλων των bits του αριθμό (bit-by-bit complementation). MKM - 35 Παρατήρηση Συγκρίνετε το συμπλήρωμα του με το συμπλήρωμα του 2: 2C(N 2 ) = 2 n -N 2 = 2 n -N= [(2 n -) - N] + = C(N 2 ) + Άρα το, συμπλήρωμα του 2 μπορεί να βρεθεί βρίσκοντας το συμπλήρωμα του και προσθέτοντας. Παράδειγμα: N = 2C(N) = 2 4 N = = C(N) = 2 4 - N = = 2C(N) = C(N) + = + = MKM - 36 Αριθμητικές Συναρτήσεις και Κυκλώματα 8

Αφαίρεση με Συμπληρώματα ΓιαναβρούμετοM-N = M+(-N), μπορούμε να χρησιμοποιήσουμε μια συμπληρωματική μορφή για την αναπαράσταση ενός αρνητικού αριθμού - N, και να κάνουμε μια απλή πρόσθεση. Πρέπει να μπορούμε να μετατρέψουμε το αποτέλεσμα. MKM - 37 Αφαίρεση με Συμπλήρωμα του 2 Εάν χρησιμοποιήσουμε συμπλήρωμα του 2 για την αναπαράσταση αρνητικών αριθμών:. 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). MKM - 38 Αριθμητικές Συναρτήσεις και Κυκλώματα 9

Παράδειγμα A = (84 ), B = (67 ) Βρείτε R = A-B: 2C(B) = (6 ) A+B = + = Το carry απορρίπτεται, R = (7 ) Βρείτε R = B-A: 2C(A) = (44 ) B+A = + = R = -2C(B+A) = - (-7) MKM - 39 Αφαίρεση με Συμπλήρωμα του Εάν χρησιμοποιήσουμε συμπλήρωμα του για την αναπαράσταση αρνητικών αριθμών:. R I = M + C(N 2 ) = M + (2 n --N) = M N + 2 n - 2. Εάν υπάρχει ένα μη-μηδενικό carry out στην πρόσθεση, τότε M N το carry out αγνοείται και προσθέτουμε στα υπόλοιπα ψηφία. Το αποτέλεσμα είναι R = M-N. 3. Εάν M < N, τότε υπολογίζουμε το συμπλήρωμα του του R I (=2 n - -R I = 2 n - -(M N + 2 n -) = N M) και προσθέτουμε το αρνητικό πρόσημο μπροστά. ηλ., το αποτέλεσμα του R είναι -C([R I ] 2 ) = -(N-M). MKM - 4 Αριθμητικές Συναρτήσεις και Κυκλώματα 2

Παράδειγμα A = (84 ), B = (67 ) Βρείτε R = A-B: C(B) = (6 ) A+B = + = Το carry απορρίπτεται και προσθέτουμε, R = + = (7 ) Βρείτε R = B-A: C(A) = B+A = + = R = -C(B+A) = - (-7) MKM - 4 υαδικοί Αθροιστές/Αφαιρέτες Εάν εκτελέσουμε αφαίρεση χρησιμοποιώντας συμπληρώματα, εξαλείφουμε την πράξη της αφαίρεσης, και, επομένως, μπορούμε να χρησιμοποιήσουμε έναν αθροιστή, με κατάλληλο κύκλωμα για συμπλήρωμα. Στην ακρίβεια, μπορούμε να χρησιμοποιήσουμε έναν αθροιστή, για πρόσθεση και για αφαίρεση: Συμπλήρωμα αφαιρετέου για αφαίρεση Μη-συμπλήρωση αφαιρετέου για πρόσθεση Για να υλοποιήσουμε ένα κύκλωμα πρόσθεσης/αφαίρεσης, χρειαζόμαστε ένα αθροιστή (adder) και ένα κύκλωμα που να επιλέγει μεταξύ συμπληρώματος ή μη (selective complementer) MKM - 42 Αριθμητικές Συναρτήσεις και Κυκλώματα 2

υαδικοί Αθροιστές/Αφαιρέτες Η αφαίρεση A -B μπορεί να γίνει υπολογίζοντας το συμπλήρωμα του 2 του B και προσθέτοντας το αποτέλεσμα στον A. Το συμπλήρωμα του 2 του B υπολογίζεται με (i) την συμπλήρωση του B και (ii) προσθέτοντας στο αποτέλεσμα του (i). A-B = A + 2C(B) = A + C(B) + = A + B + MKM - 43 υαδικός Αθροιστής/Αφαιρέτης 4 ων -bit -- Οι πύλες XOR λειτουργούν ως προγραμματιζόμενοι αντιστροφείς MKM - 44 Αριθμητικές Συναρτήσεις και Κυκλώματα 22

υαδικός Αθροιστής/Αφαιρέτης 4 ων -bit Όταν S=, το κύκλωμα εκτελεί A + B, αφού το carry in στο LSB είναι και οι έξοδοι των πυλών XOR δίνουν B = Β. Όταν S =, το κύκλωμα εκτελεί Α + Β + = A - B, αφού το carry στο LSB είναι και οι έξοδοι των πυλών XOR δίνουν B = Β. Άρα, το κύκλωμα προσθέτει στον A το συμπλήρωμα του του B συν (από το carry στο LSB). MKM - 45 υαδικός Αθροιστής/Αφαιρέτης 4 ων -bit S= B 3 B 2 B B Όταν S=,επιλέγει πρόσθεση MKM - 46 Αριθμητικές Συναρτήσεις και Κυκλώματα 23

υαδικός Αθροιστής/Αφαιρέτης 4 ων -bit S= B 3 B 2 B B Όταν S=, επιλέγει αφαίρεση MKM - 47 υαδικός Αθροιστής/Αφαιρέτης 4 ων -bit Όταν C 4 = και S=, τότε A < B καιπρέπειναδιορθωθείτο αποτέλεσμα R 3 R (διαφάνεια 38). Άρα, πρέπει να υπολογιστεί το συμπλήρωμα του 2 του R 3 R : Χρησιμοποιείται ένα ειδικό κύκλωμα για το συμπλήρωμα του 2 ή Χρησιμοποιείται ο αθροιστής/αφαιρέτης ξανά, με A 3 A =, B 3 B =R 3 R και S=. MKM - 48 Αριθμητικές Συναρτήσεις και Κυκλώματα 24

Προσημασμένοι υαδικοί Αριθμοί (Signed Binary Numbers) Σύστημα Προσημασμένης-Απόλυτης-Τιμής (Signed-Magnitude system): Οι προσημασμένοι αριθμοί αναπαριστούνται χρησιμοποιώντας το MSB του δυαδικού αριθμού για τον καθορισμό του πρόσημου του αριθμού: Εάν MSB = θετικός αριθμός Εάν MSB = αρνητικός αριθμός Μην το συγχύσετε με μη-προσημασμένους (unsigned) αριθμούς! MKM - 49 Προσημασμένοι Αριθμοί: Σύστημα Signed-Magnitude (συν.) Για παράδειγμα: - - 2 σε μη-προσημασμένο (το πρόσημο δεν αποτελεί μέρος της δυαδικής τιμής) 2 σε προσημασμένο με signed-magnitude (το πρόσημο αναπαρίσταται με MSB=) Άλλο παράδειγμα: 2 σε μη-προσημασμένο -3 σε προσημασμένο με signed-magnitude MKM - 5 Αριθμητικές Συναρτήσεις και Κυκλώματα 25

Προσημασμένοι Αριθμοί Σύστημα Signed-Magnitude (συν.) Για την υλοποίηση πρόσθεσης ή αφαίρεσης με signedmagnitude, χρειαζόμαστε: Να ξεχωρίσουμε το bit του πρόσημου από τα magnitude bits, Να θεωρήσουμε τα magnitude bits ως ένα μη-προσημασμένο αριθμό (η διόρθωση πρέπει να γίνεται όπου χρειάζεται). Για αποφυγή της διόρθωσης, χρησιμοποιείται το σύστημα Προσημασμένου-Συμπληρώματος (Signed Complement). MKM - 5 Προσημασμένοι Αριθμοί: Σύστημα Προσημασμένου-Συμπληρώματος (Signed-Complement) Η απόλυτη τιμή (magnitude) ενός αρνητικού αριθμού αναπαρίσταται στην συμπληρωματική του μορφή (με συμπλήρωμα του 2 ή του). Πχ., Χρησιμοποιούμε 8-bits για την αναπαράσταση των -9 και 9-9 : 2 σε signed-magnitude 2 σε signed- s complement 2 σε signed-2 s complement 9 = 2 σε όλα τα πιο πάνω συστήματα MKM - 52 Αριθμητικές Συναρτήσεις και Κυκλώματα 26

Πρόσθεση/Αφαίρεση με Signed-Magnitude Για την εκτέλεση πρόσθεσης ή αφαίρεσης 2 αριθμών (M και N) σε signed-magnitude, ακολουθούμε τους γνωστούς κανόνες αριθμητικής: Ίδιο πρόσημο: προσθέτουμε και κρατούμε το ίδιο πρόσημο. ιαφορετικά πρόσημα: Αφαιρούμε το N από το M και εάν το Borrow ==, διορθώνουμε το αποτέλεσμα παίρνοντας το συμπλήρωμα του 2. Το πρόσημο είναι αρνητικό. Παράδειγμα: M=, N= το N είναι αρνητικό, άρα υπολογίζουμε M-N = - =, με End-Borrow =. M-N < και για την διόρθωση του βρίσκουμε το συμπλήρωμα του 2 του Μ-Ν = αποτέλεσμα =. MKM - 53 Πρόσθεση με Signed-2 s Complement Η πρόσθεση 2 προσημασμένων αριθμών, όπου οι αρνητικοί αριθμοί αναπαρίστανται σε signed-2 s complement, παράγεται προσθέτοντας τους 2 αριθμούς (συμπεριλαμβανομένων των sing bits). Το Carry out αγνοείται. Παραδείγματα: (Υποθέστε αναπαραστάσεις 5-bit) (+) (+) (-) (-) + (+5) + (-5) + (+5) + (-5) (+5) (+5) (-5) (-5) MKM - 54 Αριθμητικές Συναρτήσεις και Κυκλώματα 27

Πρόσθεση με Signed-2 s Complement (συν.) Όταν διαβάζεται αριθμούς σε 2 s complement να θυμάστε ότι, όταν MSB = ο αριθμός είναι αρνητικός και χρειάζεται να υπολογίσετε το 2 s complement της απόλυτης τιμής (magnitude). Παράδειγμα: Πιο είναι το δεκαδικό αντίστοιχο του 2? Είναι αρνητικός αριθμός αφού το MSB= Magnitude = το συμπλήρωμα του 2 του magnitude = Ο αριθμός είναι το -55 MKM - 55 Αφαίρεση με Signed-2 s Complement Η αφαίρεση 2 προσημασμένων αριθμών, όπου οι αρνητικοί αριθμοί αναπαρίστανται σε signed-2 s complement, παράγεται προσθέτοντας το 2 s complement του αφαιρετέου με τον αφαιρέτη (συμπεριλαμβανομένων των sing bits). Το Carry out αγνοείται. Παραδείγματα: (5-bit αναπαραστάσεις) (+) (+) (-) (-) - -(+5) - -(-5) - -(+5) - -(-5) (+) (+) (-) (-) + +(-5) + +(+5) + +(-5) + +(+5) (+5) (+5) (-5) (-5) MKM - 56 Αριθμητικές Συναρτήσεις και Κυκλώματα 28

Το πρόβλημα της Υπερχείλισης Εάν η πρόσθεση 2 n-bit αριθμών δίνει έναν αριθμό με n+ bits, τότε εμφανίζονται συνθήκες υπερχείλισης. Η εύρεση υπερχείλισης μπορεί να υλοποιηθεί είτε με υλικό (h/w) ή λογισμικό(s/w). Η εύρεση εξαρτάται από το αριθμητικό σύστημα που χρησιμοποιείται: προσημασμένο ή μηπροσημασμένο. MKM - 57 Το πρόβλημα της Υπερχείλισης στο Μη-Προσημασμένο Σύστημα Πρόσθεση: Όταν το Carry out ==. Αφαίρεση: ενμπορείναγίνειποτέ. Το Magnitude του αποτελέσματος είναι πάντα ίσο ή μικρότερο από τον πιο μεγάλο των 2 αριθμών. ΕΝ είναι πρόβλημα! MKM - 58 Αριθμητικές Συναρτήσεις και Κυκλώματα 29

Το πρόβλημα της Υπερχείλισης στο Σύστημα Signed-2 s complement Να θυμάστε ότι το MSB είναι το πρόσημο. Αλλά προστίθεται και το πρόσημο! Άρα, ένα carry out == δεν σημαίνει πάντα υπερχείλιση! Υπερχείλιση παρατηρείται ΜΟΝΟ όταν και οι 2 αριθμοί έχουν το ίδιο πρόσημο. Αυτή η κατάσταση μπορεί να βρεθεί όταν το τελικό carry out (C n ) είναι διαφορετικό από το carry τηςπροηγούμενηςθέσης(c n- ). MKM - 59 Το πρόβλημα της Υπερχείλισης στο Σύστημα Signed-2 s complement (συν.) Παράδειγμα : M=65 και N=65 σε ένα 8-bit σύστημα με signed-2 s complement. M = N = 2 M+N = με C n =. Αυτό είναι λάθος αφού δίνει αρνητικό αριθμό! Εάν το C n οριστεί ως το MSB, τότε έχουμε 2 (3 ) που είναι ορθό, αλλά χρειάζεται 9-bits υπερχείλιση Παράδειγμα 2: M=-65 και N=-65 σε ένα 8-bit σύστημα με signed-2 s complement. M = N = 2 M+N = με C n =. Αυτό είναι πάλι λάθος αφού δίνει θετικό αριθμό! Εάν το C n οριστεί ως το MSB, τότε έχουμε 2 (-3 ) που είναι ορθό, αλλά πάλι απαιτεί 9-bits υπερχείλιση MKM - 6 Αριθμητικές Συναρτήσεις και Κυκλώματα 3

Εύρεση Υπερχείλισης στο Σύστημα Signed-2 s complement Οι καταστάσεις υπερχείλισης εντοπίζονται συγκρίνοντας τις τιμές στο carry in και curry out του sign bit (C n- και C n ). n-bit αθροιστής/αφαιρέτης με λογική εύρεσης υπερχείλισης V C C n+ C n n-bit αθροιστής/ αφαιρέτης το C = δείχνει υπερχείλιση όταν προσθέτουμε/αφαιρ. unsigned αριθμούς. το V= δείχνει υπερχείλιση όταν προσθέτουμε/αφαιρ. αριθμούς σε signed-2 s complement MKM - 6 υαδικός Πολ/στης Ο δυαδικός πολ/σμός μοιάζει με τον δεκαδικό πολ/σμό: Ο n-bit πολλαπλασιαστέος (multiplicand) πολ/ζεται με κάθε bit του m-bit πολλαπλασιαστή (multiplier), αρχίζοντας από το LSB, για την παράγωγή n μερικών γινομένων. Το κάθε διαδοχικό σύνολο των μερικών γινομένων μετατοπίζεται bit προς αριστερά. Το αποτέλεσμα παράγεται με την πρόσθεση των m γραμμών των μερικών γινομένων. MKM - 62 Αριθμητικές Συναρτήσεις και Κυκλώματα 3

υαδικός Πολ/στης (συν.) Παράδειγμα: Πολ/στης A=A A και πολ/στέος B=B B Βρείτε το C = AxB: B B x A A ----------------- + A B A B A B A B ------------------------------- C 3 C 2 C 2 C MKM - 63 Κύκλωμα υαδικού Πολ/στή πολ/στης 2-bit Χ 2-bit Οι Half Adders είναι αρκετοί αφού δεν υπάρχει Carry-in μαζί με τις δύο εισόδους της πρόσθεσης. MKM - 64 Αριθμητικές Συναρτήσεις και Κυκλώματα 32

Κύκλωμα υαδικού Πολ/στή πολ/στης 4-bit Χ 3-bit Το 4-bit x 3-bit δίνει αποτέλεσμα 7-bit MKM - 65 Αριθμητικές Συναρτήσεις και Κυκλώματα 33