Boolean Algebra

22
ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ Η ΛΟΓΙΚΗ BOOLE Η λογική Boole είναι κομμάτι των μαθηματικών που ασχολείται με τους κανόνες χειρισμού των δύο λογικών τιμών αληθείας true και false . Ονομάστηκε από τον Άγγλο μαθηματικό George Boole (1810-1864) που το 1847 δημοσίευσε την πρώτη πλήρη διερεύνηση των αρχών της μαθηματικής λογικής. Άλγεβρα Boole είναι ένα σύνολο με δύο διμελείς πράξεις (σύζευξη, διάζευξη), μία μονομελή (άρνηση) και δύο σταθερές το 1 (true) και το 0 (false) Γιατί η λογική Boole είναι τόσο σχετική με τους υπολογιστές? Απευθείας αντιστοίχιση στα δυαδικά ψηφία! 1 = true, 0 = false Η λογική Boole (και η άλγεβρα Boole) χρησιμοποιείται σε ολόκληρη την επιστήμη της πληροφορικής Το πώς εκφράζονται και υπολογίζονται οι λογικές παραστάσεις είναι ιδιαίτερα κρίσιμη ικανότητα σε κάθε χρήστη/προγραμματιστή που θα χρησιμοποιήσει μία επίσημη γλώσσα (όπως η "C", Pascal, Basic, Visual Basic, SQL κ.α.) ή μία γλώσσα μακροεντολών και τύπων όπως στο MS Excel ή στο κέλυφος εντολών ενός λειτουργικού συστήματος. Boolean Εκφράσεις Έκφραση Boole είναι κάθε Λογική Πρόταση που έχει ως αποτέλεσμα ή true (αληθής) ή false (ψευδής). Είναι η έκφραση 1+3 λογική έκφραση Boole? Όχι, δεν αποτιμάται σε true ή false. Παραδείγματα απλών Boolean εκφράσεων: X > 100 2 > 3 A = 100 X < Y+ 5 Παραδείγματα σύνθετων Boolean εκφράσεων: Το Χ μεγαλύτερο από 200 και μικρότερο από 1000 Οι αριθμοί Α και Β είναι και οι δύο θετικοί αριθμοί Το τρίγωνο με πλευρές Α, Β, Γ είναι ισόπλευρο Το τρίγωνο με γωνίες α, β, γ είναι ορθογώνιο Ο αριθμός Α είναι θετικός ή ο Β αρνητικός Το εμβαδόν τριγώνου με βάση Β και ύψος Υ είναι μεγαλύτερο από 20 και μικρότερο από 50 Το συνημίτονο γωνίας Φ δεν είναι μεγαλύτερο από μηδέν Το σημείο με συντεταγμένες Χ και Υ βρίσκεται στο πρώτο τεταρτημόριο Το a είναι μικρότερο από το b και το b είναι μικρότερο από το c ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 1

Transcript of Boolean Algebra

Page 1: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Η ΛΟΓΙΚΗ BOOLE

• Η λογική Boole είναι κοµµάτι των µαθηµατικών που ασχολείται µε τους κανόνες χειρισµού των δύο λογικών τιµών αληθείας true και false.

– Ονοµάστηκε από τον Άγγλο µαθηµατικό George Boole (1810-1864) που το 1847 δηµοσίευσε την πρώτη πλήρη διερεύνηση των αρχών της µαθηµατικής λογικής.

– Άλγεβρα Boole είναι ένα σύνολο µε δύο διµελείς πράξεις (σύζευξη, διάζευξη), µία µονοµελή (άρνηση) και δύο σταθερές το 1 (true) και το 0 (false)

• Γιατί η λογική Boole είναι τόσο σχετική µε τους υπολογιστές? – Απευθείας αντιστοίχιση στα δυαδικά ψηφία!

1 = true, 0 = false

• Η λογική Boole (και η άλγεβρα Boole) χρησιµοποιείται σε ολόκληρη την επιστήµη της πληροφορικής

– Το πώς εκφράζονται και υπολογίζονται οι λογικές παραστάσεις είναι ιδιαίτερα κρίσιµη ικανότητα σε κάθε χρήστη/προγραµµατιστή που θα χρησιµοποιήσει µία επίσηµη γλώσσα (όπως η "C", Pascal, Basic, Visual Basic, SQL κ.α.) ή µία γλώσσα µακροεντολών και τύπων όπως στο MS Excel ή στο κέλυφος εντολών ενός λειτουργικού συστήµατος.

Boolean Εκφράσεις • Έκφραση Boole είναι κάθε Λογική Πρόταση που έχει ως αποτέλεσµα ή true (αληθής) ή false

(ψευδής). • Είναι η έκφραση 1+3 λογική έκφραση Boole?

– Όχι, δεν αποτιµάται σε true ή false.

• Παραδείγµατα απλών Boolean εκφράσεων: X > 100 2 > 3 A = 100 X < Y+ 5

• Παραδείγµατα σύνθετων Boolean εκφράσεων: Το Χ µεγαλύτερο από 200 και µικρότερο από 1000 Οι αριθµοί Α και Β είναι και οι δύο θετικοί αριθµοί Το τρίγωνο µε πλευρές Α, Β, Γ είναι ισόπλευρο Το τρίγωνο µε γωνίες α, β, γ είναι ορθογώνιο Ο αριθµός Α είναι θετικός ή ο Β αρνητικός Το εµβαδόν τριγώνου µε βάση Β και ύψος Υ είναι µεγαλύτερο από 20 και µικρότερο από 50 Το συνηµίτονο γωνίας Φ δεν είναι µεγαλύτερο από µηδέν Το σηµείο µε συντεταγµένες Χ και Υ βρίσκεται στο πρώτο τεταρτηµόριο Το a είναι µικρότερο από το b και το b είναι µικρότερο από το c

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 1

Page 2: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Πράξεις και τελεστές • Τελεστής ονοµάζεται µία πράξη µε ένα συµβολικό όνοµα, η οποία εκτελείται µέσα σε µία παράσταση ή έκφραση και δίνει ένα αποτέλεσµα. Στην πληροφορική συναντάµε εκφράσεις µε:

Αριθµητικές πράξεις (ή Αριθµητικούς τελεστές) + (πρόσθεση), - (αφαίρεση), * (πολλαπλασιασµός), / (διαίρεση ή ακέραια διαίρεση), % (υπόλοιπο διαίρεσης ακεραίων) που συνδυάζουν απλές αριθµητικές εκφράσεις για να σχηµατίσουν σύνθετες και να δώσουν ένα αριθµητικό αποτέλεσµα. Παραδείγµατα (3+4)*(7-2) , Α+4*6

