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

Post on 10-Jan-2016

46 views 0 download

description

Συνδυαστικά Κυκλώματα. Έ ξοδος οποιαδήποτε στιγμή εξαρτάται μόνο από τις τιμές στην είσοδο την ίδια στιγμή Ορισμος Κυκλωματος πινακας αληθειας με 2 n συνδυασμους εισοδου και m τιμες εξοδους για καθε συνδυασμο m συναρτησεις n μεταβλητων. Ακολουθιακά Κυκλώματα. - PowerPoint PPT Presentation

Transcript of Συνδυαστικά Κυκλώματα

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

• Έξοδος οποιαδήποτε στιγμή εξαρτάται μόνο από τις τιμές στην είσοδο την ίδια στιγμή

• Ορισμος Κυκλωματος– πινακας αληθειας με 2n συνδυασμους εισοδου και m τιμες

εξοδους για καθε συνδυασμο – m συναρτησεις n μεταβλητων

Ακολουθιακά Κυκλώματα

• Ακολουθιακα Κυκλωματα: αποθηκευουναποθηκευουν τιμες (bits), και η εξοδος εξαρταται απο την εισοδο στο παρων και παρελθον (κεφ. 4)

Σχεδιασμός Συνδυαστικής Λογ. Combinational Logic Design• Εισαγωγή• Mεθοδολογιες Αναλυσης και Σχεδιασμου• Βασικα συνδυαστικα κυκλωματα

– κωδικοποιητες, αποκωδικοποιητες, πολυπλεκτες, αποπλεκτες, αθροιστες, αφαιρετες (προσημασμενοι αριθμοι)

• Ιεραρχια, Πανω προς Κατω, CAD, HDL,Synthesis

• Γλωσσες Περιγραφης Υλικου(ΗDL): VHDL

Μεθοδολογιά Ανάλυσης

• Στοχος: καθορισμος λειτουργιας ενος λογικου συνδυαστικου κυκλωματος

• Δεδομενο: λογικο συνδυαστικο κυκλωμα• Ζητουμενο: αλγεβρική συνάρτηση για καθε

εξοδο κυκλωματος ή/και πίνακα αληθείας– με το χερι (συναρτησεις, πινακα αληθειας)– με λογικη προσομοιωση (CAD εργαλειο)

Παραγωγή Boolean Συνάρτησης

Τ1

Τ2

Τ5

Τ3

Τ4

F1

F2

Παραγωγή Boolean Συνάρτησης

• T1 = B’C T2 = A’B• T3 = A+T1 T4= Τ2D T5= Τ2+D• F1 = Τ3 + Τ4 F2 = Τ5

Τ1

Τ2

Τ5

Τ3

Τ4

F1

F2

Αλγεβρική Επεξεργασία Ενδιάμεσων Συναρτήσεων• T1 = B’C• T2 = A’B• T3 = A+Β’C• T4= (A’B)D • T5= A’B+D• F1 = A+Β’C+ ((A’B)D) • F2 = A’B+D• Όχι απαραίτητα απλοποιημένες εκφράσεις• Απο πιο πανω ευκολο να παραξεις Πιν. Αληθ.

Απευθείας Παραγωγή Πίνακα Αληθείας• Απευθείας απο κύκλωμα (χωρίς ενδιάμεσες

συναρτήσεις)

Τ1

Τ2 Τ3

Πινακας Αληθειας: n εισοδους πινακας με 2n σειρες

Πινακας Αληθειας

Πινακας Αληθειας

Πινακας Αληθειας

Πινακας Αληθειας

Πινακας Αληθειας

Συνάρτηση απο πίνακα αληθείας

πχ C(X,Y,Z)=….

Συνάρτηση απο πίνακα αληθείας

πχ C(X,Y,Z)=Σm(3,5,6,7) =XY+XZ+YZ

Μεθόδοι

• Με ενδιάμεσες συναρτήσεις– καθορισε ενδιαμεσες συναρτησεις– καθορισε σηματα εξοδου βαση ενδιαμεσων συναρτησεων– αλγεβρική επεξεργασία συναρτήσεων– καθόρισε πινακα αληθειας

