ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων ·...

17
ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ-13 Αριθμητικές Συναρτήσεις και Κυκλώματα 1 ΗΜΥ ΗΜΥ-210: 210: Σχεδιασμός Σχεδιασμός Ψηφιακών Συστημάτων Ψηφιακών Συστημάτων Αριθμητικές Συναρτήσεις Αριθμητικές Συναρτήσεις και Κυκλώματα και Κυκλώματα Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη Περίληψη Πρόσθεση Πρόσθεση ∆υαδική Πρόσθεση ∆υαδική Πρόσθεση ∆υαδική Πρόσθεση ∆υαδική Πρόσθεση Ημι Ημι-αθροιστής αθροιστής Πλήρης Αθροιστής Πλήρης Αθροιστής Αθροιστής Ριπής Αθροιστής Ριπής Αθροιστής Πρόβλεψης Κρατουμένου Αθροιστής Πρόβλεψης Κρατουμένου ∆εκαδική Πρόσθεση ∆εκαδική Πρόσθεση Αυγ-13 MKM - 2 Αριθμητικές Συναρτήσεις και Κυκλώματα ∆εκαδική Πρόσθεση ∆εκαδική Πρόσθεση Αθροιστής Αθροιστής BCD BCD Άλλες Αριθμητικές Συναρτήσεις/Κυκλώματα Άλλες Αριθμητικές Συναρτήσεις/Κυκλώματα Αθροιστής Αθροιστής 1-bit bit Εκτελεί πρόσθεση μεταξύ δύο Εκτελεί πρόσθεση μεταξύ δύο bits. bits. Τέσσερις πιθανές πράξεις Τέσσερις πιθανές πράξεις: Τέσσερις πιθανές πράξεις Τέσσερις πιθανές πράξεις: 0+0= 0+0=0 0+1= 0+1=1 1+0= 1+0=1 1+1= 1+1=10 Αυγ-13 MKM - 3 Αριθμητικές Συναρτήσεις και Κυκλώματα Η υλοποίηση του κυκλώματος απαιτεί 2 Η υλοποίηση του κυκλώματος απαιτεί 2 εξόδους, η μία για το εξόδους, η μία για το άθροισμα ( άθροισμα (sum sum) ) και η και η άλλη για το άλλη για το κρατούμενο ( κρατούμενο (carry carry). Ημι Ημι-αθροιστής αθροιστής (Half Adder) (Half Adder) Εκτελεί Εκτελεί πρόσθεση μεταξύ δύο πρόσθεση μεταξύ δύο bit. bit. Είσοδοι Είσοδοι: A : A B B A B S C Πίνακας Αληθείας Είσοδοι Είσοδοι: A : A 0 , B , B 0 Έξοδοι Έξοδοι: S : S 0 , C , C 1 Ο δείκτης Ο δείκτης υποδεικνύει σημαντικότητα, υποδεικνύει σημαντικότητα, 0 0 για για LSB LSB και και 1 1 για το επόμενο για το επόμενο σημαντικό σημαντικό bit. bit. ∆υαδικές Συναρτήσεις ∆υαδικές Συναρτήσεις: A 0 B 0 S 0 C 1 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Αυγ-13 MKM - 4 Αριθμητικές Συναρτήσεις και Κυκλώματα S 0 = A = A 0 B 0 ’+A ’+A 0 ’B ’B 0 = A = A 0 B 0 C 1 = A = A 0 B 0 1 1 0 1

Transcript of ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων ·...

Page 1: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 1

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

Αριθμητικές Συναρτήσεις Αριθμητικές Συναρτήσεις και Κυκλώματακαι Κυκλώματα

Πανεπιστήμιο ΚύπρουΤμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διδάσκουσα: Μαρία Κ. Μιχαήλ

ΠερίληψηΠερίληψηΠρόσθεσηΠρόσθεση

∆υαδική Πρόσθεση∆υαδική Πρόσθεση∆υαδική Πρόσθεση∆υαδική ΠρόσθεσηΗμιΗμι--αθροιστήςαθροιστήςΠλήρης ΑθροιστήςΠλήρης ΑθροιστήςΑθροιστής ΡιπήςΑθροιστής ΡιπήςΑθροιστής Πρόβλεψης ΚρατουμένουΑθροιστής Πρόβλεψης Κρατουμένου

∆εκαδική Πρόσθεση∆εκαδική Πρόσθεση

Αυγ-13 MKM - 2Αριθμητικές Συναρτήσεις και Κυκλώματα

∆εκαδική Πρόσθεση∆εκαδική ΠρόσθεσηΑθροιστής Αθροιστής BCD BCD

Άλλες Αριθμητικές Συναρτήσεις/ΚυκλώματαΆλλες Αριθμητικές Συναρτήσεις/Κυκλώματα

Αθροιστής Αθροιστής 11--bit bit Εκτελεί πρόσθεση μεταξύ δύο Εκτελεί πρόσθεση μεταξύ δύο bits.bits.Τέσσερις πιθανές πράξειςΤέσσερις πιθανές πράξεις::Τέσσερις πιθανές πράξειςΤέσσερις πιθανές πράξεις::

0+0=0+0=000+1=0+1=111+0=1+0=111+1=1+1=1100

Αυγ-13 MKM - 3Αριθμητικές Συναρτήσεις και Κυκλώματα

Η υλοποίηση του κυκλώματος απαιτεί 2 Η υλοποίηση του κυκλώματος απαιτεί 2 εξόδους, η μία για το εξόδους, η μία για το άθροισμα (άθροισμα (sumsum) ) και η και η άλλη για τοάλλη για το κρατούμενο (κρατούμενο (carrycarry))..

ΗμιΗμι--αθροιστήςαθροιστής (Half Adder)(Half Adder)ΕκτελείΕκτελεί πρόσθεση μεταξύ δύο πρόσθεση μεταξύ δύο bit.bit.ΕίσοδοιΕίσοδοι: A: A B B AA BB SS CC

Πίνακας ΑληθείαςΕίσοδοιΕίσοδοι: A: A00, B, B00

ΈξοδοιΈξοδοι: S: S00, C, C11

Ο δείκτηςΟ δείκτης υποδεικνύει σημαντικότητα, υποδεικνύει σημαντικότητα, 0 0 γιαγια LSB LSB καικαι 1 1 για το επόμενο για το επόμενο σημαντικόσημαντικό bit.bit.∆υαδικές Συναρτήσεις∆υαδικές Συναρτήσεις::

AA00 BB00 SS00 CC11

00 00 00 0000 11 11 0011 00 11 0011 11 00 11

Αυγ-13 MKM - 4Αριθμητικές Συναρτήσεις και Κυκλώματα

SS00 = A= A00BB00’+A’+A00’B’B00 = A= A00 ⊕⊕ BB00

CC11 = A= A00BB00

11 11 00 11

Page 2: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 2

ΗμιΗμι--αθροιστής (συν.)αθροιστής (συν.)SS00 = A= A00BB00’+A’+A00’B’B00 = A= A00⊕⊕ BB00

CC A A BBCC11 = A= A00BB00

ΗμιαθροιστήςΗμιαθροιστής

AA00 BB00

CC11

AA00

BB00SS00

Λογικό ∆ιάγραμμα∆ιάγραμμα μπλοκ

Αυγ-13 MKM - 5Αριθμητικές Συναρτήσεις και Κυκλώματα

Ημ α ρο στήςΗμ α ρο στής11--bitbit

11

SS00

BB00

CC11

Πρόσθεση Πρόσθεση nn--bit bit Σχεδιάστε ένα δυαδικό αθροιστήΣχεδιάστε ένα δυαδικό αθροιστή ο οποίος προσθέτει ο οποίος προσθέτει δύο δύο nn--bitbit δυαδικούς αριθμούς και παράγει έναδυαδικούς αριθμούς και παράγει ένα άθροισμα άθροισμα ((sum)sum) με με nn--bit bit και ένα και ένα κρατούμενο εξόδου (κρατούμενο εξόδου (carry outcarry out))((sum)sum) με με nn bit bit και ένα και ένα κρατούμενο εξόδου (κρατούμενο εξόδου (carry outcarry out))με 1με 1--bit.bit.

ΠαράδειγμαΠαράδειγμα: : ΘεωρήστεΘεωρήστε n=4n=4

CCoutout CC33 CC22 CC11 CC00 11 1 0 1 1 0 1 00AA33 AA22 AA11 AA00 1 1 0 1 1 1 0 1 +B+B33 BB22 BB11 BB00 +1 1 0 1+1 1 0 1---------------------------- --------------------

Αυγ-13 MKM - 6Αριθμητικές Συναρτήσεις και Κυκλώματα

SS33 SS22 SS11 SS0 0 1 0 1 01 0 1 0

Αυτό απαιτεί πρόσθεση 3ωνΑυτό απαιτεί πρόσθεση 3ων--bit!bit!

Πλήρης ΑθροιστήςΠλήρης Αθροιστής 11--bit (Full Adder)bit (Full Adder)

Συνδυαστικό κύκλωμα που διεκπεραιώνει Συνδυαστικό κύκλωμα που διεκπεραιώνει ό θ ό θ ξύ ξύ 33 bit (bit (2 2 bit bit την πρόσθεσητην πρόσθεση μεταξύ μεταξύ 33ωνων bits (bits (2 2 bits bits

προσθετέων και 1προσθετέων και 1 bitbit για κρατούμενο για κρατούμενο εισόδουεισόδου----carrycarry--in)in)

ΠλήρηςΠλήρης

AAii BBii

Αυγ-13 MKM - 7Αριθμητικές Συναρτήσεις και Κυκλώματα

ΠλήρηςΠλήρηςΑθροιστήςΑθροιστής

11--bitbitCCi+1i+1

SSii

CCii

Πλήρης Αθροιστής Πλήρης Αθροιστής 11--bit (bit (συνσυν.).)

AAii BBii CCii SSii CCi+1i+1Οι Οι KK--χάρτες γιαχάρτες για::

ii ii ii ii i+1i+1

00 00 00 00 0000 00 11 11 0000 11 00 11 0000 11 11 00 1111 00 00 11 0011 00 11 00 11

CCi+1i+1::

SS

1111110000110000

BBiiCCiiAAii

BBiiCCii

Αυγ-13 MKM - 8Αριθμητικές Συναρτήσεις και Κυκλώματα

11 00 11 00 1111 11 00 00 1111 11 11 11 11

SSii::

0011001111001100

ii iiAAii

Page 3: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 3

Πλήρης Αθροιστής Πλήρης Αθροιστής 11--bit (bit (συνσυν.).)∆υαδικές συναρτήσεις∆υαδικές συναρτήσεις::

CC = A= A BB + A+ A CC + B+ B CCCCi+1i+1 = A= AiiBBii + A+ AiiCCii + B+ BiiCCii

SSii = A= AiiBBii’ C’ Cii’ + A’ + Aii’B’Bii’C’Cii + A+ Aii’B’BiiCCii’ + A’ + AiiBBiiCCii= A= Aii ⊕⊕ BBii ⊕⊕ CCii

Μπορείτε να σχεδιάσετε ένα πλήρη αθροιστή Μπορείτε να σχεδιάσετε ένα πλήρη αθροιστή άμεσαάμεσα από τις πιο πάνω συναρτήσειςαπό τις πιο πάνω συναρτήσεις ((απαιτούνταιαπαιτούνται

Αυγ-13 MKM - 9Αριθμητικές Συναρτήσεις και Κυκλώματα

33 πύλεςπύλες AND AND καικαι 1 1 πύλη πύλη OR OR γιαγια το το CCi+1i+1, και, και 2 2 πύλες πύλες XOR XOR για τογια το SSii) ) Υπάρχει Υπάρχει ““καλύτερηκαλύτερη”” υλοποίησηυλοποίηση;;

Πλήρης Αθροιστής μεΠλήρης Αθροιστής με 2 2 ΗμιΗμι--αθροιστέςαθροιστέςΈνας πλήρης αθροιστής μπορεί να υλοποιηθεί και με 2 Ένας πλήρης αθροιστής μπορεί να υλοποιηθεί και με 2 ημιημι--αθροιστές και 1 πύλη αθροιστές και 1 πύλη OR, OR, αφούαφού το το CCi+1i+1 μπορεί να μπορεί να εκφραστεί ωςεκφραστεί ως::φρ ςφρ ςCCi+1i+1 = A= AiiBBii + A+ AiiBBii’C’Ci i + A+ Aii’B’BiiCCii

= A= AiiBBii + (A+ (AiiBBii’ + A’ + Aii’B’Bii)C)Cii= A= AiiBBii + (Ai + (Ai ⊕⊕ BBii)C)Cii

και το και το SSii = A= Aii ⊕⊕ BBii ⊕⊕ CCii

AAii

Αυγ-13 MKM - 10Αριθμητικές Συναρτήσεις και Κυκλώματα

AAii

BBii

CCii

CCi+1i+1

SSii

Συνδυαστικοί Αθροιστές Συνδυαστικοί Αθροιστές nn--bitbitΕκτελούνΕκτελούν παράλληληπαράλληλη πρόσθεση πρόσθεση πολλαπλώνπολλαπλών bit bit πολλαπλώνπολλαπλών--bit bit

1.1. Αθροιστής ΡιπήςΑθροιστής Ριπής ((Ripple Carry AdderRipple Carry Adder))Απλός ΣχεδιασμόςΑπλός ΣχεδιασμόςΧρονοβόροςΧρονοβόρος. . ΓιατίΓιατί; (; (θα δείτε σε λίγοθα δείτε σε λίγο!)!)

2.2. Αθροιστής Πρόβλεψης ΚρατουμένουΑθροιστής Πρόβλεψης Κρατουμένου((C L k h d ddC L k h d dd ))

Αυγ-13 MKM - 11Αριθμητικές Συναρτήσεις και Κυκλώματα

((Carry Lookahead AdderCarry Lookahead Adder))Πιο πολύπλοκος σχεδιασμόςΠιο πολύπλοκος σχεδιασμόςΜειώνει την καθυστέρηση του κυκλώματοςΜειώνει την καθυστέρηση του κυκλώματος

Αθροιστής Ριπής Αθροιστής Ριπής nn--bitbit((nn--bit ripple carry adder)bit ripple carry adder)

Κατασκευάζεται μεΚατασκευάζεται με nn πλήρες αθροιστές πλήρες αθροιστές 11Κατασκευάζεται μεΚατασκευάζεται με nn πλήρες αθροιστές πλήρες αθροιστές 11--bitbit, δομημένοι παράλληλα., δομημένοι παράλληλα.

Ο ένας πλήρης αθροιστής 1Ο ένας πλήρης αθροιστής 1--bitbit διαδέχεται διαδέχεται τον άλλο, έτσι ώστε το κρατούμενο εξόδου τον άλλο, έτσι ώστε το κρατούμενο εξόδου ((carry outcarry out) από τον ένα γίνετε το ) από τον ένα γίνετε το

Αυγ-13 MKM - 12Αριθμητικές Συναρτήσεις και Κυκλώματα

((carry outcarry out) από τον ένα γίνετε το ) από τον ένα γίνετε το κρατούμενο εισόδου (κρατούμενο εισόδου (carry incarry in) του ) του επόμενου.επόμενου.

Page 4: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 4

ΠαράδειγμαΠαράδειγμα: : Αθροιστής Ριπής Αθροιστής Ριπής 44ωνων--bitbit

CC44 C3 C2 C1 C0 C3 C2 C1 C0 A3 A2 A1 A0 A3 A2 A1 A0 +B3 B2 B1 B0 +B3 B2 B1 B0 ----------------------------S3 S2 S1 S0 S3 S2 S1 S0

Αυγ-13 MKM - 13Αριθμητικές Συναρτήσεις και Κυκλώματα

Καθυστέρηση Αθροιστή ΡιπήςΚαθυστέρηση Αθροιστή ΡιπήςΗ καθυστέρηση του κυκλώματος ενός αθροιστήΗ καθυστέρηση του κυκλώματος ενός αθροιστή ριπής ριπής καθορίζεται από την καθυστέρηση του μονοπατιού του καθορίζεται από την καθυστέρηση του μονοπατιού του κρατουμένου από τοκρατουμένου από το LSB (CLSB (C00) ) στοστο MSB (CMSB (Cnn).).κρατουμένου από τοκρατουμένου από το LSB (CLSB (C00) ) στοστο MSB (CMSB (Cnn).).Θεωρήστε την καθυστέρηση σε έναΘεωρήστε την καθυστέρηση σε ένα 11--bit FA bit FA να είναινα είναι ∆∆..ΤότεΤότε, , η καθυστέρηση του αθροιστή ριπήςη καθυστέρηση του αθροιστή ριπής nn--bit bit είναιείναι nn∆∆..

Αυγ-13 MKM - 14Αριθμητικές Συναρτήσεις και Κυκλώματα

Αθροιστής Πρόβλεψης ΚρατουμένουΑθροιστής Πρόβλεψης Κρατουμένου((Carry Lookahead AdderCarry Lookahead Adder ---- CLACLA))

Εναλλακτικός σχεδιασμός για ένα συνδυαστικό Εναλλακτικός σχεδιασμός για ένα συνδυαστικό ς χ μ ς γς χ μ ς γαθροιστή με αθροιστή με nn--bit.bit.

Πρακτικός σχεδιασμός με μειωμένη Πρακτικός σχεδιασμός με μειωμένη καθυστέρηση, αλλά απαιτεί πιο πολύπλοκο καθυστέρηση, αλλά απαιτεί πιο πολύπλοκο σχεδιασμό.σχεδιασμό.

Αυγ-13 MKM - 15Αριθμητικές Συναρτήσεις και Κυκλώματα

Παράγεται από ένα μετασχηματισμό του Παράγεται από ένα μετασχηματισμό του σχεδιασμού αθροιστή ριπής.σχεδιασμού αθροιστή ριπής.

Σχεδιασμός Σχεδιασμός CLACLAΑπό έναΑπό ένα FA, FA, διαχωρίζουμε μεταξύδιαχωρίζουμε μεταξύ της της παραγωγής παραγωγής ((generationgeneration) ) του κρατουμένουτου κρατουμένου ((όταν ένα νέο κρατούμενο όταν ένα νέο κρατούμενο παράγεταιπαράγεται C C =1) =1) και της και της μετάδοσης (μετάδοσης (propagationpropagation)) του του παράγεταιπαράγεται, C, Coutout=1) =1) και της και της μετάδοσης (μετάδοσης (propagationpropagation)) του του κρατουμένου κρατουμένου ((όταν ένα υπάρχον όταν ένα υπάρχον CCin in μεταδίδεται στο CCoutout))ΠαραγωγήΠαραγωγή: G: Gii = A= AiiBBii: if 1, C: if 1, Ci+1i+1=1=1ΜετάδοσηΜετάδοση: P: Pii = A= Aii ⊕⊕ BBii: : εάν 1 τότεεάν 1 τότε CCi+1i+1 = C= Cii

Partial Full Adder (PFA)Full Adder (FA)BBii AAii

AA

Αυγ-13 MKM - 16Αριθμητικές Συναρτήσεις και Κυκλώματα

BBii

CCii CCii

CCi+1i+1

SSii

SSii GGii PPii

AAii

Page 5: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 5

Σχεδιασμός Σχεδιασμός CLACLA ((συν.)συν.)

Ένα Ένα bit bit απόαπό λογική λογική G/P G/P μόνο δεν βοηθά μόνο δεν βοηθά Ένα Ένα bit bit απόαπό λογική λογική G/P G/P μόνο δεν βοηθά, μόνο δεν βοηθά, αλλάαλλά……∆ιαδοχική λογική∆ιαδοχική λογική G/P G/P μπορεί να παράγει μπορεί να παράγει το κρατούμενο εξόδου ενός μπλοκτο κρατούμενο εξόδου ενός μπλοκ

Αυγ-13 MKM - 17Αριθμητικές Συναρτήσεις και Κυκλώματα

Σχεδιασμός Σχεδιασμός CLACLA ((συν.)συν.)

CCi+1i+1 = G= Gii + P+ PiiCCii

Ο δ ό Ο δ ό PFA PFA δ ίζ δ ίζ Ο σχεδιασμός του Ο σχεδιασμός του PFA PFA διαχωρίζει την διαχωρίζει την λειτουργικότητα (και άρα την υλοποίηση) τουλειτουργικότητα (και άρα την υλοποίηση) τουS S από αυτή του από αυτή του G/PG/P

Αυγ-13 MKM - 18Αριθμητικές Συναρτήσεις και Κυκλώματα

Σχεδιασμός Σχεδιασμός CLACLA ((συν.)συν.)

Μπορεί ο σχεδιασμός της προηγούμενης Μπορεί ο σχεδιασμός της προηγούμενης δ ά λύ όβλ άλ δ ά λύ όβλ άλ διαφάνειας να λύσει το πρόβλημα της μεγάλης διαφάνειας να λύσει το πρόβλημα της μεγάλης καθυστέρησηςκαθυστέρησης; ; ΌχιΌχι, , το κρατούμενο εξόδου συνεχίζει τηντο κρατούμενο εξόδου συνεχίζει την““κυμάτωσηκυμάτωση” !” !ΙδέαΙδέα: : χρήση δύο επιπέδων λογικής για την χρήση δύο επιπέδων λογικής για την

ή ύ ξόδ ό ή ύ ξόδ ό

Αυγ-13 MKM - 19Αριθμητικές Συναρτήσεις και Κυκλώματα

παραγωγή του κρατούμενου εξόδου από παραγωγή του κρατούμενου εξόδου από οποιοδήποτεοποιοδήποτε μπλοκμπλοκ CCii βάση του κρατούμενου βάση του κρατούμενου εισόδουεισόδου CC0 0 και των προσθετέων και των προσθετέων bits Abits Aii and Band Bii

ΜπλοκΜπλοκ CLACLA

ΥλοποίησηΥλοποίηση::η ηη ηCC11 = G= G00+P+P00 CC00

CC22 = G= G11+P+P11CC11 = G= G11+P+P11((GG00+P+P00CC00) = G) = G11+P+P11GG00+P+P11PP00CC00

CC33 = G= G22 + P+ P22CC22 = G= G22+P+P22GG11+P+P22PP11GG00+P+P22PP11PP00CC00

CC44 = G= G33+P+P33GG22+P+P33PP22GG11+P+P33PP22PP11GG00 + P+ P33PP22PP11PP0 0 CC00= G= G + P+ P CC

Αυγ-13 MKM - 20Αριθμητικές Συναρτήσεις και Κυκλώματα

= G= G00--33 + P+ P00--33CC00

Ομάδα Παραγωγής Ομάδα Παραγωγής ΚρατουμένουΚρατουμένου

Ομάδα ΜετάδοσηςΟμάδα ΜετάδοσηςΚρατουμένουΚρατουμένου

Page 6: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 6

Λογική Παραγωγής/Μετάδοσης για Λογική Παραγωγής/Μετάδοσης για 44--bit CLAbit CLA

Όλα 2-επιπέδωνΌλα 2 επιπέδωνΤο Cout υπολογίζεται γρήγορα

Αυγ-13 MKM - 21Αριθμητικές Συναρτήσεις και Κυκλώματα

∆εκαδική Πρόσθεση∆εκαδική ΠρόσθεσηΣχεδιάστε ένα κύκλωμα για την εκτέλεση Σχεδιάστε ένα κύκλωμα για την εκτέλεση δεκαδικής πρόσθεσης, αφαίρεσης, …δεκαδικής πρόσθεσης, αφαίρεσης, …ής ρ ης, φ ρ ης,ής ρ ης, φ ρ ης,Είσοδος σε κωδικοποιημένη δεκαδική μορφή, π.χ.Είσοδος σε κωδικοποιημένη δεκαδική μορφή, π.χ.BCDBCD∆εκαδικός Αθροιστής ∆εκαδικός Αθροιστής BCD: BCD:

8 8 είσοδοιείσοδοι (4 bits (4 bits για τον κάθε δεκαδικό αριθμόγια τον κάθε δεκαδικό αριθμό))5 5 έξοδοι για το δεκαδικό άθροισμα και το κρατούμενο έξοδοι για το δεκαδικό άθροισμα και το κρατούμενο

Αυγ-13 MKM - 22Αριθμητικές Συναρτήσεις και Κυκλώματα

5 5 έξοδοι για το δεκαδικό άθροισμα και το κρατούμενο έξοδοι για το δεκαδικό άθροισμα και το κρατούμενο Θυμηθείτε τον κανόνα γιαΘυμηθείτε τον κανόνα για BCD BCD πρόσθεσηπρόσθεση: : ΠροσθέτουμεΠροσθέτουμε 0110 0110 στο άθροισμα αν αυτό είναι στο άθροισμα αν αυτό είναι μεγαλύτερο τουμεγαλύτερο του 10011001, , για να διορθώσουμε την τιμή του για να διορθώσουμε την τιμή του κρατουμένουκρατουμένου

Αθροιστής Αθροιστής Binary Coded Decimal (BCD)Binary Coded Decimal (BCD)Προσθετέος

C = K + z3.z2 + z3.z1Προσθετέος

δυαδικός αθροιστής 4-bitz3 z2 z1 z0

0

K

C

Αυγ-13 MKM - 23Αριθμητικές Συναρτήσεις και Κυκλώματα

δυαδικός αθροιστής 4-bitS3 S2 S1 S0

Άθροισμα BCD

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

ΧειμερινόΧειμερινό ΕξάμηνοΕξάμηνο 20092009ΧειμερινόΧειμερινό ΕξάμηνοΕξάμηνο 20092009

Άλλες Αριθμητικές Συναρτήσεις Άλλες Αριθμητικές Συναρτήσεις και Κυκλώματακαι Κυκλώματα

Πανεπιστήμιο ΚύπρουΤμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Page 7: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 7

ΠερίληψηΠερίληψηΑφαίρεση δυαδικώνΑφαίρεση δυαδικών

ΣυμπλήρωμαΣυμπλήρωμα τουτου 22 (2(2´́s complements complement))ΣυμπλήρωμαΣυμπλήρωμα τουτου 22 (2(2 s complements complement))Επέκταση σε συμπλήρωμα του Επέκταση σε συμπλήρωμα του rrΑφαίρεση με συμπλήρωμαΑφαίρεση με συμπλήρωμα

∆υαδικοί Αθροιστές∆υαδικοί Αθροιστές//ΑφαιρέτεςΑφαιρέτεςΠροσημασμένοιΠροσημασμένοι (Signed)(Signed) αριθμοίαριθμοί

Αυγ-13 MKM - 25Αριθμητικές Συναρτήσεις και Κυκλώματα

ΠροσημασμένηΠροσημασμένη ΠρόσθεσηΠρόσθεση//ΑφαίρεσηΑφαίρεσηΠρόβλημα ΥπερχείλισηςΠρόβλημα Υπερχείλισης (Overflow)(Overflow)

∆υαδικοί Πολλαπλασιαστές ∆υαδικοί Πολλαπλασιαστές

∆υαδική Αφαίρεση∆υαδική ΑφαίρεσηΜηΜη--προσημασμένοιπροσημασμένοι αριθμοίαριθμοί ((Unsigned numbersUnsigned numbers))το πρόσημο δεν αναπαρίσταται ρητά (εννοείται)το πρόσημο δεν αναπαρίσταται ρητά (εννοείται). . ∆ δ δ δ θ ∆ δ δ δ θ M M N N MM NN∆εδομένων των δυαδικών αριθμών ∆εδομένων των δυαδικών αριθμών M M καικαι N, N, βρείτεβρείτε MM--N:N:

ΠερίπτωσηΠερίπτωση I: M I: M ≥≥ N, N, άραάρα, , το το MSB MSB τουτου Borrow Borrow είναι τοείναι το 00B B 0 0 0 0 1 1 00 0 1 1 0M 1 1 1 1 0M 1 1 1 1 0 3030N N --1 0 0 1 11 0 0 1 1 --1919 Το αποτέλεσμα είναι ορθό!Το αποτέλεσμα είναι ορθό!

Dif 0 1 0 1 1 11Dif 0 1 0 1 1 11

Αυγ-13 MKM - 26Αριθμητικές Συναρτήσεις και Κυκλώματα

ΠερίπτωσηΠερίπτωση II: N II: N >> M, M, άραάρα, , το το MSB MSB τουτου Borrow Borrow είναι τοείναι το 11B B 1 1 1 1 0 01 1 0 0 00M 1 0 0 1 1M 1 0 0 1 1 1919N N --1 1 1 1 01 1 1 1 0 --3030 Το αποτέλεσμα χρειάζεταιΤο αποτέλεσμα χρειάζεται

Dif 1 0 1 0 1 21Dif 1 0 1 0 1 21 διόρθωση!διόρθωση!

∆υαδική Αφαίρεση ∆υαδική Αφαίρεση ((συνσυν.).)ΓενικάΓενικά, , εάνεάν N N >> M, Dif = MM, Dif = M--N+2N+2nn, , όπου τοόπου το n = # bits.n = # bits.

Στην περίπτωσηΣτην περίπτωση II II του προηγούμενου παραδείγματοςτου προηγούμενου παραδείγματος, , Dif= 19Dif= 19--30+230+255 = 21.= 21.

Για να διορθωθεί η απόλυτη τιμή (Για να διορθωθεί η απόλυτη τιμή (magnitude) magnitude) του του Dif, Dif, που έπρεπε να ήτανπου έπρεπε να ήταν NN--M, M, υπολογίζεται το υπολογίζεται το 22nn--(M(M--N+2N+2nn).).

Αυγ-13 MKM - 27Αριθμητικές Συναρτήσεις και Κυκλώματα

Αυτό είναι γνωστό ως το συμπλήρωμα του Αυτό είναι γνωστό ως το συμπλήρωμα του 22 (2’(2’s s complement) complement) τουτου Dif.Dif.

Γενική ∆ιαδικασίαΓενική ∆ιαδικασίαΓια την αφαίρεση 2 Για την αφαίρεση 2 nn--bit bit αριθμώναριθμών, M, M--N, N, στην στην βάση του 2βάση του 2::βάση του 2βάση του 2::

Βρείτε Βρείτε MM--N.N.Εάν το Εάν το MSB MSB τουτου Borrow Borrow είναιείναι 0, 0, τότετότε M ≥ N. M ≥ N. Το Το αποτέλεσμα είναι θετικό και ορθόαποτέλεσμα είναι θετικό και ορθό..Εάν τοΕάν το MSB MSB τουτου Borrow Borrow είναιείναι 1, 1, τότετότε N > M. N > M. Το Το αποτέλεσμα είναι αρνητικό και ο βαθμός του πρέπει αποτέλεσμα είναι αρνητικό και ο βαθμός του πρέπει

Αυγ-13 MKM - 28Αριθμητικές Συναρτήσεις και Κυκλώματα

να διορθωθεί με την αφαίρεση του από τονα διορθωθεί με την αφαίρεση του από το 22n n ((βρείτε βρείτε το συμπλήρωμα του το συμπλήρωμα του 22).).

Page 8: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 8

Ακόμη ένα παράδειγμα ΑφαίρεσηςΑκόμη ένα παράδειγμα ΑφαίρεσηςM = 01100100 M = 01100100 καικαι N = 10010110, N = 10010110, βρείτε βρείτε MM--ΝΝ

B B 11 0 0 1 1 1 1 0 00 0 1 1 1 1 0 0MM 0 1 1 0 0 1 0 0 1000 1 1 0 0 1 0 0 100NN --1 0 0 1 0 1 1 01 0 0 1 0 1 1 0 --150150DifDif 1 1 0 0 1 1 1 0 2061 1 0 0 1 1 1 0 206

22n n 1 0 0 0 0 0 0 0 0 2561 0 0 0 0 0 0 0 0 256

Αυγ-13 MKM - 29Αριθμητικές Συναρτήσεις και Κυκλώματα

22 1 0 0 0 0 0 0 0 0 2561 0 0 0 0 0 0 0 0 256Dif Dif -- 1 1 0 0 1 1 1 01 1 0 0 1 1 1 0 --206206

0 0 0 1 1 0 0 1 0 500 0 0 1 1 0 0 1 0 50

∆ιάγραμμα Αφαιρέτη∆ιάγραμμα ΑφαιρέτηM0M1M2M3

B

N0N1N2N3

4-bit αφαιρέτης

ΕπιλεκτικόΣ ή 2

B

Ενεργοποιείται όταν B=1; αλλιώς, το αποτέλεσμα από τον αφαιρέτη περνά.

Αυγ-13 MKM - 30Αριθμητικές Συναρτήσεις και Κυκλώματα

Συμπλήρωμα του 2

∆εν είναι ο καλύτερος τρόπος υλοποίησης κυκλώματος αφαιρέτη!

∆ιάγραμμα ∆υαδικού ∆ιάγραμμα ∆υαδικού ΑθροιστήΑθροιστή--ΑφαιρέτηΑφαιρέτη

M0M1M2M3

N0N1N2N3

4-bit Αφαιρέτης

ΕπιλεκτικόΣυμπλήρωμα του 2

B4-bit Αθροιστής

Αυγ-13 MKM - 31Αριθμητικές Συναρτήσεις και Κυκλώματα

Quadruple 2-to-1 MUX

Αποτέλεσμα

(Sub/Add)

Sub/Add =1 αποτέλεσμα=|M-N|Sub/Add =0 αποτέλεσμα =M+N

ΣυμπληρώματαΣυμπληρώματαΥπάρχουν 2 τύποι συμπληρωμάτων για κάθε Υπάρχουν 2 τύποι συμπληρωμάτων για κάθε σύστημα βάσηςσύστημα βάσης--rr ::ημ β ηςημ β ης

Συμπλήρωμα βάσης Συμπλήρωμα βάσης r r ((r’s complement)r’s complement)πχπχ. . συμπλήρωμα του συμπλήρωμα του 22 για δυαδικό και συμπλήρωμα για δυαδικό και συμπλήρωμα τουτου 1100 για δεκαδικόγια δεκαδικό..Μειωμένο (Μειωμένο (DiminishedDiminished)) Συμπλήρωμα βάσηςΣυμπλήρωμα βάσης rr(r(r--1’s complement)1’s complement)πχπχ. . το συμπλήρωμα του το συμπλήρωμα του 11 για δυαδικό καιγια δυαδικό και το το συμπλήρωμα του 9συμπλήρωμα του 9 για δεκαδικόγια δεκαδικό

Αυγ-13 MKM - 32Αριθμητικές Συναρτήσεις και Κυκλώματα

συμπλήρωμα του 9συμπλήρωμα του 9 για δεκαδικόγια δεκαδικό..Θα εξετάσουμε μόνο συμπληρώματα του Θα εξετάσουμε μόνο συμπληρώματα του 22 καικαι του του 11 για για δυαδικούς (βάση 2)δυαδικούς (βάση 2). . Η ίδια λογική ισχύει και για άλλες Η ίδια λογική ισχύει και για άλλες βάσειςβάσεις ((πχπχ. . δεκαδικήδεκαδική).).

Page 9: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 9

Συμπλήρωμα του Συμπλήρωμα του 22Για ένα θετικό δυαδικό αριθμό με Για ένα θετικό δυαδικό αριθμό με nn ψηφίαψηφία NN22, , το το συμπλήρωμα του συμπλήρωμα του 22 , , 22C(C(NN22), ), δίνεται απόδίνεται από::μ ήρ μμ ήρ μ ,, (( 22),),

22C(C(NN22) = ) = 22nn--NN22 , , εάνεάν NN22 ≠ 0≠ 000 , , εάνεάν NN22 = 0= 0

Παράδειγμα 1Παράδειγμα 1: : NN2 2 =1010=1010

{{

Αυγ-13 MKM - 33Αριθμητικές Συναρτήσεις και Κυκλώματα

22C(C(NN22) = ) = 2244--NN22 = 10000= 1000022 –– 1010101022 = 0110= 011022

ΠαράδειγμαΠαράδειγμα 22: : NN2 2 =11111=1111122C(C(NN22) = ) = 2255--NN22 = 100000= 10000022 –– 111111111122 = 00001 = 00001 22

Συμπλήρωμα του Συμπλήρωμα του 22 ((συνσυν.).)Ένας πιο εύκολος τρόπος για να υπολογίσουμε το Ένας πιο εύκολος τρόπος για να υπολογίσουμε το συμπλήρωμα του συμπλήρωμα του 22::

1.1. Αφήστε τα Αφήστε τα least significant 0 least significant 0 και πρώτοκαι πρώτο 11 χωρίς χωρίς αλλαγέςαλλαγές

2.2. ΑντικαταστήστεΑντικαταστήστε 0 0 μεμε 1 1 καικαι 1 1 μεμε 0 0 στα υπόλοιπα στα υπόλοιπα higher higher significant bits.significant bits.

ΠαραδείγματαΠαραδείγματα::χωρίς αλλαγέςcomplement χωρίς αλλαγέςcomplement

Αυγ-13 MKM - 34Αριθμητικές Συναρτήσεις και Κυκλώματα

N = N = 101010 10 N = N = 01010101100010000101 1010 1010101010001000

συμπλήρωμα του συμπλήρωμα του 22 συμπλήρωμα του συμπλήρωμα του 22

χωρίς αλλαγέςcomplement χωρίς αλλαγέςcomplement

Συμπλήρωμα του 1Συμπλήρωμα του 1Για ένα θετικό δυαδικό αριθμό Για ένα θετικό δυαδικό αριθμό NN22 με με n n ψηφίαψηφία, , το συμπλήρωμα του το συμπλήρωμα του 11, , 11C(C(NN22), ), δίνεται απόδίνεται από::

11C(C(NN22) = ) = (2(2nn--1) 1) -- NN22

Παράδειγμα 1Παράδειγμα 1: : NN2 2 =011=0111C(1C(NN22) = () = (2233--1)1)--NN22 = 111= 11122 –– 01101122 = 100= 10022

ΠαράδειγμαΠαράδειγμα 22: : NN2 2 =1010=101044

Αυγ-13 MKM - 35Αριθμητικές Συναρτήσεις και Κυκλώματα

1C(1C(NN22) = () = (2244--1) 1) -- NN22 = 1111= 111122 –– 1010101022 = 0101 = 0101 22ΠαρατήρησηΠαρατήρηση: : το συμπλήρωμα του το συμπλήρωμα του 1 1 μπορεί να παραχθεί μπορεί να παραχθεί ευκολότεραευκολότερα βρίσκοντας το συμπλήρωμα όλων των βρίσκοντας το συμπλήρωμα όλων των bits bits του αριθμό (του αριθμό (bitbit--byby--bit complementation).bit complementation).

Παρατήρηση …Παρατήρηση …

Συγκρίνετε τοΣυγκρίνετε το συμπλήρωμα του συμπλήρωμα του 11 με το με το συμπλήρωμα συμπλήρωμα του του 22::του του 22::

22C(C(NN22) ) = = 22nn--NN22 == [(2[(2nn--1) 1) -- NN22] + 1 = ] + 1 = 11C(C(NN22) ) +1+1

Άρα τοΆρα το, , συμπλήρωμα του συμπλήρωμα του 22 μπορεί να βρεθεί μπορεί να βρεθεί βρίσκοντας το συμπλήρωμα του βρίσκοντας το συμπλήρωμα του 1 1 και προσθέτοντας και προσθέτοντας 1.1.

ΠαράδειγμαΠαράδειγμα::N = 1001N = 1001

Αυγ-13 MKM - 36Αριθμητικές Συναρτήσεις και Κυκλώματα

N = 1001N = 10012C(N) = 22C(N) = 24 4 –– N = 10000 N = 10000 –– 1001 = 01111001 = 01111C(N) = 21C(N) = 24 4 –– 1 1 -- N = 1111 N = 1111 –– 1001 = 01101001 = 01102C(N) = 1C(N) + 1 = 0110 + 0001 = 01112C(N) = 1C(N) + 1 = 0110 + 0001 = 0111

Page 10: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 10

Αφαίρεση με ΣυμπληρώματαΑφαίρεση με ΣυμπληρώματαΓια να βρούμε τοΓια να βρούμε το MM--N = M+(N = M+(--N), N), μπορούμε να μπορούμε να χρησιμοποιήσουμε μια συμπληρωματική μορφή χρησιμοποιήσουμε μια συμπληρωματική μορφή χρησιμοποιήσουμε μια συμπληρωματική μορφή χρησιμοποιήσουμε μια συμπληρωματική μορφή για την αναπαράσταση ενός αρνητικού αριθμούγια την αναπαράσταση ενός αρνητικού αριθμού --N, N, και να κάνουμε μια και να κάνουμε μια ““απλήαπλή πρόσθεσηπρόσθεση”.”.

Πρέπει να μπορούμε να Πρέπει να μπορούμε να ““μετατρέψουμεμετατρέψουμε” ” το το αποτέλεσμααποτέλεσμα. .

Αυγ-13 MKM - 37Αριθμητικές Συναρτήσεις και Κυκλώματα

Αφαίρεση με Συμπλήρωμα του Αφαίρεση με Συμπλήρωμα του 22Εάν χρησιμοποιήσουμεΕάν χρησιμοποιήσουμε συμπλήρωμα του συμπλήρωμα του 22 για την για την αναπαράσταση αρνητικών αριθμώναναπαράσταση αρνητικών αριθμών::

1.1. RRII = M + 2C(N= M + 2C(N22) = M + (2) = M + (2nn--N) = M N) = M –– N + 2N + 2nn

2.2. Εάν υπάρχει ένα μηΕάν υπάρχει ένα μη--μηδενικό μηδενικό carry outcarry out στην στην πρόσθεσηπρόσθεση,, τότετότε M ≥ NM ≥ N το το carry outcarry out αγνοείται και αγνοείται και τα υπόλοιπα ψηφία είναι ίσα μετα υπόλοιπα ψηφία είναι ίσα με R = MR = M--N.N.

3.3. ΕάνΕάν M < N, M < N, τότε υπολογίζουμε το συμπλήρωμα του τότε υπολογίζουμε το συμπλήρωμα του 2 2 τουτου RR (=2(=2nn-- RR = 2= 2nn-- (M (M –– N + 2N + 2nn) = N ) = N –– M)M)

Αυγ-13 MKM - 38Αριθμητικές Συναρτήσεις και Κυκλώματα

τουτου RRII (=2(=2 -- RRII = 2= 2 -- (M (M –– N + 2N + 2 ) = N ) = N –– M)M)και προσθέτουμε ένα αρνητικό πρόσημο στην αρχή και προσθέτουμε ένα αρνητικό πρόσημο στην αρχή του αριθμού.του αριθμού.∆ηλ.,∆ηλ., το αποτέλεσμα του το αποτέλεσμα του R R είναι είναι --2C([R2C([RII]]22) = ) = --(N(N--M).M).

A = 1010100 (84A = 1010100 (841010), B = 1000011 (67), B = 1000011 (671010))ΒρείτεΒρείτε R = AR = A--B:B:

ΠαράδειγμαΠαράδειγμα

ρρ2C(B) = 0111101 (612C(B) = 0111101 (611010))A+A+22C(B) = 1010100+0111101 = C(B) = 1010100+0111101 = 1100100010010001ΤοΤο carrycarry απορρίπτεται, απορρίπτεται, R = 0010001 (17R = 0010001 (171010) )

ΒρείτεΒρείτε R = BR = B--A:A:2C(A) = 0101100 (442C(A) = 0101100 (441010))B 2C(A) 1000011 0101100 B 2C(A) 1000011 0101100 0011011111101111

Αυγ-13 MKM - 39Αριθμητικές Συναρτήσεις και Κυκλώματα

B+2C(A) = 1000011+0101100 = B+2C(A) = 1000011+0101100 = 0011011111101111R = R = --2C(B+2C(A)) = 2C(B+2C(A)) = --0010001 (0010001 (--17171010) ) ((το το bit bit τουτου carrycarry δεν υπολογίζεταιδεν υπολογίζεται))

Αφαίρεση με Συμπλήρωμα του Αφαίρεση με Συμπλήρωμα του 11Εάν χρησιμοποιήσουμε συμπλήρωμα του Εάν χρησιμοποιήσουμε συμπλήρωμα του 1 1 για την για την αναπαράσταση αρνητικών αριθμώναναπαράσταση αρνητικών αριθμών::αναπαράσταση αρνητ κών αρ μώναναπαράσταση αρνητ κών αρ μών

1.1. RRII = M + 1C(N= M + 1C(N22) = M + (2) = M + (2nn--11--N) = M N) = M –– N + 2N + 2nn--112.2. Εάν υπάρχει ένα μηΕάν υπάρχει ένα μη--μηδενικό μηδενικό carry outcarry out στην στην

πρόσθεση, τότεπρόσθεση, τότε M ≥ NM ≥ N το το carry outcarry out αγνοείται αγνοείται και και προσθέτουμε προσθέτουμε 1 1 στα υπόλοιπα ψηφίαστα υπόλοιπα ψηφία. . Το αποτέλεσμα είναιΤο αποτέλεσμα είναι R = MR = M--N.N.

3.3. ΕάνΕάν M < N, M < N, τότε υπολογίζουμετότε υπολογίζουμε το συμπλήρωμα του 1 το συμπλήρωμα του 1 (( nn nn ( ( nn ) ) ) )

Αυγ-13 MKM - 40Αριθμητικές Συναρτήσεις και Κυκλώματα

ζζ μ ρ μμ ρ μτουτου RRII (=2(=2nn-- 1 1 -- RRII = 2 = 2 nn-- 1 1 -- (M (M –– N + 2N + 2nn--1) = N 1) = N –– M) M) και προσθέτουμε το αρνητικό πρόσημο μπροστά.και προσθέτουμε το αρνητικό πρόσημο μπροστά.∆ηλ., το αποτέλεσμα του ∆ηλ., το αποτέλεσμα του R R είναιείναι --1C([R1C([RII]]22) = ) = --(N(N--M).M).

Page 11: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 11

A = 1010100 (84A = 1010100 (841010), B = 1000011 (67), B = 1000011 (671010))ΒρείτεΒρείτε R = AR = A--B:B:

ΠαράδειγμαΠαράδειγμα

ΒρείτεΒρείτε R = AR = A--B:B:1C(B) = 0111100 (601C(B) = 0111100 (601010))A+1C(B) = 1010100+0111100 = A+1C(B) = 1010100+0111100 = 1100100000010000ΤοΤο carrycarry απορρίπτεται καιαπορρίπτεται και προσθέτουμεπροσθέτουμε 1,1,R = 0010000 + 1 = 0010001 (17R = 0010000 + 1 = 0010001 (171010) )

ΒρείτεΒρείτε R = BR = B--A:A:1C( ) 01010111C( ) 0101011

Αυγ-13 MKM - 41Αριθμητικές Συναρτήσεις και Κυκλώματα

1C(A) = 01010111C(A) = 0101011B+1C(A) = 1000011+0101011 = B+1C(A) = 1000011+0101011 = 0011011101101110R = R = --1C(B+1C(A)) = 1C(B+1C(A)) = --0010001 (0010001 (--17) 17) ((το το bit bit τουτου carrycarry δεν υπολογίζεταιδεν υπολογίζεται))

∆υαδικοί Αθροιστές∆υαδικοί Αθροιστές//ΑφαιρέτεςΑφαιρέτεςΕάν εκτελέσουμε αφαίρεση χρησιμοποιώντας Εάν εκτελέσουμε αφαίρεση χρησιμοποιώντας συμπληρώματασυμπληρώματα, , εξαλείφουμε την πράξη της αφαίρεσηςεξαλείφουμε την πράξη της αφαίρεσης, , συμπ ηρώματασυμπ ηρώματα, , εξα ε φουμε την πράξη της αφα ρεσηςεξα ε φουμε την πράξη της αφα ρεσης, , και, επομένως, μπορούμε να χρησιμοποιήσουμε έναν και, επομένως, μπορούμε να χρησιμοποιήσουμε έναν αθροιστή, με κατάλληλο κύκλωμα για συμπλήρωμα.αθροιστή, με κατάλληλο κύκλωμα για συμπλήρωμα.Στην ακρίβεια, μπορούμε να χρησιμοποιήσουμε έναν Στην ακρίβεια, μπορούμε να χρησιμοποιήσουμε έναν αθροιστή, για πρόσθεση αθροιστή, για πρόσθεση καικαι για αφαίρεσηγια αφαίρεση::

Συμπλήρωμα αφαιρετέου για αφαίρεσηΣυμπλήρωμα αφαιρετέου για αφαίρεσηΜηΜη--συμπλήρωσησυμπλήρωση αφαιρετέου για πρόσθεσηαφαιρετέου για πρόσθεση

Αυγ-13 MKM - 42Αριθμητικές Συναρτήσεις και Κυκλώματα

Για να υλοποιήσουμε ένα κύκλωμα Για να υλοποιήσουμε ένα κύκλωμα πρόσθεσης/αφαίρεσηςπρόσθεσης/αφαίρεσης, , χρειαζόμαστε ένα αθροιστή χρειαζόμαστε ένα αθροιστή ((adderadder) ) και ένα κύκλωμα που να επιλέγει μεταξύ και ένα κύκλωμα που να επιλέγει μεταξύ συμπληρώματος ή μη (συμπληρώματος ή μη (selective complementerselective complementer))

∆υαδικοί Αθροιστές∆υαδικοί Αθροιστές//ΑφαιρέτεςΑφαιρέτες

Η αφαίρεση Η αφαίρεση AA --BB μπορεί να γίνει υπολογίζονταςμπορεί να γίνει υπολογίζοντας λή λή 22 BB θέ θέ το συμπλήρωμα του το συμπλήρωμα του 22 του του BB και προσθέτοντας και προσθέτοντας

το αποτέλεσμα στον το αποτέλεσμα στον AA..Το συμπλήρωμα του Το συμπλήρωμα του 22 τουτου BB υπολογίζεται με υπολογίζεται με (i) (i) την συμπλήρωση του την συμπλήρωση του B B και και (ii) (ii) προσθέτοντας 1 στο αποτέλεσμα του (προσθέτοντας 1 στο αποτέλεσμα του (i).i).

AA B B A A 2C2C(B) (B)

Αυγ-13 MKM - 43Αριθμητικές Συναρτήσεις και Κυκλώματα

AA--B B = A + = A + 2C2C(B) (B) = A + = A + 1C1C(B) + 1(B) + 1= A + B’ + 1= A + B’ + 1

∆υαδικός Αθροιστής∆υαδικός Αθροιστής//Αφαιρέτης Αφαιρέτης 44ωνων--bitbit

Αυγ-13 MKM - 44Αριθμητικές Συναρτήσεις και Κυκλώματα

---- Οι πύλες Οι πύλες XOR XOR λειτουργούν ως προγραμματιζόμενοιλειτουργούν ως προγραμματιζόμενοι αντιστροφείςαντιστροφείς

Page 12: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 12

Όταν Όταν SS == 00, , το κύκλωμα εκτελεί το κύκλωμα εκτελεί AA + + BB,,ύ ύ i i LSB LSB ίί 0 0 έξ δ έξ δ

∆υαδικός Αθροιστής∆υαδικός Αθροιστής//Αφαιρέτης Αφαιρέτης 44ωνων--bitbit

αφού το αφού το carry in carry in στο στο LSB LSB είναιείναι 0 0 και οι έξοδοι των και οι έξοδοι των πυλών πυλών XOR XOR δίνουν δίνουν B B ⊕⊕ 0 = Β0 = Β..

Όταν Όταν SS == 1, 1, το κύκλωμα εκτελεί το κύκλωμα εκτελεί Α + Β’ + 1 = Α + Β’ + 1 = A A -- BB,,αφού το αφού το carry carry στο στο LSBLSB είναιείναι 11 καικαιοι έξοδοι των πυλών οι έξοδοι των πυλών XOR XOR δίνουν δίνουν B B ⊕⊕ 1 = Β’ .1 = Β’ .Άρα, το κύκλωμα προσθέτει στον Άρα, το κύκλωμα προσθέτει στον A A το συμπλήρωμα το συμπλήρωμα

Αυγ-13 MKM - 45Αριθμητικές Συναρτήσεις και Κυκλώματα

ρ , μ ρρ , μ ρ μ ήρ μμ ήρ μτουτου 11 τουτου B B συνσυν 1 (1 (από το από το carry carry στο στο LSB).LSB).

∆υαδικός Αθροιστής∆υαδικός Αθροιστής//Αφαιρέτης Αφαιρέτης 44ωνων--bitbit

S=0S=0

0B0B1B2B3

Αυγ-13 MKM - 46Αριθμητικές Συναρτήσεις και Κυκλώματα

Όταν S = 0, επιλέγει πρόσθεση

∆υαδικός Αθροιστής∆υαδικός Αθροιστής//Αφαιρέτης Αφαιρέτης 44ωνων--bitbit

S=1S=1

1B0’B1’B2’B3’

Αυγ-13 MKM - 47Αριθμητικές Συναρτήσεις και Κυκλώματα

Όταν S = 1, επιλέγει αφαίρεση

∆υαδικός Αθροιστής∆υαδικός Αθροιστής//Αφαιρέτης Αφαιρέτης 44ωνων--bitbit

ΌτανΌταν CC44 = 0 = 0 καικαι SS == 11, , τότε τότε A < B A < B και πρέπει να διορθωθεί το και πρέπει να διορθωθεί το τότε τότε A < B A < B και πρέπει να διορθωθεί το και πρέπει να διορθωθεί το αποτέλεσμααποτέλεσμα RR33…R…R00 ((διαφάνειαδιαφάνεια 3838).).

Άρα, πρέπει να υπολογιστεί το συμπλήρωμα Άρα, πρέπει να υπολογιστεί το συμπλήρωμα του του 22 τουτου RR33…R…R00::

Χρησιμοποιείται ένα ειδικό κύκλωμα για το Χρησιμοποιείται ένα ειδικό κύκλωμα για το συμπλήρωμα του συμπλήρωμα του 22 ήή

Αυγ-13 MKM - 48Αριθμητικές Συναρτήσεις και Κυκλώματα

συμπλήρωμα του συμπλήρωμα του 22 ήήΧρησιμοποιείταιΧρησιμοποιείται ο αθροιστής/αφαιρέτης ξανάο αθροιστής/αφαιρέτης ξανά, , μεμε AA33…A…A00=0000, B=0000, B33…B…B00=R=R33…R…R00 καικαι S=1.S=1.

Page 13: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 13

ΠροσημασμένοιΠροσημασμένοι ∆υαδικοί Αριθμοί∆υαδικοί Αριθμοί((Signed Binary Numbers)Signed Binary Numbers)

Σύστημα ΠροσημασμένηςΣύστημα Προσημασμένης--ΑπόλυτηςΑπόλυτης--ΤιμήςΤιμήςΣύστημα ΠροσημασμένηςΣύστημα Προσημασμένης ΑπόλυτηςΑπόλυτης ΤιμήςΤιμής((SignedSigned--Magnitude system):Magnitude system):

Οι Οι προσημασμένοι προσημασμένοι αριθμοί αναπαριστούνται αριθμοί αναπαριστούνται χρησιμοποιώντας το χρησιμοποιώντας το MSB MSB του δυαδικού αριθμού του δυαδικού αριθμού για τον καθορισμό του πρόσημου του αριθμούγια τον καθορισμό του πρόσημου του αριθμού::

ΕάνΕάν MSB MSB == 0 0 θετικός αριθμόςθετικός αριθμόςΕάνΕάν MSB MSB == 1 1 αρνητικός αριθμόςαρνητικός αριθμός

Αυγ-13 MKM - 49Αριθμητικές Συναρτήσεις και Κυκλώματα

ΕάνΕάν MSB MSB 1 1 αρνητικός αριθμόςαρνητικός αριθμόςΜηνΜην το συγχύσετε με το συγχύσετε με μημη--προσημασμένους προσημασμένους ((unsigned)unsigned) αριθμούςαριθμούς! !

ΠροσημασμένοιΠροσημασμένοι ΑριθμοίΑριθμοί::Σύστημα Σύστημα SignedSigned--Magnitude Magnitude ((συνσυν.).)

Για παράδειγμαΓια παράδειγμα::--101010 10

--1010101022 σεσε μημη--προσημασμένοπροσημασμένο((το πρόσημο το πρόσημο –– δεν αποτελεί μέρος της δυαδικής τιμήςδεν αποτελεί μέρος της δυαδικής τιμής))111010101022 σεσε προσημασμένοπροσημασμένο μεμε signedsigned--magnitudemagnitude((το πρόσημοτο πρόσημο –– αναπαρίσταται με αναπαρίσταται με MSB=MSB=11))

Άλλο παράδειγμαΆλλο παράδειγμα::

Αυγ-13 MKM - 50Αριθμητικές Συναρτήσεις και Κυκλώματα

101110112211111010 σεσε μημη--προσημασμένοπροσημασμένο--331010 σεσε προσημασμένοπροσημασμένο μεμε signedsigned--magnitudemagnitude

Για την υλοποίηση πρόσθεσηςΓια την υλοποίηση πρόσθεσης ή αφαίρεσης με ή αφαίρεσης με signedsigned--

ΠροσημασμένοιΠροσημασμένοι Αριθμοί Αριθμοί Σύστημα Σύστημα SignedSigned--Magnitude Magnitude ((συνσυν.).)

ggmagnitudemagnitude, χρειαζόμαστε:, χρειαζόμαστε:

Να ξεχωρίσουμε το Να ξεχωρίσουμε το bitbit τουτου πρόσημου πρόσημου από τααπό τα magnitude bitsmagnitude bits,,Να θεωρήσουμε τα Να θεωρήσουμε τα magnitude bits magnitude bits ως ένα μηως ένα μη--προσημασμένοπροσημασμένοαριθμόαριθμό (η διόρθωση πρέπει να γίνεται όπου χρειάζεται(η διόρθωση πρέπει να γίνεται όπου χρειάζεται).).

Για αποφυγή της διόρθωσηςΓια αποφυγή της διόρθωσης, , χρησιμοποιείται το χρησιμοποιείται το

Αυγ-13 MKM - 51Αριθμητικές Συναρτήσεις και Κυκλώματα

σύστημα σύστημα ΠροσημασμένουΠροσημασμένου--Συμπληρώματος (Συμπληρώματος (Signed Signed Complement)Complement)..

ΠροσημασμένοιΠροσημασμένοι ΑριθμοίΑριθμοί::Σύστημα ΠροσημασμένουΣύστημα Προσημασμένου--ΣυμπληρώματοςΣυμπληρώματος

(Signed(Signed--Complement)Complement)Η απόλυτη τιμή (Η απόλυτη τιμή (magnitudemagnitude)) ενός αρνητικού ενός αρνητικού Η απόλυτη τιμή (Η απόλυτη τιμή (magnitudemagnitude)) ενός αρνητικού ενός αρνητικού αριθμού αναπαρίσταται στην συμπληρωματική αριθμού αναπαρίσταται στην συμπληρωματική του μορφή του μορφή ((με συμπλήρωμα του με συμπλήρωμα του 2 2 ή τουή του 1).1).

ΠχΠχ..,, ΧρησιμοποιούμεΧρησιμοποιούμε 88--bits bits για την για την αναπαράστασηαναπαράσταση των των --9910 10 καικαι 991010

99 ::

Αυγ-13 MKM - 52Αριθμητικές Συναρτήσεις και Κυκλώματα

--991010::11000100100010012 2 σεσε signedsigned--magnitudemagnitude11111011011101102 2 σεσε signedsigned--1’s complement1’s complement11111011111101112 2 σεσε signedsigned--2’s complement 2’s complement

9910 10 == 00000100100010012 2 σε όλα τα πιο πάνω συστήματασε όλα τα πιο πάνω συστήματα

Page 14: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 14

ΠρόσθεσηΠρόσθεση//Αφαίρεση Αφαίρεση με με SignedSigned--MagnitudeMagnitude

Για την εκτέλεση πρόσθεσης ή αφαίρεσης 2 αριθμών Για την εκτέλεση πρόσθεσης ή αφαίρεσης 2 αριθμών (M (M N) N) si dsi d it d it d λ θ ύ λ θ ύ (M (M καικαι N) N) σεσε signedsigned--magnitude, magnitude, ακολουθούμε τους ακολουθούμε τους γνωστούς κανόνες αριθμητικήςγνωστούς κανόνες αριθμητικής::

Ίδιο πρόσημοΊδιο πρόσημο: : προσθέτουμε και κρατούμε το ίδιο πρόσημοπροσθέτουμε και κρατούμε το ίδιο πρόσημο..

∆ιαφορετικά∆ιαφορετικά πρόσημαπρόσημα: : Αφαιρούμε το Αφαιρούμε το N N από το από το M M και εάν το και εάν το Borrow Borrow ==== 1, 1, διορθώνουμε το αποτέλεσμα παίρνοντας το διορθώνουμε το αποτέλεσμα παίρνοντας το συμπλήρωμα του 2συμπλήρωμα του 2. . Το πρόσημοΤο πρόσημο είναι αρνητικόείναι αρνητικό..

Αυγ-13 MKM - 53Αριθμητικές Συναρτήσεις και Κυκλώματα

ΠαράδειγμαΠαράδειγμα: M: M==000011001, N0011001, N==1101001010100101το το N N είναι αρνητικόείναι αρνητικό, , άρα υπολογίζουμεάρα υπολογίζουμε|M|M--N|N| == 00110010011001 -- 0100101 =0100101 = 1110100, 1110100, με με EndEnd--Borrow = 1. Borrow = 1.

MM--N N < 0 και για την διόρθωση του βρίσκουμε το < 0 και για την διόρθωση του βρίσκουμε το συμπλήρωμα του 2συμπλήρωμα του 2 του |Μτου |Μ--Ν|=Ν|=00011000001100

αποτέλεσμα =αποτέλεσμα = 110001100.0001100.

Πρόσθεση με Πρόσθεση με SignedSigned--2’2’s Complements Complement

Η πρόσθεση 2 προσημασμένωνΗ πρόσθεση 2 προσημασμένων αριθμώναριθμών,, όπου οι όπου οι αρνητικοί αριθμοί αναπαρίστανται σε αρνητικοί αριθμοί αναπαρίστανται σε signedsigned--2’s 2’s αρνητικοί αριθμοί αναπαρίστανται σε αρνητικοί αριθμοί αναπαρίστανται σε signedsigned--2 s 2 s complement,complement, παράγεται παράγεται προσθέτοντας τους 2 αριθμούςπροσθέτοντας τους 2 αριθμούς((συμπεριλαμβανομένων των συμπεριλαμβανομένων των sing bits). sing bits). Το Το Carry out Carry out αγνοείταιαγνοείται..

ΠαραδείγματαΠαραδείγματα: (: (Υποθέστε αναπαραστάσειςΥποθέστε αναπαραστάσεις 55--bit)bit)

01010 ( 10) 01010 ( 10)01010 ( 10) 01010 ( 10) 10110 (10110 ( 10) 10110 (10) 10110 ( 10) 10)

Αυγ-13 MKM - 54Αριθμητικές Συναρτήσεις και Κυκλώματα

01010 (+10) 01010 (+10)01010 (+10) 01010 (+10) 10110 (10110 (--10) 10110 (10) 10110 (--10) 10) ++0010100101 (+5) (+5) +11011+11011 ((--5)5) +00101+00101 (+5) (+5) +11011+11011 ((--5)5)

01111 (+15) 00101 (+5) 11011 (01111 (+15) 00101 (+5) 11011 (--5) 10001 (5) 10001 (--15)15)

Πρόσθεση με Πρόσθεση με SignedSigned--2’2’s Complement s Complement ((συνσυν.).)

Όταν διαβάζεται αριθμούς σε Όταν διαβάζεται αριθμούς σε 2’s2’s complement complement να να θ ά όθ ά όθυμάστε ότι,θυμάστε ότι,ότανόταν MSB MSB = = 1 1 ο αριθμός είναι αρνητικός και ο αριθμός είναι αρνητικός και χρειάζεται να υπολογίσετε το 2χρειάζεται να υπολογίσετε το 2’s complement ’s complement της της απόλυτης τιμής (απόλυτης τιμής (magnitude).magnitude).

ΠαράδειγμαΠαράδειγμα: : Πιο είναι το δεκαδικό αντίστοιχο του Πιο είναι το δεκαδικό αντίστοιχο του 1001001100100122??Είναι αρνητικός αριθμός αφού τοΕίναι αρνητικός αριθμός αφού το MSB=1MSB=1

Αυγ-13 MKM - 55Αριθμητικές Συναρτήσεις και Κυκλώματα

Είναι αρνητικός αριθμός αφού τοΕίναι αρνητικός αριθμός αφού το MSB=1MSB=1Magnitude = 001001Magnitude = 001001το συμπλήρωμα του το συμπλήρωμα του 22 τουτου magnitude = 110111magnitude = 110111

Ο αριθμός είναι το Ο αριθμός είναι το --55551010

Αφαίρεση Αφαίρεση με με SignedSigned--2’2’s Complements ComplementΗ αφαίρεση 2 προσημασμένωνΗ αφαίρεση 2 προσημασμένων αριθμώναριθμών,, όπου οι αρνητικοί όπου οι αρνητικοί αριθμοί αναπαρίστανται σε αριθμοί αναπαρίστανται σε signedsigned--2’s complement,2’s complement,παράγεται παράγεται προσθέτοντας το 2προσθέτοντας το 2’s complement ’s complement του του παράγεται παράγεται προσθέτοντας το 2προσθέτοντας το 2 s complement s complement του του αφαιρετέου με τον αφαιρέτη αφαιρετέου με τον αφαιρέτη ((συμπεριλαμβανομένων των συμπεριλαμβανομένων των sing bits). sing bits). Το Το Carry out Carry out αγνοείταιαγνοείται..

ΠαραδείγματαΠαραδείγματα: (5: (5--bit bit αναπαραστάσειςαναπαραστάσεις))

01010 (+10) 01010 (+10)01010 (+10) 01010 (+10) 10110 (10110 (--10) 10110 (10) 10110 (--10) 10)

Αυγ-13 MKM - 56Αριθμητικές Συναρτήσεις και Κυκλώματα

01010 (+10) 01010 (+10)01010 (+10) 01010 (+10) 10110 (10110 ( 10) 10110 (10) 10110 ( 10) 10) --0010100101 --(+5) (+5) --1101111011 --((--5)5) --0010100101 --(+5) (+5) --1101111011 --((--5)5)

01010 (+10) 01010 (+10)01010 (+10) 01010 (+10) 10110 (10110 (--10) 10110 (10) 10110 (--10) 10) +11011+11011 +(+(--5) 5) +00101+00101 +(+5)+(+5) +11011+11011 +(+(--5) 5) +00101+00101 +(+5)+(+5)00101 (+5) 01111 (+15) 10001 (00101 (+5) 01111 (+15) 10001 (--15) 11011 (15) 11011 (--5)5)

Page 15: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 15

Το πρόβλημα της ΥπερχείλισηςΤο πρόβλημα της Υπερχείλισης

Εάν η πρόσθεση 2 Εάν η πρόσθεση 2 nn--bit bit αριθμών δίνει έναν αριθμών δίνει έναν θ ό θ ό 1 bi 1 bi ό ίζ θή ό ίζ θή αριθμό με αριθμό με n+1 bits, n+1 bits, τότε εμφανίζονται συνθήκες τότε εμφανίζονται συνθήκες

υπερχείλισηςυπερχείλισης..

Η εύρεση υπερχείλισης μπορεί να υλοποιηθεί Η εύρεση υπερχείλισης μπορεί να υλοποιηθεί είτε με υλικό (είτε με υλικό (h/wh/w) ή) ή λογισμικό (λογισμικό (s/w).s/w).

Η εύρεση εξαρτάται από το αριθμητικό σύστημα Η εύρεση εξαρτάται από το αριθμητικό σύστημα

Αυγ-13 MKM - 57Αριθμητικές Συναρτήσεις και Κυκλώματα

Η εύρεση εξαρτάται από το αριθμητικό σύστημα Η εύρεση εξαρτάται από το αριθμητικό σύστημα που χρησιμοποιείταιπου χρησιμοποιείται: : προσημασμένοπροσημασμένο ήή μημη--προσημασμένοπροσημασμένο..

Το πρόβλημα της ΥπερχείλισηςΤο πρόβλημα της Υπερχείλισης στο στο ΜηΜη--Προσημασμένο ΣύστημαΠροσημασμένο Σύστημα

ΠρόσθεσηΠρόσθεση::ΠρόσθεσηΠρόσθεση::Όταν το Όταν το Carry out Carry out ==== 1.1.

ΑφαίρεσηΑφαίρεση::∆εν μπορεί να γίνει ποτέ∆εν μπορεί να γίνει ποτέ. . Το Το Magnitude Magnitude του του αποτελέσματος είναι πάντα ίσο ή μικρότερο αποτελέσματος είναι πάντα ίσο ή μικρότερο

Αυγ-13 MKM - 58Αριθμητικές Συναρτήσεις και Κυκλώματα

από τον πιο μεγάλο των 2 αριθμώναπό τον πιο μεγάλο των 2 αριθμών..

∆ΕΝ είναι πρόβλημα∆ΕΝ είναι πρόβλημα!!

Το πρόβλημα της ΥπερχείλισηςΤο πρόβλημα της Υπερχείλισης στο στο ΣύστημαΣύστημα SignedSigned--2’s complement2’s complement

Να θυμάστε ότι το Να θυμάστε ότι το MSB MSB είναι το πρόσημοείναι το πρόσημο Να θυμάστε ότι το Να θυμάστε ότι το MSB MSB είναι το πρόσημοείναι το πρόσημο. . Αλλά προστίθεται και το πρόσημοΑλλά προστίθεται και το πρόσημο! ! ΆραΆρα,, ένα ένα carry out carry out ==== 1 1 δεν σημαίνει πάντα υπερχείλισηδεν σημαίνει πάντα υπερχείλιση!!

Υπερχείλιση παρατηρείται ΜΟΝΟ όταν και οι 2 Υπερχείλιση παρατηρείται ΜΟΝΟ όταν και οι 2 αριθμοί έχουν το ίδιο πρόσημοαριθμοί έχουν το ίδιο πρόσημο. . Αυτή η Αυτή η κατάσταση μπορεί να βρεθεί όταν το τελικό κατάσταση μπορεί να βρεθεί όταν το τελικό

Αυγ-13 MKM - 59Αριθμητικές Συναρτήσεις και Κυκλώματα

κατάσταση μπορεί να βρεθεί όταν το τελικό κατάσταση μπορεί να βρεθεί όταν το τελικό carry out (Ccarry out (Cnn) ) είναι είναι διαφορετικόδιαφορετικό από το από το carry carry της προηγούμενης θέσηςτης προηγούμενης θέσης (C(Cnn--11).).

Το πρόβλημα της ΥπερχείλισηςΤο πρόβλημα της Υπερχείλισης στο στο ΣύστημαΣύστημα SignedSigned--2’s complement2’s complement ((συνσυν.).)

ΠαράδειγμαΠαράδειγμα 1: M=651: M=651010 καικαι N=65N=651010 σε ένασε ένα 88--bit bit σύστημα σύστημα με με signedsigned 2’s complement2’s complementμε με signedsigned--2 s complement.2 s complement.

M = N = 01000001M = N = 0100000122M+N = 10000010 M+N = 10000010 μεμε CCnn=0. =0. Αυτό είναι λάθος αφού δίνει αρνητικό αριθμόΑυτό είναι λάθος αφού δίνει αρνητικό αριθμό! ! Εάν τοΕάν το CCnn οριστεί ως τοοριστεί ως το MSBMSB, τότε έχουμε , τότε έχουμε 01000001001000001022 (130(1301010) ) που είναι ορθόπου είναι ορθό, , αλλά χρειάζεται αλλά χρειάζεται 99--bits bits υπερχείλισηυπερχείλιση

ΠαράδειγμαΠαράδειγμα 2: M=2: M=--65651010 καικαι N=N=--65651010 σε ένα σε ένα 88--bit bit σύστημα με σύστημα με signedsigned--2’s complement2’s complement

Αυγ-13 MKM - 60Αριθμητικές Συναρτήσεις και Κυκλώματα

σύστημα με σύστημα με signedsigned 2 s complement.2 s complement.M = N = 10111111M = N = 1011111122M+N = 01111110M+N = 01111110 μεμε CCnn=1. =1. Αυτό είναι πάλι λάθος αφού δίνει θετικό αριθμόΑυτό είναι πάλι λάθος αφού δίνει θετικό αριθμό! ! Εάν τοΕάν το CCnn οριστεί ως το οριστεί ως το MSBMSB, τότε έχουμε, τότε έχουμε 10111111010111111022 ((--1301301010) ) που είναι ορθόπου είναι ορθό, , αλλά πάλι απαιτεί αλλά πάλι απαιτεί 99--bits bits υπερχείλισηυπερχείλιση

Page 16: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 16

Εύρεση Υπερχείλισης Εύρεση Υπερχείλισης στοστοΣύστημαΣύστημα SignedSigned--2’s complement2’s complementΟι καταστάσεις υπερχείλισης εντοπίζονται συγκρίνοντας Οι καταστάσεις υπερχείλισης εντοπίζονται συγκρίνοντας τις τιμές στο τις τιμές στο carrycarry inin και και carry out carry out του του sign bit (Csign bit (Cnn--11 καικαιCCnn).).

n-bit αθροιστής/αφαιρέτης

V

C Cn+1Cn

n-bit αθροιστής/αφαιρέτης με λογική εύρεσης υπερχείλισης

Αυγ-13 MKM - 61Αριθμητικές Συναρτήσεις και Κυκλώματα

αφαιρέτης

• το C =1 δείχνει υπερχείλιση όταν προσθέτουμε/αφαιρ. unsigned αριθμούς.• το V=1 δείχνει υπερχείλιση όταν προσθέτουμε/αφαιρ. αριθμούς σε signed-2’s complement

∆υαδικός Πολ/στης∆υαδικός Πολ/στηςΟ δυαδικός πολ/σμός μοιάζει με τον δεκαδικό Ο δυαδικός πολ/σμός μοιάζει με τον δεκαδικό πολ/σμόπολ/σμό::πολ/σμόπολ/σμό::

ΟΟ nn--bit bit πολλαπλασιαστέος (πολλαπλασιαστέος (multiplicandmultiplicand)) πολ/ζεται πολ/ζεται με κάθε με κάθε bitbit του του mm--bit bit πολλαπλασιαστή (πολλαπλασιαστή (multipliermultiplier)), , αρχίζοντας από το αρχίζοντας από το LSB, LSB, για την παράγωγή για την παράγωγή nn μερικών μερικών γινομένωνγινομένων..Το κάθε διαδοχικό σύνολο των μερικών γινομένων Το κάθε διαδοχικό σύνολο των μερικών γινομένων

ίζίζ 1 bit 1 bit ά ά

Αυγ-13 MKM - 62Αριθμητικές Συναρτήσεις και Κυκλώματα

μετατοπίζεταιμετατοπίζεται 1 bit 1 bit προς αριστεράπρος αριστερά..Το αποτέλεσμα παράγεται με την πρόσθεση των Το αποτέλεσμα παράγεται με την πρόσθεση των mmγραμμών των μερικών γινομένωνγραμμών των μερικών γινομένων..

∆υαδικός Πολ/στης ∆υαδικός Πολ/στης ((συνσυν.).)ΠαράδειγμαΠαράδειγμα::

Πολ/στηςΠολ/στης A=AA=A AA καικαι πολ/στέοςπολ/στέος B=BB=B BBΠολ/στηςΠολ/στης A=AA=A11AA00 καικαι πολ/στέοςπολ/στέος B=BB=B11BB00

Βρείτε τοΒρείτε το C = AxB:C = AxB:

BB1 1 BB00x Ax A1 1 AA00

AA00BB1 1 AA00BB00

-----------------

Αυγ-13 MKM - 63Αριθμητικές Συναρτήσεις και Κυκλώματα

AA00BB1 1 AA00BB00+ A+ A11BB1 1 AA11BB0 0

CC3 3 CC2 2 CC2 2 CC0 0

-------------------------------

Κύκλωμα ∆υαδικού Πολ/στήΚύκλωμα ∆υαδικού Πολ/στήπολ/στης 2πολ/στης 2--bit bit ΧΧ 22--bitbit

Οι Half Adders είναι αρκετοίαφού δεν υπάρχει Carry-in

Αυγ-13 MKM - 64Αριθμητικές Συναρτήσεις και Κυκλώματα

φ ρχ yμαζί με τις δύο εισόδους τηςπρόσθεσης.

Page 17: ΗΜΥ--210: 210: Σχεδιασμός Περίληψη Ψηφιακών Συστημάτων · Πρόσθεση ∆υαδική ... (sum) με n-bit και ένα κρατούμενο

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

Αριθμητικές Συναρτήσεις και Κυκλώματα 17

Κύκλωμα ∆υαδικού Πολ/στήΚύκλωμα ∆υαδικού Πολ/στήπολ/στης πολ/στης 44--bit bit ΧΧ 33--bitbit

Το 4-bit x 3-bitδίνει αποτέλεσμα 7-bit

Αυγ-13 MKM - 65Αριθμητικές Συναρτήσεις και Κυκλώματα