Πράξεις σύγκρισης (ή τελεστές σύγκρισης) < (µικρότερο), > (µεγαλύτερο), = (ίσο), <= (µικρότερο ή ίσο), >= (µεγαλύτερο ή ίσο), <> (άνισο) που συνδυάζουν αριθµητικές εκφράσεις για να σχηµατίσουν απλές λογικές εκφράσεις και να δώσουν µία λογική τιµή true ή false ως αποτέλεσµα. Παραδείγµατα 4+6>=10 , Α+3>Β

Λογικές πράξεις (ή λογικούς τελεστές): NOT (άρνηση), AND (σύζευξη), OR (διάζευξη) που συνδυάζουν απλές λογικές εκφράσεις για να σχηµατίσουν σύνθετες λογικές εκφράσεις. Παραδείγµατα (Χ>0) AND (Υ>0) , (Α+3>Β) AND (Α>0)

Λογικές Πράξεις Boole • Για να κατασκευάσουµε από απλές λογικές εκφράσεις Boole πιο σύνθετες χρησιµοποιούµε τις βασικές λογικές πράξεις τις άλγεβρας Boole:

NOT (άρνηση ή λογική αντιστροφή) AND (σύζευξη ή λογικό γινόµενο) OR (διάζευξη ή λογικό άθροισµα)

• Παραδείγµατα: X > 100 AND X<250 (σηµαίνει Χ µεταξύ 100 και 250) A=0 OR B=0 (σηµαίνει Α µηδέν Ή Β µηδέν) A>0 AND B>0 (σηµαίνει Α θετικός ΚΑΙ Β θετικός)

• Μία λογική πράξη δηλώνεται από ένα σύµβολο και η συνάρτησή της ορίζεται από έναν πίνακα τιµών αληθείας

Η πράξη NOT (άρνηση) • Η άρνηση µιας λογικής πρότασης δίνει αποτέλεσµα την αντίθετη τιµή αληθείας.

Πράξη Συµβολισµός Εναλλακτικός συµβολισµός NOT a ā a’

• Έστω a µία λογική πρόταση, τότε ο πίνακας τιµών αληθείας είναι:

FalseTrueTrueFalse

NOT a a

FalseTrueTrueFalse

NOT a a

• NOT ( X > 0 ) (αν Χ είναι 10 δίνει NOT true false) • NOT ( -5 > 0 ) (δίνει NOT false true)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 2

Page 3: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Η πράξη AND (σύζευξη) • Η σύξευξη δύο λογικών προτάσεων είναι True (αληθής) όταν και οι δύο προτάσεις είναι True.

Πράξη Συµβολισµός a AND b a • b

• Έστω a και b δύο λογικές προτάσεις, τότε ο πίνακας τιµών αληθείας είναι :

TrueTrueTrueFalseFalseTrueFalseTrueFalseFalseFalseFalse

a AND b ba

TrueTrueTrueFalseFalseTrueFalseTrueFalseFalseFalseFalse

a AND b ba

• (X>0) AND (X<20) (αν Χ είναι 10 δίνει αποτέλεσµα true AND true true)

Η πράξη OR (∆ιάξευξη) • Η διάξευξη δύο προτάσεων είναι αληθής όταν τουλάχιστον η µία από τις δύο αρχικές προτάσεις είναι True

Πράξη Συµβολισµός a OR b a + b

• Έστω a και b δύο λογικές προτάσεις, τότε ο πίνακας τιµών αληθείας είναι :

TrueTrueTrueTrueFalseTrueTrueTrueFalseFalseFalseFalse

a OR b ba

TrueTrueTrueTrueFalseTrueTrueTrueFalseFalseFalseFalse

a OR b ba

• (X<0) OR (X<20) (αν Χ είναι 10 δίνει false OR true true)

Η σειρά των λογικών πράξεων • Η σειρά προτεραιότητας όλων των πράξεων σε µία σύνθετη λογική έκφραση είναι πρώτα οι αριθµητικές, έπειτα οι συγκρίσεις και έπειτα οι λογικές πράξεις

• Η σειρά µε την οποία γίνονται οι λογικές πράξεις είναι πρώτα οι NOT έπειτα οι AND και τέλος οι OR NOT (άρνηση ή λογική αντιστροφή) AND (σύζευξη ή λογικό γινόµενο) OR (διάζευξη ή λογικό άθροισµα)

• Πράξεις µε ίδια σειρά, όπως πολλές AND, συνήθως γίνονται από αριστερά προς τα δεξιά • Με παρενθέσεις αλλάζει η σειρά. Πρώτα οι πράξεις στις παρενθέσεις

(X=10 OR X=5) AND Χ<0 αν Χ είναι 10 δίνει αποτέλεσµα False X=10 OR X=5 AND Χ<0 αν Χ είναι 10 δίνει αποτέλεσµα True

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 3

Page 4: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

• Αν το Χ είναι 10 και το Υ είναι 15 ποιο το αποτέλεσµα της παρακάτω πρότασης? NOT (X=10) OR NOT (X=5) AND (Y<Χ+5)

πρώτα γίνονται οι αντικαταστάσεις στις µεταβλητές Χ και Υ και οι αριθµητικές πράξεις

έπειτα γίνονται οι συγκρίσεις =, >, < που παράγουν αποτελέσµατα True ή False NOT True OR NOT False AND False

έπειτα οι τελεστές NOT

False OR True AND False

έπειτα οι τελεστές AND False OR False

έπειτα οι τελεστές OR

False

Παραδείγµατα • Αν X=10, Y=15, και Z=20 βρείτε αναλυτικά το αποτέλεσµα των παρακάτω λογικών προτάσεων:

((X=10) OR (Y=10)) AND (Z>X) (X=Y) OR (NOT (X>Z)) NOT ( (X>Y) AND (Z>Y+3) AND (X<Z) ) ((X=Y) AND (X=10) ) OR (Y<Z)

Προβλήµατα • Το εµβαδόν τετραγώνου πλευράς Χ είναι µεγαλύτερο από 20 και µικρότερο από 50 (εµβαδόν=Χ2)

(Χ * Χ > 20) AND (Χ * Χ < 50)

• Το εµβαδόν ορθογωνίου µε κάθετες πλευρές Χ και Υ είναι µεγαλύτερο από 20 (εµβαδόν=ΧΥ) ( Χ * Υ > 20 ) AND ( Χ * Υ < 20 )

• Το σηµείο µε συντεταγµένες Χ και Υ βρίσκεται µέσα στο πρώτο τεταρτηµόριο (Χ > 0) AND (Υ > 0)

• Το σηµείο µε συντεταγµένες Χ και Υ βρίσκεται µέσα στο τρίτο τεταρτηµόριο (Χ < 0) AND (Υ < 0)