• Χωρίς ενδιάμεσες συναρτήσεις– δώσε ονόματα σε ενδιάμεσα σήματα– καθόρισε πίνακα αληθείας – υπολογισε συναρτήσεις για σήματα εξόδου

Μεθόδοι (συν.)

• Με προσομοιωση– σχεδιάσε κύκλωμα– προσομοιωσε για ολους δυνατους συνδυασμους– παραξε πινακα αληθειας– απο πινακα συναρτησεις

Μεθοδολογια Σχεδιασμου

• Στοχος: απο περιγραφη προβληματος παραγωγη λογικου διαγραμματος ή boolean εξισωσεις– καθορισμος σηματων εισοδου και εξοδου– πινακας αληθειας που οριζει σχεση σηματων εισοδου και

εξοδου (οχι παντοτε: κατανοηση)– απλοποιημενες εκφρασεις για καθε εξοδο

• αλγεβρικη επεξεργασια, k-map, ιεραρχια,…• εαν πολλες λυσεις επιλογη βαση κριτηριων αποδοσης

– σχεδιασμος λογικου διαγραμματος– επαληθευση

• εαν λαθος αποσφαλαματωση

Παραδειγμα

• Σχεδιαστε ενα συνδυαστικο λογικο κυκλωμα που εχει 3 εισοδους και μια εξοδο. Η εξοδος ειναι 1 οταν η δυαδικη τιμη στην εισοδο ειναι μικροτερη του 3 (αλλιως ειναι 0). Υλοποιηστε το κυκλωμα μονο με πυλες NAND.

Παραδειγμα (<3)

X2 X1 X0 F0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Παραδειγμα (<3)

X2 X1 X0 F0 0 0 10 0 1 10 1 0 10 1 1 01 0 0 01 0 1 01 1 0 01 1 1 0

Παραδειγμα (<3)

00 01 X1

11 10 0

1 1 1

X2 1

X0

F = X2’X1’+X2’X0’

Παραδειγμα (<3)

X2’

X1’

X2’

X0’

F

Παραδειγμα:Μετατροπη κωδικων 4bit ΒCD σε 4bit excess-3• (X)ΒCD=(X+3)excess-3

– πχ (5)ΒCD=(8)excess-3, 0101 σε 1000

ΒCD 2 Excess-3X3 X2 X1 X0 F3 F2 F1 F00 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

ΒCD 2 Excess-3X3 X2 X1 X0 F3 F2 F1 F00 0 0 0 0 0 1 10 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

ΒCD 2 Excess-3X3 X2 X1 X0 F3 F2 F1 F00 0 0 0 0 0 1 10 0 0 1 0 1 0 00 0 1 0 0 1 0 10 0 1 1 0 1 1 00 1 0 0 0 1 1 10 1 0 1 1 0 0 00 1 1 0 1 0 0 10 1 1 1 1 0 1 01 0 0 0 1 0 1 11 0 0 1 1 1 0 01 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

ΒCD 2 Excess-3X3 X2 X1 X0 F3 F2 F1 F00 0 0 0 0 0 1 10 0 0 1 0 1 0 00 0 1 0 0 1 0 10 0 1 1 0 1 1 00 1 0 0 0 1 1 10 1 0 1 1 0 0 00 1 1 0 1 0 0 10 1 1 1 1 0 1 01 0 0 0 1 0 1 11 0 0 1 1 1 0 01 0 1 0 x x x x1 0 1 1 x x x x1 1 0 0 x x x x1 1 0 1 x x x x1 1 1 0 x x x x1 1 1 1 x x x x

K-maps για ΒCD2EXCS-3

Αναγνωριση κοινων ορων (2 vs 3-level υλοποιηση)• W= A + BC + BD • X = B’C+B’D+BC’D’• Y=CD+C’D’• Z=D’

Αναγνωριση κοινων ορων (2 vs 3-level υλοποιηση)• W= A + BC + BD = A + B (C+D)• X = B’C+B’D+BC’D’=B’(C+D)+BC’D’• Y=CD+C’D’ = CD• Z=D’

