ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1
4. ΑΛΓΕΒΡΑ BOOLE ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕΡΟΣ Α 2
Άλγεβρα Boole και Λογικές Συναρτήσεις 3
Άλγεβρα Boole Ορίζεται στο σύνολο Α = {0,1} Οι μεταβλητές παίρνουν μόνο τις τιμές 0 και 1 Αποτελεί τη βάση για το σχεδιασμό λογικών κυκλωμάτων Ισχύουν η σχέση της ισότητας (=) η πράξη λογικό H (OR) (+ ή ) η πράξη λογικό ΚΑΙ (AND) ( ή ) η πράξη της αντιστροφής (NOT) ( ή - ) 4
Αξιώματα και θεωρήματα Άλγεβρας Boole Αξιώματα a+b = b+a, a b = b a a(b+c) = ab+ac (a+b)(a+c) = a+bc 0+a = a, a 1 = a a + a = 1, a a = 0 Θεωρήματα a+1=1, a+0 = a, a 1 = a, a 0 = 0 a+a = a, a a = a (a ) =a (a+b) = a b, (ab) = a + b Αντιμεταθετική Επιμεριστική ως προς + (OR) Επιμεριστική ως προς (AND) Ουδέτερο στοιχείο Συμπλήρωμα 5
Λογικές συναρτήσεις Σε κάθε αληθή λογική πρόταση δίνουμε την τιμή 1 και σε κάθε ψευδή πρόταση την τιμή 0 Ορίζονται λογικές συναρτήσεις f(x 1, x 2, x n ) με x 1, x 2, x n boolean μεταβλητές Παραδείγματα Α Β Ζ = ΑΒ Ζ = Α+Β Ζ = Α 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 6
Πίνακες αληθείας Πίνακας αληθείας ονομάζεται ο πίνακας που περιλαμβάνει όλους τους δυνατούς συνδυασμούς τιμών των μεταβλητών μιας λογικής συνάρτησης και την αντίστοιχη τιμή για κάθε συνδυασμό Συνάρτηση NAND A B Z = (AB) 0 0 1 0 1 1 1 0 1 1 1 0 Z = A B +A B+AB 7
Απλοποίηση Λογικών Συναρτήσεων Χάρτες Karnaugh 8
Απλοποίηση λογικών συναρτήσεων Εφαρμογή των θεωρημάτων άλγεβρας Boole Χάρτης Karnaugh Κατασκευάζουμε πίνακα με 2 n τετράγωνα (n ο αριθμός των μεταβλητών της λογικής συνάρτησης) Τοποθετούμε στα τετράγωνα την τιμή της λογικής συνάρτησης για κάθε συνδυασμό μεταβλητών Σχηματίζουμε ομάδες από όσο το δυνατόν περισσότερα γειτονικά «1» (ο αριθμός τους πρέπει να είναι δύναμη του 2) Κάθε «1» πρέπει να ληφθεί τουλάχιστον μια φορά 9
Χρήση Χάρτη Karnaugh Παράδειγμα Θέλουμε να απλοποιήσουμε τη συνάρτηση που δίδεται από τον παρακάτω πίνακα αληθείας A B C Z 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Η μη απλοποιημένη της μορφή είναι: Ζ = f(a,b,c) = A B C + A BC + A BC + AB C + ABC + ABC 10
Χρήση Χάρτη Karnaugh Παράδειγμα Μεταφέρουμε τα «1» του πίνακα αληθείας στον χάρτη Karnaugh (κάθε κελί του χάρτη έχει συγκεκριμένες «συντεταγμένες») A B C Z 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Κατόπιν, ομαδοποιούμε τα «1» σε όσο το δυνατόν μεγαλύτερες ομάδες 11
Χρήση Χάρτη Karnaugh Παράδειγμα Τέλος, για να βρούμε τον όρο που αντιστοιχεί σε κάθε ομάδα, κάνουμε τα εξής δύο ερωτήματα: 1. Ποιες μεταβλητές αλλάζουν τιμή εντός της ομάδας και ποιες παραμένουν στην ίδια τιμή (0 ή 1); 2. Για όσες παραμένουν σταθερές στην ίδια τιμή: i. Αν η τιμή αυτή είναι το «0», τις λαμβάνουμε υπόψη με το συμπλήρωμά τους αν είναι «0» ii. Αν η τιμή αυτή είναι το «1», τις λαμβάνουμε υπόψη στην κανονική τους μορφή Το Α μένει σε σταθερή τιμή «0» μέσα στο ζεύγος Το Β αλλάζει τιμή Το C μένει σε σταθερή τιμή «0» μέσα στο ζεύγος Άρα ο αντίστοιχος όρος είναι: A C 12
Χρήση Χάρτη Karnaugh Παράδειγμα Εργαζόμαστε ομοίως για όλες τις ομάδες Καταλήγουμε στο αποτέλεσμα πουυ είναι η ζητούμενη απλοποιημένη μορφή της συνάρτησης Ζ B A C AC 13
Λογική Σχεδίαση Σχεδίαση με Λογικές Πύλες 14
Λογικές πύλες Σημαντικές για το μάθημα Ηλεκτρονικά λογικά κυκλώματα που υλοποιούν τις βασικές πράξεις της άλγεβρας Boole 15
Παράδειγμα σχεδίασης με λογικές πύλες Έστω ότι θέλουμε να σχεδιάσουμε το ηλεκτρονικό κύκλωμα που υλοποιεί την παραπάνω συνάρτηση Ζ Μας «συμφέρει» να επιλέξουμε την απλοποιημένη μορφή της συνάρτησης διότι θα χρειαστούμε λιγότερες πύλες Η συνάρτηση είναι: Παρατηρούμε ότι θα χρειαστούμε δύο πύλες AND (μία για το γινόμενο A C και μία για το AC), καθώς και μία πύλη OR (θεωρούμε ότι οι πύλες μπορούν να έχουν και περισσότερες από δύο εισόδους) 16
Παράδειγμα σχεδίασης με λογικές πύλες A C AC A C Z B 17
Άσκηση Λογική Σχεδίαση 18
Άσκηση Η εταιρεία σας καλείται να κατασκευάσει ένα λογικό κύκλωμα αυτοματισμού που να ικανοποιεί το διπλανό πίνακα αληθείας. Ερ. 1: Προσδιορίστε τη λογική συνάρτηση που αντιστοιχεί σε αυτόν τον πίνακα αληθείας (χωρίς απλοποίηση). Ερ. 2: Προσδιορίστε την απλοποιημένη μορφή της λογικής συνάρτησης κάνοντας χρήση χάρτη Karnaugh. Α Β C D Z 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 19 1 1 1 1 1
Άσκηση Απάντηση Κατασκευάζουμε το χάρτη Karnaugh, μεταφέροντας με προσοχή όλα τα «1» από τον πίνακα αληθείας CD AB 00 01 11 10 00 01 11 10 1 1 1 1 1 1 1 1 1 1 20
Άσκηση Απάντηση Φτιάχνουμε τις μεγαλύτερες κατά το δυνατόν ομάδες Η πιο δύσκολη περίπτωση είναι όταν έχουμε «1» στις άκρες του χάρτη Πρέπει να φανταστούμε ότι ο χάρτης μπορεί να «διπλωθεί» φέρνοντας τα «1» κοντά και σχηματίζοντας έτσι μια ομάδα CD AB 00 01 11 10 00 01 11 10 1 1 1 1 1 1 1 1 1 1 21
Άσκηση Απάντηση Σημειώνουμε τον όρο που αντιστοιχεί σε κάθε ομάδα και καταλήγουμε στην έκφραση Z = A + B D Σχεδιάστε για εξάσκηση στο σπίτι το αντίστοιχο λογικό κύκλωμα με χρήση πυλών NOT, AND και OR B D CD AB 00 01 11 10 A 00 01 11 10 1 1 1 1 1 1 1 1 1 1 22