• Το τρίγωνο µε γωνίες α, β, γ είναι ορθογώνιο (α = 60) OR (β = 60) OR (γ = 60)

• Η ακτίνα R ενός κύκλου είναι πάνω από 20 και η περίµετρος πάνω από 300 (περίµετρος = 2πR) (R> 20) AND (2 * (3.14159) * R > 300)

• Το εµβαδόν κύκλου ακτίνας R είναι µεγαλύτερο από 200 και µικρότερο από 500 (εµβαδόν = πR2) ( (3.14159) * R * R > 200 ) AND ( (3.14159) * R * R < 500 )

• Ο όγκος σφαίρας ακτίνας R είναι µεγαλύτερος από 300 και µικρότερος από 500 (4/3 πR2) ( (1.33333) * (3.14159) * R * R * R > 200 ) AND ( (1.33333) * (3.14159) * R * R * R < 500 )

• Ο αριθµός a είναι µικρότερος από τον b και ο b είναι µικρότερος από τον c (a < b) AND (b < c)

• Το τρίγωνο µε πλευρές τις Α, Β, Γ είναι ισοσκελές (µπορεί να είναι και ισόπλευρο) (Α=Β) OR (Β=Γ) OR (Γ=Α)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 4

Page 5: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Οι λογικές πράξεις στον προγραµµατισµό • Ο παρακάτω πίνακας δείχνει τους διαφορετικούς συµβολισµούς της άρνησης, σύζευξης και διάζευξης στις γλώσσες προγραµµατισµού και την εφαρµοσµένη πληροφορική

Λογική παράσταση σε NOT a a AND b a OR b

Λογική Boole a′ a • b a + b

Basic/Visual Basic NOT a a AND b a OR b

Pascal NOT a a AND b a OR b

C/C++ ! a a && b a || b

Java ! a a && b a || b

SQL NOT a a AND b a OR b

Ms Excel NOT(a) AND(a;b) OR(a;b)

προτασιακός λογισµός ¬ a a ∧ b a ∨ b

άλγεβρα συνόλων a′ a ∩ b a U b

• Αν και αλλάζει ο συµβολισµός οι τιµές αληθείας των πράξεων της λογικής Boole είναι ίδιοι

Οι λογικές πράξεις ως Χωρικοί τελεστές • Έστω δύο σύνολα Α και Β τα οποία ορίζουν τέσσερις χωρικές περιοχές • Υπάρχουν 24 (16) δυνατοί συνδυασµοί (Boolean expressions) όπου µε τους κωδικούς 1, 2, 3 και

4 ορίζονται οι περιοχές (αντίστοιχα): 1: εκτός των Α και Β,

2: περιοχή που ανήκει αποκλειστικά στο Α, 3: περιοχή που ανήκει και στο Α και στο Β και 4: περιοχή που ανήκει µόνο στο Β.

• µε χρήση των NOT, AND, OR αντί το συµβολισµό της άλγεβρας συνσυνδυασµούς είναι

Α ΟR B = 2, 3, 4 Α AND B = 3 NOT B = 1, 2 Α ΟR (NOT B) = 1, 2, 3 (NOT A) AND (NOT B) = 1 (NOT A) OR (NOT B) = 1, 2, 4 A AND (NOT B) = 2 (A OR B) AND NOT (A AND B) = 2, 4

η τελευταία αντιστοιχεί στην αποκλειστική ∆ιάζευξη (XOR)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 5

∆ιάγραµµα Venn

όλων µερικοί από τους

Page 6: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΤΡΑΝΖΙΣΤΟΡ • Γιατί οι υπολογιστές χρησιµοποιούν δυαδικούς αριθµούς και όχι δεκαδικούς όπως εµείς? • Ο κύριος λόγος είναι: Αξιοπιστία

– Ηλεκτρικές συσκευές εργάζονται άριστα σε ένα δισταθές περιβάλλον, όπου υπάρχουν µόνο δύο σταθερές καταστάσεις (π.χ. on/off).

– Χρησιµοποιώντας δυαδικούς αριθµούς, οι υπολογιστές χρειάζεται να παραστήσουν µόνο δύο ψηφία : 0 και 1

• Μπορούµε θεωρητικά να κατασκευάσουµε έναν υπολογιστή από οποιαδήποτε συσκευή: – Που έχει δύο σταθερές καταστάσεις (η µία θα παριστά το ψηφίο 0, η άλλη το ψηφίο 1) – Όπου οι δύο καταστάσεις διαφέρουν αρκετά (π.χ. On/Off), ώστε η µία να µην µπορεί να αλλάξει κατά λάθος στην άλλη.

– Που είναι δυνατό να ανιχνεύουµε κάθε στιγµή την κατάσταση στην οποία βρίσκεται η συσκευή. – Επιτρέπει την εναλλαγή από τη µία κατάσταση στην άλλη.

• Ονοµάζουµε αυτές τις συσκευές ∆υαδικές συσκευές αποθήκευσης.

• Η δυαδική συσκευή που χρησιµοποιούν σήµερα οι υπολογιστές λέγεται τρανζίστορ: – Βρίσκεται σε µία σταθερή κατάσταση On/Off (περνά ρεύµα ή όχι) – Ανιχνεύεται η τρέχουσα κατάστασή του (µέτρηση της ηλεκτρικής ροής) – Εναλλάσσεται ταχύτατα µεταξύ των δύο καταστάσεων (ένα δισ φορές το second!) – Είναι υπερβολικά µικρό (χωρούν > 10 εκατοµµύρια ανά cm2 )

• Τα τρανζίστορ κατασκευάζονται από ηµιαγωγούς (π.χ. πυριτίου) • Είναι το βασικό δοµικό στοιχείο των υπολογιστών, και λειτουργεί σαν ηλεκτρονικός διακόπτης

– Παλαιότερα: Magnetic Cores, Vacuum Tubes

• Τρανζίστορ, ολοκληρωµένο κύκλωµα (τσιπ), συσκευασίες µνήµης, και Τυπωµένο κύκλωµα

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 6

Page 7: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

• Ένα τρανζίστορ (ή κρυσταλλοτρίοδος) είναι ένα ηλεκτρονικό εξάρτηµα µε τρεις ακροδέκτες. • Οι ακροδέκτες (base:βάση, collector:συλλέκτης, emitter:εκποµπός) µπορούν να βρίσκονται υπό υψηλή ή χαµηλή τάση, που αντιστοιχούν στο λογικό 1 ή 0.

ς

η

• Τρανζίστορ– εννοιολογικό

• Η γραµµή ελέγχου (Βάση)– Εάν εφαρµόζεται τάση