ΒCD2EXCS-3 3-levelΥλοποιηση

BCD-2-Seven-Segment-Decoder

• Πόσα και ποιά σηματα εισοδου/εξοδου:

Βασικα συνδυαστικα κυκλωματα

• Αποκωδικοποιητες (decoders)• Κωδικοποιητες (encoders)

– Κωδικοποιητές Προτεραιότητας-Priority Encoder

• Πολυπλεκτες (multiplexers - muxes)• Αποπλεκτες (demultiplexers)• Αθροιστες (adders)• Αφαιρετες • Προσημασμενοι αριθμοι (signed numbers)

Αποκωδικοποιητες(Decoders)

• Κυκλωματα με n εισοδους και m<2n εξοδους • n-m decoders: καθε εξοδος ενα ελαχιστορος

Αποκωδικοποιητες(Decoders)

πχ 3-8 decoder

Αποκωδικοποιητες(Decoders)

πχ 3-8 decoder

Αποκωδικοποιητες(Decoders)

Αποκωδικοποιητες(Decoders)

Αποκωδικοποιητες(Decoders)

2-4 Decoder με enable (high active)

D0

D1

D2

D3

A0

A1

E

2-4 Decoder με enable (low active)

D0’

D1’

D2’

D3’

A0

A1

E’

2-4 Decoder με enable

D0’

D1’

D2’

D3’

A0

A1

E

2-4 Decoder με enable

D0’

D1’

D2’

D3’

A0

A1

E

3-8 decoder με 2-4 decoders

3-8 decoder με 2-4 decoders

3-8 decoder με 2-4 decoders

enable χρησιμο για ιεραρχικο σχεδιασμο

3-8 decoder με 2-4 decoders

Υλοποιηση Κυκλωματων Decoder-OR• S(X,Y,Z) =Σm(1,2,4,7), C(X,Y,Z)=Σm(3,5,6,7)

Υλοποιηση Κυκλωματων Decoder-OR• S(X,Y,Z) =Σm(1,2,4,7), C(X,Y,Z)=Σm(3,5,6,7)

• F απο το F’ και ΝΟR, ποτε;

Υλοποιηση Κυκλωματων Decoder-OR• Decoders μπορούν να υλοποιήσουν εκφράσεις

που ειναί σε μορφή:

Υλοποιηση Κυκλωματων Decoder-OR• Decoders μπορούν να υλοποιήσουν εκφράσεις

που ειναί σε μορφή: Αθροισμα Ελαχιστόρων• Εάν έχετε εκφρασεις σε αλλή μορφή θα τις

μετατρεψετε σε προτυπή μορφή Άθροισμα Ελαχιστόρων

Κωδικοποιητης(Encoders)

• Κυκλωματα με <2n εισοδους και n εξοδους

Κωδικοποιητης(Encoders)

• Το πολυ ενα σημα εισοδου εχει τιμη 1

Κωδικοποιητης(Encoders)

• Το πολυ ενα σημα εισοδου εχει τιμη 1

Κωδικοποιητης(Encoders)

• Το πολυ ενα σημα εισοδου εχει τιμη 1

Κωδικοποιητης(Encoders)

• Το πολυ ενα σημα εισοδου εχει τιμη 1

• A0=• A1=• A2=

Κωδικοποιητης(Encoders)

• A0=D1+D3+D5+D7• A1=D2+D3+D6+D7• A2=D4+D5+D6+D7 • οταν ολα τα σηματα εισοδου ειναι 0, εξοδος ιδια με D0=1

Κωδικοποιητης με Προτεραιοτητα(Priority Encoder)• Οριζει το τι συμβαινει οταν δυο ή περισσοτερα

inputs ειναι ενεργα• Xρηση valid bit

– σημά που δεικνύει εάν η είσοδος είναι “σωστού” τύπου

Κωδικοποιητης με Προτεραιοτητα(Priority Encoder)• Οριζει το τι συμβαινει οταν δυο ή περισσοτερα

inputs ειναι ενεργα• Xρηση valid bit

