ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1
5. ΑΛΓΕΒΡΑ BOOLE ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕΡΟΣ Β 2
Επαναληπτική Άσκηση 3
Άσκηση στη Λογική Σχεδίαση Έστω συναγερμός αυτοκινήτου ο οποίος ενεργοποιείται στις εξής περιπτώσεις: Όταν τα φώτα του αυτοκινήτου είναι αναμμένα ενώ η μηχανή του αυτοκινήτου είναι σβηστή Όταν η πόρτα του αυτοκινήτου είναι ανοιχτή ενώ η μηχανή του αυτοκινήτου είναι επίσης ανοιχτή Θεωρώντας ως απόκριση την ενεργοποίηση του συναγερμού: 1. Να καταγράψετε τις boolean μεταβλητές που μπορούν να χρησιμοποιηθούν για τη λογική παράσταση των παραπάνω γεγονότων 2. Να κατασκευάσετε τον πίνακα αληθείας του προβλήματος και να δώσετε την έκφραση της αντίστοιχης λογικής συνάρτησης 3. Με χρήση πίνακα Karnaugh να διατυπώσετε μια απλοποιημένη έκφραση της αντίστοιχης λογικής συνάρτησης 4. Να σχεδιάσετε κατάλληλο κύκλωμα για την υλοποίηση του παραπάνω προβλήματος με χρήση λογικών πυλών Λύση στον πίνακα 4
Λογικά Κυκλώματα 5
Λογικά Κυκλώματα Γενικά, υπάρχουν 2 κύριες κατηγορίες λογικών κυκλωμάτων Συνδυαστικά κυκλώματα: Η έξοδος z είναι συνάρτηση μόνο της κατάστασης της εισόδου x Ακολουθιακά κυκλώματα: Η έξοδος z δεν είναι συνάρτηση μόνο της κατάστασης της εισόδου x αλλά και της κατάστασης y που βρισκόταν το ίδιο το κύκλωμα πριν την εφαρμογή της εισόδου 6
Λογικά Κυκλώματα Συνδυαστικό Κύκλωμα x 1 x 2 Συνδυαστικό... Κύκλωμα... z 1 z 2 z=f(x) x n z m Ακολουθιακό Κύκλωμα x Συνδυαστικό Κύκλωμα z=f(x, y) Στοιχεία Μνήμης 7
Συνδυαστικά Κυκλώματα Βασικές Αρχές και Παραδείγματα 8
Συνδυαστικά Κυκλώματα Σχεδίαση με στοιχεία Small-Scale Integration (SSI) Σχεδίαση χρησιμοποιώντας ως βασικά δομικά στοιχεία τις πύλες Κατάλληλη για λίγες σχετικά εισόδους (<10) Διαδικασία: Κατασκευή του πίνακα αληθείας Προσδιορισμός της λογικής συνάρτησης από τον πίνακα αληθείας Απλοποίηση της λογικής συνάρτησης (π.χ. με χρήση χάρτη Karnaugh) Σχεδίαση του λογικού διαγράμματος βάσει της απλοποιημένης λογικής συνάρτησης, με χρήση πυλών AND, OR, NAND κ.λπ. Πραγματοποίηση (κατασκευή) του λογικού διαγράμματος με τη χρήση ολοκληρωμένων κυκλωμάτων 9
Παράδειγμα 1: Δυαδικοί Αθροιστές Ο ημιαθροιστής εκτελεί την πρόσθεση δύο δυαδικών ψηφίων Ημιαθροιστής (Half Adder) A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S=A B+AB C=AB 10
Παράδειγμα 1: Δυαδικοί Αθροιστές Ο πλήρης αθροιστής εκτελεί την πρόσθεση δύο δυαδικών ψηφίων και ενός κρατούμενου (ουσιαστικά, τριών δυαδικών ψηφίων) S=A B C in +A BC in +AB C in +ABC in Πλήρης αθροιστής (Full Adder) C out =A BC in +AB C in +ABC in +ABC in =AB+AC in +BC in A B C in S C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 11
Παράδειγμα 1: Δυαδικοί Αθροιστές Ο πλήρης αθροιστής εκτελεί την πρόσθεση δύο δυαδικών ψηφίων και ενός κρατούμενου (ουσιαστικά δηλ. τριών δυαδικών ψηφίων) 12
Παράδειγμα 1: Δυαδικοί Αθροιστές Ο πλήρης παράλληλος αθροιστής εκτελεί την πρόσθεση δύο δυαδικών αριθμών (των n bits ο καθένας), χρησιμοποιώντας n πλήρεις αθροιστές (ή: n-1 πλήρεις αθροιστές και 1 ημιαθροιστή) An S=0, τότε το παρακάτω κύκλωμα λειτουργεί ως πλήρης παράλληλος αθροιστής 4 bits, ενώ, αν S=1, τότε λειτουργεί ως πλήρης παράλληλος αφαιρέτης 4 bits 13
Παράδειγμα 2: Αποκωδικοποιητές/Κωδικοποιητές Ο αποκωδικοποιητής δέχεται στην είσοδό του μια δυαδική πληροφορία των n bits και την μετατρέπει σε m 2 n γραμμές εξόδου, εκ των οποίων μόνο μία είναι ενεργοποιημένη Αποκωδικοποιητής 3x8 C B A y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 14
Παράδειγμα 2: Αποκωδικοποιητές/Κωδικοποιητές Αποκωδικοποιητής 3x8 15
Παράδειγμα 2: Αποκωδικοποιητές/Κωδικοποιητές Ο κωδικοποιητής, αντίθετα, δέχεται στην είσοδό του m 2 n γραμμές και δίνει στην έξοδό του τον αντίστοιχο δυαδικό κώδικα (n bits) Σε έναν κωδικοποιητή, ανάλογα με τον τύπο του, μπορεί να είναι ενεργοποιημένες περισσότερες από μία είσοδοί του ή μόνο μία Παράδειγμα: Κωδικοποιητής για 7-segment ψηφιακό ενδείκτη Τα 7 τμήματα του ενδείκτη: 16
Παράδειγμα 2: Αποκωδικοποιητές/Κωδικοποιητές a/a 0 1 2 3 4 5 6 7 8 9 Κωδικοποιητής για 7- segment ψηφιακό ενδείκτη (Πίνακας αληθείας) 17
Ακολουθιακά Κυκλώματα Βασικές Αρχές και Παραδείγματα 18
Ακολουθιακά Κυκλώματα Διακρίνονται σε δύο κυρίως κατηγορίες σύγχρονα, στα οποία η εκτέλεση των διαφόρων λειτουργιών γίνεται σε καθορισμένες χρονικές στιγμές με τη βοήθεια ενός ρολογιού (clock) η εφαρμογή τετραγωνικού παλμού (σταθερής συχνότητας) σε κατάλληλη είσοδο του σύγχρονου κυκλώματος διεγείρει το κύκλωμα αυτό (ή με το θετικό ή με το αρνητικό μέτωπό του), δηλ. αλλάζει την κατάστασή του ασύγχρονα, στα οποία οι διάφορες αλλαγές κατάστασης δε γίνονται σε καθορισμένες χρονικές στιγμές (δεν υπάρχει ρολόι) Το θετικό και το αρνητικό μέτωπο ενός τετραγωνικού παλμού. Αν t 1 =t 2, ο παλμός καλείται συμμετρικός. Η συχνότητα του παλμού είναι: 1 (t 1 +t 2 ) και μετριέται σε Hertz (Σύμβολο Hz. Ισχύει: Hz=sec -1 ) f= Θετικό μέτωπο Αρνητικό μέτωπο 19
Ακολουθιακά Κυκλώματα Flip-Flops Τα flip-flops (F/F) είναι δικατάστατα στοιχεία μνήμης Υπάρχουν διαφόρων τύπων F/F Κάθε F/F έχει δύο εξόδους, την Q και το συμπλήρωμά της Q n είναι η τρέχουσα κατάσταση του F/F και Q n+1 η επόμενη, δηλ. μετά την εφαρμογή του επόμενου ωρολογιακού παλμού CP Για το J/K F/F έχουμε: Αν J=K=0, τότε Q n+1 =Q n Αν J=K=1, τότε Q n+1 =Q n Αν J K, τότε Q n+1 =J Γενικά: Q n+1 =JQ n +K Q n 20
Ακολουθιακά Κυκλώματα Καταχωρητές Ο καταχωρητής χρησιμοποιείται για την προσωρινή αποθήκευση δυαδικής πληροφορίας Καταχωρητές μεγέθους n bits μπορούν να υλοποιηθούν χρησιμοποιώντας n flip-flops Στο επόμενο παράδειγμα, όταν εφαρμοστεί λογικό «1» στη γραμμή ελέγχου Κ, καταχωρείται η πληροφορία των n bits 21
Ακολουθιακά Κυκλώματα Μετρητές Ο μετρητής ή απαριθμητής (counter) αποτελείται από ένα μεγάλο αριθμό κατάλληλα συνδεδεμένων flipflops, τα οποία μεταβάλλουν το περιεχόμενό τους (συνήθως κατά ένα), κάθε φορά που εφαρμόζεται στην είσοδο του μετρητή ένα νέο σήμα (π.χ. ωρολογιακός παλμός) 22
Ακολουθιακά Κυκλώματα Συσσωρευτές Ο συσσωρευτής (accumulator) είναι βασικό κύκλωμα κάθε Η/Υ Είναι σύνθετο ακολουθιακό κύκλωμα που επιτελεί πολλές λειτουργίες, όπως καταχώρηση, απαρίθμηση, ολίσθηση, συμπλήρωση κ.λπ. Επίσης, χρησιμοποιείται για να καταχωρεί (συσσωρεύει) τα ενδιάμεσα αποτελέσματα διαφόρων πράξεων που εκτελούνται στην Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) του Η/Υ 23