• Ο διακόπτης αποφασίζει – Ανοικτός: δεν περνά ρ– Κλειστός: περνά ρεύµ

• Τα τρανζίστορ είναι βασικ

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦ

βάσ

µοντέλο

Είσ

Έξο

Έλεγχος (Βάση)

Είσ

Έξο

Έλεγχος (Βάση)

ανοίγει/κλείνει το διακόπτη: τότε ο διακόπτης κλείνει , αλλ

για την κατάσταση του τρανζεύµα (κατάσταση 0) α (κατάσταση 1)

ά στοιχεία στις λογικές πύλε

ΟΡΙΚΗ Ι 7

συλλέκτη

εκποµπός

οδος (συλλέκτης)

δος (εκποµπός)

οδος (συλλέκτης)

δος (εκποµπός)

ιώς είναι ανοικτός

ίστορ:

ς και τα λογικά κυκλώµατα

Page 8: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΛΟΓΙΚΕΣ ΠΥΛΕΣ (GATES) • Μια διαφορετική άποψη στις λογικές πράξεις και τις τιµές αληθείας (άλγεβρα Boole) είναι τα κυκλώµατα διακοπτών και τα λογικά κυκλώµατα.

• Μια λογική πράξη µπορεί να θεωρηθεί ως πύλη που συνδυάζει µία ή περισσότερες εισόδους για να παράγει µία έξοδο. Η συµπεριφορά της περιγράφεται από έναν πίνακα αληθείας.

• Μία λογική πρόταση (true/false) παριστάνεται µε έναν ηλεκτρονικό διακόπτη (on/off) σε ένα κύκλωµα διακόπτων.

πρόταση αληθής τότε ο διακόπτης κλειστός και το κύκλωµα διαρρέεται από ρεύµα - αντιστοιχεί στο 1. πρόταση ψευδής τότε ο διακόπτης ανοικτός και το κύκλωµα δεν διαρρέεται από ρεύµα - αντιστοιχεί στο 0.

• Ένα κύκλωµα διακόπτων αντιστοιχεί σε µία σύνθετη πρόταση κατασκευασµένη από άλλες λογικές προτάσεις που συνδέονται µε µία λογική πράξη και λέγεται λογική πύλη (gate)

• Μία λογική πύλη ενεργεί σε έναν αριθµό εισόδων (0 ή 1) για να παράγει µία έξοδο (0 ή 1).

• Οι συνδυασµοί των λογικών πυλών ονοµάζονται λογικά κυκλώµατα

• Όταν αναφερόµαστε στις πύλες, χρησιµοποιούµε τον συµβολισµό των λογικών πράξεων: NOT a ā a AND b a • b a OR b a + b

• Εγγενής κανόνας της σύζευξης (AND) Αν ένα bit στη µία είσοδο είναι 0 δεν χρειάζεται να ελέγξει το άλλο. Το αποτέλεσµα είναι 0 ( 0 ) AND ( X ) 0

• Εγγενής κανόνας της διάζευξης (OR) Αν ένα bit στη µία είσοδο είναι 1 δεν χρειάζεται να ελέγξει το άλλο. Το αποτέλεσµα είναι 1 ( 1 ) OR ( X ) 1

• Οι κανόνες γενικεύονται και σε περισσότερες από µία πύλες συνδεδεµένες παράλληλα

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 8

Page 9: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Κατασκευάζοντας µία πύλη AND • Ένας απλός συνδυασµός από τρανζίστορ σε κατάλληλη διάταξη µπορεί να υλοποιήσει µια λογική πύλη

• Η πύλη AND (σύζευξη) παριστάνεται µε τη σύνδεση διακόπτων (τρανζίστορ) σε σειρά

Κατασκευάζοντας µία πύλη OR • Η πύλη OR (διάξευξη) παριστάνεται µε τη σύνδεση διακόπτων παράλληλα

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 9

Page 10: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Κατασκευάζοντας µία πύλη NOT • Η πύλη NOT (άρνηση) παριστάνεται µε ένα διακόπτη και έναν αντιστάτη σε αντίθετη κατάσταση από το διακόπτη εισόδου

Άλλες πύλες (XOR, NAND, NOR, XNOR) • Οι συνδυασµοί των λογικών πυλών ονοµάζονται λογικά κυκλώµατα • Συνδυασµοί των πυλών NOT, AND και OR αρκούν για όλες τις λογικές πράξεις µε οποιονδήποτε αριθµό εισόδων.

• Όµως υπάρχουν ακόµα 4 σύνθετες λογικές πύλες, που χρησιµοποιούνται

• Πύλη XOR (αποκλειστική ∆ιάζευξη) Η έξοδος είναι αληθής όταν µόνο µία (ακριβώς µία) από τις δύο εισόδους είναι αληθής. Εναλλακτικά, η έξοδος είναι 1 αν οι είσοδοι είναι διαφορετικές. Μπορούµε να εκφράσουµε την λογική πράξη XOR µε βάση τις λογικές πράξεις AND, OR και NOT

a XOR b = (a OR b) AND NOT(a AND b)

• Εγγενής κανόνας της XOR (αποκλειστική ∆ιάζευξη) Αν ένα bit στη µία είσοδο είναι 1 το αποτέλεσµα είναι το αντίστροφο του bit στην άλλη είσοδο ( 1 ) XOR ( X ) NOT ( X )

• Πύλη NAND (άρνηση σύζευξης) Η έξοδος είναι αληθής όταν το πολύ µία από τις δύο εισόδους είναι αληθείς (δηλ. µία ή καµία)

• Πύλη NOR (άρνηση ∆ιάζευξης) Η έξοδος είναι αληθής όταν καµία από τις δύο εισόδους δεν είναι αληθής (δηλ. και οι δύο ψευδείς)

• Πύλη XNOR (άρνηση αποκλειστικής ∆ιάζευξης ή αλλιώς λογική ισοδυναµία) Η έξοδος είναι αληθής όταν οι δύο είσοδοι είναι ίδιες (δηλ. και οι δύο αληθείς ή και οι δύο ψευδείς)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 10

Page 11: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

• Οι πίνακες τιµών αληθείας και οι συµβολισµοί των πυλών XOR, NAND, NOR, XNOR

100011001101001110111000

a XNOR ba NOR ba NAND ba XOR bba

100011001101001110111000

a XNOR ba NOR ba NAND ba XOR bba

• Οι λογικές πράξεις XOR, NAND, NOR, XNOR είναι σύνθετες, παράγονται δηλαδή µε τη βοήθεια των βασικών λογικών πράξεων άρνησης (NOT), σύζευξης (AND) και διάζευξης (OR)