Κωδικοποιητης με Προτεραιοτητα(Priority Encoder)• Οριζει το τι συμβαινει οταν δυο ή περισσοτερα

inputs ειναι ενεργα• Xρηση valid bit

Κωδικοποιητης με Προτεραιοτητα(Priority Encoder)• Οριζει το τι συμβαινει οταν δυο ή περισσοτερα

inputs ειναι ενεργα• Xρηση valid bit

• Yλοποίηση...

Βασικα συνδυαστικα κυκλωματα

• Αποκωδικοποιητες (decoders)• Κωδικοποιητες (encoders)

– Κωδικοποιητές Προτεραιότητας-Priority Encoder

• Πολυπλεκτες (multiplexers - muxes)• Αποπλεκτες (demultiplexers)• Αθροιστες (adders)• Αφαιρετες • Προσημασμενοι αριθμοι (signed numbers)

Πολυπλεκτες (Multiplexers/mux)

• Kυκλωματα με 2n σηματα εισοδου, και 1 σημα εξοδου. Με χρηση n εισοδων επιλογης επιλεγεται ποιο σημα απο την εισοδο θα περασει στην εξοδο

2x1 MUX

S

B

A

F

S’2x1 MUX

S F0 A1 B

2x1 MUX

S

B

A

F

S’2x1 MUXABS F0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

S F0 A1 B

2x1 MUX

S

B

A

F

S’2x1 MUXABS F0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 11 0 1 01 1 0 11 1 1 1

S F0 A1 B

2x1 MUX

00 01 B11 10

01

A 11 1 1

S

F = AS’+ BS

2x1 MUX

S

B

A

F

S’

4x1 Mux

4x1 MUX

4x1 Mux

Παραλληλο ΜUX:επιλογη μεταξυ δυο 4 bit αριθμων

Tετραπλός 2x1 ΜUX

(Quad 2x1 MUX)

Παραλληλο ΜUX:επιλογη μεταξυ δυο 4 bit αριθμων

Παραλληλο ΜUX:επιλογη μεταξυ δυο 4 bit αριθμων

Υλοποιηση Κυκλωματων με Πολυπλεκτες• F(X,Y,Z)=Σm(1,2,6,7)

Υλοποιηση Κυκλωματων με Πολυπλεκτες

Υλοποιηση Κυκλωματων με Πολυπλεκτες

Υλοποιηση με ΜUXes F(A,B,C,D)=Σm(1,3,4,11,12,13,14,15)

Aποπλεκτης/Αποκωδικοποιητης

• 1 εισοδο, 2n εξοδους και n εισοδους επιλογης

• Iδιο με αποκωδικοποιητη με enable

Σχεδιασμός Συνδυαστικής Λογ. Combinational Logic Design• Εισαγωγή• Mεθοδολογιες Αναλυσης και Σχεδιασμου• Βασικα συνδυαστικα κυκλωματα

– κωδικοποιητες, αποκωδικοποιητες, πολυπλεκτες, αποπλεκτες, αθροιστες, αφαιρετες (προσημασμενοι αριθμοι)

• Ιεραρχια, Πανω προς Κατω, CAD, HDL,Synthesis

• Γλωσσες Περιγραφης Υλικου(ΗDL): VHDL

Δυαδικη Προσθεση:Ηalf Adder ή 2-2 προσθεση

Δυαδικη Προσθεση:Ηalf Adder ή 2-2 προσθεση

S=

C=

Δυαδικη Προσθεση:Ηalf Adder ή 2-2 προσθεση

S=XY’+X’Y=XY

C=XY

Δυαδικη Προσθεση:Ηalf Adder ή 2-2 προσθεση

S=XY’+X’Y=XY

C=XY

Δυαδικη Προσθεση: Full Adder ή 3-2 προσθεση

Δυαδικη Προσθεση: Full Adder ή 3-2 προσθεση

Δυαδικη Προσθεση: Full Adder ή 3-2 προσθεση

Δυαδικη Προσθεση: Full Adder ή 3-2 προσθεση

Δυαδικη Προσθεση: Full Adder ή 3-2 προσθεση

