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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελίνα Μακρή

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 3 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

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

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

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

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

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

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

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

Συνδυαστικά Λογικά Κυκλώματα

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

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

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

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

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

Επανάληψη Βασικών Στοιχείων Ψηφιακής Λογικής

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters)

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό

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

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

Πρόσθεση/Αφαίρεση. Εφαρµογές της πράξης, υλοποίηση και βελτιστοποιήσεις. Γκέκας Γεώργιος: 2423 Μαραγκός Παναγιώτης: 2472

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

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

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

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

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

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 3 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

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

Transcript:

ΗΜΥ 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