Λογική πράξη Σύνθετη έκφραση Λογική έκφραση Boole

a XOR b (a OR b) AND NOT (a AND b) (a + b) • (a • b)′

a NAND b NOT (a AND b) (a • b)′

a NOR b NOT (a OR b) (a + b)′

a XNOR b (NOT a AND NOT b) OR (a AND b) (a′ • b′) + (a • b)

• Οι παρακάτω ιδιότητες της άρνησης ( ′ ), σύζευξης (•) και διάζευξης (+) χρησιµοποιούνται για τον µετασχηµατισµό µίας σύνθετης λογικής έκφρασης σε µία άλλη ισοδύναµη

– Η αντιµεταθετική ιδιότητα λέει ότι a + b = b + a και a • b = b • a – Η προσεταιριστική ιδιότητα λέει ότι (a • b) • c = a • (b • c) και (a + b) + c = a + (b + c) – Η Ιδιότητα αυτοδυναµίας λέει ότι a + a = a και a • a = a – Ο νόµος διπλής άρνησης (a′ )′ = a – Οι νόµοι του De Morgan είναι (a • b)′ = a′ + b′ και (a + b)′ = a′ • b′ – Η επιµεριστική ιδιότητα της σύζευξης ως προς την διάζευξη a • (b + c) = (a • b) + (a • c) – Η επιµεριστική ιδιότητα της διάζευξης ως προς την σύζευξη a + (b • c) = (a + b) • (a + c)

• Παράδειγµα Π.χ. η έκφραση (a Xnor b) θα είναι ίση µε not (a Xor b) = ((a + b) • (a • b)′ )′ = (a + b)′ + (a • b) =

(a′ • b′) + (a • b) που θα δούµε σαν κύκλωµα σύγκρισης

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 11

Page 12: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Ερωτήσεις επανάληψης • Γράψτε τους πίνακες τιµών αληθείας της άρνησης (NOT) και της σύζευξης (AND). • Γράψτε τους πίνακες τιµών αληθείας της διάζευξης (OR) και της αποκλειστικής διάζευξης (XOR) • ∆ιαπιστώστε χρησιµοποιώντας την αντιµεταθετική ιδιότητα ότι η λογική έκφραση a AND NOT b είναι ισοδύναµη µε την NOT b AND a, και ότι η έκφραση a OR NOT b ισοδύναµη µε NOT b OR a.

• ∆ιαπιστώστε χρησιµοποιώντας το νόµο της διπλής άρνησης ότι η λογική έκφραση NOT NOT NOT b είναι ισοδύναµη µε την NOT b

• Από τους νόµους του De Morgan προκύπτει ότι η σύζευξη (a AND b) µπορεί να εκφραστεί συνδυάζοντας την άρνηση και διάζευξη όπως (a AND b) = NOT (NOT a OR NOT b). ∆είξτε µε έναν πίνακα τιµών αληθείας ότι και η διάζευξη (a OR b) µπορεί να εκφραστεί συνδυάζοντας την άρνηση και σύζευξη σαν NOT (NOT a AND NOT b).

• ∆είξτε µε έναν πίνακα τιµών αληθείας ότι η λογική έκφραση NOT (a AND b) είναι ισοδύναµη µε την NOT a OR NOT b

• ∆είξτε µε πίνακα τιµών αληθείας ότι η αποκλειστική διάζευξη µπορεί να εκφραστεί µε την (a OR b) AND NOT (a AND b) , ή µε την ισοδύναµη έκφραση (a AND NOT b) OR (b AND NOT a)

• ∆ιαπιστώστε χρησιµοποιώντας την αντιµεταθετική ιδιότητα ότι ή έκφραση a AND (b OR c) είναι ισοδύναµη µε την (c OR b) AND a

• ∆ιαπιστώστε χρησιµοποιώντας την επιµεριστική ιδιότητα ότι η λογική έκφραση a AND (b OR c) είναι ισοδύναµη µε την a AND b OR a AND c

• Γράψτε τον πίνακα τιµών αληθείας της λογικής έκφρασης NOT a OR b (ονοµάζεται συνεπαγωγή δύο λογικών προτάσεων, συµβολίζεται µε a → b και σηµαίνει Εάν a τότε b, a µόνο εάν b, a είναι ικανή συνθήκη για b, a είναι αναγκαία συνθήκη για b)

• ∆είξτε µε πίνακες τιµών αληθείας ότι η άρνηση, σύζευξη και διάζευξη είναι δυνατό να εκφραστούν µόνο µε την πράξη NAND σύµφωνα µε τις ακόλουθες ισοδυναµίες: NOT a = a NAND a , a AND b = (a NAND b) NAND (a NAND b) , a OR b = (a NAND a) NAND (b NAND b)

• ∆είξτε µε πίνακες τιµών αληθείας ότι η άρνηση, σύζευξη και διάζευξη είναι δυνατό να εκφραστούν µόνο µε την πράξη NOR σύµφωνα µε τις ακόλουθες ισοδυναµίες: NOT a = a NOR a , a AND b = (a NOR a) NOR (b NOR b) , a OR b = (a NOR b) NOR (a NOR b)

Σύνοψη

• Κατασκευάζουµε τις λογικές πύλες από ηλεκτρονικούς διακόπτες, τα τρανζίστορ. • Τώρα µπορούµε να έχουµε τις πύλες, αντί τα τρανζίστορ, σαν τα βασικά δοµικά στοιχεία των υπολογιστών:

– Υψηλό επίπεδο αφαίρεσης, δεν χρειάζεται να ασχολούµαστε µε λεπτοµέρειες κατασκευής. – Μπορούµε µε τη λογική Boole να κατασκευάσουµε σύνθετα λογικά κυκλώµατα.

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 12

Page 13: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Συµπλήρωµα - λογικές εκφράσεις • Είδαµε ότι η λογική Boole ασχολείται µε τους κανόνες χειρισµού των δύο λογικών τιµών αληθείας true και false (ή αντίστοιχα 1 και 0). Έτσι λέγεται λογική δύο τιµών (δίτιµη λογική).

• Αφού στη λογική Boole υπάρχουν δύο τιµές µόνο θα υπάρχουν συνολικά 22=4 δυνατές µονοµελείς λογικές πράξεις (εκφράσεις µε µία µόνο µεταβλητή Boole) όπως παρακάτω

a a OR NOT a a NOT a a AND NOT a 1 1 1 0 0 0 1 0 1 0