XY XYZ

XY

Z(XY)

XY+Z(XY)

Δυαδικη Προσθεση: Full Adder ή 3-2 προσθεση

FULL-ADDER

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

1011 + 0011

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

1 0 1 1

1011 + 0011

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

1 0 0 0 1 1 1 1

1011 + 0011

0

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

1 0 0 0 1 1 1 1

1011 + 0011

0

0 1 1 1 0

110

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

4 bit Addition

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

Παραλληλη Προσθεση δυο n-bit αριθμων: RCA(ripple-carry-adder)

– το carry-out του adder j ειναι carry-in στον adder j+1 (πχ 1011+0011)

– Πινακας αληθειας 2? σειρές

• Γιγαντιαια Αρχη Σχεδιασμου: χρηση Γιγαντιαια Αρχη Σχεδιασμου: χρηση βασικων βασικων blocksblocks για κτισιμο πιο μεγαλωνγια κτισιμο πιο μεγαλων

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Βασικες Αρχες, Τεχνικες και Εργαλεια

Σχεδιασμου:Ιεραρχικος Σχεδιασμος

Ιεραρχία

• Απλοποίηση (simplification)– Πχ για 9input odd: 10 αντι 32 σχηματα

• ‘‘Φυλλα’’: βασικα τουβλα προσχεδιασμενα με γνωστη συμπεριφορα (βασικα blocks, βιβλιοθηκη) - primitive and predefined blocks

• Επαναχρησιμοποίηση (reuse)

Πανω προς Κατω/Κατω προς Πανω Σχεδιασμος και CAD• Εμεις περισσοτερο κατω προς πανω• CAD: εργαλεια για computer aided design

– παρεχουν/περιεχουν μοντελλα συμπεριφορας για βασικες πυλες και κυκλωματα απο βιβλιοθηκη

• λογικη, ηλετρονικη, χρονος αναμεταδοσης, μεγεθος

– επαληθευση με προσομοιωση– υλοποιηση με synthesizers

Hardware Description Languages

• HDL (vhdl και verilog): γλωσσες προγραμματισμου για λειτουργικοτητες στο υλικο

• Παρεχουν εναλλακτικο τροπο περιγραφη λειτουργικοτητας ψηφιακων συστηματων: σχηματα ή HDL (ή και τα δυο)

• Τυποποιηση– ευρειας χρησεως στην βιομηχανια

Ροή Λογικής Σύνθεσης(Logic Synthesis Flow)

ic

fpga

CLA (carry-lookahead-adder)

• RCA χρονος μεταδοσης αργος: σειριακη συνδεση αθροιστων.

• Critical Path (κρισιμο μονοπατι) C0 το Cn

• για n αθροιστες t=O(n) ή 2n+2 χρονος πυλων• Γιατι 2n+2;

A3:0+B3:0+c0FA

FA

FA

FA

A3:0+B3:0+c0

A0B0

c0

A1B1

A2B2

A3B3

S0

S1

S2

S3

c4

?

?

?

A0B0

c0

A1B1

A2B2

A3B3

S0

S1

S2

S3

c1

c2

c3

c4

A0B0

c0

A1B1

A2B2

A3B3

S0

S1

S2

S3

c1

c2

c3

c4

CLA (carry-lookahead-adder)

• RCA χρονος μεταδοσης αργος: σειριακη συνδεση αθροιστων.

• Critical Path (κρισιμο μονοπατι) C0 το Cn

• για n αθροιστες t=O(n) ή 2n+2 χρονος πυλων• Γιατι 2n+2;• CLA, πιο πολυπλοκο υλικο αλλα t=O(logn)• Iδεα: υπολογισμος carry να γινεται γρηγορα με

2-level υλοποιηση/ιεραρχια

Ποτε εχουμε carry-out;

• Θεση j: – SSjj=A=AjjBBjjCCjj

– Cj+1=AjBj+Cj(Aj+Bj)= AjBj+Cj(AjBj)– GGjj = A = AjjBBjj generatesgenerates– PPjj = A = AjjBBjj propagatespropagates

