ψηφιακά ηλεκτρονικά κεφ 9
description
Transcript of ψηφιακά ηλεκτρονικά κεφ 9
ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ
Κεφάλαιο 9ο
Αναπαράσταση Αρνητικών Αριθμών
ΠΕΡΙΕΧΟΜΕΝΑ
o 9.1 Αναπαράσταση αρνητικών αριθμών.n 9.1.1 Αναπαράσταση προσημασμένου μέτρου.n 9.1.2 Αναπαράσταση συμπληρώματος ως προς ένα.n 9.1.3 Αναπαράσταση συμπληρώματος ως προς δύο.n 9.1.4 Πρόσθεση και αφαίρεση αριθμών.
o 9.2 Κυκλώματα δυαδικών αθροιστών.n 9.2.1 Ημιαθροιστής.n 9.2.2 Πλήρης αθροιστής.n 9.2.3 Παράλληλος δυαδικός αθροιστής.n 9.2.4 Παράλληλος δυαδικός αθροιστής – αφαιρέτης.
o 9.3 Αθροιστής BCD.o 9.4 Δυαδικός αθροιστής με ολοκληρωμένοκύκλωμα.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
3
9.1 Αναπαράσταση αρνητικώναριθμών
o Οι σχεδιαστές ψηφιακών συστημάτων έχουναναπτύξει τρεις διαφορετικές τεχνικές για τηναναπαράσταση αρνητικών αριθμών :n Πρόσημο και μέτρο.n Συμπλήρωμα ως προς ένα.n Και συμπλήρωμα ως προς δύο.
o Στα μαθηματικά μπορούμε να έχουμε ένα άπειροαριθμό θετικών και αρνητικών ακέραιωναριθμών.
o Στα ψηφιακά συστήματα μπορούμε νααναπαραστήσουμε ένα συγκεκριμένο αριθμόακεραίων ανάλογα με τον αριθμό των bit πουχρησιμοποιούμε για να τους αναπαραστήσουμε.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
4
9.1 Αναπαράσταση αρνητικώναριθμών
o Στα περισσότερα σύγχρονα υπολογιστικάσυστήματα χρησιμοποιούνται 32 bits γιατην αναπαράσταση των ακέραιωναριθμών.
o Στις επόμενες παραγράφους θαυποθέσουμε ότι η αναπαράσταση γίνεταιμε 4 bits, δηλαδή 24=16, οι μισοί θα είναιθετικοί και οι άλλοι μισοί αρνητικοί.
o Signed number representations FromWikipedia
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
5
9.1.1 Αναπαράστασηπροσημασμένου μέτρου
o Στην αναπαράσταση προσημασμένουμέτρου, το περισσότερο σημαντικό bit (MSB)χρησιμοποιείται για να αναπαραστήσει τοπρόσημο του αριθμού, ενώ τα υπόλοιπα bitsαναπαριστούν το μέτρο (απόλυτη τιμή) σαν έναδυαδικό μέγεθος χωρίς πρόσημο.
o Αν το bit του πρόσημου είναι «0», ο αριθμόςείναι θετικός.
o Αν το bit του πρόσημου είναι «1», ο αριθμόςείναι αρνητικός.
9.1.1 Αναπαράστασηπροσημασμένου
μέτρου
1111- 7
1110- 6
1101- 5
1100- 4
1011- 3
1010- 2
1001- 1
1000- 0
0111+ 7
0110+ 6
0101+ 5
0100+ 4
0011+ 3
0010+ 2
0001+ 1
0000+ 0
ΔυαδικόςΔεκαδικός
Το μηδέν έχει δύοδιαφορετικές
αναπαραστάσεις, ανκαι το + 0 και το – 0δεν έχουν κάποιονόημα σταμαθηματικά
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
7
9.1.1 Αναπαράστασηπροσημασμένου μέτρου
o Η πρόσθεση δύο θετικών ή αρνητικών αριθμώνείναι απλή. Απλά προσθέτουμε του αριθμούς καιδίνουμε το ίδιο πρόσημο στο αποτέλεσμα.
o Όταν τα πρόσημα των δύο αριθμών δεν είναιίδια, τότε η πρόσθεση γίνεται πολύπλοκή, πρέπεινα αφαιρέσουμε το μικρότερο μέτρο από τομεγαλύτερο και το πρόσημο είναι αυτό τουαριθμού με το μεγαλύτερο μέτρο.
o Αυτή η πολυπλοκότητα δημιούργησε πολύπλοκακυκλώματα και έτσι δημιουργήθηκαν άλλεςτεχνικές αναπαράστασης αρνητικών αριθμών.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
8
9.1.2 Αναπαράστασησυμπληρώματος ως προς ένα
o Στην αναπαράσταση συμπληρώματος ωςπρος ένα (one complement) οι θετικοί αριθμοί(και το μηδέν) αναπαρίστανται όπως στηναναπαράσταση προσημασμένου μέτρου.
o Κάθε αρνητικός αριθμός είναι το συμπλήρωμα ωςπρος ένα του αντίστοιχου θετικού.
o Το συμπλήρωμα ως προς ένα προκύπτει μετην αντικατάσταση κάθε bit του αριθμού μετο συμπλήρωμα του.
o (+7)10=(0111)2 (-7)10=(1000)2
9.1.2 Αναπαράστασησυμπληρώματος ως
προς ένα
1000- 7
1001- 6
1010- 5
1011- 4
1100- 3
1101- 2
1110- 1
1111- 0
0111+ 7
0110+ 6
0101+ 5
0100+ 4
0011+ 3
0010+ 2
0001+ 1
0000+ 0
ΔυαδικόςΔεκαδικός
Το μηδέν έχει δύοδιαφορετικές
αναπαραστάσεις, ανκαι το + 0 και το – 0δεν έχουν κάποιονόημα σταμαθηματικά
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
10
9.1.2 Αναπαράστασησυμπληρώματος ως προς ένα
o Το πλεονέκτημα των αριθμών συμπληρώματοςως προς ένα είναι η ευκολία με την οποίαμπορούμε να υπολογίσουμε αρνητικούςαριθμούς.
o Η αφαίρεση γίνεται προσθέτοντας στο μειωτέοτον αντίστοιχο αρνητικό του αφαιρετέου.
o Α-Β=Α+(-Β).o όμως η αφαίρεση περιπλέκεται λόγω τηςύπαρξης δύο αναπαραστάσεων του μηδενός καιγι’ αυτό το λόγο καταλήγουμε στηναναπαράσταση συμπληρώματος ως προς δύο.
o Ones' complement From Wikipedia,
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
11
9.1.3 Αναπαράστασησυμπληρώματος ως προς δύο
o Στην αναπαράσταση του συμπληρώματος ωςπρος δύο (twos complement) οι θετικοί αριθμοί(και το μηδέν) αναπαρίστανται όπως στηναναπαράσταση προσημασμένου μέτρου.
o Κάθε αρνητικός αριθμός είναι το συμπλήρωμα ωςπρος δύο του αντίστοιχου θετικού.
o Το συμπλήρωμα ως προς δύο προκύπτειπροσθέτοντας το «1» στο συμπλήρωμα ωςπρος ένα του αριθμού.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
12
9.1.3 Αναπαράστασησυμπληρώματος ως προς δύο
o Ένας μνημονικόςκανόνας.
o Ξεκινώντας από το LSBκαι μέχρι και τον πρώτο«1» τα bits διατηρούνταιως έχουν.
o Τα υπόλοιπα bitsαντικαθίστανται από τοσυμπλήρωμά τους.
- 7Συμπλήρωμαως προς δύο
1001
+ 1
Συμπλήρωμαως προς ένα1000
+ 70111
9.1.3 Αναπαράστασησυμπληρώματος ως
προς δύο
1000- 8
1001- 7
1010- 6
1011- 5
1100- 4
1101- 3
1110- 2
1111- 1
0111+ 7
0110+ 6
0101+ 5
0100+ 4
0011+ 3
0010+ 2
0001+ 1
0000+ 0
ΔυαδικόςΔεκαδικός
Εδώ έχουμε μόνο μίααναπαράσταση για τομηδέν και όχι δύο
όπως σταπροηγούμενα
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
14
9.1.3 Αναπαράστασησυμπληρώματος ως προς δύο
o Η αφαίρεση γίνεται προσθέτοντας στο μειωτέοτον αντίστοιχο αρνητικό του αφαιρετέου.
o Όμως η αφαίρεση είναι εύκολο ναπραγματοποιηθεί λόγω της ύπαρξης μίαςαναπαράστασης του μηδενός.
o Το συμπλήρωμα ως προς δύο χρησιμοποιείταισήμερα σε όλα τα ψηφιακά συστήματα για τηνπραγματοποίηση της πρόσθεσης και τηςαφαίρεσης.
o Two's complement From Wikipedia,o convert 2's complement binary to decimal or
decimal to binary
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
15
9.1.4 Πρόσθεση και αφαίρεσηαριθμών
o Θα χρησιμοποιήσουμε σ’ όλα ταπαραδείγματα αριθμούς 4 bits.
o Θα μιλήσουμε μόνο για την πράξη τηςπρόσθεσης, αφού η αφαίρεση γίνεται μετην πρόσθεση στο μειωτέο του αντίθετουαριθμού του αφαιρετέου :
)()()()()()()()(
BABABABA
++±=--±-+±=+-±
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
16
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασηπροσημασμένου μέτρου.
o Για να προσθέσουμε δύο αριθμούς σεαναπαράσταση προσημασμένου μέτρουεφαρμόζουμε τους κανόνες πρόσθεσης δυαδικώναριθμών.
0111+ 7
0010++ 2+
0101+ 5
Οι δύο αριθμοί έχουν ταίδια πρόσημα.
Το αποτέλεσμα είναι απλάτο άθροισμα των μέτρων τουςκαι το πρόσημο είναι το ίδιο με τοπρόσημο των προσθετέων.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
17
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασηπροσημασμένου μέτρου.
1111- 7
1010+- 2+
1101- 5Οι δύο αριθμοί έχουν τα
ίδια πρόσημα.
Το αποτέλεσμα είναι απλάτο άθροισμα των μέτρων τουςκαι το πρόσημο είναι το ίδιο με τοπρόσημο των προσθετέων.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
18
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασηπροσημασμένου μέτρου.
0011+ 3
1010+- 2+
0101+ 5
Η αφαίρεση 5-2μετατράπηκε σε πρόσθεση 5+(-2).
Το αποτέλεσμα προκύπτειαπό την αφαίρεση τουμικρότερου μέτρου (του 2) από τομεγαλύτερο (του 5) ενώ τοπρόσημο θα είναι αυτό τουαριθμού με το μεγαλύτερο μέτρο(του 5).
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
19
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασηπροσημασμένου μέτρου.
1011- 3
0010++ 2+
1101- 5
Το αποτέλεσμα προκύπτειαπό την αφαίρεση τουμικρότερου μέτρου (του 2) από τομεγαλύτερο (του 5) ενώ τοπρόσημο θα είναι αυτό τουαριθμού με το μεγαλύτερο μέτρο(του 5).
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
20
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς ένα.
0111+ 7
0010++ 2+
0101+ 5
Οι δύο αριθμοί έχουν τα ίδιαπρόσημα.
Το αποτέλεσμα είναι απλά τοάθροισμα των μέτρων τους και τοπρόσημο είναι το ίδιο με τοπρόσημο των προσθετέων.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
21
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς ένα.
1+
10111
1000- 7
1101+- 2+
1010- 5
Οι δύο αριθμοί έχουν τα ίδιαπρόσημα. Το αποτέλεσμα είναι απλάτο άθροισμα τους.
Προκύπτει ένα κρατούμενο(carry) από την πρόσθεση. Στηναναπαράσταση συμπληρώματοςως προς ένα, όποτε έχουμεκρατούμενο από την πρόσθεσηδύο αριθμών το προσθέτουμεστο λιγότερο σημαντικό bit(LSB) του αθροίσματος
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
22
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς ένα.
1+
10010
0011+ 3
1101+- 2+
0101+ 5Διαφορετικά πρόσημα
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
23
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς ένα.
1100- 3
0010++ 2+
1010- 5 Διαφορετικά πρόσημα
Ένας απλό τρόπος για ναβρούμε το μέτρο την απόλυτητιμή ενός αρνητικού αριθμού σεαναπαράσταση συμπληρώματοςως προς ένα, είναι να παίρνουμετο συμπλήρωμα όλων των bitsτου.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
24
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς δύο.
o Οι υπολογισμοί με το συμπλήρωμα ωςπρος δύο είναι παρόμοιοι με τοσυμπλήρωμα ως προς ένα με μόνηδιαφορά ότι ΔΕΝ προσθέτουμε τοκρατούμενο το οποίο μπορεί ναπροκύψει από την πρόσθεση.
o Η αφαίρεση γίνεται με την πρόσθεση τουαρνητικού αριθμού του αφαιρετέου σεαναπαράσταση συμπληρώματος ως προςδύο.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
25
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς δύο.
0111+ 7
0010++ 2+
0101+ 5
Οι δύο αριθμοί έχουν τα ίδιαπρόσημα.
Το αποτέλεσμα είναι απλά τοάθροισμα των μέτρων τους και τοπρόσημο είναι το ίδιο με τοπρόσημο των προσθετέων.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
26
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς δύο.
11001
1001- 7
1110+- 2+
1011- 5
Οι δύο αριθμοί έχουν τα ίδιαπρόσημα. Το αποτέλεσμα είναι απλάτο άθροισμα τους.
Αν προκύψει κρατούμενο(carry) από την πρόσθεση, τοαγνοούμε. Το νέο άθροισμα πουπροκύπτει είναι το σωστό άθροισμασε αναπαράσταση συμπληρώματοςως προς δύο και δεν χρειάζεταικαμία διόρθωση γιατί έχουμε μίαμόνο αναπαράσταση του μηδενός.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
27
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς δύο.
10011
0011+ 3
1110+- 2+
0101+ 5Διαφορετικά πρόσημα
Αν προκύψει κρατούμενο(carry) από την πρόσθεση,το αγνοούμε.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
28
9.1.4 Πρόσθεση και αφαίρεση αριθμώνΠρόσθεση Αριθμών με την αναπαράστασησυμπληρώματος ως προς δύο.
1101- 3
0010++ 2+
1011- 5 Διαφορετικά πρόσημα
Ένας απλό τρόπος για ναβρούμε το μέτρο την απόλυτητιμή ενός αρνητικού αριθμού σεαναπαράσταση συμπληρώματοςως προς δύο, είναι να παίρνουμετο συμπλήρωμα του ως προςδύο.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
29
9.1.4 Πρόσθεση και αφαίρεσηαριθμών
o Σύγκριση μεταξύ των τεχνικών.
ΕύκοληΔύσκοληΔύσκοληΔιαδικασίαπρόσθεσης
ΔύσκοληΕύκοληΕύκοληΑναπαράσταση
Συμπληρώματοςως προς δύο
Συμπληρώματοςως προς ένα
Προσημασμένουμέτρου
Επειδή έχουμε μία μόνο αναπαράσταση για τομηδέν η αναπαράσταση του συμπληρώματος ως
προς δύο χρησιμοποιείται σχεδόν σταπερισσότερα ψηφιακά συστήματα.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
30
9.1.4 Πρόσθεση και αφαίρεσηαριθμών
o Η υπερχείλιση (overflow) συμβαίνειόποτε το άθροισμα δύο θετικών αριθμώνδίνει ένα αρνητικό αποτέλεσμα ή όταν τοάθροισμα δύο αρνητικών αριθμών δίνειένα θετικό αποτέλεσμα.
9.1.4 Πρόσθεση και αφαίρεσηαριθμών, υπερχείλιση(overflow)
1111- 1
1110- 2
1101- 3
1100- 4
1011- 5
1010- 6
1001- 7
1000- 8
0111+ 7
0110+ 6
0101+ 5
0100+ 4
0011+ 3
0010+ 2
0001+ 1
0000+ 0
ΔυαδικόςΔεκαδικός
o Αν προσθέσουμε ένανθετικό αριθμό κινούμαστεπρος τα κάτω, τόσεςθέσεις όσο και το μέτροτου αριθμού.
o Αν προσθέσουμε έναναρνητικό αριθμόκινούμαστε προς τα πάνω,τόσες θέσεις όσο και τομέτρο του αριθμού.
o Όταν με την πρόσθεση ήτην αφαίρεση διασχίζεται ηδιαχωριστική κόκκινηγραμμή μεταξύ των δύοτμημάτων, τότε έχουμευπερχείλιση.
9.1.4 Πρόσθεση και αφαίρεσηαριθμών, υπερχείλιση (overflow)
1111- 1
1110- 2
1101- 3
1100- 4
1011- 5
1010- 6
1001- 7
1000- 8
0111+ 7
0110+ 6
0101+ 5
0100+ 4
0011+ 3
0010+ 2
0001+ 1
0000+ 0
ΔυαδικόςΔεκαδικός
o Για παράδειγμα :o (+5)+(+4).o Ξεκινάμε από την θέσηπου αναπαριστά το +5και κινούμαστε κατά 4θέσεις προς τα κάτω.
o Το αποτέλεσμα είναι οαριθμός – 7, άραέχουμε υπερχείλιση.
9.1.4 Πρόσθεση και αφαίρεσηαριθμών, υπερχείλιση (overflow)
1111- 1
1110- 2
1101- 3
1100- 4
1011- 5
1010- 6
1001- 7
1000- 8
0111+ 7
0110+ 6
0101+ 5
0100+ 4
0011+ 3
0010+ 2
0001+ 1
0000+ 0
ΔυαδικόςΔεκαδικός
o Για παράδειγμα :o (-7)+(-3).o Ξεκινάμε από την θέσηπου αναπαριστά το -7και κινούμαστε κατά 3θέσεις προς τα πάνω.
o Το αποτέλεσμα είναι οαριθμός + 6, άραέχουμε υπερχείλιση.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
34
9.1.4 Πρόσθεση και αφαίρεσηαριθμών
o Το πρόβλημα της υπερχείλισης στα ψηφιακάσυστήματα αντιμετωπίζεται καταρχήνχρησιμοποιώντας για την αποθήκευση τουαθροίσματος καταχωρητή μήκους κατά ένα bitτουλάχιστον μεγαλύτερου από το μήκος τωνπροσθετέων.
o Επιπλέον, χρησιμοποιώντας ειδικά κυκλώματαανίχνευσης της ύπαρξης υπερχείλισης, ηπληροφορία αυτή αποθηκεύεται καιχρησιμοποιείται για την σωστή ερμηνεία τωναποτελεσμάτων.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
35
9.2 Κυκλώματα δυαδικώναθροιστών – 9.2.1 Ημιαθροιστής
o Ο ημιαθροιστής (Half Adder) είναι το πιοβασικό από τα κυκλώματα αρίθμησης.
o Είναι ένα συνδυαστικό κύκλωμα πουεκτελεί την πρόσθεση δύο δυαδικώνψηφίων (bits) και έχει δύο εισόδους χ(πρώτος προσθετέος) και y (δεύτεροςπροσθετέος) και δύο εξόδους S(άθροισμα – Sum) και C (κρατούμενο -Carry).
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
36
9.2 Κυκλώματα δυαδικώναθροιστών – 9.2.1 Ημιαθροιστής
0111
1001
1010
0000
SCYX
XYCYXYXYXS
=Å=+=
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
37
9.2.2 Πλήρης Αθροιστήςo Ο πλήρης αθροιστής (Full Adder) είναι ένασυνδυαστικό κύκλωμα που εκτελεί τηνπρόσθεση δύο δυαδικών ψηφίων (bits)λαμβάνοντας υπόψη τυχόνκρατούμενο εισόδου (Cin).
o Έχει τρεις εισόδους χ (πρώτοςπροσθετέος), y (δεύτερος προσθετέος) καιz (κρατούμενο εισόδου) και δύοεξόδους S (άθροισμα – Sum) και C(κρατούμενο - Carry).
9.2.2 Πλήρης Αθροιστής
1111101011011011000101110100101010000000SCZYX
ZYXZYXZYX
ZXYYXZYXYX
XYZZYXZYXZYX
XYZZYXZYXZYXS
ÅÅ=Å+Å=
=+++=
=+++=
=+++=
)()()(
)()(
)()(
XYZYXXYZYX
ZZXYZYXYX
XYZZXYZYXYZX
XYZZXYZYXYZXC
+Å==+Å=
=+++=
=+++=
=+++=
)(1)(
)()(
)()(
9.2.2 Πλήρης Αθροιστής
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
40
9.2.3 Παράλληλος ΔυαδικόςΑθροιστής
o Στην παράλληλη πρόσθεση δύο μηπροσημασμένων n-bits δυαδικώναριθμών Α και Β, τα bits ίδιας τάξης(βάρους) των δύο αριθμών προστίθενταιπαράλληλα (ταυτόχρονα)χρησιμοποιώντας n πλήρεις αθροιστές.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
41
9.2.3 Παράλληλος ΔυαδικόςΑθροιστής
o Εδώ βλέπουμε έναν Παράλληλο Αθροιστή τεσσάρων bits πουαποτελείται από 4 Πλήρεις Αθροιστές (FA – Full Adder).
o Οι αριθμοί Α3Α2Α1Α0 & Β3Β2Β1Β0 προστίθενται δίνονταςάθροισμα S3S2S1S0 και κρατούμενο εξόδου C4, το αρχικόκρατούμενο εισόδου είναι το C0=“0”. Το κρατούμενο τουκάθε αθροιστή είναι (C1,C2,C3) αποτελεί το κρατούμενοεισόδου του επόμενου αθροιστή.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
42
9.2.4 Παράλληλος ΔυαδικόςΑθροιστής - Αφαιρέτης
o Οι μη προσημασμένοι 4 bits δυαδικοίαριθμοί Α=Α3Α2Α1Α0 & Β=Β3Β2Β1Β0προστίθενται (Α+Β) ή αφαιρούνται (Α-Β)δίνοντας αποτέλεσμα C4S3S2S1S0.
o Στο κύκλωμα υπάρχει μία είσοδος ελέγχουΕ Πρόσθεσης – Αφαίρεσης.
o Όταν αυτή η είσοδος είναι «0», τότε τοκύκλωμα λειτουργεί ως αθροιστής.
o Όταν είναι «1» τότε λειτουργεί ωςαφαιρέτης.
9.2.4 Παράλληλος Δυαδικός Αθροιστής - Αφαιρέτης
o Όταν Ε=0, τότε οι πλήρεις αθροιστές δέχονται ταbits του αριθμού Β ως έχουν, το κρατούμενοεισόδου είναι C0=0 και εκτελείται η πράξη Α+Β.Το C4 μας δίνει το κρατούμενο της πρόσθεσης.
9.2.4 Παράλληλος Δυαδικός Αθροιστής - Αφαιρέτης
o Όταν Ε=1, τότε οι πλήρεις αθροιστές δέχονται τα bits τουαριθμού Β σε συμπληρωματική μορφή, το κρατούμενο εισόδουείναι C0=1 (άρα στον Α προστίθεται ο αντίθετος του Β σεσυμπλήρωμα ως προς δύο) και εκτελείται η πράξη Α-Β.
o Αν Α>=Β (C4=1) τότε, το αποτέλεσμα είναι S3S2S1S0.o Αν Α<Β (C4=0), τότε το αποτέλεσμα είναι αρνητικό με μέτροτο συμπλήρωμα ως προς 2 του S3S2S1S0.
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
45
9.3 Αθροιστής BCDo Ο κώδικας BCD (Binary Coded Decimal)αναπαριστά τα 10 δεκαδικά ψηφία με δυαδικούςαριθμούς τεσσάρων bits.
o Όπως και στο δυαδικό σύστημα η πρόσθεση σεBCD γίνεται με ένα δυαδικό ψηφίο τη φοράξεκινώντας από τα λιγότερα σημαντικά ψηφίατων αριθμών (LSB).
o Το σημείο το οποίο χρειάζεται προσοχή είναι,όταν το άθροισμα δύο BCD αριθμών ξεπερνά τοναριθμό (1001)2 (9)10.
9.3 Αθροιστής BCD
100080011+3+01015BCD
Σ’ αυτό τοπαράδειγμαδεν υπάρχειπρόβλημα
Προσθέτουμε 60110+
Λάθος BCD !110012
01010111BCD
Σωστό BCD 120001 0010
+5+7
Σ’ αυτό το παράδειγμα βλέπουμε πως τοάθροισμα αρχικά είναι (1100)2=(12)10 τοοποίο είναι σωστό ως αποτέλεσμααθροίσματος στο δυαδικό σύστημα, αλλά όχιστον BCD κώδικα.
Υπάρχει ένας απλός τρόπος διόρθωσης μετην πρόσθεση του αριθμού (6)10 (0110)2στο αποτέλεσμα του αθροίσματος πουείναι μεγαλύτερο από 9.
9.3 Αθροιστής BCD
Σωστό BCD 610110 0001
Προσθέτουμε 60000 0110+
Λάθος BCD !0101 101161
0010 0110+26+
0011 010135
BCD
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
48
9.3 Αθροιστής BCDo Βλέπουμε πως με την πρόσθεση του 6 διορθώνουμετο αποτέλεσμα.
o Η διόρθωση με την πρόσθεση του αριθμού 6προκύπτει λόγω του ότι δεν χρησιμοποιούμε του 6δυαδικούς αριθμούς των τεσσάρων bits από 1010έως 1111.
o Στο παρακάτω σχήμα φαίνεται ο BCD αθροιστής μετη χρήση δύο παράλληλων δυαδικών αθροιστών των4 bits. Ο BCD αθροιστής έχει εισόδους τοκρατούμενο εισόδου (που είναι το κρατούμενοεξόδου της προηγούμενης βαθμίδας) και τους BCDπροσθετέους και εξόδους το κρατούμενο Κ και τοάθροισμα Σ3Σ2Σ1Σ0.
9.3 Αθροιστής BCD
o Όταν Κ=1 τοαποτέλεσμαS3S2S1S0 θαπρέπει ναδιορθωθεί ώστε ναπροκύψει το σωστόάθροισμα BCD μετην πρόσθεση τουαριθμού 6.
o Το κρατούμενοΚ=1 όταν τοάθροισμαS3S2S1S0 είναιμεγαλύτερο από 9(1001), οπότε είτετο C=1, είτεS3=S2=1, είτεS3=S1=1.
1 111
1
9.3 Αθροιστής BCD
o Με τις πύλες ANDπαίρνουμε τους όρουςS3*S2 & S3*S1.
o Με την πύλη OR τριώνεισόδων προκύπτει ηλογική συνάρτηση τουκρατουμένουK=C+S3*S2+S3*S1την έξοδο της οποίαςχρησιμοποιούμε για ναπροσθέσουμε τοναριθμό 6 (0110) στονδεύτερο αθροιστή.
o Αν Κ=0, τότε οδεύτερος αθροιστήςπροσθέτει στοναριθμό S3S2S1S0 τοναριθμό 0 (0000) καιεπομένως δεν αλλάζειτο άθροισμα.
1 111
1
1100
5/29/2013 ΛΕΥΘΕΡΟΥΔΗΣ ΘΕΟΔΩΡΟΣΠΕ1708
51
9.4 Δυαδικός Αθροιστής με Ο.Κo Οι αθροιστέςείναι διαθέσιμοισεολοκληρωμένημορφή.
o Το Ο.Κ 7483είναι έναςπαράλληλοςδυαδικόςαθροιστής 4 –bits.