• Η δεύτερη στήλη απεικονίζει και τα δύο σε αληθές, η τρίτη στήλη τα αφήνει αµετάβλητα, η τέταρτη στήλη είναι ο τελεστής NOT και η πέµπτη στήλη απεικονίζει και τα δύο σε ψευδές. Φαίνεται ότι οι τρεις στήλες µπορούν να διατυπωθούν µε συνδυασµούς των NOT, AND, OR και έτσι δεν είναι απολύτως απαραίτητο να υπάρχουν και άλλες.

• Επιπλέον θα υπάρχουν ακριβώς 24 = 16 δυνατοί συνδυασµοί διµελών λογικών εκφράσεων (εκφράσεις µε δύο µεταβλητές Boole ή δύο απλές λογικές εκφράσεις ή δύο εισόδους)

a b 1η 2η 3η 4η 5η 6η 7η 8η 9η 10η 11η 12η 13η 14η 15η 16η 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 0 1 0

• Γιατί 16 δυνατές περιπτώσεις? Θυµηθείτε ότι 4 bit µπορούν να παραστήσουν 16 τιµές (24). • Ποιες είναι? Έχουµε ήδη εξετάσει τις κυριότερες έξι στις λογικές εκφράσεις και λογικές πύλες.

Μία περίπτωση όλα αληθές 1η = a OR NOT a OR b OR NOT b και µία περίπτωση όλα ψευδές 16η = a AND NOT a AND b AND NOT b Τέσσερις περιπτώσεις µε ένα αληθές 12η = a AND b (σύζευξη), 13η = a AND NOT b (a διαφορά b), 14η = b AND NOT a = NOT a AND b (b διαφορά a), 15η = NOT (a OR b) = (NOT a) AND (NOT b) = a NOR b (άρνηση διάζευξης) Τέσσερις περιπτώσεις µε ένα ψευδές 2η = a OR b (διάζευξη), 3η = NOT b OR a = a OR NOT b (b συνεπαγωγή a) 4η = NOT a OR b (a συνεπαγωγή b) 5η = NOT (a AND b) = (NOT a) OR (NOT b) = a NAND b (άρνηση σύζευξης) Έξι περιπτώσεις µε δύο αληθές και δύο ψευδές 6η = a (αφήνει αµετάβλητη την a ) 7η = NOT (a OR b) OR (a AND b) = (NOT a OR b) AND (NOT b OR a) = a XNOR b (άρνηση XOR) 8η = NOT a (αντιστρέφει την a) 9η = b (αφήνει αµετάβλητη την b) 10η = NOT b (αντιστρέφει την b) 11η = (a OR b) AND NOT (a AND b) =(a AND NOT b) OR (b AND NOT a) = a XOR b (αποκλειστική OR)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 13

Page 14: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ • Μια µεταβλητή Boole παίρνει µόνο τις τιµές 0 και 1, και οι λογικές πράξεις χειρίζονται

µεταβλητές αυτού του είδους. • Τα ηλεκτρονικά τεχνολογίας ηµιαγωγών (solid-state electronics) µπορούν να συµπεριφερθούν ως λογικοί τελεστές.

• Οι «µεταβλητές» που χειρίζονται είναι ηλεκτρικές τάσεις. • Σε πολλές περιπτώσεις, αλλά όχι σε όλες, µια υψηλή τάση αντιπροσωπεύει το 1, και µια χαµηλή ή µηδενική την τιµή 0.

• τρανζίστορ πύλες λογικά κυκλώµατα ολοκληρωµένα κυκλώµατα υπολογιστής

Λογικό Κύκλωµα • Ένα Λογικό κύκλωµα αποτελείται από πολλές αλληλοσυνδεδεµένες λογικές πύλες:

– Που µετατρέπουν δυαδικές τιµές εισόδου (0 ή 1) σε δυαδικές τιµές εξόδου (0 ή 1) – Όπου οι τιµές εξόδου εξαρτώνται µόνο από την τρέχουσα κατάσταση των εισόδων

• Αυτού του τύπου τα κυκλώµατα ονοµάζονται Συνδυαστικά Λογικά Κυκλώµατα – Επειδή η έξοδος εξαρτάται µόνο από την τρέχουσα κατάσταση των εισόδων

• Παρακάτω θα δούµε : – Κύκλωµα που εξετάζει αν δύο αριθµού είναι ίσοι. – Κυκλώµατα που προσθέτουν δύο αριθµούς.

Λογικό Κύκλωµα (εξωτερική - εσωτερική άποψη) • Εξωτερική άποψη

– Ένα κύκλωµα µπορεί να έχει οποιοδήποτε αριθµό εισόδων (inputs) και εξόδων (outputs)

• Εσωτερική άποψη – αποτελείται από αλληλοσυνδεδεµένες λογικές πύλες όπου κάθε συνδυασµός εισόδων παράγει πάντα την ίδια έξοδο

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 14

Page 15: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Λογικά Κυκλώµατα και Boolean εκφράσεις • Η σχέση µεταξύ λογικών κυκλωµάτων και Boolean εκφράσεων:

– Κάθε Boolean έκφραση (λογική έκφραση) µπορεί να παρασταθεί µε ένα λογικό κύκλωµα. – Κάθε έξοδος λογικού κυκλώµατος µπορεί να γραφεί σαν Boolean έκφραση.

• Παράδειγµα: Οι εκφράσεις Boole για τις εξόδους του παρακάτω κυκλώµατος. c = ( a OR b) d = NOT ( (a OR b) AND (NOT b) )

Παράδειγµα 1: Κύκλωµα σύγκρισης ισότητας (N bit -Compare)

• Θέλουµε ένα Κύκλωµα που εξετάζει αν δύο αριθµοί N bit είναι ίσοι

0111000000000000 0111000000000000

0111000000000000 0111000000000000

= ===

= ===

• Θα παράγει την ίδια έξοδο (1) αν τα αντίστοιχα bit είναι ίδια. – Πρώτα δηµιουργούµε κύκλωµα σύγκρισης ισότητας που εξετάζει ανά δύο bit (1 bit -compare) – έπειτα χρησιµοποιούµε 16 τέτοια για να συγκρίνουµε δύο 16-bit αριθµούς

Κύκλωµα σύγκρισης ισότητας 1 bit (1-CE)

1 -CE00

1100

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 15

Page 16: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

• Το κύκλωµα που εξετάζει την ισότητα δύο bit έχει: – δύο είσοδοι (οι τιµές των δύο bit) – µία έξοδο. Η έξοδος είναι αληθής όταν οι δύο είσοδοι a,b είναι ίδιες (η έξοδος 0 αν τα δύο bits εισόδου είναι διαφορετικά, 1 εάν τα δύο bits είναι ίδια)

Ο πίνακας αληθείας

111001010100

Έξοδοςba

111001010100

Έξοδοςba

• Άρα αντιστοιχεί στην πύλη XNOR