• Cj+1= Gj+ Pj Cj

Partial Full Adder (PFA)

Full-Adder με PFA

C2 C1

RCA με PFAs

Ποτε εχουμε carry-out;(συν)• Θεση j:

– Sj=AjBjCj

– Cj+1=AjBj+Cj(Aj+Bj)= AjBj+Cj(AjBj)– Gj = AjBj generates– Pj = AjBj propagates

• Cj+1= Gj+ Pj Cj

• C1= G0+ P0 C0

• C2=G1+P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0

• C3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0)=G2+P2G1+P2P1G0+P2P1P0C0

Group Generate και Propagate

• P0-3 = P3 P2 P1 P0

• G0-3 = G3+P3G2+P3P2G1+P3P2P1G0

• Διευκολυνση ιεραρχιας/επαναχρησιμοποιηση για 16 ή 64 bit αθροιστη

Xρονος Μεταδοσης:RCAvs CLA

• XOR: χρονος μεταδοσης δυο πυλων (2 gate time delay)

• 4 bit RCA:• 4 bit CLA:• 16 bit: 34 vs 10• 64 bit: 130 vs 14

Αριθμητικη Δυαδικων Αριθμων

• Απροσημων Αριθμων (unsigned)(Κεφ. 1)• Προσημασμενοι Αριθμοι (signed)

– Συμπληρωματα Αριθμων (complements)

• Yπερχειλιση• Πολλαπλασιασμος• ΒCD

Αφαιρεση Α-Β (Α,Β απροσημοι)

• Mεθοδος 1– εαν (Α>Β) Α-Β αλλιως -(Β-Α)– πως συγκρινουμε δυο αριθμους;– οχι αποτελεσματικη/πρακτικη μεθοδος

• Μεθοδος 2– αφαιρεση Α-Β – εαν δεν παραγει κρατουμενο στην msb θεση

ΟΚ(θετικο ή μηδεν)– αλλιως χρειαζεται προσαρμογη (αρνητικο). Πως;

Παραδείγματα

100000 010101 -

10011 11110-

Παραδείγματα

0111110 100000 010101 - 001011

111000 10011 11110- 10101

1

‘‘Φάντασμα’’ 1

0

Προσαρμογη:συμπληρωμα προς 2

• Oταν Α<Β τοτε αφαιρεση παραγει Α-Β+2n

– oπου n ειναι ο αριθμος bits του Α (ή Β)– σωστη τιμη……..

Προσαρμογη:συμπληρωμα προς 2

• Oταν Α<Β τοτε αφαιρεση παραγει Α-Β+2n

– oπου n ειναι ο αριθμος bits του Α (ή Β)– σωστη τιμη 2n -(Α-Β+2n) = -(Β-Α)

• Δηλαδη οταν υπαρχει κρατουμενο στο msb στην τιμη του Α-Β, τοτε σωστη τιμη δινεται με το να αφαιρεσουμε την διαφορα απο το 2n (και αρνητικο προσημο)

• Συμπληρωμα προς 2 (συντομα)

Υλοποίηση Αθροιστή/Αφαιρέτη

Sub/Add

Υλοποίηση Αθροιστή/Αφαιρέτη

Sub/Add

Υλοποίηση Αθροιστή/Αφαιρέτη

Sub/Add

Υλοποιηση Προσθετη/Αφαιρετη

ΤΡΟΜΕΡΑ ΑΣΧΗΜΗ ΥΛΟΠΟΙΗΣΗ

Συμπληρωματα

• Για καθε βαση-r υπαρχουν 2 συμπληρωματα• Συμπληρωμα ως προς r• Συμπληρωμα ως προς r-1

– Για r=2, συμπληρωμα ως προς 2 και ως προς 1 (2΄s και 1’s complement)

– Για r=10, συμπληρωμα ως προς 10 και ως προς 9 (10΄s και 9’s complement)

Συμπληρωματα για Δυαδικους

• Ν δυαδικος αριθμος με n ψηφια• 1’s: (2n-1)-N

– ιδιο με bit flipping, γιατι;– Ν + (2n-1)-N = 2n-1– 2n-1 - ((2n-1)-N) = Ν