a XΝOR b = ( a • b ) + ( a • b )( a • b ) + ( a • b )

• Η εσωτερική δοµή του κυκλώµατος σύγκρισης ισότητας 1 bit (1-CE)

Κύκλωµα σύγκρισης N-bit • Το κύκλωµα σύγκρισης Ν-bit θα αποτελείται από πολλά του 1-bit (1-CE) συνδεδεµένα µε πύλες AND

.

0

1

1

1

0

.

0

1

1

1

0

.

0

1

1

1

0

.

0

1

1

1

0

a b

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 16

Page 17: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Παράδειγµα 2: Κυκλώµατα άθροισης (N-add) • Θέλουµε να κατασκευάσουµε ένα κύκλωµα που προσθέτει δύο δυαδικούς ακεραίους.

0111000000000000 0111000000000000

0111000000000000 0111000000000000

+ +++

+ +++

• Πως προσθέτουµε δύο δυαδικούς αριθµούς Με τον ίδιο τρόπο όπως και στους δεκαδικούς (µε κρατούµενα που τα µεταφέρουµε αριστερά) 0+0=0, 0+1=1, 1+1=10 και όταν έχουµε 1+1 και κρατούµενο 1 από προηγουµένως 1+1+1=11

• Θα κατασκευάσουµε ένα κύκλωµα που προσθέτει δύο bit χωρίς να λάβει υπ’ όψη το κρατούµενο (ηµιαθροιστής)

• Έπειτα θα το χρησιµοποιήσουµε σε ένα κύκλωµα (1-ADD) που προσθέτει τρία bits (δύο bits + κρατούµενο), πλήρης αθροιστής

• Τέλος θα χρησιµοποιήσουµε N από τα 1-ADD κυκλώµατα για την πρόσθεση δύο N-bit ακεραίων.

α) Ηµιαθροιστής • Το λογικό κύκλωµα το οποίο υλοποιεί την πρόσθεση χωρίς να λάβει υπόψη του το κρατούµενο από κάποια προηγούµενη στήλη πρόσθεσης λέγεται ηµιαθροιστής (half adder)

half adder11

1100a =a =

b =b = = = κρατούµενοκρατούµενο= = άθροισµαάθροισµα

11

Ο πίνακας αληθείας

1011010101100000

ΚρατούµενοΆθροισµαΕίσοδος bΕίσοδος a

1011010101100000

ΚρατούµενοΆθροισµαΕίσοδος bΕίσοδος a

– Η στήλη του αθροίσµατος (Sum) µπορεί να παραχθεί µε µια πύλη XOR και η στήλη του κρατουµένου (Carry) µε µια πύλη AND.

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 17

Page 18: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

β) Πλήρης αθροιστής • Στην πρόσθεση µε περισσότερα ψηφία, πρέπει να συµπεριληφθεί και το κρατούµενο από την προηγούµενη στήλη πρόσθεσης.

• Ο πλήρης αθροιστής (full adder) είναι ένα κύκλωµα που προσθέτει δύο bit µαζί µε το κρατούµενο από την προηγούµενη πρόσθεση και δίνει ένα άθροισµα και ένα νέο κρατούµενο.

full adder111100

a =a =

b =b == = κρατούµενοκρατούµενο= = άθροισµαάθροισµα

11

ΠροηγούµενοΠροηγούµενοκρατούµενο = 0κρατούµενο = 0

• Ο πλήρης αθροιστής µπορεί να κατασκευαστεί από δύο ηµιαθροιστές, και µία πύλη OR

γ) Παράλληλος Αθροιστής Ν-bit • Για την άθροιση δύο δυαδικών αριθµών µε πολλά ψηφία µπορεί να τώρα να κατασκευαστεί ένας παράλληλος αθροιστής.

• Το κύκλωµα αυτό χρησιµοποιεί έναν πλήρη αθροιστή για κάθε ζευγάρι bit.

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 18

Page 19: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ -Κυκλώµατα ελέγχου • Είδαµε δύο τύπους κυκλωµάτων:

– κυκλώµατα λογικής συνθήκης ( is a = b ?) – Κυκλώµατα αριθµητικών πράξεων ( c = a + b)

• Οι υπολογιστές χρησιµοποιούν πολλά κυκλώµατα λογικής συνθήκης (>, <, >=. <=, !=, …), και αριθµητικών πράξεων (+,-,*,/).

• Υπάρχουν επιπλέον διαφορετικού τύπου κυκλώµατα που είναι βασικά τα κυκλώµατα ελέγχου όπως οι

– πολυπλέκτες (multiplexors) και οι – αποκωδικοποιητές (decoders).

Πολυπλέκτης (Multiplexor) • Επιλέγει µία από πολλές εισόδους δεδοµένων και την αντιγράφει στην έξοδο • Ένα κύκλωµα πολυπλέκτη έχει:

2N γραµµές εισόδου (0, …, 2N-1) 1 γραµµή εξόδου N γραµµές επιλογέα (ελέγχου)

• Οι γραµµές του επιλογέα χρησιµοποιούνται για να επιλέξουν ποιο σήµα από τις γραµµές εισόδου θα γίνει το σήµα εξόδου:

– Οι N γραµµές επιλογέα ερµηνεύονται σαν ένας ακέραιος N-bit – Το σήµα της γραµµής εισόδου µε αριθµό που αντιστοιχεί στον ακέραιο γίνεται το σήµα εξόδου.

Πολυπλέκτης τεσσάρων bit • Το σήµα της γραµµής εισόδου µε αριθµό που αντιστοιχεί στον ακέραιο 11 του επιλογέα γίνεται το σήµα εξόδου.

Πολυπλέκτης

0

1

0

1

0

00

0

00

1

10

1

10

0

01

0

01

1

11

1

11

0

1

2

3

ΕπιλογέαςΕπιλέγει τη είσοδο 3

είσοδοι

έξοδος

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 19

Page 20: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Αποκωδικοποιητής (Decoder) • Ένας αποκωδικοποιητής (decoder) είναι ένα κύκλωµα που επιλέγει µία από πολλές εξόδους, ανάλογα µε τον συνδυασµό δυαδικών ψηφίων ενός στοιχείου δεδοµένων στην είσοδο

• Ένα κύκλωµα αποκωδικοποιητή (Decoder circuit) έχει: N γραµµές εισόδου (αριθµούνται 0, 1, …., N-1) 2N γραµµές εξόδου (αριθµούνται 0, 1, … 2N-1)

Decoder1

0

0

1

0

0 000001010011100101010111

0

12

3

4

7

5

6

0

1

2

100 = 4

επιλεχθέν

33 γραµµές εισόδουγραµµές εισόδου 2233 γραµµές εξόδουγραµµές εξόδου

• Λειτουργεί ως εξής:

– Οι N γραµµές εισόδου ερµηνεύονται σαν µία τιµή ακεραίου N-bit. – Επιλέγεται η γραµµή εξόδου µε αριθµό που αντιστοιχεί στον ακέραιο εισόδου (τίθεται ίση µε 1, και όλες οι άλλες 0)

• Ένας αποκωδικοποιητής µε δύο εισόδους και τέσσερις εξόδους

• Οι αποκωδικοποιητές χρησιµοποιούνται για:

– Να εντοπίζουν κελιά µνήµης (αποκωδικοποιητές διευθύνσεως) – Να εκτελούν τις εντολές ενός προγράµµατος (αποκωδικοποιητές εντολών)

• Όλα τα προηγούµενα κυκλώµατα ονοµάζονται “συνδυαστικά” επειδή η έξοδος εξαρτάται µόνο από το σήµα εισόδου και όχι από την εσωτερική κατάσταση του κυκλώµατος. ∆εν έχουν µνήµη

• Εκτός από τα συνδυαστικά κυκλώµατα χρειάζονται και κυκλώµατα µε συµπεριφορά µνήµης, όπου το σήµα εξόδου θα εξαρτάται από το σήµα εισόδου και από την τρέχουσα κατάσταση του κυκλώµατος. Αυτά ονοµάζονται “Σειριακά” λογικά κυκλώµατα

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 20

Page 21: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Σειριακά Λογικά Κυκλώµατα-Κυκλώµατα Μνήµης • Χρησιµοποιούνται για την αποθήκευση στοιχείων δεδοµένων • Τα κυκλώµατα αποθήκευσης έχουν µια σηµαντική διαφορά από τα συνδυαστικά κυκλώµατα

– Η έξοδος ενός συνδυαστικού κυκλώµατος εξαρτάται αποκλειστικά από την κατάσταση των εισόδων τη δεδοµένη χρονική στιγµή (ο όρος συνδυαστική λογική χρησιµοποιείται για την ιδιότητα αυτή).

– Η έξοδος όµως ενός κυκλώµατος αποθήκευσης καθορίζεται από τις εισόδους του, αλλά και από την κατάσταση της προηγούµενης εξόδου του. Αυτό συµβαίνει διότι τα κυκλώµατα αποθήκευσης περιλαµβάνουν πάντα ανάδραση από την έξοδο στην είσοδο. Η έξοδος εξαρτάται από τις προηγούµενες καταστάσεις και γι αυτό λέγονται σειριακά κυκλώµατα (ακολουθιακής λογικής)

• Στους υπολογιστές χρησιµοποιούνται πολλών ειδών κυκλώµατα µνήµης. • Το απλούστερο λέγεται RS flip-flop ή ∆ισταθές (Set/Reset) κύκλωµα χωρίς χρονισµό.

Ένας τρόπος κατασκευής του είναι µε τον συνδυασµό δύο πυλών NOR. Παρατηρήστε πώς οι έξοδοι ανατροφοδοτούνται στις εισόδους. Μπορεί να αποθηκεύει ένα bit (καταστάσεις 0 ή 1)

S R Νέα έξοδος 0 0 Προηγούµενη 1 0 1 0 1 0 1 1 0 ή 1 (ακαθόριστη)

• Αποτελεί τη βάση των περισσότερων κυκλωµάτων µνήµης. Οφείλει την ονοµασία του στο ότι µπορεί να «µεταπηδήσει» από τη µια ευσταθή έξοδο στην άλλη µε ένα σήµα στην είσοδο.

Η µία είσοδος είναι η είσοδος θέσης, ενώ η άλλη λέγεται είσοδος επαναφοράς. Οι καταστάσεις των δύο εξόδων είναι πάντα αντίθετες, και παριστάνονται µε Q και Q .

• Στo RS flip-flop η κατάσταση είναι ακαθόριστη όταν και οι δύο είσοδοι γίνουν 1. Έτσι, για την αποθήκευση δεδοµένων συνήθως χρησιµοποιείται ένα πιο σύνθετο κύκλωµα, που είναι γνωστό ως κυριο-εξαρτηµένο (master-slave) ή JK flip-flop.

Περιέχει δυο RS φλιπ-φλοπ και µία είσοδο χρονισµού (ρολόι). Η είσοδος χρονισµού χρησιµοποιείται για τον έλεγχο του συγχρονισµού στην αποθήκευση των δεδοµένων.

• ΚΑΤΑΧΩΡΗΤΕΣ Πολλά κυκλώµατα αποθήκευσης δεδοµένων µπορούν να συνδυαστούν για να σχηµατίσουν έναν

‘καταχωρητή’, ο οποίος αποθηκεύει ένα ολόκληρο στοιχείο δεδοµένων. ∆ιάταξη ενός καταχωρητή τεσσάρων bit κατασκευασµένου µε τέσσερα JK flip-flop

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 21

Page 22: Boolean Algebra

ΛΟΓΙΚΗ BOOLE - ΤΡΑΝΖΙΣΤΟΡ - ΠΥΛΕΣ- ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΑΝΑΚΕΦΑΛΑΙΩΣΗ • Είδαµε πως οι υπολογιστές αναπαριστούν δεδοµένα

– Βασική µονάδα είναι το bit – Τα δεδοµένα παριστάνονται εσωτερικά σαν δυαδικοί αριθµοί – Χρησιµοποιούν το δυαδικό σύστηµα

• Μάθαµε γιατί οι υπολογιστές χρησιµοποιούν δυαδικά δεδοµένα – Κύριος λόγος η αξιοπιστία – Οι ηλεκτρονικές συσκευές δουλεύουν άριστα σε ένα δισταθές περιβάλλον, µε δύο µόνο καταστάσεις

• Είδαµε τα δοµικά στοιχεία των υπολογιστών – τα τρανσίστορ, – τις λογικές πύλες και – τη λογική Boole

• Είδαµε πως κατασκευάζονται τα βασικά κυκλώµατα – κυκλώµατα άθροισης – κυκλώµατα Σύγκρισης – κυκλώµατα Ελέγχου – κυκλώµατα Μνήµης

• Αφού είδαµε τα δοµικά συστατικά στο κατώτερο επίπεδο, στην επόµενη ενότητα θα δούµε την πλήρη εικόνα στο ανώτερο επίπεδο

– Τη βασική αρχιτεκτονική σχεδίαση των υπολογιστών – Υψηλού επιπέδου µονάδες όπως µικροεπεξεργαστές και µνήµη – Τα βήµατα εκτέλεσης ενός προγράµµατος

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 22