• 2’s: 2n-N για Ν0, και 0 για Ν=0– ιδιο με το να παραμεινουν ιδια τα bits στις ls θεσεις μεχρι

το πρωτο 1, και μετα flip μεχρι msb– 2n -N = (2(2nn-1)-N-1)-N+1– 2n - (2n-N) = Ν– Ν + (2n-N) = 2n

1011

0100

1111

1011

0101

10000

Αφαιρεση με Συμπληρωματα

• Α - Β, αριθμοι με n ψηφια– Α + 2n - Β (με 2’s)– εαν αποτελεσμα εχει κρατουμενο από msb ΟΚ– αλλιως, (Β>Α)

• αποτελεσμα σε 2’s: 2n-(B-A)• συμπληρωμα του πιο πανω και αρνητικο προσημο

8 83 - 7+5 15

Αφαιρεση με Συμπληρωματα

• Α - Β, αριθμοι με n ψηφια– Α + 2n - Β (με 2’s)– εαν αποτελεσμα εχει κρατουμενο από msb ΟΚ– αλλιως, (Β>Α)

• αποτελεσμα σε 2’s: 2n-(B-A)• συμπληρωμα του πιο πανω και αρνητικο προσημο

• Πχ Α=1010100, Β=1000011

Παράδειγμα A-B

1010100 2’s 1010100 1’s 1010100 1000011 - 0111101 + 0111100 +

10010001 10010000

1+ 0010001

Παράδειγμα A-B

1010100 2’s 1010100 1’s 1010100 1000011 - 0111101 + 0111100 +

10010001 10010000

1+ 0010001

Παράδειγμα A-B

1010100 2’s 1010100 1’s 1010100 1000011 - 0111101 + 0111100 +

10010001 10010000

1+ 0010001

Παράδειγμα A-B

1010100 2’s 1010100 1’s 1010100 1000011 - 0111101 + 0111100 +

10010001 10010000

1+ 0010001

Παράδειγμα A-B

1010100 2’s 1010100 1’s 1010100 1000011 - 0111101 + 0111100 +

10010001 10010000

1+ 0010001

Παράδειγμα A-B

1010100 2’s 1010100 1’s 1010100 1000011 - 0111101 + 0111100 +

10010001 10010000

1+ 0010001

Παράδειγμα A-B

1010100 2’s 1010100 1’s 1010100 1000011 - 0111101 + 0111100 +

10010001 10010000

1+ 0010001

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Παράδειγμα Β-Α

1000011 2’s 1000011 1’s 1000011 1010100 - 0101100 + 0101011 +

1101111 1101110 -(0010001) -(0010001)

Αφαιρεση με Συμπληρωματα

• Α - Β, αριθμοι με n ψηφια– Α + 2n - Β (με 2’s)– εαν αποτελεσμα εχει κρατουμενο από msb ΟΚ– αλλιως, (Β>Α)

• αποτελεσμα σε 2’s: 2n-(B-A)• συμπληρωμα του πιο πανω και αρνητικο προσημο

• Πχ Α=1010100, Β=1000011– A-B για 2’s and 1’s– 1’s: end-around carry ή 1’s

• Συμπληρωματα: αφαιρεση γινεται προσθεση!• Προσημο αναπαραστατε με ένα bit

Δυαδικοι Προσθετης/Αφαιρετης Απροσημων Αριθμων

4-bit προσθετης

S=0: A συν B

S=1: A πλυν Β => Α + 2n- B

Δυαδικοι Προσθετης/Αφαιρετης Απροσημων Αριθμων

4-bit αθροιστής

Δυαδικοι Προσθετης/Αφαιρετης Απροσημων Αριθμων

• οταν c4=1 s3:s0 ορθη τιμη• οταν c4=0 s3:s0 τιμη σε 2’s μορφη

4-bit προσθετης

Ακέραιοι Αριθμοί με Πρόσημο(signed integer numbers)• MSB (LSB) bit για προσημο

– για ΕΠΛ121 ΜSB– 0 θετικος, 1 αρνητικος

• H σημασια δεν την δεικνυει ο αριθμος αλλα η χρηση– Προεκταση προγραμματισμου: εντολη καθοριζει

πως θα επεξεργαστουν τα bits (unsigned ή signed)

Προσημασμενου Μεγεθους (signed-magnitude)• msb προσημο• Aριθμος με n ψηφια:Α=(-1)αn-1x(an-2an-3..a1a0)

– πχ με 5 ψηφια• 01001 = 1 x (1001) = 9, (unsigned 9)• 11001 = -1 x (1001) = -9, (unsigned 25)

• Δυο τιμες για 0: +/- 0• Aριθμητικη: διαφορετικη επεξεργασια προσημων και

τιμων– για αφαιρεση μπορει να χρειαστει και υπολογισμο

συμπληρωματος• Σπανια χρησιμοποιουνται σε συστηματα

Προσημασμενοι Δυαδικοι με Συμπληρωματα• 1΄s: δυο τιμες για 0 (00..0 και 11..1)

– με 5 ψηφια• 9 = 01001, -9=10110

• 2’2’s s το πιο διαδεδομενο συστημα το πιο διαδεδομενο συστημα– μοναδικη τιμη για 0– πεδιο τιμων με n bits:………….– πολυ χρησιμες αριθμητικες ιδιοτητες– με 5 ψηφια

• 9 = 01001 (unsigned 9, 1’s 9)• -9= 10111 (unsigned 23, 1’s -8)• 10010 = , 11111 = ...

4-bit Αριθμοί με Πρόσημο

4-bit Αριθμοί με Πρόσημο

4-bit Αριθμοί με Πρόσημο

4-bit Αριθμοί με Πρόσημο

4-bit Αριθμοί με Πρόσημο

4-bit Αριθμοί με Πρόσημο

Προσθεση/Αφαιρεση Αριθμων σε μορφη signed-magnitude• Α+Β

– εαν αριθμοι εχουν ιδιο προσημο (+/+ ή --) τοτε προσθεσε magnitudes και διατηρησε ιδιο προσημο

– αλλιως (+/- ή -/+) • αφαιρεσε Β απο Α• εαν δεν παραγεται carry στο msb, σωστη τιμη και προσημο του

Α• αλλιως (παραγεται carry), 2’s του αποτελεσματος και προσημο

αντιθετο του Α

• Πιο απλος τροπος με 2’s• Πχ Α=00011001, Β=10100101

Προσθεση/Αφαιρεση Αριθμωνσε μορφη signed 2’s• Προσθεσε αριθμους και αγνοα κρατουμενο

απο την θεση του προσημου• Παντοτε αποτελεσμα στην σωστη μορφη• Αφαιρεση μπορει να μετατραπει σε προσθεση

παιρνωντας το 2’s του αφαιρετη (αναλογο αλλαγης προσημου)

• πχ 6+13, -6+13, 6-13, -6+(-13)• -6 - (-13), 6-(-13)

Δυαδικος Προσθετης/Αφαιρετης Αριθμων σε 2’s complement

4-bit προσθετης

Yπερχειλιση(overflow)

• Οταν η τιμη του αποτελεσματος πιο μεγαλη απο την μεγιστη ή μικροτερη απο την ελαχιστη που μπορει να απεικονιστει– πχ 1000+1001 = 10001– το αθροισμα δυο αριθμων με n-bits μπορει να

χρειαστει n+1 bits

• Υλικο πρεπει να αναγνωριζει τετοιες περιπτωσεις• Προεκταση προγραμματισμου: τερματιζει το

προγραμμα, αγνοηται, ή …

Αναγνωριση Υπερχειλισης (overflow detection)• Eξαρταται απο την απεικονιση• Απροσημους carry out απο msb• Προσημασμενους μονο για +/+ ή -/-

οταν το carry-in στην msb θεση διαφορετικο απο το carry-out. Γιατι;

• Yπερχειλιση = (cncn-1)

Διαβαστε 3-11 και 3-12

• Πολλαπλασιασμος• Aριθμητικη ΒCD