Ψηφιακή Σχεδίαση I ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Τόµος A' Ψηφιακή Σχεδίαση I ΠANAΓIΩTHΣ ΛINAP∆HΣ Eπίκουρος Kαθηγητής Tµήµατος Πληροφορικής AΠΘ ΠATPA 2001 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Τόµος A' Ψηφιακή Σχεδίαση I Συγγραφή ΠANAΓIΩTHΣ ΛINAP∆HΣ Eπίκουρος Kαθηγητής Tµήµατος Πληροφορικής AΠΘ Κριτική Ανάγνωση KΩNΣTANTINOΣ XAΛATΣHΣ Kαθηγητής Tµήµατος Πληροφορικής Πανεπιστηµίου Aθηνών Ακαδηµαϊκός Υπεύθυνος για την επιστηµονική επιµέλεια του τόµου ΣΩKPATHΣ KATΣIKAΣ Καθηγητής Tµήµατος Mαθηµατικών Πανεπιστηµίου Aιγαίου Επιµέλεια στη µέθοδο της εκπαίδευσης από απόσταση ΓEPAΣIMOΣ MΩPAΊTHΣ Γλωσσική Επιµέλεια EΛΠI∆A BAKAΛOΓΛOY Τεχνική Επιµέλεια ΕΣΠΙ ΕΚ∆ΟΤΙΚΗ Ε.Π.Ε. Καλλιτεχνική Επιµέλεια – Σελιδοποίηση TYPORAMA Συντονισµός ανάπτυξης εκπαιδευτικού υλικού και γενική επιµέλεια των εκδόσεων ΟΜΑ∆Α ΕΚΤΕΛΕΣΗΣ ΕΡΓΟΥ ΕΑΠ / 2001 ISBN: 960–538–195–8 Kωδικός Έκδοσης: ΠΛH 21/1 Copyright 2000 για την Ελλάδα και όλο τον κόσµο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Οδός Παπαφλέσσα & Υψηλάντη, 26222 Πάτρα – Τηλ: (0610) 314094, 314206 Φαξ: (0610) 317244 Σύµφωνα µε το Ν. 2121/1993, απαγορεύεται η συνολική ή αποσπασµατική αναδηµοσίευση του βιβλίου αυτού ή η αναπαραγωγή του µε οποιοδήποτε µέσο χωρίς την άδεια του εκδότη. ¶ÂÚȯfiÌÂÓ· K∂º∞§∞π√ 1 EÈÛ·ÁˆÁ‹ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................... 11 1.1 1.2 1.3 1.4 Ψηφιακά και αναλογικά µεγέθη .................................................................................. 13 Παράσταση ψηφιακών σηµάτων ................................................................................ 15 ∆υαδική κωδικοποίηση ....................................................................................................... 17 Ψηφιακά συστήµατα ............................................................................................................. 19 1.5 1.6 1.7 1.8 1.9 Mεταφορά ψηφιακών σηµάτων ................................................................................... 22 Mετατροπή αναλογικού σήµατος σε ψηφιακό ............................................... 23 Σύγκριση ψηφιακών – αναλογικών συστηµάτων ........................................ 26 Σχεδίαση ψηφιακών κυκλωµάτων ............................................................................ 28 ∆ιάρθρωση του βιβλίου ...................................................................................................... 29 Σύνοψη κεφαλαίου ................................................................................................................................... 32 Bιβλιογραφία ................................................................................................................................................ 34 K∂º∞§∞π√ 2 ¢˘·‰È΋ Kˆ‰ÈÎÔÔ›ËÛË Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................... 35 2.1 2.2 2.3 2.4 Eισαγωγή ......................................................................................................................................... 37 Mέθοδοι κωδικοποίησης ................................................................................................... 38 2.2.1 Kωδικοποίηση µε βάρη ........................................................................................ 39 2.2.2 Kώδικας BCD ............................................................................................................... 41 2.2.3 Kωδικοποίηση χωρίς βάρη – Kώδικας Gray ..................................... 42 Σύνοψη ενότητας ....................................................................................................................... 46 Aριθµητικά συστήµατα ...................................................................................................... 47 2.3.1 Θεσιακά συστήµατα ................................................................................................ 48 2.3.2 ∆υαδικό σύστηµα ...................................................................................................... 50 2.3.3 Προσηµασµένοι αριθµοί – Συµπλήρωµα ως προς 2 .................. 55 Kώδικες ανίχνευσης και διόρθωσης λαθών ...................................................... 58 2.4.1 Kώδικες ανίχνευσης λαθών .............................................................................. 60 2.4.2 Kώδικες διόρθωσης λαθών ............................................................................... 63 æHºIAKH ™XE¢IA™H I 6 2.4.3 Kώδικας Hamming ................................................................................................... 63 Σύνοψη ενότητας ....................................................................................................................... 69 Σύνοψη κεφαλαίου ................................................................................................................................... 72 Bιβλιογραφία κεφαλαίου ..................................................................................................................... 75 K∂º∞§∞π√ 3 ÕÏÁ‚ڷ Boole Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................... 77 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Eισαγωγή ......................................................................................................................................... 82 Άλγεβρα Boole ........................................................................................................................... 83 3.2.1 Aρχή του ∆υϊσµού .................................................................................................... 89 3.2.2 Λογική παράσταση ................................................................................................... 90 3.2.3 Bασικά θεωρήµατα .................................................................................................. 91 Σύνοψη ενότητας ....................................................................................................................... 99 ∆ίτιµη Άλγεβρα Boole ..................................................................................................... 100 3.3.1 ∆ίτιµη Άλγεβρα και Λογισµός των Προτάσεων .......................... 103 3.3.2 ∆ίτιµη Άλγεβρα και κυκλώµατα διακοπτών (Άλγεβρα των διακοπτών) .............................................................................. 108 Σύνοψη ενότητας .................................................................................................................... 112 Λογικές συναρτήσεις ......................................................................................................... 113 3.4.1 Παράσταση συναρτήσεων .............................................................................. 115 3.4.2 Θεωρήµατα συναρτήσεων .............................................................................. 120 Σύνοψη ενότητας .................................................................................................................... 124 Συναρτήσεις Eλαχίστου και Mεγίστου όρου.................................................. 125 Σύνοψη ενότητας .................................................................................................................... 128 Kανονική παράσταση συνάρτησης ....................................................................... 129 Σύνοψη ενότητας .................................................................................................................... 137 Συναρτήσεις δύο µεταβλητών – Λογικές πύλες ......................................... 137 3.7.1 Συναρτήσεις δύο µεταβλητών ..................................................................... 138 3.7.2 Λογικές πύλες ............................................................................................................ 139 3.7.3 Iσόµορφα συστήµατα .......................................................................................... 142 3.7.4 Πράξεις συναρτησιακώς πλήρεις .............................................................. 144 3.7.5 Πύλες µε πολλαπλές εισόδους .................................................................... 145 Σύνοψη ενότητας .................................................................................................................... 148 Σύνοψη κεφαλαίου ................................................................................................................................ 149 ¶EPIEXOMENA Bιβλιογραφία κεφαλαίου .................................................................................................................. 153 K∂º∞§∞π√ 4 ™˘Ó‰˘·ÛÙÈο K˘ÎÏÒÌ·Ù· Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................ 157 4.1 4.2 4.3 4.4 4.5 4.6 Eισαγωγή ..................................................................................................................................... 159 Kυκλώµατα διακοπτών .................................................................................................... 159 4.2.1 Λογικές πύλες µε διακόπτες .......................................................................... 163 4.2.2 Λογικές πύλες MOS και CMOS ................................................................ 167 Σύνοψη ενότητας .................................................................................................................... 172 Kυκλώµατα ηλεκτρονικών πυλών ......................................................................... 173 4.3.1 Λογικές πύλες µε διπολικά τρανζίστορ ............................................... 176 4.3.2 Eιδικές πύλες .............................................................................................................. 179 4.3.3 Συµβολισµός ηλεκτρονικών πυλών ........................................................ 182 4.3.4 Aνάλυση κυκλωµάτων ηλεκτρονικών πυλών ................................ 183 Σύνοψη ενότητας .................................................................................................................... 184 Oλοκληρωµένα ψηφιακά κυκλώµατα ................................................................. 185 4.4.1 Oικογένειες ηλεκτρονικών πυλών ........................................................... 188 4.4.2 ∆ιαθέσιµα ολοκληρωµένα κυκλώµατα ................................................ 192 Σύνοψη ενότητας .................................................................................................................... 193 Bλάβες ψηφιακών κυκλωµάτων .............................................................................. 194 4.5.1 ∆ιάγνωση s–a–0 και s–a–1 βλαβών ........................................................ 196 Σύνοψη ενότητας .................................................................................................................... 198 Aξιοπιστία κυκλωµάτων ................................................................................................ 198 Σύνοψη ενότητας .................................................................................................................... 201 Σύνοψη κεφαλαίου ................................................................................................................................ 202 Bιβλιογραφία κεφαλαίου .................................................................................................................. 203 K∂º∞§∞π√ 5 AÏÔÔ›ËÛË ™˘Ó‰˘·ÛÙÈÎÒÓ K˘ÎÏˆÌ¿ÙˆÓ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................ 205 5.1 Eισαγωγή ..................................................................................................................................... 207 5.2 Mέθοδος απλοποίησης µε τον χάρτη Karnaugh ........................................ 210 5.2.1 Xάρτης Karnaugh ................................................................................................... 212 7 æHºIAKH ™XE¢IA™H I 8 5.3 5.4 5.5 5.6 5.7 5.2.2 Aπλοποίηση µε το χάρτη Karnaugh ....................................................... 216 5.2.3 Eλαχιστοποίηση συναρτήσεων 5 µεταβλητών .............................. 221 5.2.4 Eλαχιστοποίηση γινοµένου αθροισµάτων ........................................ 222 Σύνοψη ενότητας .................................................................................................................... 223 Συναρτήσεις µερικά καθορισµένες ....................................................................... 224 Σύνοψη ενότητας .................................................................................................................... 228 Πρώτοι συνεπαγωγοί µιας συναρτήσεως ......................................................... 228 Σύνοψη ενότητας .................................................................................................................... 233 Πινακοειδής µέθοδος ή µέθοδος των Quine–McCluskey ................. 234 5.5.1 Eύρεση των πρώτων συνεπαγωγών ........................................................ 235 5.5.2 Παραγωγή της ελάχιστης κάλυψης ......................................................... 239 5.5.3 Mέθοδος επιλογής Petrick .............................................................................. 242 5.5.4 H µέθοδος Quine–McCluskey για µερικά καθορισµένες συναρτήσεις ............................................................................ 245 Σύνοψη ενότητας .................................................................................................................... 248 Mέθοδος Espresso ................................................................................................................ 249 Σύνοψη ενότητας .................................................................................................................... 252 Σχεδίαση χωρίς Hazards ................................................................................................. 252 Σύνοψη ενότητας .................................................................................................................... 255 Σύνοψη κεφαλαίου ................................................................................................................................ 255 Bιβλιογραφία κεφαλαίου .................................................................................................................. 258 K∂º∞§∞π√ 6 ™‡ÓıÂÙ· §ÔÁÈο K˘ÎÏÒÌ·Ù· Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................ 259 6.1 Eισαγωγή ..................................................................................................................................... 261 6.2 Aθροιστές .................................................................................................................................... 261 6.2.1 Παράλληλος αθροιστής ..................................................................................... 264 6.2.2 Aθροιστής / Aφαιρέτης ..................................................................................... 266 6.2.3 Kυκλώµατα πρόβλεψης κρατούµενου ................................................. 267 Σύνοψη ενότητας .................................................................................................................... 271 6.3 Συγκριτές ..................................................................................................................................... 272 Σύνοψη ενότητας .................................................................................................................... 275 6.4 Kωδικοποιητές και αποκωδικοποιητές .............................................................. 275 Σύνοψη ενότητας .................................................................................................................... 278 ¶EPIEXOMENA 6.5 Πολυπλέκτες ............................................................................................................................. 279 Σύνοψη ενότητας .................................................................................................................... 283 Σύνοψη κεφαλαίου ................................................................................................................................. 284 Bιβλιογραφία κεφαλαίου .................................................................................................................. 285 Aπαντήσεις Aσκήσεων Aυτοαξιολόγησης και Eνδεικτικές Aπαντήσεις ∆ραστηριοτήτων....................................................... 287 Γλωσσάρι ..................................................................................................................................................... 325 9 ∫ EÈÛ·ÁˆÁ‹ ™ÎÔfi˜ Mετά τις υπολογιστικές µηχανές του Pascal και του Leibnitz, µπορεί να εντοπίσει κανείς τα ίχνη του πρώτου πλήρους ψηφιακού υπολογιστή στα σχέδια του Charles Babbage για την Aναλυτική Mηχανή του (1832). Xρειάστηκε όµως η εξέλιξη των αυτόµατων τηλεφωνικών κέντρων και των συστηµάτων κρυπτογραφήσεως στη δεκαετία του 1930, για να γίνει συνειδητή µία νέα οντότητα, το ψηφιακό σύστηµα, και να αρχίσει η έρευνα, θεωρητική και πρακτική, για τη σχεδίαση και κατασκευή τέτοιων συστηµάτων. Oι ανάγκες του ∆ευτέρου Παγκοσµίου Πολέµου επιτάχυναν την εξέλιξη της τεχνολογίας τους µε την κατασκευή δύο µεγάλων για την εποχή εκείνη ηλεκτρονικών υπολογιστών, του Colossus στην Aγγλία (1943) και του ENIAC στις Hνωµένες Πολιτείες (1946). H ανακάλυψη του τρανσίστορ (1948) και του Oλοκληρωµένου Kυκλώµατος (1958) έδωσαν την υλική βάση για τη σηµερινή εξάπλωση αυτών των συστηµάτων. Σήµερα η παρουσία, αφανής τις περισσότερες φορές, των ψηφιακών συστηµάτων στη ζωή µας έχει καθιερώσει τον όρο “ψηφιακός” να συµβολίζει, πολλές φορές καταχρηστικά, την τελευταία λέξη της τεχνολογίας. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Στο κεφάλαιο αυτό εισάγονται οι βασικές έννοιες των ψηφιακών µεγεθών και συστηµάτων. Όταν φθάσετε στο τέλος αυτού του Kεφαλαίου, θα γνωρίζετε: • Tι είναι τα Aναλογικά και τι τα Ψηφιακά µεγέθη. • Tι είναι οι ψηφιακές και κυρίως οι δυαδικές πληροφορίες, καθώς και τα ηλεκτρικά σήµατα, που λειτουργούν σαν φορείς τους. • Tι σηµαίνει ψηφιακό σύστηµα και πώς περιγράφουµε τη λειτουργία του. • Tις αρχές, στοιχειωδώς, για τη διασύνδεση–µετατροπή αναλογικών σηµάτων σε ψηφιακά. • Tα πλεονεκτήµατα της ψηφιακής έναντι της αναλογικής τεχνολογίας. • Mία σκιαγράφηση των ιστορικών εξελίξεων, που οδήγησαν στη σηµερινή πολυπλοκότητα των ψηφιακών συστηµάτων, καθώς και των αναγκών, που προκύπτουν για τη σχεδίασή τους. 1 ∂ º ∞ § ∞ π √ KEºA§AIO 1: EI™A°ø°H 12 ŒÓÓÔȘ ÎÏÂȉȿ • Aναλογικός • Eπίπεδο περιγραφής • Ψηφιακός • Ψηφιοποίηση • Kατάσταση • Παράλληλη µεταφορά • Σήµα • Σειριακή µεταφορά • ∆υαδικός • Συνδυαστικό κύκλωµα • Bit • Aκολουθιακό κύκλωµα ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ H ύλη του Kεφαλαίου είναι εισαγωγική. Aποτελείται από οκτώ κύριες ενότητες θεµάτων,που κάθε µία θα µπορούσε να αποτελέσει ένα ξεχωριστό βιβλίο και ο σκοπός τους είναι να παρουσιάσουν το γενικό πλαίσιο, που χρειάζεται για την κατανόηση των ψηφιακών συστηµάτων. Tο κάθε θέµα παρουσιάζεται εδώ µε απλό τρόπο, όσο χρειάζεται για τις ανάγκες αυτού του βιβλίου. Mερικές από τις έννοιες που παρουσιάζονται, όπως ψηφιακό µέγεθος, δυαδικό σήµα, bit, δυαδικό σύστηµα, µεταφορά σηµάτων και συνδυαστικό κύκλωµα, είναι απαραίτητες για την κατανόηση των επόµενων Kεφαλαίων. Άλλες έννοιες, όπως φορέας, σήµα, στάθµες σήµατος, θόρυβος, ελάχιστα χρησιµοποιούνται στα επόµενα Kεφάλαια, αλλά εξηγούνται εδώ για να συνδέσουµε τα ψηφιακά συστήµατα, που θα µελετήσουµε, µε το φυσικό κόσµο, µέσα στον οποίο κατασκευάζονται και λειτουργούν. Ίσως δε µε αυτή την εξήγηση να αποφύγουµε µια συνήθη πλάνη, ότι π.χ. ψηφιακό τηλέφωνο είναι αυτό που στέλνει τη φωνή µέσα από την τηλεφωνική γραµµή σαν 0 και 1. Όπως θα µάθουµε, από µία γραµµή δεν περνάνε τα 0 και 1, αλλά ένα δυαδικό σήµα µε φορέα το ηλεκτρικό ρεύµα. Tέλος, τα αναλογικά µεγέθη, η µετατροπή τους σε ψηφιακά και η σύγκριση των δύο κατηγοριών αναφέρονται εδώ, για να γίνει κατανοητό ότι δεν υπάρχουν στεγανά µεταξύ τους, η ψηφιακή τεχνολογία µπορεί να εφαρµοστεί για την επεξεργασία δεδοµένων, που παράγονται από την άλλη κατηγορία µεγεθών. 1.1 æ∏ºπ∞∫∞ ∫∞π ∞¡∞§√°π∫∞ ª∂°∂£∏ 1.1 æËÊȷο Î·È ·Ó·ÏÔÁÈο ÌÂÁ¤ıË H κοινωνία της πληροφορικής στηρίζεται κατά µεγάλο βαθµό στη συλλογή, αποθήκευση, επεξεργασία και ανταλλαγή πληροφοριών. Oι πληροφορίες αυτές είτε περιγράφουν το είδος και την υφή γεγονότων, καταστάσεων ή αντικειµένων είτε χαρακτηρίζουν ποσοτικά µεγέθη, όπως η διακύµανση της θερµοκρασίας ή το ύψος του τιµάριθµου. Aπό τα µεγέθη αυτά, είτε οφείλονται σε γεγονότα είτε σε καταστάσεις είτε σε αντικείµενα, µερικά είναι αναλογικά και τα άλλα είναι ψηφιακά. Θα πρέπει να είσαστε σε θέση από την Eνότητα αυτή να: • ∆ιακρίνετε ένα αναλογικό από ένα ψηφιακό µέγεθος. • Γνωρίζετε τη διαφορά της πληροφορίας από το σήµα. Tα µεγέθη, είτε χαρακτηρίζουν γεγονότα είτε αντικείµενα, χωρίζονται σε δύο κατηγορίες: Aναλογικά και Ψηφιακά. Aναλογικά είναι τα µεγέθη που οι καταστάσεις τους µπορούν να πάρουνσυνεχείς τιµές και σε κάθε τιµή του µεγέθους αντιστοιχεί µία πληροφορία. Στο σχήµα 1.1.α το µέγεθος "ύψος" µεταβάλλεται συνεχώς, δηλ. µπορεί να πάρει οποιαδήποτε τιµή, καθώς ο άνθρωπος µετακινείται στο κεκλιµένο επίπεδο. Όλα τα µεγέθη της κλασσικής φυσικής, όπως απόσταση, ταχύτητα, θερµοκρασία, πίεση, ένταση ηλεκτρικού ρεύµατος κ.λπ. είναι αναλογικά. Γενικώς αναλογικό είναι οποιοδήποτε µέγεθος, που η τιµή του ―πληροφορία― εκφράζεται µε πραγµατικούς αριθµούς. Ψηφιακά είναι τα µεγέθη, και τα αντίστοιχα συστήµατα, που οι καταστάσεις τους παίρνουν διακριτές τιµές. H κλίµακα του σχήµατος 1.1β αποτελεί ένα ψηφιακό σύστηµα, γιατί οι µόνες θέσεις που µπορεί να πατήσει σταθερά κάποιος είναι τα σκαλοπάτια, δηλ. οι δυνατές καταστάσεις του συστήµατος είναι διακριτές, η δε αντίστοιχη πληροφορία θέσεως µπορεί να αποδοθεί µε τους ακέραιους αριθµούς 1, 2, 3, … Άλλα παραδείγµατα ψηφιακών συστηµάτων είναι οι φωτεινοί σηµατοδότες της τροχαίας, που µεταδίδουν τις πληροφορίες τους χρησιµοποιώντας τρία χρώµατα διακριτά µεταξύ τους, οι ηλεκτρικοί διακόπτες, που ―ως γνωστόν― οι καταστάσεις τους εκφράζονται µε πληροφορίες της µορφής ανοικτός–κλειστός, ναι–όχι κ.λπ. Γενικώς, ψηφιακό ονοµάζεται ένα µέγεθος του οποίου οι καταστάσεις και κατ' επέκταση οι πληροφορίες, που τις καταγράφουν, εκφράζονται ή µπορούν να παρασταθούν µε τα στοιχεία ενός αριθµήσιµου συνόλου, όπως π.χ. είναι οι ακέραιοι αριθµοί. 13 KEºA§AIO 1: EI™A°ø°H 14 6 5 4 3 2 Ύψος ™¯‹Ì· 1.1 1 (α) Aναλογικό και (β) Ψηφιακό σύστηµα (α) (β) Η πληροφορία καθεαυτή είναι ιδεατό αντικείµενο και, για να µεταδοθεί, πρέπει να πάρει φυσική µορφή. Αυτό γίνεται µε την κωδικοποίηση της πληροφορίας και κατόπιν την εγγραφή της σε κάποιο φυσικό µέσο, που αποτελεί το φορέα µετάδοσής της. Η φυσική µορφή της πληροφορίας ονοµάζεται σήµα. Παραδείγµατα σηµάτων είναι ο ήχος (διαµόρφωση πιέσεως αέρα), η εικόνα της τηλεοράσεως (διαµόρφωση ηλεκτροµαγνητικών κυµάτων), το γραπτό κείµενο (διαµόρφωση της φωτεινότητας του χαρτιού µε κωδικοποιηµένα σχήµατα, που ονοµάζονται γράµµατα), η φωτεινή σήµανση κ.λπ. Tα αντίστοιχα σήµατα, που καταγράφουν τις πληροφορίες, παίρνουν και αυτά συνεχείς τιµές, π.χ. στο σχήµα 1.2.α κάθε στάθµη µεταξύ των a και c δηλώνει µία κατάσταση, ή διακριτές τιµές, όπως π.χ. στο σχήµα 1.2.β, όπου µόνο οι στάθµες a, b, c και d παριστούν έγκυρες πληροφορίες. d c c b b ™¯‹Ì· 1.2 (α) Αναλογικό και (β) Ψηφιακό σήµα. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.1 a a t t (α) (β) Ένα φυσικό µέγεθος, που οι καταστάσεις του παίρνουν συνεχείς τιµές, είναι: α. ψηφιακό β. αναλογικό γ. φυσικό 1 . 2 ¶ ∞ ƒ∞ ™ ∆∞ ™ ∏ æ ∏ º π ∞ ∫ ø ¡ ™ ∏ ª ∞∆ ø ¡ 15 1.2 ¶·Ú¿ÛÙ·ÛË „ËÊÈ·ÎÒÓ ÛËÌ¿ÙˆÓ Tα ψηφιακά µεγέθη χαρακτηρίζονται από διακριτές τιµές και αυτό κάνει τα σήµατά τους πλεονεκτικά έναντι του θορύβου σε σύγκριση µε τα αναλογικά. Aπό την Eνότητα αυτή θα πρέπει να µπορείτε να εξηγήσετε: • Πόσες πληροφορίες µπορεί να παραστήσει ένα σήµα από N στάθµες. • Tι είναι το: δυαδικό, τριαδικό, τετραδικό σήµα. • Γιατί είναι προτιµότερο, για φυσικούς λόγους, η απόσταση µεταξύ των σταθµών ενός σήµατος να είναι η µεγαλύτερη δυνατή. O φυσικός φορέας, που µεταφέρει µία ψηφιακή πληροφορία,έχει διαµορφωθεί έτσι, ώστε να παίρνει διακριτές στάθµες και σε κάθε στάθµη του να αντιστοιχεί µία πληροφορία. Για παράδειγµα στο σχήµα 1.3 ο φορέας είναι το ηλεκτρικό ρεύµα, η διαµόρφωση αφορά µεταβολές στο πλάτος της ηλεκτρικής τάσεως και οι διακριτές στάθµες, που έχουν επιλεγεί για την παράσταση των πληροφοριών, είναι τα επίπεδα τάσεων 0V, 1V, 2V και 3V, στα οποία έχουν αντιστοιχηθεί οι πληροφορίες "α", "β", "γ" και "δ". Ένα σήµα που αναλύεται σε N επίπεδα–στάθµες, σε κάθε µία από τις οποίες αντιστοιχεί µία πληροφορία, ονοµάζεται N–αδικό σήµα. Για παράδειγµα, το σήµα του σχήµατος 1.3 ονοµάζεται τετραδικό και του σχήµατος 1.4 δυαδικό. 3V στάθµες 5V δ ηλεκτρική| 2V τάση 1V γ 0V α 3V πληροφορία β B 2V 0V A ™¯‹Ì· 1.4 ™¯‹Ì· 1.3: Eπίπεδα σήµατος Mία ψηφιακή πληροφορία µπορεί να παρασταθεί είτε µε το συµβολικό της όνοµα, π.χ. "A", "B", είτε γραφικά µε τη στάθµη του σήµατος. Στην περίπτωση που χρησιµοποιείται σαν φορέας ένα φυσικό µέγεθος, που παίρνει εκ φύσεως συνεχείς τιµές, π.χ. όταν το ηλεκτρικό ρεύµα χρησιµοποιείται για την καταγραφή ψηφιακών πληροφοριών, τότε ορισµένες µόνο τιµές ή περιοχές τιµών του φυσικού φορέα ορίζονται να παριστάνουν πληροφορία. ∆υαδικό σήµα KEºA§AIO 1: EI™A°ø°H 16 Για παράδειγµα στο σχήµα 1.4 έχει δηλωθεί ότι µόνο οι περιοχές τιµών (0V … 2V) και (3V … 5V) παριστάνουν πληροφορίες, αντίστοιχα τις Α και Β. Οι διακριτές τιµές ή περιοχές, που παριστάνουν πληροφορία, ονοµάζονται καταστάσεις του σήµατος. Ένα ψηφιακό σήµα µπορεί να έχει πεπερασµένο ή άπειρο πλήθος καταστάσεων. Θεωρητικά, κάθε συνεχές φυσικό µέσο µπορεί να διαµορφωθεί ώστε να έχει οσοδήποτε πλήθος καταστάσεων, πρακτικοί, όµως, λόγοι επιβάλλουν το χωρισµό του σε µικρό πλήθος σταθµών. Eάν η µέγιστη µεταβολή του πλάτους ενός σήµατος είναι E και το σήµα διαµορφωθεί σε N στάθµες, τότε η απόσταση που διαχωρίζει µια στάθµη από στη γειτονική της είναι δ=E/N. Προφανώς, µία διαµόρφωση του σήµατος σε πολλές στάθµες (µεγάλο N) δυσκολεύει το διαχωρισµό τους (µικρό δ). Στην περίπτωση αυτή οι πηγές (σχήµα 1.5.α), που παράγουν και διαµορφώνουν το σήµα, καθώς επίσης και οι αντίστοιχοι ανιχνευτές των σταθµών για τη λήψη του σήµατος, είναι τεχνικά δύσκολο να κατασκευαστούν. Ένας άλλος πολύ σηµαντικός λόγος είναι η παρουσία του θορύβου. O θόρυβος εισχωρεί σε κάθε σήµα και αλλοιώνει τη στιγµιαία τιµή του (σχήµα 1.5.α). Για παράδειγµα την περίπτωση του σχήµατος 1.5.α είναι αδύνατον να παραχθεί τάση ακριβώς 1V και να φθάσει στην άλλη άκρη της γραµµής µεταφοράς επίσης 1V. Για το λόγο αυτό όχι µόνον επιδιώκεται η απόσταση δ µεταξύ των σταθµών να είναι η µεγαλύτερη δυνατή, αλλά µία στάθµη δεν ορίζεται ακριβώς µε µία τιµή πλάτους του σήµατος, αλλά ορίζεται σαν µία περιοχή τιµών πλάτους µέσα στη οποία µεταφέρεται η ίδια πληροφορία. Για παράδειγµα στο σχήµα 1.5.β οποιαδήποτε τιµή τάσεως µεταξύ 0V και 2V µεταφέρει την πληροφορία "A", µεταξύ 3V και 5V την πληροφορία "B" και για λόγους ασφαλείας έχει παρεµβληθεί µία κενή ζώνη µεταξύ 2V και 3V. Aνιχνευτής Πηγή "A" 1V 1V + Θορ 1V + ??? ™¯‹Ì· 1.5 Aλλοίωση σήµατος λόγω θορύβου 5V B 3V "?" 2V A 0V (α) | Mετάδοση σήµατος (β) | Σήµα µε θόρυβο Tα όρια, από τα οποία αρχίζει και τελειώνει µία στάθµη, καθορίζουν την περιοχή µέσα στην οποία οι διακυµάνσεις του πλάτους είναι ανεκτές και από 1 . 2 ¶ ∞ ƒ∞ ™ ∆∞ ™ ∏ æ ∏ º π ∞ ∫ ø ¡ ™ ∏ ª ∞∆ ø ¡ 17 τα όρια αυτά εξαρτάται το εύρος του ανεκτού θορύβου που µπορεί να υπάρχει στο σύστηµα. Όσο ευρύτερα είναι τα όρια µιας στάθµης, τόσο περισσότερο ανθεκτική είναι η πληροφορία στο θόρυβο. H ιδιότητα αυτή, που δεν υπάρχει στα αναλογικά σήµατα, αποτελεί έναν από τους σηµαντικότερους λόγους για την επικράτηση των ψηφιακών συστηµάτων. Α. Ένα σήµα που οι καταστάσεις του παίρνουν δύο διακριτές τιµές, είναι (επιλέξτε όποια ταιριάζουν): α) ψηφιακό β) δυαδικό γ) τριαδικό δ) φυσικό Β. O θόρυβος µας αναγκάζει να προτιµούµε σήµατα µε: α) πολλές στάθµες β) λίγες στάθµες 1.3 ¢˘·‰È΋ Έ‰ÈÎÔÔ›ËÛË Λόγω των περιορισµών που θέτει ο θόρυβος (βλέπε Eνότητα 1.2), αλλά και για άλλους λόγους, ο χωρισµός ενός σήµατος σε πολλές µικρές στάθµες δεν είναι ευνοϊκός. H λύση είναι να κωδικοποιούνται οι πληροφορίες µε δυαδικά σήµατα. Θα µπορείτε από την Eνότητα αυτή να: • Eξηγήσετε τον όρο bit • Kωδικοποιήσετε ένα σύνολο από N πληροφορίες (N>5) χρησιµοποιώντας: α. Ένα σήµα µε N επίπεδα β. Σήµατα µε τρία επίπεδα γ. ∆υαδικά σήµατα. • Παραστήσετε γραφικά τη χρονική σχέση πολλαπλών σηµάτων. Όταν οι πληροφορίες (διακριτές καταστάσεις) που θέλουµε να παραστήσουµε είναι περισσότερες από τις καταστάσεις ενός σήµατος, τότε συνδυάζουµε περισσότερα σήµατα µαζί. Για παράδειγµα στο σχήµα 1.6.α, για να παραστήσουµε τέσσερις πληροφορίες {α, β, γ, δ} µε δυαδικά σήµατα, όπου το καθένα έχει καταστάσεις {A, B}, χρησιµοποιούµε ένα ζεύγος σηµάτων Σ1, Σ2 (σχήµα 1.6.β) και αντιστοιχούµε τις πληροφορίες σε συνδυασµούς καταστάσεων, δηλ. "α"=A1A2, "β"=A1B2, "γ"=B1A2, "δ"=B1B2. Eπέκταση ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.2 KEºA§AIO 1: EI™A°ø°H 18 αυτής της µεθόδου µπορεί να κωδικοποιήσει οσοδήποτε πλήθος πληροφοριών. Έτσι, για την κωδικοποίηση πλήθους 2K πληροφοριών αρκεί ο συνδυασµός K δυαδικών σηµάτων. Tα δυαδικά σήµατα, λόγω αφενός µεν της ευκολίας παραγωγής τους και αφετέρου του µεγάλου περιθωρίου θορύβου που προσφέρουν, χρησιµοποιούνται σχεδόν αποκλειστικά στις σηµερινές εφαρµογές. Για το λόγο αυτό έχει καθιερωθεί διεθνώς οι δύο καταστάσεις ενός δυαδικού σήµατος να συµβολίζονται µε τα ψηφία "0" και "1" και το κάθε ένα από αυτά τα δυαδικά ψηφία να ονοµάζεται bit (binary digit). Aντίστροφα, ορίζεται ότι 1 bit πληροφορίας παριστά µία από τις δύο δυνατές καταστάσεις. α δ γ ™¯‹Ì· 1.6 β α Παράσταση τετραδικού σήµατος από ζεύγος δυαδικών σηµάτων Σ2{ B A Σ1{ B A δ γ α β t (β)| Zεύγος δυαδικών σηµάτων t (α)| Tετραδικό σήµα Όταν απαιτείται να δηλωθεί η χρονική σχέση µεταξύ δύο ή περισσοτέρων σηµάτων, η γραφική τους παράσταση είναι ο απλούστερος τρόπος. Στο σχήµα 1.7 παρουσιάζεται η γραφική παράσταση των κυµατοµορφών τριών δυαδικών σηµάτων A, B και Γ µαζί µε την κωδικοποίησή τους σε bits, που µεταβάλλονται χρονικά σε διακριτές χρονικές στιγµές t0, t1, t2, …, t7. 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 A χρονική καθυστέρηση| του B ως προς A| την στιγµή t5 B ™¯‹Ì· 1.7 Xρονική συσχέτιση δυαδικών σηµάτων Γ t0 t1 t2 t3 t4 t5 t6 t7 1 . 3 ¢ À∞ ¢ π ∫ ∏ ∫ ø ¢ π ∫ √ ¶ √ π ∏ ™ ∏ 19 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.3 Α. H λέξη bit σηµαίνει: α) µία απλή πληροφορία β) ένα από τα ψηφία "0" ή "1" γ) µία από τις καταστάσεις ενός δυαδικού σήµατος δ. τα (β) και (γ) Β. Ένα σύστηµα έχει τριάντα διακριτές καταστάσεις. Πόσα bits αρκούν για την περιγραφή των καταστάσεων του: α) τρία β) πέντε γ) δέκα δ) είκοσι ε) τριάντα Γ. Ένα σύστηµα έχει 246 διακριτές καταστάσεις. Πόσα bits απαιτούνται για την περιγραφή των καταστάσεών του; 1.4 æËÊȷο Û˘ÛÙ‹Ì·Ù· Ψηφιακά, όπως έχει αναφερθεί στην Eνότητα 1.1, ονοµάζουµε τα µεγέθη που οι καταστάσεις τους µπορούν να παρασταθούν µε τα στοιχεία ενός αριθµήσιµου συνόλου. Στην ενότητα αυτή, θα εξηγήσουµε τι ονοµάζουµε ψηφιακά συστήµατα και πώς τα περιγράφουµε γενικώς. Mελετώντας την ενότητα αυτή θα µπορείτε να: • ∆ώσετε τον γενικό ορισµό ενός ψηφιακού συστήµατος. • Eξηγήσετε τα επίπεδα περιγραφής ενός ψηφιακού συστήµατος µε τη βοήθεια κάποιου παραδείγµατος. • ∆ώσετε παραδείγµατα ψηφιακών συστηµάτων, που έχουν υλοποιηθεί µε ηλεκτρονικό, µηχανικό και οπτικό τρόπο. Tα ψηφιακά µεγέθη προέρχονται από συστήµατα που είτε έχουν από τη φύση τους ψηφιακή συµπεριφορά, όπως π.χ. το παιχνίδι της ρουλέτας, είτε σκοπίµως κατασκευάζονται, όπως π.χ. οι ψηφιακοί υπολογιστές, για να βοηθήσουν στην επεξεργασία δεδοµένων, δηλ. πληροφοριών που παράγονται από άλλα συστήµατα. Στο βιβλίο αυτό, θα µας απασχολήσουν κυρίως τα δεύτερα, που αποτελούν και το αντικείµενο της ψηφιακής σχεδίασης. O Aριστοτέλης στο βιβλίο του "Tοπικά A" ορίζει την έννοια του "συλλογισµού" ως εξής: «òEÛÙÈ ‰c Û˘ÏÏÔÁÈÛÌe˜ ÏfiÁÔ˜ âÓ z ÙÂı¤ÓÙˆÓ ÙÈÓáÓ ≤ÙÂÚÔÓ ÙÈ ÙáÓ ÎÂÈÌ¤ÓˆÓ âÍ àÓ¿Á΢ Û˘Ì‚·›ÓÂÈ ‰Èa ÙáÓ ÎÂÈ̤ӈӻ, δηλ. ο συλλογισµός είναι λογική διεργασία (λόγος), κατά την οποία από τα δεδοµένα (ÙÂı¤- 20 KEºA§AIO 1: EI™A°ø°H ÓÙˆÓ ÙÈÓáÓ) κάτι διαφορετικό από αυτά (≤ÙÂÚÔÓ ÙÈ) προκύπτει σύµφωνα µε αναγκαίους κανόνες (âÍ àÓ¿Á΢ Û˘Ì‚·›ÓÂÈ), αλλά που εξαρτάται από τα δεδοµένα (‰Èa ÙáÓ ÎÂÈ̤ӈÓ). Aν και κατά τον Aριστοτέλη η λέξη "λόγος" σηµαίνει τις ανώτερες νοητικές λειτουργίες, αυτές που ξεχωρίζουν τον άνθρωπο από τα "άλογα όντα", θα µπορούσαµε µε λίγη καλή θέληση να θεωρήσουµε ότι ένα ψηφιακό σύστηµα, που χρησιµοποιείται για την επεξεργασία δεδοµένων τυπικά εµπίπτει στον ανωτέρω ορισµό. Eίναι ένα σύστηµα που δέχεται ψηφιακά δεδοµένα και εξ αυτών παράγει νέα ψηφιακά δεδοµένα σύµφωνα µε κανόνες που, όπως θα παρουσιαστεί στο Kεφάλαιο 3, υλοποιούν τις βασικές πράξεις της λογικής, καθώς και κάθε πολύπλοκη σύνθεση αυτών. Ένα ψηφιακό σύστηµα επεξεργασίας δεδοµένων, γενικά, µπορεί να παρασταθεί σαν ένα µηχάνηµα (κλειστό κιβώτιο), που έχει µία σειρά από εισόδους, από όπου εισέρχονται τα δεδοµένα X, τα οποία µετασχηµατίζονται σύµφωνα µε µία "λογική" σχέση F που έχει υλοποιηθεί στο εσωτερικό του µηχανήµατος, και τα παραγόµενα νέα δεδοµένα Y=F(X) γίνονται προσιτά µέσω των εξόδων του. Τη λειτουργία ενός ψηφιακού συστήµατος µπορούµε να την περιγράψουµε κατά πολλούς τρόπους, ανάλογα µε το βαθµό λεπτοµέρειας που µας ενδιαφέρει, που ονοµάζονται ιεραρχικά επίπεδα περιγραφής. Σκοπός του κάθε επιπέδου περιγραφής είναι να παρέχει τόσες λεπτοµέρειες, όσες απαιτούνται, για να γίνει κατανοητή η λειτουργία στο ζητούµενο επίπεδο, αποφεύγοντας να επιβαρύνει την περιγραφή µε πλεονάζοντα στοιχεία. Tα κυριότερα επίπεδα είναι: α) Tο επίπεδο της συµπεριφοράς. Περιγράφει τις συναρτήσεις και γενικά τις σχέσεις που υπάρχουν µεταξύ των σηµάτων εισόδου και εξόδου. β) Tο επίπεδο µεταφοράς. Περιγράφει οµαδικά τα σήµατα που πρέπει να αποµνηµονευθούν (καταχωρητές) και τους διαδοχικούς µετασχηµατισµούς τους (συναρτήσεις), καθώς µετακινούνται από τη µία κατάσταση αποµνηµονεύσεως στην επόµενη. γ) Tο λογικό επίπεδο. Περιγράφει το σύστηµα σαν ένα αφηρηµένο (ιδεατό) µηχάνηµα, για το οποίο µας ενδιαφέρει να γνωρίζουµε µόνο το λογικό τρόπο µε τον οποίο εργάζεται, δηλ. τους αναλυτικούς κανόνες µε τους οποίους συνδυάζει τις πληροφορίες εισόδου, παράγει ενδιάµεσες πληροφορίες κ.λπ., για να δηµιουργήσει τις πληροφορίες εξόδου, αδιαφορώντας για τη φυσική µορφή που έχουν στο εσωτερικό του οι πληροφορίες και ο µηχανισµός επεξεργασίας, 1 . 4 æ ∏ º π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆∞ 21 δ) Tο κυκλωµατικό επίπεδο, που αναφέρει το είδος των λογικών στοιχείων (λογικών πυλών, µνηµονικών στοιχείων) που χρησιµοποιούνται από το σύστηµα και τις µεταξύ τους διασυνδέσεις (κύκλωµα), ε) Tο ηλεκτρικό επίπεδο (για τα ηλεκτρονικά συστήµατα), που βρίσκεται ιεραρχικά χαµηλότερα από το κυκλωµατικό και περιέχει πρόσθετες πληροφορίες για τα ηλεκτρικά κυκλώµατα που υλοποιούν τις πύλες, και στ) Tο επίπεδο υλοποιήσεως, όπου λαµβάνονται υπ' όψιν εκτός της λογικής και οι φυσικοί περιορισµοί, τους οποίους συνεπάγεται η φυσική (υλική) µορφή του συστήµατος, π.χ. υλικό κατασκευής των τρανσίστορ, γεωµετρικό σχήµα τους, διάταξη τους στο χώρο, εξαερισµός κ.λπ. H "λογική" ενός ψηφιακού συστήµατος µπορεί να υλοποιηθεί µε διαφόρους τρόπους, π.χ. να κατασκευασθεί από ηλεκτρονικές πύλες, όπως είναι συνήθως τα σηµερινά συστήµατα, οπότε έχουµε ένα ηλεκτρονικό ψηφιακό σύστηµα. H λογική µπορεί ακόµη να πραγµατοποιηθεί µε οδοντωτούς τροχούς και άξονες, όπως ήταν τα παλαιότερα συστήµατα ή και µερικά σηµερινά σε ειδικευµένες εφαρµογές, και τότε το σύστηµα ονοµάζεται µηχανικό. Tο σύστηµα θα µπορούσε να είναι υδραυλικό, που η λογική του υλοποιείται µε βαλβίδες και σωλήνες µέσα στους οποίους κυκλοφορεί κάποιο υγρό µε πίεση. Θα µπορούσε ο φορέας της πληροφορίας να είναι µία ή περισσότερες φωτεινές δέσµες, που η ένταση ή η φάση τους διαµορφώνεται µε τη βοήθεια οπτικών φακών και διαφραγµάτων και ονοµάζεται οπτικό σύστηµα. Στο ερώτηµα "τι είναι οι φωτεινοί σηµατοδότες της τροχαίας" σας δίνεται µία από τις ακόλουθες τέσσερις απαντήσεις, δηλ. ότι οι φωτεινοί σηµατοδότες είναι συσκευές που: 1. Pυθµίζουν την κυκλοφορία µε φωτεινά σήµατα. 2. Έχουν τρία χρωµατιστά φώτα και, εάν ανάβει το πράσινο, τότε … 3. Aποτελούνται από ένα κιβώτιο, στο οποίο είναι στερεωµένα τρία χρωµατιστά φώτα, που ρυθµίζονται από έναν χρονοδιακόπτη και … 4. Aποτελούνται από ένα µεταλλικό κιβώτιο τοποθετηµένο σε υψηλό σηµείο, στο οποίο υπάρχουν τρία χρωµατιστά παράθυρα, που φωτίζονται εσωτερικά το καθένα από τρεις ηλεκτρικές λάµπες (τρεις για λόγους ασφαλείας, ώστε, εάν καεί κάποια λάµπα, να λειτουργεί ο σηµατοδότης) κ.λπ. Σε ποιο επίπεδο περιγραφής ενός συστήµατος θα αντιστοιχίζατε την καθεµία από τις ανωτέρω απαντήσεις; ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.4 KEºA§AIO 1: EI™A°ø°H 22 1.5 MÂÙ·ÊÔÚ¿ „ËÊÈ·ÎÒÓ ÛËÌ¿ÙˆÓ H δυνατότητα της µεταφοράς των σηµάτων αποτελεί προϋπόθεση για τη χρησιµοποίησή τους. Παρουσιάζονται και συγκρίνονται οι δύο τρόποι µεταφοράς ψηφιακών σηµάτων, ο παράλληλος και ο σειριακός. Aπό αυτή την ενότητα θα µπορείτε να: • ∆ώσετε τον ορισµό της παράλληλης και της σειριακής µεταφοράς. • Nα αποφασίσετε πότε θα προτιµούσατε την παράλληλη έναντι της σειριακής µεταφοράς κάποιων ψηφιακών σηµάτων και αντιστρόφως. H µεταφορά πληροφοριών, που παριστάνονται από συνδυασµό N σηµάτων, γίνεται είτε παράλληλα είτε σειριακά. H παράλληλη µεταφορά N σηµάτων (σχήµα 1.8) απαιτεί N πηγές για τη διαµόρφωση του φυσικού φορέα, π.χ. ελεγχόµενες ηλεκτρονικές πηγές, N γραµµές µεταφοράς και N ανιχνευτές στάθµης. H µεταφορά όλων των σηµάτων γίνεται ταυτόχρονα κατά τη χρονική στιγµή t. H σειριακή µεταφορά N σηµάτων στηρίζεται στη µέθοδο της χρονικής πολυπλεξίας. Xρησιµοποιεί µία πηγή (σχήµα 1.9), µία γραµµή και έναν ανιχνευτή, τα δε σήµατα Σ1, …, ΣN στέλνονται σε διαδοχικές χρονικές στιγµές t1, t2, t3, … και tN και παραλαµβάνονται (ανιχνεύονται) µε τη σειρά κατά τις χρονικές στιγµές t1+δ, t2+δ, t3+δ, … και tN+δ αντίστοιχα, όπου δ η καθυστέρηση κατά τη µεταφορά. Πηγές ™¯‹Ì· 1.8 Παράλληλη µεταφορά E| ί| σ| ο| δ| ο| ς Π| λ| η| ρ| ο| φ Aνιχνευτές Σ1 Έ| ξ| ο| δ| ΣN ο| ς| | Π| λ| η| ρ| ο| φ t Συγκρινόµενες οι δύο µέθοδοι µεταφοράς, η µεν παράλληλη έχει το πλεονέκτηµα της µεγάλης ταχύτητας, γιατί όλα τα σήµατα στέλνονται ταυτόχρονα σε µία µονάδα χρόνου, έχει όµως το µειονέκτηµα ότι απαιτεί N–πλάσιο εξοπλισµό, η δε σειριακή έχει το µειονέκτηµα ότι είναι βραδύτερη κατά N µονά- 1 . 5 M ∂ ∆∞ º √ ƒ∞ æ ∏ º π ∞ ∫ ø ¡ ™ ∏ ª ∞∆ ø ¡ 23 δες χρόνου, αλλά το πλεονέκτηµα ότι απαιτεί λιγότερο εξοπλισµό. Επιπλέον για τη µεταφορά σηµάτων σε µεγάλες αποστάσεις, η σειριακή µέθοδος είναι η µόνη ασφαλής, γιατί οι τυχόν καθυστερήσεις, που εισάγει η γραµµή µεταφοράς, είναι οµοιόµορφες για όλα τα σήµατα (αφού όλα περνούν από την ίδια γραµµή) και έτσι διατηρείται ο µεταξύ τους συγχρονισµός, ενώ στην παράλληλη µεταφορά οι καθυστερήσεις µεταξύ των γραµµών, όσο όµοιες και να είναι οι γραµµές, διαφέρουν µε κίνδυνο να χαθεί ο συγχρονισµός µεταξύ των σηµάτων. Πολυπλέκτης Πολυπλέκτης Σ1 Σ1 Πηγή Aνιχνευτής tk tk + δ ΣN ΣN ™¯‹Ì· 1.9 t1 t2 t3 tN t 1.6 MÂÙ·ÙÚÔ‹ ·Ó·ÏÔÁÈÎÔ‡ Û‹Ì·ÙÔ˜ Û „ËÊÈ·Îfi H δυνατότητα µετατροπής ενός αναλογικού σήµατος σε ψηφιακό και αντίστροφα θέτει στη διάθεσή µας τα πλεονεκτήµατα της ψηφιακής τεχνολογίας για την επεξεργασία αναλογικών σηµάτων. Aπό αυτή την ενότητα: • Θα µπορείτε να εξηγήσετε τις βασικές αρχές της µετατροπής ενός αναλογικού σήµατος σε ψηφιακό. • Θα αντιληφθείτε ότι υπάρχει ένα πληροφοριακό “κόστος” (σφάλµα ψηφιοποίησης) για κάθε µετατροπή. • Όταν θέλετε να αγοράσετε έναν µετατροπέα A/D, θα ξέρετε ποια είναι τα βασικά χαρακτηριστικά, που θα πρέπει να ζητήσετε από τον πωλητή. Έστω ότι ενδιαφερόµαστε να µελετήσουµε την ηµερήσια µεταβολή της θερµοκρασίας του τόπου µας. Στο σχήµα 1.10.α παριστάνεται η θερµοκρασία Σειριακή µεταφορά KEºA§AIO 1: EI™A°ø°H 24 για κάθε χρονική στιγµή. Eάν µας αρκεί να γνωρίζουµε την θερµοκρασία µόνο για ορισµένες στιγµές της ηµέρας, π.χ. κάθε τρεις ώρες, τότε µπορούµε να καταγράψουµε τις τιµές της θερµοκρασίας µόνο για αυτές τις στιγµές, όπως εµφανίζονται στο σχήµα 1.10.β. H διαδικασία αυτή ονοµάζεται δειγµατοληψία. T ™¯‹Ì· 1.10 T 0 Kαταγραφή της ηµερήσιας µεταβολής της τοπικής θερµοκρασίας 3 6 9 12 3 6 π.µ. µ.µ. 9 0 3 (α)| Συνεχής καταγραφή 6 9 12 3 6 π.µ. µ.µ. 9 (β)| ∆ειγµατοληπτική Mε τη δειγµατοληψία ενός συνεχούς σήµατος επιτύχαµε το πρώτο βήµα για τη µετατροπή του σε ψηφιακό. Tο επόµενο βήµα είναι να χωρίσουµε την κλίµακα της θερµοκρασίας σε µικρά τµήµατα–παράθυρα, π.χ. ανά ένα βαθµό Kελσίου, να αριθµήσουµε τα παράθυρα και να σηµειώσουµε τον αριθµό του παραθύρου στο οποίο περιέχεται η αντίστοιχη τιµή του δείγµατός µας. Για παράδειγµα στο σχήµα 1.11.α τα δείγµατα περιέχονται κατά σειρά στα παράθυρα αριθ. 2, 3, 3, 3, 2, 1, 1, 1, που ορίζουν και την ψηφιακή τιµή των σηµάτων. Στο σχήµα 1.11.β η τονισµένη γραµµή παριστά το ψηφιακό σήµα που προήλθε από την ψηφιοποίηση του συνεχούς σήµατος του σχήµατος 1.10.α. Eίναι φανερό ότι η µετατροπή αυτή δεν αποδίδει µε ακρίβεια την τιµή του αρχικού σήµατος. Tο σφάλµα, που εισάγεται, ονοµάζεται σφάλµα ψηφιο- ™¯‹Ì· 1.11 Ψηφιοποίηση του αναλογικού σήµατος του σχήµατος 1.10α T T 3 3 2 2 1 1 0 0 0 3 6 9 12 3 6 π.µ. µ.µ. (α)| Παράθυρα ψηφιοποίησης 9 0 3 6 9 12 3 6 π.µ. µ.µ. (β)| Ψηφιακό σήµα 9 1 . 6 M ∂ ∆∞∆ ƒ √ ¶ ∏ ∞ ¡ ∞ § √ ° π ∫ √ À ™ ∏ ª ∞∆ √ ™ ™ ∂ æ ∏ º π ∞ ∫ √ 25 ποίησης. Tο µέγεθος του σφάλµατος ψηφιοποίησης ισούται µε το εύρος του παραθύρου. Eάν λοιπόν προτιµήσουµε να χωρίσουµε την κλίµακα σε διπλάσιο πλήθος παραθύρων, π.χ. ανά µισό βαθµό Kελσίου, τότε το σφάλµα ψηφιοποίησης θα γίνει το µισό του προηγούµενου. Kατ' επέκταση µπορούµε να επιτύχουµε όσο µικρά σφάλµατα ψηφιοποίησης θέλουµε, αρκεί να το επιτρέπει η ακρίβεια των οργάνων µετρήσεως που διαθέτουµε. Αντίστοιχα, ένα ψηφιακό σήµα µπορεί να µετατραπεί σε αναλογικό, παράγοντας π.χ. ένα ηλεκτρικό ρεύµα µε τιµή ανάλογη προς την αριθµητική τιµή του ψηφιακού σήµατος. Για τη µετατροπή αναλογικών ηλεκτρονικών σηµάτων σε ψηφιακά υπάρχουν ειδικά κυκλώµατα, που ονοµάζονται Mετατροπείς A/D (Analog to Digital Converters). Αντίστοιχα, υπάρχουν µετατροπείς ψηφιακών σηµάτων σε αναλογικά, που ονοµάζονται Mετατροπείς D/A (D/A Converters). Oι µετατροπείς A/D και D/A χαρακτηρίζονται από τις παραµέτρους: α) Aκρίβεια µετατροπής, δηλ. το πλήθος των παραθύρων που παρέχουν (πολλά–µικρά παράθυρα δίνουν µικρό σφάλµα ψηφιοποίησης), µε συνήθεις τιµές ακρίβειας 28 έως 216 παράθυρα (8 έως 16 bits), και β) Tαχύτητα µετατροπής, µε συνήθεις τιµές ταχύτητος µετατροπής 102 έως 106 δείγµατα/sec. Α. Kατά τη µετατροπή ενός αναλογικού σήµατος σε ψηφιακό, το σφάλµα ψηφιοποίησης διπλασιάζεται όταν το πλήθος των παραθύρων: α) διπλασιαστεί β) υποδιπλασιαστεί Β. Σας δίνονται τρία ψηφιακά ρολόγια µε ενδείξεις για τις ώρες, τα λεπτά και τα δευτερόλεπτα. Στο πρώτο λειτουργούν σωστά και οι τρεις ενδείξεις. Στο δεύτερο είναι ελαττωµατική µόνο η ένδειξη των δευτερολέπτων. Στο τρίτο είναι ελαττωµατική µόνο η ένδειξη των λεπτών. Πόσο είναι το µέγεθος του σφάλµατος ψηφιοποίησης του χρόνου στο κάθε ρολόι; ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.5 KEºA§AIO 1: EI™A°ø°H 26 1.7 ™‡ÁÎÚÈÛË „ËÊÈ·ÎÒÓ–·Ó·ÏÔÁÈÎÒÓ Û˘ÛÙËÌ¿ÙˆÓ H δυνατότητα µετατροπής ενός αναλογικού σήµατος σε ψηφιακό (Eνότητα 1.6) οδήγησε στην κατάκτηση του αναλογικού “χώρου” από την ψηφιακή τεχνολογία. Ποια είναι, όµως, τα πλεονεκτήµατα της ψηφιακής τεχνολογίας έναντι της αναλογικής; Παρουσιάζονται εδώ τα κυριότερα: η αξιοπιστία και το κόστος. Θα µπορείτε να εξηγήσετε: • Tα όρια που υπάρχουν στην αξιοπιστία και στο κόστος των δύο τεχνολογιών. • Mε ποιο τρόπο είναι δυνατόν να επεξεργαστούµε αναλογικά σήµατα χρησιµοποιώντας ψηφιακή τεχνική. • Tα τεχνολογικά και οικονοµικά πλεονεκτήµατα ενός δίσκου µουσικής CD έναντι ενός αντίστοιχου δίσκου αναλογικής εγγραφής. Tα αναλογικά συστήµατα εκµεταλλεύονται τις "φυσικές" ιδιότητες των σηµάτων τους, για να φέρουν σε πέρας τη ζητούµενη επεξεργασία. Για παράδειγµα σ' ένα ηλεκτρικό κύκλωµα, που αποτελείται από µία ρυθµιζόµενη πηγή τάσεως, µία µεταβλητή αντίσταση και ένα αµπερόµετρο στη σειρά, µπορώ να εκτελέσω την πράξη της διαίρεσης ως εξής: εάν θέλω το πηλίκο των αριθµών A, B, ρυθµίζω την τάση της πηγής V=A, την τιµή της αντίστασης R=B και τότε η αριθµητική τιµή της ένδειξης I, που παρατηρώ στο αµπερόµετρο, είναι το πηλίκο I=A/B σύµφωνα µε το γνωστό νόµο του Ohm. Tα αναλογικά συστήµατα, αν και σε ορισµένες εφαρµογές παρουσιάζουν υψηλές επιδόσεις σε ταχύτητα, π.χ. τα ηλεκτρονικά συστήµατα στην επίλυση των διαφορικών εξισώσεων, τα οπτικά στους µετασχηµατισµούς Fourier, γενικώς σήµερα τείνουν να καταργηθούν λόγω των "φυσικών" περιορισµών που έχουν. Συγκρίνοντας τα ψηφιακά µε τα αναλογικά συστήµατα οι κυριότερες παράµετροι, που µας ενδιαφέρουν, είναι οι εξής: 1. Αξιοπιστία παράστασης της πληροφορίας. Η διατήρηση, η µεταφορά ή η µέτρηση ενός αναλογικού σήµατος, π.χ. πλάτος ηλεκτρικής τάσεως, υπόκεινται πάντοτε σε σφάλµα. Υπάρχει ένα φυσικό όριο στην ακρίβεια που µπορούµε να παραστήσουµε µία αναλογική πληροφορία. Επιπλέον η ακρίβεια του σήµατος υποβαθµίζεται κατά τη διαδοχική επεξεργασία του λόγω του θορύβου. Αντίθετα, η ακρίβεια, µε την οποία µπορούν να παρασταθούν οι 1 . 7 ™ À ° ∫ ƒ π ™ ∏ æ ∏ º π ∞ ∫ ø ¡ – ∞ ¡ ∞ § √ ° π ∫ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡ 27 ψηφιακές πληροφορίες, είναι θεωρητικά απεριόριστη, η δε αντοχή τους στο θόρυβο ρυθµίζεται όχι µόνο από το ανεκτό εύρος θορύβου, αλλά και από ειδικά σχήµατα κωδικοποίησης, που αναφέρονται στο Kεφάλαιο 2. 2. Κόστος κατασκευής. Όταν η ακρίβεια, µε την οποία παριστάνονται τα σήµατα ενός αναλογικού συστήµατος, είναι κοντά στο όριο της φυσικής του ακριβείας, τότε το κόστος του συστήµατος αυξάνει εκθετικά (Σχήµα 1.12). Στα ψηφιακά συστήµατα το κόστος αυξάνει περίπου γραµµικά µε το πλήθος των bits που παριστάνουµε την πληροφορία. Kόστος Aναλογικό Ψηφιακό ™¯‹Ì· 1.12 10% 1% 0.1% Σύγκριση ψηφιακών και αναλογικών συστηµάτων Aξιοπιστία Σήµερα, που το κόστος των ολοκληρωµένων κυκλωµάτων έχει γίνει πάρα πολύ µικρό σχετικά µε τις δυνατότητες τους, συµφέρει να γίνεται η επεξεργασία µε ψηφιακό τρόπο,ακόµη και σε κατηγορίες σηµάτων που ήταν εκ παραδόσεως αναλογικές, ακολουθώντας τη διαδικασία του σχήµατος 1.13. Aν και ο ήχος είναι αναλογικό µέγεθος το τηλεφωνικό δίκτυο µετατρέπεται σε ψηφιακό, φωτογραφικές µηχανές κυκλοφορούν οι οποίες αντί για φίλµ έχουν ηλεκτρονικές µνήµες, όπου καταγράφεται η εικόνα απευθείας σε ψηφιακή µορφή, οι δίσκοι µουσικής αναλογικής τεχνολογίας αντικαθίστανται µε ψηφιακούς Compact Disc (CD), που προσφέρουν πολύ µεγαλύτερη πιστότητα και ανεκτικότητα στο θόρυβο. Mετατροπέας Aναλογικό| σήµα A D Mετατροπέας Ψηφιακή| επεξεργασία D A ™¯‹Ì· 1.13 Aναλογικό| σήµα Ψηφιακή επεξεργασία αναλογικού σήµατος KEºA§AIO 1: EI™A°ø°H 28 1.8 ™¯Â‰›·ÛË „ËÊÈ·ÎÒÓ Î˘ÎÏˆÌ¿ÙˆÓ H αλµατώδης εξέλιξη των ψηφιακών συστηµάτων, το χαµηλό κόστος τους και η εντυπωσιακή πολυπλοκότητά τους δεν θα ήταν δυνατά χωρίς τους ανθρώπους και τα µέσα που εξασφαλίζουν ταχύτερους και αποτελεσµατικότερους τρόπους µελέτης, σχεδίασης, ανάπτυξης και κατασκευής τους. Aν και το αντικείµενο αυτού του βιβλίου είναι η Ψηφιακή Σχεδίαση, είναι αδύνατο να παρουσιασθούν όλοι αυτοί οι τοµείς ανάπτυξης ενός σύγχρονου ψηφιακού συστήµατος σ’ ενα µόνο βιβλίο, πολύ λιγότερο δε στην παρούσα ενότητα. Σκιαγραφούνται απλώς εδώ: • H επιλογή του ηλεκτρικού ρεύµατος σαν φορέα. • H θεωρητική βάση για τη µελέτη των ψηφιακών συστηµάτων (C. Shannon) • H προσφορά της µικροηλεκτρονικής. H µεταβιοµηχανική εποχή, και ιδιαίτερα η σύγχρονη µορφή της, η εποχή της πληροφορικής, δηµιούργησαν την ανάγκη να βρεθούν αποτελεσµατικότερα µέσα για τη µετάδοση και επεξεργασία των πληροφοριών. Oι "φρυκτωρίες" της Oµηρικής εποχής, ένα από τα αρχαιότερα ψηφιακά συστήµατα τηλεπικοινωνίας, το οποίο χρησιµοποιούσε συνδυασµούς πυρσών, προ πολλού έπαψαν να είναι αποτελεσµατικά. Oι "calculators" του 19ου αιώνα, δηλ. οι άνθρωποι που είχαν ως επάγγελµα την εκτέλεση αριθµητικών πράξεων, είναι και αυτοί ανεπαρκείς. H χρησιµοποίηση του ηλεκτρικού ρεύµατος από τον 19ο αιώνα, ως φορέα της πληροφορίας υπήρξε µία πολύ επιτυχής επιλογή, λόγω (α) των πολύ καλών ιδιοτήτων µετάδοσης (ταχύτητα ηλεκτρικού ρεύµατος, ηλεκτροµαγνητικά κύµατα) και (β) της ευκολίας ελέγχου (διακόπτες, ηλεκτρονικές λυχνίες, τρανσίστορ) που διαθέτει. Mε την πάροδο του χρόνου, όµως, οι συσκευές που επεξεργάζονταν ψηφιακά ηλεκτρονικά σήµατα (τηλεφωνικά κέντρα, µηχανές κρυπτογραφήσεως, ηλεκτροµηχανικοί και ηλεκτρονικοί υπολογιστές) έγιναν τόσο περίπλοκες, ώστε η κατανόηση της λειτουργίας τους, και ακόµη περισσότερο ο σχεδιασµός τους, έγινε δύσκολος, χρονοβόρος και επιρρεπής σε λάθη. Ήταν απαραίτητο να βρεθούν συστηµατικοί τρόποι και εργαλεία για τη µελέτη και τη σχεδίαση των ψηφιακών συστηµάτων. Mία σηµαντική πρόοδος έγινε το 1938 από τον C. Shannon, ο οποίος, κάνο- 1 . 8 ™ à ∂ ¢ π ∞ ™ ∏ æ ∏ º π ∞ ∫ ø ¡ ∫ À ∫ § ø ª ∞∆ ø ¡ ντας την πτυχιακή του εργασία, κατόρθωσε να συσχετίσει τη συµπεριφορά των ψηφιακών συστηµάτων µε ένα κλάδο της καθαρής Λογικής, που ονοµάζεται "Λογισµός των Προτάσεων". H µέθοδος αυτή, που θα παρουσιάσουµε στο Kεφάλαιο 3, αποτελεί το βασικό µαθηµατικό υπόβαθρο για τη σχεδίαση των ψηφιακών συστηµάτων. H τεχνολογία της "µικροηλεκτρονικής", που η γέννησή της οριοθετείται το 1958 µε την κατάθεση της πρώτης αίτησης ευρεσιτεχνίας για την κατασκευή "Oλοκληρωµένου Kυκλώµατος" (IC), οδήγησε σε µία εκρηκτική εξέλιξη στο χώρο των ψηφιακών και κατά συνέπεια των υπολογιστικών και τηλεπικοινωνιακών συστηµάτων. Tα πρώτα, στοιχειώδη, Oλοκληρωµένα Ψηφιακά Kυκλώµατα (OΨK) αρχίζουν να παράγονται βιοµηχανικά το 1962 και από τότε η πολυπλοκότητά τους σχεδόν διπλασιάζεται κάθε τρία χρόνια (νόµος Moore). Tα µικροσκοπικά, ταχύτατα και πάµφθηνα OΨK κατακλύζουν τον κόσµο και γίνονται οι αφανείς αλλά απαραίτητοι συνοδοί µας στην καθηµερινή ζωή. Tαυτόχρονα οι ανάγκες της βιοµηχανίας για γρήγορη παραγωγή ολοένα και περισσότερο πολύπλοκων συστηµάτων απαιτούν τη βελτίωση των µεθόδων σχεδίασης και κατασκευής. Oι σηµερινές τάσεις για τη σχεδίαση και κατασκευή πρωτότυπων OΨK σε βιοµηχανικό επίπεδο συνοψίζονται επιγραµµατικά στον Πίνακα 1.1. Tην όλη τεχνολογία της σχεδίασης και κατασκευής OΨK µπορούµε να την παραστήσουµε εποπτικά µε το διάγραµµα του σχήµατος 1.14. Aς σηµειωθεί ότι ο αναγνώστης δεν πρέπει να ανησυχεί για ορισµένες έννοιες, που αναφέρονται στον Πίνακα 1.1 και στο σχήµα 1.14 και οι οποίες τού είναι άγνωστες. H σηµασία τους δεν είναι απαραίτητη για την κατανόηση του παρόντος βιβλίου και µπορεί να τις αγνοήσει. Aς θεωρηθούν σαν ερεθίσµατα για να εµβαθύνει µελλοντικά στο θέµα. 1.9 ¢È¿ÚıÚˆÛË ÙÔ˘ ‚È‚Ï›Ô˘ Στην Eνότητα 1.8 αναφέρθηκαν επιγραµµατικά οι τεχνολογίες σχεδίασης και κατασκευής ψηφιακών συστηµάτων που χρησιµοποιούνται σήµερα για να αποκτήσει ο αναγνώστης µία στοιχειώδη εικόνα των απαιτήσεων που υπάρχουν για την ανάπτυξη τέτοιων συστηµάτων. Eπί πλέον, ας σηµειωθεί, ότι η εικόνα αυτή δεν είναι πλήρης. Πολλά κρίσιµα στοιχεία έχουν παραληφθεί, όπως οι τεχνικές ελέγχου βλαβών, η σχεδίαση για ανεκτικότητα σε βλάβες, η υλοποίηση του κυκλώµατος µε την τεχνολογία της µικροηλεκτρονικής, οι οικονοµικοί παράγοντες παραγωγής κ.λπ. 29 KEºA§AIO 1: EI™A°ø°H 30 ¶›Ó·Î·˜ 1.1 Kατευθύνσεις της βιοµηχανίας για την σχεδίαση και κατασκευή πρωτοτύπων OΨK. Mεγιστοποίηση της χρήσης Eργαλείων Aυτόµατης Σχεδίασης Σκοπός: η επιτάχυνση της διαδικασίας και η αποφυγή λαθών λόγω της πολυπλοκότητος των κυκλωµάτων. Tρόποι: • Aποφυγή "χειρωνακτικής" σχεδίασης. • Γλώσσες για την Περιγραφή του Yλικού. • Συµµετοχή του ανθρώπου κυρίως στα ανώτερα επίπεδα σχεδίασης (επίπεδο συµπεριφοράς). Mέθοδοι Tαχείας Παραγωγής Πρωτοτύπων Σκοπός: Eνα πρώτο δείγµα του προϊόντος είναι σύντοµα διαθέσιµο ώστε (α) να γίνουν οι απαιτούµενοι ποιοτικοί έλεγχοι και (β) να διευκολυνθεί η παραγωγή άλλων προϊόντων που εξαρτώνται από αυτό. Tρόποι: • Προσοµοιωτές ψηφιακών συστηµάτων. • Σύνθεση του πρωτοτύπου κυκλώµατος µε Προγραµµατιζόµενες Λογικές ∆ιατάξεις (PLA, PROM) αντί της σύνθεσης µε απλές πύλες. Έγκυρη Σχεδίαση Σκοπός: Tο προϊόν στο οποίο καταλήγει η σχεδίαση να είναι και το σωστό δηλ. να συµφωνεί µε τις προδιαγραφές του επιθυµητού προϊόντος, ώστε να αποφεύγεται η δαπάνη, σε χρόνο και κόστος, για την διόρθωση και επανασχεδίαση του προϊόντος. Tρόποι: • Mέθοδοι Aυτόµατης Eπαλήθευσης (Design Verification) Στο παρόν βιβλίο θα ασχοληθούµε µε την σχεδίαση των Συνδυαστικών Ψηφιακών Kυκλωµάτων. Tα ψηφιακά κυκλώµατα για διευκόλυνση της µελέτης τους χωρίζονται σε δύο κατηγορίες: (α) σ' αυτά που το αποτέλεσµα στις εξόδους του κυκλώµατος είναι ανεξάρτητο από τη χρονική στιγµή στην οποία εφαρµόζονται τα δεδοµένα στην είσοδο και ονοµάζονται Συνδυαστικά, και (β) σ' αυτά που η συµπεριφορά του κυκλώµατος δηλ. το αποτέλεσµα στις εξόδους του επιρρεάζεται και από την χρονική στιγµή στην οποία εφαρµό- 1.9 ¢π∞ƒ£ƒø™∏ ∆√À µπµ§π√À 31 Eπίπεδο περιγραφής Συµπεριφορά Συναρτήσεις Λογική Kύκλωµα Tαχεία Προτυποποίηση TTL MOS CMOS Προσοµοιωτές PAL, PLA PROM, PLD Tεχνολογία κατασκευής ™¯‹Ì· 1.14 Tεχνολογίες σχεδίασης και κατασκευής OΨK ζονται τα δεδοµένα εισόδου και ονοµάζονται Aκολουθιακά. Mε απλά λόγια τα Συνδυαστικά µπορούν να θεωρηθούν ότι είναι κυκλώµατα χωρίς "µνήµη", ενώ τα Aκολουθιακά παρουσιάζουν "µνηµονικές" ικανότητες. Στο Kεφάλαιο 2 του βιβλίου θα παρουσιαστούν µέθοδοι για την κωδικοποίηση δυαδικών πληροφοριών που χρησιµοποιούνται σε αριθµητικές εφαρµογές καθώς και µέθοδοι κωδικοποίησης κατάλληλες για την προστασία της πληροφορίας από τον θόρυβο. Kατόπιν, στο Kεφάλαιο 3 θα γίνει µία εισαγωγή στην θεωρία της Άλγεβρας Boole και των Λογικών Συναρτήσεων, που αποτελούν το απαραίτητο θεωρητικό υπόβαθρο για την µελέτη και την σχεδίαση των ψηφιακών κυκλωµάτων. Στο Kεφάλαιο 4 θα περιγραφεί η τεχνολογία και η χρήση των Λογικών Πυλών, που είναι τα βασικά συστατικά για την κατασκευή των ψηφιακών κυκλωµάτων. Στο Kεφάλαιο 5 αναλύονται οι βασικές αρχές της ψηφιακής σχεδίασης και παρουσιάζονται τρόποι για την σχεδίαση απλουστέρων κυκλωµάτων. Tέλος, στο Kεφάλαιο 6 περιγράφονται η λειτουργία και οι εφαρµογές διαφόρων συνθέτων ψηφιακών κυκλωµάτων. Περιγράψτε δύο αναλογικά και δύο ψηφιακά συστήµατα, εκτός από αυτά που αναφέρονται σ’ αυτό το Kεφάλαιο. Προσπαθήστε να τα περιγράψετε (Eνότητα 1.4) ξεκινώντας την περιγραφή από το επίπεδο της συµπεριφοράς τους και προχωρώντας σε κατώτερα επίπεδα (λεπτοµερέστερα) περιγραφής. ¢Ú·ÛÙËÚÈfiÙËÙ· 1.1 KEºA§AIO 1: EI™A°ø°H 32 ¢Ú·ÛÙËÚÈfiÙËÙ· 1.2 Σχεδιάστε ένα σύστηµα που: (α) µετατρέπει την φωνή από ένα τηλέφωνο (αναλογικό σήµα) σε ψηφιακή µορφή µε 250 στάθµες, (β) µεταφέρει το ψηφιακό σήµα σε µεγάλη απόσταση, και τέλος (γ) το µετατρέπει πάλι σε αναλογική µορφή για να ακουστεί από το τηλέφωνο. Παρουσιάστε το σύστηµα υπό µορφή σχήµατος (όπως π.χ. το Σχήµα 1.13) και εξηγείστε: α) Γιατί χρειάζονται τα επί µέρους εξαρτήµατα που βάλατε στο σχήµα (Eνότητα 1.6). β) Πόσα bits θα χρειαστείτε για την ψηφιοποίηση της φωνής (Eνότητα 1.3). γ) Γιατί προτιµήσατε τον τρόπο µεταφοράς που σχεδιάσατε (Eνότητα 1.5). δ) Tι αξιοπιστία, σε ποσοστό επί τοις εκατό, θα έπρεπε να έχει ένα αντίστοιχο σύστηµα αναλογικής µεταφοράς (Eνότητα 1.7). (Yπόδειξη: Θεωρήστε την αξιοπιστία του αναλογικού σήµατος ίση µε την ακρίβεια της µετατροπής του σε ψηφιακό.) ™‡ÓÔ„Ë ÎÂÊ·Ï·›Ô˘ Tο κεφάλαιο αυτό είναι εισαγωγικό. Προσπαθεί να µας εισαγάγει στις βασικές έννοιες των ψηφιακών µεγεθών και επιχειρεί να διασυνδέσει τις έννοιες αυτές µε τον φυσικό κόσµο. • Aναλογικά ονοµάζουµε τα µεγέθη που παίρνουν συνεχείς τιµές. • Ψηφιακά ονοµάζουµε τα µεγέθη που παίρνουν διακριτές τιµές. • Για να µεταδοθεί µιά πληροφορία πρέπει να εγγραφεί υπό µορφήν σήµατος σε κάποιο φυσικό µέσο. • ∆υαδικό ονοµάζεται το σήµα που χαρακτηρίζεται από δύο καταστάσεις. Mπορούµε να έχουµε επίσης τριαδικά, τετραδικά κ.λπ. σήµατα. O θόρυβος και οι δυνατότητες της τεχνολογίας συνήθως επιβάλλουν περιορισµούς στο πλήθος των δυνατών καταστάσεων ενός σήµατος. • Bit ονοµάζεται διεθνώς η κατάσταση “0” ή “1” ενός δυαδικού σήµατος. Kάθε πληροφορία µπορεί να κωδικοποιηθεί σαν ένας συνδυασµός δυαδικών σηµάτων. K δυαδικά σήµατα καλύπτουν (κωδικοποιούν) µέχρι 2K διακριτές πληροφορίες. • Ένα ψηφιακό σύστηµα επεξεργασίας δεδοµένων περιέχει ενσωµατωµένους κάποιους κανόνες σύµφωνα µε τους οποίους µετασχηµατίζει τα δεδο- ™YNOæH µένα που παίρνει από τις εισόδους του και τα αποτελέσµατα παρέχονται από τις εξόδους. Για την εύκολη κατανόηση της λειτουργίας ενός περίπλοκου ψηφιακού συστήµατος αυτή περιγράφεται µε διαδοχικά ιεραρχικά επίπεδα περιγραφής. • ∆ύο τρόποι µεταφοράς ενός σύνθετου ψηφιακού σήµατος υπάρχουν, ο παράλληλος και ο σειριακός. Kάθε ένας έχει τα πλεονεκτήµατα και τα µειονεκτήµατα του. • O κόσµος των ψηφιακών µεγεθών δεν είναι αποκλεισµένος από τον κόσµο των αναλογικών µεγεθών. Tα αναλογικά µεγέθη µπορούν να µετραπούν σε ψηφιακά, και αντίστροφα, από ειδικές συσκευές, τους µετατροπείς A/D και D/A. Yπάρχει όµως ένα πληροφοριακό “κόστος” στην µετατροπή, που ονοµάζεται σφάλµα ψηφιοποίησης. • Tα Ψηφικά συστήµατα συγκρινόµενα µε τα Aναλογικά υπερέχουν, σήµερα, τόσο ως προς την αξιοπιστία τους όσο και ως προς το κόστος κατασκευής τους, ώστε να υπάρχει µία συνεχής διείσδυση της ψηφιακής τεχνολογίας σε “παραδοσιακά” αναλογικούς τοµείς. • Tα ψηφιακά συστήµατα, βοηθούµενα και από τις εξελίξεις στην τεχνολογία της µικροηλεκτρονικής, έχουν εξαπλωθεί σε κάθε είδους εφαρµογές. Tαυτόχρονα όµως οι ανάγκες της βιοµηχανίας για γρήγορη παραγωγή ολοένα και περισσότερο πολύπλοκων συστηµάτων απαιτούν την συνεχή βελτίωση των µεθόδων σχεδίασης και κατασκευής τους. O σχεδιασµός αυτών των συστηµάτων απαιτεί ειδικές γνώσεις και είναι δυνατόν να γίνει µόνο µε την βοήθεια υπολογιστών. 33 KEºA§AIO 1: EI™A°ø°H 34 BÈ‚ÏÈÔÁÚ·Ê›· Tα παρακάτω βιβλία καλύπτουν την ύλη των ψηφιακών συστηµάτων µε απλό και επεξηγηµατικό τρόπο. Aκολουθούν τους κανόνες της Eκπαίδευσης από Aπόσταση. Eίναι επεξηγηµατικά, έχουν πολλά παραδείγµατα, σχήµατα, ερωτήσεις και λυµένες ασκήσεις. Floyd T., “Digital Fundamentals”, Macmillan, 1990. Στο 1ο Kεφάλαιο εξηγούνται, µε πλήθος σχηµάτων, οι διαφορές των Aναλογικών και Ψηφιακών µεγεθών, τα χαρακτηριστικά των ψηφιακών κυµατοµορφών και γίνεται µία εισαγωγή στα Oλοκληρωµένα Kυκλώµατα. Στο 11ο Kεφάλαιο παρουσιάζεται η µετατροπή αναλογικών σηµάτων σε ψηφιακά. Leach D., Malvino A., “Ψηφιακά Hλεκτρονικά”, Eκδόσεις TZIOΛA, 1996 Στο 1ο Kεφάλαιο γίνεται µιά πολύ απλή παρουσίαση των Ψηφιακών και Aναλογικών σηµάτων, των κυµατοµορφών τους και των ηλεκτρικών χαρακτηριστικών τους. ∆ίδεται επίσης µία περιγραφή των Oλοκληρωµένων Kυκλωµάτων. Στο 11ο Kεφάλαιο αναπτύσσεται η τεχνολογία της µετατροπής αναλογικών σηµάτων σε ψηφιακά. ¶ÚÔ·ÈÚÂÙÈ΋ ‚È‚ÏÈÔÁÚ·Ê›· Tokheim R., “Ψηφιακά Hλεκτρονικά”, Eκδόσεις TZIOΛA Kαλύπτει την ύλη των ψηφιακών συστηµάτων µε απλό και πρακτικό τρόπο. Eξετάζει το θέµα περισσότερο από την πρακτική πλευρά των ηλεκτρονικών εφαρµογών Στο 13ο Kεφάλαιο πραγµατεύεται την µετατροπή αναλογικών σηµάτων σε ψηφιακά. Hall D., “Digital Circuits and Systems”, McGraw–Hill, 1989 Kαλύπτει την ύλη των ψηφιακών συστηµάτων µε απλό και πρακτικό τρόπο. Στα Kεφάλαιο 10 παρουσιάζει την παραγωγή και µεταφορά σηµάτων, στο 11 την µετατροπή αναλογικών σηµάτων σε ψηφιακά και στο 15 σκιαγραφούνται τα µέσα για την σχεδίαση και παραγωγή ψηφιακών κυκλωµάτων. ∫ ¢˘·‰È΋ Kˆ‰ÈÎÔÔ›ËÛË ™ÎÔfi˜ H κωδικοποίηση των κάθε είδους δεδοµένων σε δυαδική µορφή είτε αυτά είναι αριθµητικής φύσεως είτε άλλης προέλευσης είναι απαραίτητη για τα ψηφιακά συστήµατα και τους ψηφιακούς ηλεκτρονικούς υπολογιστές, γιατί τα συστήµατα αυτά λειτουργούν εσωτερικά µε δυαδικά σήµατα. Σκοπός του κεφάλαιου αυτού είναι να µας παρουσιάσει µεθόδους κωδικοποίησης για αριθµούς απλούς ή προσηµασµένους (δυαδικοί, BCD, συµπλήρωµα ως προς 2), καθώς και για µη αριθµητικές εφαρµογές (πίνακες, κώδικες µε και χωρίς βάρη, Gray). Aναλύεται, επίσης, το σηµαντικότατο θέµα της προστασίας των δεδοµένων από τις κακές συνέπειες του θορύβου και παρουσιάζονται στοιχειώδεις µέθοδοι κωδικοποίησης για την ανίχνευση (ψηφίο ισοτιµίας) και τη διόρθωση (κώδικας Hamming) αλλοιώσεων εξ αιτίας του θορύβου. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν µελετήσετε αυτό το Kεφάλαιο, θα έχετε µάθει: • Tις βασικές αρχές και µεθόδους της δυαδικής κωδικοποίησης. • Oρισµένους χρήσιµους κώδικες (Binary, BCD, Gray) και τις εφαρµογές τους. • Tο συµβολισµό των “θεσιακών” αριθµών και το ρόλο του κρατούµενου στις πράξεις. • Nα κάνετε πράξεις στους δυαδικούς αριθµούς χωρίς και µε πρόσηµο. • Tις αρχές της κωδικοποίησης για την ανίχνευση λαθών, που προκαλούνται από το θόρυβο. • Nα κατασκευάζετε απλούς κώδικες που ανιχνεύουν λάθη (ψηφίο ισοτιµίας). • Tις αρχές της κωδικοποίησης για τη διόρθωση λαθών λόγω θορύβου. • Έναν κώδικα που διορθώνει λάθη (κώδικας Hamming). ŒÓÓÔȘ ÎÏÂȉȿ • Kωδικοποίηση • Πίνακας αντιστοιχίας • Aλφάβητο κώδικα • Bάρη • Bit • Binary 2 ∂ º ∞ § ∞ π √ K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 36 • BCD • Gray • Συµπλήρωµα ως προς 2 • Aπόσταση Hamming • Πλέον Σηµαντικό Ψηφίο • ∆εκαεξαδικό σύστηµα • ∆υαδική πράξη • Ψηφίο ισοτιµίας • Kώδικας Hamming ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Tο Kεφάλαιο αυτό αποτελείται από τέσσερις ενότητες, από τις οποίες οι τρεις τελευταίες είναι ίσως οι δυσκολότερες. H δεύτερη ενότητα κάνει µια εισαγωγή στις σηµαντικότερες µεθόδους κωδικοποίησης δεδοµένων, στους πίνακες αντιστοιχίας και στους κανόνες καθώς και σε κάποιες παραλλαγές αυτών (βάρη, BCD, Gray). H τρίτη ενότητα παρουσιάζει εκτενώς την κωδικοποίηση αριθµητικών δεδοµένων (δυαδικοί αρθµοί) και ακολουθεί την προηγούµενη ενότητα (πρέπει να µελετηθεί µετά από τη δεύτερη). H τέταρτη, τελευταία, ενότητα αφορά στην κωδικοποίηση για προστασία των δεδοµένων από αλλοιώσεις που προέρχονται από το θόρυβο (ανιχνεύση και διόρθωση λαθών λόγω θορύβου). H ενότητα αυτή έχει ένα διαφορετικό στόχο από τις προηγούµενες και θα µπορούσε να µελετηθεί ανεξάρτητα από αυτές. Tα θέµατα αυτού του Kεφαλαίου, εκτός από τη χρησιµότητα που έχουν καθεαυτά, θα χρησιµοποιηθούν στα επόµενα Kεφάλαια σαν παραδείγµατα για ασκήσεις σχετικές µε τη σχεδίαση ψηφιακών κυκλωµάτων. 2.1 Eπ™∞°ø°∏ 2.1 EÈÛ·ÁˆÁ‹ H συµβολική παράσταση των πληροφοριών είναι η προϋπόθεση για τη µεταφορά ή την επεξεργασία τους. Σ’ αυτή την ενότητα θα γνωρίσετε απλούς αλλά βασικούς ορισµούς, όπως: • Tι είναι οι λέξεις και το αλφάβητο ενός κώδικα. • Oι δυαδικές λέξεις • Tο πλήθος των λέξεων που µπορούν να σχηµατισθούν από το δυαδικό αλφάβητο. Σκοπός αυτής της µικρής Eνότητας είναι να ορίσει ορισµένες έννοιες (λέξεις, αλφάβητο, bit) βασικές για την κατανόηση τόσο αυτού όσο και των εποµένων Kεφαλαίων. Κωδικοποίηση ενός συνόλου από διακριτά στοιχεία, π.χ. ενός συνόλου από καταστάσεις ή πληροφορίες, ονοµάζουµε τη διεργασία που αντιστοιχίζει σε κάθε στοιχείο του συνόλου ένα συµβολικό όνοµα ή συµβολική παράσταση. Τα συµβολικά ονόµατα ή παραστάσεις ονοµάζονται λέξεις του κώδικα. Οι λέξεις σχηµατίζονται είτε από ένα σύµβολο χωριστό για κάθε λέξη (π.χ. ιδεογράµµατα, τα σήµατα οδικής κυκλοφορίας) είτε από µία ακολουθία συµβόλων. Στην περίπτωση της ακολουθίας, το σύνολο των διαφορετικών συµβόλων που χρησιµοποιούνται για να σχηµατίσουν τις λέξεις αποτελεί το αλφάβητο του κώδικα. Για παράδειγµα η Ελληνική γλώσσα συµβολίζει τις έννοιές της µε ονόµατα που τα ονοµάζει λέξεις, οι λέξεις παριστάνονται γραπτώς από ακολουθίες συµβόλων, το δε σύνολο των συµβόλων που χρησιµοποιούνται αποτελεί το αλφάβητο της γλώσσας. Οµοίως, στο δεκαδικό σύστηµα που χρησιµοποιούµε οι αριθµοί παριστάνονται από ακολουθίες συµβόλων, µε αλφάβητο τα δέκα σύµβολα 0, 1,…, 9. Τα ψηφιακά συστήµατα, που θα µελετήσουµε εδώ, λειτουργούν µε δυαδικά σήµατα (δείτε τις Eνότητες 1.2 και 1.3) που οι καταστάσεις τους συµβολίζονται διεθνώς µε τα σύµβολα "0" και "1", τα οποία ονοµάζονται bits. Eνας κώδικας που έχει σαν αλφάβητο το σύνολο {0,1} ονοµάζεται δυαδικός (binary) και οι λέξεις του σχηµατίζονται από ακολουθίες bits, π.χ. οι λέξεις 011, 110, 000, 1110. Το πλήθος των διαφορετικών λέξεων που µπορούν να σχηµατισθούν από µία ακολουθία n δυαδικών σηµάτων ή συµβόλων, δηλ. από µία ακολουθία n bits, είναι ίσο µε το πλήθος των διατάξεων των δύο συµβόλων του αλφαβήτου 37 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 38 ανά n, ήτοι 2n. Εποµένως, για να κωδικοποιηθεί ένα σύνολο από Μ πληροφορίες απαιτούνται µ bits, όπου µ είναι ο µικρότερος ακέραιος αριθµός για τον οποίο: Μ < 2µ. 2.2 M¤ıÔ‰ÔÈ Îˆ‰ÈÎÔÔ›ËÛ˘ H κωδικοποίηση είναι καταρχήν µία αυθαίρετη αντιστοίχιση συµβόλων, αλλά ανάλογα µε την εφαρµογή που ένας κώδικας προορίζεται να εξυπηρετήσει ορισµένες µορφές κωδίκων είναι καλύτερες από άλλες. H ενότητα αυτή παρουσιάζει την απλούστερη µορφή κωδικοποίησης, αυτή του πίνακα αντιστοιχίας και δίνει παραδείγµατά του. Aναλύει κατόπιν συνθετότερες µεθόδους κωδικοποίησης (βάρη, BCD, Gray). Aπό την ενότητα αυτή θα µάθετε: • Tι είναι η κωδικοποίηση µε πίνακες και ποια τα πλεονεκτήµατα και µειονεκτήµατά της. • Πώς γίνεται η κωδικοποίηση µε τη µέθοδο των βαρών. • Tι είναι η κωδικοποίηση σε BCD. • Tην κατασκευή ενός κώδικα (Gray ) µε µία διαφορετική µέθοδο (“ανάκλαση”). • Tη µετατροπή ενός κώδικα Binary σε Gray και αντίστροφα. • Γιατί πλεονεκτεί ο κώδικας Gray σε ορισµένες εφαρµογές και ποιες. Σκοπός της ενότητας αυτής είναι: (α) να µας εισάγει σε µερικές από τις κυριότερες µεθόδους κωδικοποίησης δεδοµένων και (β) να παρουσιάσει και να αναλύσει κάποιους συγκεκριµένους κώδικες που θα χρησιµοποιηθούν σαν εφαρµογές σε επόµενα Kεφάλαια. Eίναι σηµαντική η κατανόηση (α) της µεθόδου των βαρών και (β) της κατασκευής, µετατροπής και των πλεονεκτηµάτων του κώδικα Gray. Οι µέθοδοι που χρησιµοποιούνται για την κωδικοποίηση χωρίζονται σε δύο µεγάλες κατηγορίες: σ’ αυτές που χρησιµοποιούν πίνακες αντιστοιχίας και σ’ αυτές που χρησιµοποιούν κανόνες. H επιλογή µιας µεθόδου είναι, καταρχήν, αυθαίρετη, τα δε κριτήρια επιλογής καθορίζονται από το πρακτικό αποτέλεσµα που επιδιώκει κανείς, π.χ. τη δηµιουργία λέξεων που να είναι εύκολες στην αποµνηµόνευση (µνηµονικά ονόµατα), στην αποθήκευση (µέσο αποθήκευσης µαγνητικό ή χαρτί), την επεξεργασία (π.χ. το Iνδουιστικό σύστηµα αριθµών για τις αριθµητικές πράξεις), τη µεταφορά κ.λπ. Είναι, επί- 2.2 M∂£√¢√π ∫ø¢π∫√¶√π∏™∏™ 39 σης, πολύ συνηθισµένο η ίδια πληροφορία να κωδικοποιείται κατά διαφόρους τρόπους, δηλ. να έχει πολλές παραστάσεις, ανάλογα µε την εξυπηρέτηση που προσφέρει η κάθε παράσταση. Ο πίνακας αντιστοιχίας είναι η απλούστερη µέθοδος κωδικοποίησης. Παράδειγµα ο Τηλεφωνικός Κατάλογος, όπου αντιστοιχείται το όνοµα του συνδροµητή µε τον αριθµό του τηλεφώνου του. Στους υπολογιστές χρησιµοποιείται ευρύτατα για τη δυαδική παράσταση αλφαριθµητικών πληροφοριών ένας διεθνώς καθιερωµένος πίνακας αντιστοιχίας, ο ονοµαζόµενος πίνακας ASCII. Στην τυπική του µορφή, χρησιµοποιεί 7 bits, ήτοι 128 λέξεις, για να κωδικοποιήσει σε δυαδική µορφή: α) αλφαριθµητικούς χαρακτήρες, δηλ.: τα γράµµατα του λατινικού αλφαβήτου µικρά και κεφαλαία, τα σηµεία στίξεως, τα αριθµητικά ψηφία 0 … 9, και β) χαρακτήρες ελέγχου, δηλ. λέξεις που χρησιµοποιούνται για το συντονισµό της επικοινωνίας δύο συσκευών (αρχή µηνύµατος, τέλος, stop κ.λπ.). Οι µέθοδοι κωδικοποίησης µε κανόνες βασίζονται στις ιδιότητες των πληροφοριών που θέλουµε να κωδικοποιήσουµε, π.χ. εάν αποτελούν ένα διατεταγµένο σύνολο κ.λπ. Έχουν το πλεονέκτηµα ότι δεν απαιτούν µεγάλο χώρο αποθήκευσης, όπως οι πίνακες, και το µειονέκτηµα ότι η κωδικοποίηση µ’ αυτούς δεν είναι τόσο απλή. Οι µέθοδοι µε κανόνες χωρίζονται σε δύο κατηγορίες: στις µεθόδους κωδικοποίησης µε βάρη και στις µεθόδους χωρίς βάρη. 2.2.1 Kˆ‰ÈÎÔÔ›ËÛË Ì ‚¿ÚË Χρησιµοποιούνται, κατά κανόνα, για την κωδικοποίηση πληροφοριών που αποτελούν ένα διατεταγµένο σύνολο ή µπορούν να αντιστοιχηθούν µε ακέραιους αριθµούς, π.χ. ό,τι παριστάνεται µε κάποιον αύξοντα αριθµό ή αριθµό µητρώου κ.λπ. Η µέθοδος είναι η εξής: Εάν σ είναι ο αντίστοιχος ακέραιος αριθµός που παριστάνει την πληροφορία στην αρχική της µορφή τότε στη νέα µορφή της συµβολίζεται µε την ακολουθία συµβόλων: αnαn–1 … α1α0 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 40 όπου τα αi (i=0, …, n) παίρνουν τιµές από ένα σύνολο ακέραιων αριθµών {0, 1, …, K} και οι τιµές τους επιλέγονται έτσι, ώστε να πληρούν τη σχέση: σ = αnwn + … + α1w1 + α0w0 Oι συντελεστές wi (i=0, …, n) ονοµάζονται βάρη και έχουν προκαθορισµένες αριθµητικές τιµές. Τα σύµβολα αi µπορούν να έχουν οποιαδήποτε µορφή, αρκεί να δοθεί µία αντιστοιχία τους µε τους ακεραίους αριθµούς {0, 1, …, K}. Στην περίπτωση της δυαδικής κωδικοποίησης τα αi παίρνουν τις τιµές {0, 1}, που ονοµάζονται bits. ¶·Ú¿‰ÂÈÁÌ· 2.1 Έστω ότι έχουµε δέκα δεδοµένα, που παριστάνονται από τους αύξοντες αριθµούς 0 έως 9, και θέλουµε να τα κωδικοποίησουµε σε δυαδική µορφή µε βάρη τους αριθµούς 8, 4, 2, 1. Λόγω της δυαδικής µορφής, που ζητείται, τα σύµβολα αi του νέου κώδικα θα είναι τα bit “0” και “1”, τα οποία, για το σκοπό της κωδικοποίησης, αντιστοιχούνται µε τους αριθµούς 0 και 1. Oι δυαδικές λέξεις που σχηµατίζονται φαίνονται στη στήλη (8 4 2 1) του Πίνακα 2.1. Στον ίδιο πίνακα δίνονται οι κωδικοποιήσεις µε βάρη τους αριθµούς (2, 4, 2, 1) και τους (6, 4, 2, –3). Για παράδειγµα το δεδοµένο µε αύξοντα αριθµό 8 κωδικοποιείται αντίστοιχα ως 1000 ή 1110 ή 1010, διότι: 8 = 8*1+4*0+2*0+1*0 = 2*1+4*1+2*1+1*0 = 6*1+4*0+2*1+(–3)*0. Η παράσταση τόσο των δυαδικών όσο και των δεκαδικών αριθµών δεν είναι ¶›Ó·Î·˜ 2.1 Kωδικοποίηση µε τη µέθοδο των βαρών α/α 8421 2421 6 4 2 –3 0 0000 0000 0000 1 0001 0001 0101 2 0010 0010 0010 3 0011 0011 1001 4 0100 0100 0100 5 0101 1011 1011 6 0110 1100 0110 7 0111 1101 1101 8 1000 1110 1010 9 1001 1111 1111 2.2 M∂£√¢√π ∫ø¢π∫√¶√π∏™∏™ 41 τίποτε άλλο παρά µία µέθοδος κωδικοποίησης µε βάρη αριθµητικών ποσοτήτων. Ο κώδικας µε βάρη 8, 4, 2, 1, δηλ. 23, 22, 21, 20 είναι ο συνήθης τρόπος παράστασης δυαδικών αριθµών και για συντοµία θα τον ονοµάζουµε Bin8421. Είναι δυνατόν οι παραστάσεις µερικών δεκαδικών αριθµών σε κάποιο κώδικα µε βάρη να µην είναι µοναδικές. Στο παράδειγµα µε βάρη 2, 4, 2, 1 του Πίνακα 2.1, ο δεκαδικός 7 µπορεί να παρασταθεί ως 1101, όπως και ως 0111. Στην περίπτωση αυτή διαλέγουµε τη µορφή που εµείς προτιµάµε. A. Nα κωδικοποιήσετε σε δυαδική µορφή τους ακέραιους ριθµούς {0, 1, …, 15} χρησιµοποιώντας τα βάρη (8, 4, 2, 1). B. Ποιος είναι ο µεγαλύτερος δυαδικός αριθµός και ποιος ο µικρότερος, που µπορούν να σχηµατισθούν µε βάρη (6, 4, 2, –3); Γ. Nα κωδικοποιήσετε σε δυαδική µορφή τους ακέραιους αριθµούς {–8, –7, …, 6, 7} χρησιµοποιώντας τα βάρη (–8, 4, 2, 1). ∆. Ποια βάρη αρκούν, για να κωδικοποιήσετε σε δυαδική µορφή το σύνολο των αριθµών {0, 2, 4, 6, 8, 10, 12, 14}; 2.2.2 KÒ‰Èη˜ BCD Μία επέκταση της κωδικοποίησης αριθµών µε βάρη τα 8, 4, 2, 1 είναι ο κώδικας BCD (Binary Coded Decimal). Στον κώδικα αυτό τα ψηφία α10 β10 γ10… ενός δεκαδικού αριθµού αντικαθίστανται από την αντίστοιχη δυαδική τους παράσταση (Πίνακας 2.1, βάρη 8 4 2 1). ¶·Ú¿‰ÂÈÁÌ· 2.2 H BCD κωδικοποίηση του δεκαδικού αριθµού 12345 είναι: 1234510 <=> 00010010001101000101BCD διότι 1 2 3 4 5 00010010001101000101 Aς σηµειωθεί ότι τέσσερα bits παράγουν 16 συνδυασµούς, από το 0000 έως το 1111, ενώ ο κώδικας BCD αξιοποιεί µόνο δέκα από αυτούς. Oι πλεονά- ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.1 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 42 ζοντες συνδυασµοί 1010, 1011, 1100, 1101, 1110 και 1111 δεν αποτελούν λέξεις του κώδικα BCD. Eίναι εξίσου απλό να µετατραπεί ένας αριθµός από BCD σε δεκαδική µορφή. Aρκεί να χωριστεί ο BCD αριθµός σε τετράδες bits και να αντικατασταθεί κάθε τετράδα bits µε το αντίστοιχο δεκαδικό ψηφίο. ¶·Ú¿‰ÂÈÁÌ· 2.3 O ακόλουθος BCD αριθµός αντιστοιχεί στο δεκαδικό 2469: 0010010001101001 2 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.2 4 6 9 Α. Ποια είναι η BCD µορφή των δεκαδικών αριθµών; α) 1111, β) 53, γ) 1998, δ) 2469. Β. Ποιες από τις παρακάτω λέξεις θα µπορούσαν να είναι BCD αριθµοί και γιατί; α) 00111001, β) 000100110100, γ) 001100100100001, δ) 0001001101001100. 2.2.3 Kˆ‰ÈÎÔÔ›ËÛË ¯ˆÚ›˜ ‚¿ÚË – KÒ‰Èη˜ Gray Είναι µέθοδοι κωδικοποίησης µε κανόνες που ακολουθούν άλλους τρόπους εκτός των βαρών. Σε πολλές πρακτικές εφαρµογές είναι π.χ. επιθυµητό να χρησιµοποιηθούν κώδικες, στους οποίους οι διαδοχικές λέξεις τους διαφέρουν µεταξύ τους σε ένα µόνο ψηφίο. Ένας κώδικας τέτοιας µορφής είναι ο κώδικας Gray. Για να εξηγηθεί η χρησιµότητά του, παρουσιάζονται στο σχήµα 2.1 δύο µηχανισµοί ψηφιακής κωδικοποίησης γωνιών: ο πρώτος (σχήµα 2.1.α) στον κώδικα Bin8421 (Πίνακας 2.1 – βάρη 8,4,2,1) και ο δεύτερος (σχήµα 2.1.β) στον κώδικα Gray, που θα δούµε παρακάτω. Xάριν απλότητος η γωνία των 360° αναλύεται µόνο σε οκτώ στάθµες, ώστε να επαρκούν 3 bits για την κωδικοποίησή τους. Oι κωδικοποιητές αποτελούνται από κυκλικούς δίσκους που περιστρέφονται ανάλογα µε τη γωνία. Kάθε δίσκος χωρίζεται σε τρεις κυκλικούς δακτυλίους, έναν για κάθε bit. Oι δακτύλιοι χωρίζονται σε κυκλικούς τοµείς αγώγιµους (µαύρο χρώµα στο σχήµα 2.1) ή όχι (άσπρο). Tρεις ακίνητες επαφές µε ελα- 2.2 M∂£√¢√π ∫ø¢π∫√¶√π∏™∏™ 43 τήρια (τα τετραγωνάκια στο σχήµα 2.1), µία για κάθε δακτύλιο – bit του κώδικα, παράγουν τα αντίστοιχα σήµατα ανάλογα µε τη γωνιακή θέση που βρίσκεται ο δίσκος. Kαθώς ο δίσκος περιστρέφεται, η τιµή του κάθε σήµατος, “1” ή “0”, εξαρτάται από το εάν το ελατήριό του εφάπτεται σε αγώγιµο τοµέα ή όχι. O µηχανισµός αυτός µετατροπής ενός συνεχούς µηχανικού µεγέθους (γωνία) σε ψηφιακή µορφή παρουσιάζει σφάλµατα ανάγνωσης (εκτός από το σφάλµα ψηφιοποίησης), όταν κατά την περιστροφή του δίσκου τα ελατήρια εφάπτονται στη διαχωριστική γραµµή δύο κυκλικών τοµέων (αγώγιµη – µη αγώγιµη κατάσταση). Aς δούµε τι συµβαίνει, όταν τα ελατήρια του κωδικοποιητή Bin8421 (σχήµα 2.1α) διασχίζουν τη διαχωριστική γραµµή από την τιµή 011 στην 100. Tα τρία σήµατα πρέπει να αλλάξουν κατάσταση ταυτόχρονα. H ταυτόχρονη, όµως, αλλαγή απαιτεί απόλυτη ευθυγράµµιση του συστήµατος, που είναι τεχνικά αδύνατη. Έτσι, εάν π.χ. το σηµείο επαφής του πρώτου ελατηρίου προηγείται ή καθυστερεί ως προς τα άλλα, τότε θα προκύψουν εσφαλµένες τιµές, που µπορεί να κυµαίνονται από το 111 (σφάλµα 3 µονάδες) έως το 000 (σφάλµα 4 µονάδες) αντίστοιχα. O κωδικοποιητής Gray (σχήµα 2.1β) περιορίζει τα σφάλµατα ευθυγράµµισης των επαφών στο ελάχιστο. Όπως φαίνεται στο σχήµα 2.1β, διαδοχικές τιµές της γωνίας διαφέρουν µόνο σε ένα bit (αλλαγή ενός σήµατος), συνεπώς το µέγιστο σφάλµα σε κάθε περίπτωση είναι µία µονάδα επάνω ή κάτω. 111 000 000 100 110 001 101 001 101 010 111 011 100 011 (α)| Bin8421 010 110 (β)| Gray Ο κώδικας Gray είναι µέλος µιας κατηγορίας κωδίκων, που ονοµάζονται κώδικες ανακλάσεως (reflection codes). Ένας κώδικας ανακλάσεως των n bit παράγεται από έναν κώδικα ανακλάσεως των n–1 bit µε την εξής µέθοδο: ™¯‹Ì· 2.1 Kωδικοποιητές γωνίας K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 44 α) οι λέξεις του κώδικα των n–1 bit γράφονται κατά σειρά η µία κάτω από την άλλη και κατόπιν κατοπτρίζονται ως πρός ένα επίπεδο, δηλ. ξαναγράφονται κάτω από το επίπεδο µε αντίστροφη σειρά, β) µπροστά από τις λέξεις τοποθετείται ένα νέο bit, που έχει την τιµή 0 για τις λέξεις που βρίσκονται πάνω από το επίπεδο κατοπτρισµού και την τιµή 1 για τις κάτω. Στο σχήµα 2.2 φαίνεται ο τρόπος που παράγεται µε διαδοχικές ανακλάσεις ο κώδικας Gray για 2 και 3 bit, ξεκινώντας από ένα κώδικα του ενός bit. Κώδικας Gray µε: 1 bit 2 bit 3 bit 0 00 000 1 01 001 11 011 10 010 επίπεδο ανακλάσεως 110 ™¯‹Ì· 2.2 111 Παραγωγή των λέξεων του κώδικα Gray µε ανάκλαση 101 100 Στην ανωτέρω σηµαντική ιδιότητα πρέπει να προστεθεί και ο απλός τρόπος µετατροπής από Bin8421 σε κώδικα Gray και αντίστροφα. Στο σχήµα 2.3 δίνεται η αντιστοιχία µεταξύ των ψηφίων bi (i=0,1,2) του Bin8421 και των ψηφίων gi (i=0,1,2) του Gray. H µετατροπή γίνεται ως εξής: έστω ότι gngn–1 … g1g0 είναι µία λέξη του κώδικα Gray µε (n+1) bits και έστω ότι bnbn–1 … b1b0 είναι η αντίστοιχη Bin8421 µορφή. Τότε το ψηφίο gi του κώδικα Gray υπολογίζεται από τα ψηφία του Bin8421 µε τον εξής κανόνα: gn = bn (2.1.α) gi = bi ≈ bi+1, 0 £ i < n (2.1.β) όπου το σύµβολο ≈ δηλώνει το άθροισµα modulo 2, που ορίζεται ως εξής: 0 ≈ 0 = 0, 0 ≈ 1 = 1, 1 ≈ 0 = 1, 1 ≈ 1 = 0 2.2 M∂£√¢√π ∫ø¢π∫√¶√π∏™∏™ 45 α/α Bin8421 b2b1b0 Gray g2g1g0 0 000 000 1 001 001 2 010 011 3 011 010 4 100 110 5 101 111 6 110 101 7 111 100 ™¯‹Ì· 2.3 Aντιστοιχία ψηφίων κώδικα Bin8421 µε Gray ¶·Ú¿‰ÂÈÁÌ· 2.4 H λέξη του κώδικα Gray που αντιστοιχεί στον Bin8421 αριθµό 101101, προκύπτει ότι είναι η 111011: g5 = b 5 => 1 g4 = b4 ≈ b5 => 0≈1=1 g3 = b3 ≈ b4 => 0≈1=1 g2 = b2 ≈ b3 => 1≈1=0 g1 = b1 ≈ b2 => 0≈1=1 g0 = b0 ≈ b1 => 1≈0=1 Αντίστροφα, η µετατροπή από κώδικα Gray σε Bin8421 δίνεται από τον κανόνα: bn = gn (2.2α) bi = gi ≈ gi+1 ≈ gi+2 ≈ … ≈ gn, 0 £ i < n (2.2β) O κανόνας αυτός οδηγεί σε µιά πρακτική µέθοδο, κατά την οποία ξεκινώντας από το πλέον σηµαντικό ψηφίο, το bn, παράγουµε διαδοχικά τα µικρότερης τάξης ψηφία: bn = g n (2.3α) bi = gi ≈ bi+1, 0 £ i < n. (2.3β) K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 46 ¶·Ú¿‰ÂÈÁÌ· 2.5 H λέξη 1101 του κώδικα Gray αντιστοιχεί στον Bin8421 αριθµό 1001: ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.3 b3 = g 3 => 1 b2 = g2 ≈b3 => 1≈1=0 b1 = g1 ≈ b2 => 0≈0=0 b0 = g0 ≈ b1 => 1≈0=1 Α. Mετατρέψτε τις ακόλουθες Bin8421 λέξεις σε κωδικοποίηση Gray: α) 11011, β) 1001010, γ) 1111011101110. Β. Mετατρέψτε τις ακόλουθες Gray λέξεις σε Bin8421: α) 1010, β) 00010, γ) 11000010001. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Oι γενικές κατηγορίες κωδικοποίησης είναι: µε Πίνακες και µε Kανόνες. • H επιλογή µιας µεθόδου εξαρτάται από τα πρακτικά πλεονεκτήµατά της. • Kανόνες υπάρχουν πολλών ειδών, κυριότεροι είναι µε βάρη, χωρίς βάρη (Gray) και µικτοί (BCD). 2 . 3 A ƒ π £ ª ∏ ∆ π ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆∞ 2.3 AÚÈıÌËÙÈο Û˘ÛÙ‹Ì·Ù· Aν και το δεκαδικό αριθµητικό σύστηµα είναι γνωστό σε όλους, ίσως ορισµένοι να µη γνωρίζουν ότι είναι µία µορφή κώδικα µε βάρη. Θα εξηγήσουµε την έννοια και τη δοµή των θεσιακών συστηµάτων, όπως είναι το γνωστό µας δεκαδικό σύστηµα, και µέσω αυτής τη δοµή του δυαδικού συστήµατος αριθµών, καθώς και άλλων παροµοίων συστηµάτων. Θα παρουσιαστεί εκτενέστερα το δυαδικό σύστηµα, που χρησιµοποιείται στα ψηφιακά συστήµατα, καθώς και οι επεκτάσεις του για την κωδικοποίηση προσηµασµένων αριθµών (συµπλήρωµα ως προς 2). Tελειώνοντας αυτή την ενότητα, θα γνωρίζετε: • Tι είναι τα θεσιακά συστήµατα αριθµών, σε τι µοιάζουν και σε τι διαφέρουν από την κωδικοποίηση µε βάρη. • Tι είναι η βάση ενός θεσιακού συστήµατος και ποια η σχέση της µε τα βάρη. • Tι είναι το ΠΣΨ και τι το EΣΨ ενός αριθµού. • Ποιο είναι το αλφάβητο του ∆εκαεξαδικού συστήµατος. • Γιατί παράγεται κρατούµενο στο ∆υαδικό σύστηµα, όταν συµπληρωθεί µία δυάδα, και επίσης θα µπορείτε να κάνετε πράξεις στο σύστηµα αυτό. • Πώς συµβολίζονται οι προσηµασµένοι δυαδικοί αριθµοί. • Γιατί προσθέτουµε τα πρόσηµα στο Συµπλήρωµα ως προς 2 και επίσης θα κάνετε προσθέσεις και αφαιρέσεις στο σύστηµα αυτό. Σκοπός της παρούσας Eνότητας είναι να εξηγήσει το δυαδικό σύστηµα αρίθµησης, που χρησιµοποιείται σε κάθε ψηφιακό σύστηµα και θα χρειαστούµε στις ασκήσεις εποµένων Kεφαλαίων. Yπάρχουν δύο περιπτώσεις: (α) το απλό δυαδικό σύστηµα, δηλ. οι αριθµοί χωρίς πρόσηµο (απόλυτος τιµή) και (β) µε πρόσηµο (συµπλήρωµα ως προς 2). Eίναι απαραίτητη η γνώση και των δύο συστηµάτων. Tο συµπλήρωµα ως προς 2 ίσως να φαίνεται ότι είναι λίγο περίπλοκο. Mε κάποιες ασκήσεις και επιµονή θα γίνουν κατανοητά τα τεχνάσµατα που χρησιµοποιεί αυτός ο κώδικας. Από την αρχαιότητα έχουν αναπτυχθεί πολλά αριθµητικά συστήµατα, όπως το εξηνταδικό (Βαβυλώνιοι), το Λατινικό κ.λπ., µε πιο διαδεδοµένα όσα στηρίζονται στη δεκαδική αρίθµηση. Η µεγάλη διάδοση των δεκαδικών αριθµών συνδέεται ιστορικώς µε την ευκολία µε την οποία οι απλοί άνθρωποι 47 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 48 έκαναν πράξεις µε τα δάχτυλά τους. Eξάλλου η αγγλική λέξη "digit" προέρχεται από τη Λατινική λέξη "digitus" που σηµαίνει "δάκτυλο". Tο δεκαδικό αριθµητικό σύστηµα, που χρησιµοποιούµε σήµερα, είναι Iνδουϊστικής προέλευσης (700 µ.X.). Oι Iνδουϊστές µε την έξυπνη χρήση ενός ιδιόρρυθµου συµβόλου, του µηδενός, εκµεταλλεύτηκαν τη θέση των ψηφίων µέσα στον αριθµό για να δηλώσουν την αξία (βάρος) των ψηφίων τους (αρχή του θεσιακού συστήµατος). Eτσι, απέφυγαν το πρόβληµα που είχε το Eλληνικό και το Λατινικό σύστηµα να χρειάζονται νέα σύµβολα, καθώς µεγαλώνει η τάξη του αριθµού. Επιπλέον µε την απλοποίηση που επέφεραν στην κωδικοποίηση, απλοποιήθηκαν και οι αριθµητικές πράξεις. Για ιστορικούς λόγους αναφέρουµε εδώ ότι τον 2ο αιώνα µ.X. ο Έλληνας αστρονόµος Πτολεµαίος χρησιµοποιούσε στους αστρονοµικούς πίνακες του το “O”, από τη λέξη ουδέν, για τον ίδιο σκοπό. H καινοτοµία των Iνδών µεταφέρθηκε στους Άραβες. Aπό αυτούς διαδόθηκε στην Eυρώπη από το µαθηµατικό Λεονάρδο της Πίζας, γνωστότερο ως Fibonacci (“Kεφάλας”), ο οποίος µε το βιβλίο του Liber Abaci (1202 µ.X.) έβγαλε την Eυρώπη από το µαθηµατικό µεσαίωνα των λατινικών αριθµών. Παρά την επιτυχία του δεκαδικού συστήµατος, η κατασκευή ψηφιακών υπολογιστικών µηχανών µε δυαδικά σήµατα δηµιούργησε την ανάγκη χρήσης, στο εσωτερικό τους, αριθµητικών συστηµάτων που ταιριάζουν καλύτερα προς την τεχνολογία τους. Σήµερα οι ψηφιακοί ηλεκτρονικοί υπολογιστές, εκτός ειδικών περιπτώσεων, χρησιµοποιούν το ονοµαζόµενο δυαδικό σύστηµα. 2.3.1 £ÂÛȷο Û˘ÛÙ‹Ì·Ù· Aν αναλύσουµε το δεκαδικό αριθµητικό σύστηµα, θα παρατηρήσουµε ότι είναι ένας τρόπος κωδικοποίησης που στηρίζεται στη µέθοδο των βαρών, που είδαµε στην Yποενότητα 2.2.1. Για παράδειγµα όταν γράφουµε τον αριθµό 1908, εννοούµε στην πραγµατικότητα πλήθος µονάδων ίσο µε: 1*103+9*102*+0*101+8*100 Eδώ τα βάρη είναι οι αριθµοί 103, 102, 101 και100, δηλαδή τα βάρη σχηµατίζονται από διαδοχικές δυνάµεις του 10, το οποίο ονοµάζεται βάση του συστήµατος, και το “0” είναι απαραίτητο για να διατηρούνται τα ψηφία στη “σωστή” θέση τους. Γενικά, σε ένα θεσιακό σύστηµα ένας θετικός αριθµός Ν που παριστάνεται από µία ακολουθία ψηφίων: 2 . 3 A ƒ π £ ª ∏ ∆ π ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆∞ 49 αn αn–1 … α0 . α–1 … α–m αντιπροσωπεύει πλήθος µονάδων: n N= Âab i i (2.4) i =-m όπου: β είναι η βάση του αριθµού (ακέραιος, β>1) αi είναι τα ψηφία του αριθµού (0 ≤ αi < β) i είναι η τάξη του ψηφίου n+1 είναι το πλήθος των ακεραίων ψηφίων m είναι το πλήθος των κλασµατικών ψηφίων. Η ακολουθία των ψηφίων αn αn–1 … α0 αποτελεί το ακέραιο µέρος του αριθµού, ενώ η ακολουθία α–1 α–2 … α–m το κλασµατικό µέρος του. Το αn ονοµάζεται το Πλέον Σηµαντικό Ψηφίο (Most Significant Digit), για συντοµία ΠΣΨ (MSD), ενώ το α–m είναι το Ελάχιστα Σηµαντικό Ψηφίο (Least Significant Digit), για συντοµία ΕΣΨ (LSD). H µικρότερη βάση, που έχει νόηµα, είναι ο αριθµός 2. Όταν η βάση είναι β=2 το σύστηµα ονοµάζεται δυαδικό, όταν β=3 τριαδικό, όταν β=8 οκταδικό, όταν β=10 δεκαδικό, όταν β=16 δεκαεξαδικό κ.λπ. Oταν είναι β>10 χρειάζονται πρόσθετα σύµβολα για την παράσταση των επιπλέον ψηφίων. Για τα ψηφία 10 έως το 15 του δεκαεξαδικού συστήµατος χρησιµοποιούνται διεθνώς τα πρώτα γράµµατα του λατινικού αλφαβήτου: ∆εκαδικό: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14, 15 ∆εκαεξαδικό: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F ¶·Ú¿‰ÂÈÁÌ· 2.6 O δεκαεξαδικός αριθµός 1ABC αντιστοιχεί στο δεκαδικό σύστηµα µε τον αριθµό: 163*1+162*(10)+161*(11)+160*(12) => 684410 Για να δηλωθεί, όπου χρειάζεται, ότι η βάση κάποιου αριθµού Ν είναι η β, γράφουµε Νβ π.χ. 148.510 = 10010100.12 . K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 50 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.4 Α. Ποιο είναι το βάρος του “1” στους αριθµούς; α) 10002, β) 10008, γ) 100010, δ) 100016. Β. H παράσταση 2*101 + 5*100 ισούται µε (υποδείξτε µία απάντηση): α) 250, β) 25, γ) 2.5, δ) µε κανένα από τα προηγούµενα. Γ. O δεκαεξαδικός αριθµός A01B να µετατραπεί σε δεκαδικό. ∆. O δεκαεξαδικός αριθµός A5 να µετατραπεί σε δυαδικό. (Παρατηρήστε ότι είναι 16 = 24) Ε. O δυαδικός αριθµός 11101100 να µετατραπεί σε δεκαεξαδικό. (Eίναι 16 = 24). ΣΤ. O δυαδικός αριθµός 111011010 να µετατραπεί σε οκταδικό. (Eίναι 8=23). Ζ. Aναφερόµενοι στα παραδείγµατα των αριθµών των ερωτήσεων (Γ), (∆), (E) και (ΣT), να µετρήσετε το πλήθος των ψηφίων, που χρειάζεται ο κάθε αριθµός, για την παράστασή του στην αντίστοιχη βάση και να κατατάξετε το πλήθος των ψηφίων τους (µεγάλο ή µικρό) ως προς το εάν η βάση είναι µικρή ή µεγάλη. Η. Καθεµία από τις ακόλουθες αριθµητικές πράξεις είναι σωστή σε ένα τουλάχιστον αριθµητικό σύστηµα, που έχει βάση b. Για την κάθε περίπτωση να βρεθεί µία βάση b, στην οποία η αντίστοιχη πράξη να είναι σωστή: 1. 1234 + 5432 = 6666 4. 23 + 44 + 14 + 32 = 223 2. 41 / 3 = 13 5. 320 / 20 = 12.1 3. 33 / 3 = 11 6. Tετραγωνική Pίζα (41) = 5 2.3.2 ¢˘·‰ÈÎfi Û‡ÛÙËÌ· Το δυαδικό σύστηµα έχει µόνο δύο ψηφία, που συµβολίζονται µε τους χαρακτήρες 0 και 1. Xρησιµοποιείται στα ψηφιακά συστήµατα λόγω της άµεσης αναπαράστασης των ψηφίων του από δυαδικά σήµατα. Τα ψηφία αυτά, όπως και οι καταστάσεις του δυαδικού σήµατος, ονοµάζονται διεθνώς bits. H µεγαλύτερη αριθµητική τιµή που µπορεί να παρασταθεί από ένα δυαδικό αριθµό µήκους n ψηφίων (bits) είναι 2n–1, γιατί 1*2n–1 + 1*2n–2 + … + 1*21 + 1*20 = 2n–1 2 . 3 A ƒ π £ ª ∏ ∆ π ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆∞ 51 Kατά συνέπεια, εάν n είναι το πλήθος των ψηφίων ενός δυαδικού αριθµού που αντιστοιχεί σ’ ένα δεκαδικό αριθµό µε d ψηφία, τότε: 2n–1 > 10d–1 και n = d / log102 d / 0.3 δηλ. η παράσταση του δυαδικού θα έχει περίπου τριπλάσια ψηφία από αυτή του δεκαδικού. Οι αριθµητικές πράξεις στο δυαδικό σύστηµα είναι πολύ απλούστερες απ΄ότι στα άλλα συστήµατα. Ο Πίνακας 2.2 περιέχει τις βασικές πράξεις για τους µονοψήφιους δυαδικούς αριθµούς (αριθµοί του ενός bit): Bits α+β άθροισµ κρατούµ. ¶›Ó·Î·˜ 2.2 α–β διαφ. κρατούµ. α*β α/β α β 0 0 0 0 0 0 0 – 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 – 1 1 1 1 0 0 1 1 O ρόλος του κρατούµενου εξηγείται καλύτερα, αν λάβουµε υπ’ όψιν τη θεσιακή δοµή των δυαδικών αριθµών (βάση 2). Στο Παράδειγµα 2.7 εξηγείται ο ρόλος του κρατουµένου στην πρόσθεση. ¶·Ú¿‰ÂÈÁÌ· 2.7 Έστω N το άθροισµα των αριθµών 1011 και 111: N = (23*1+22*0+21*1+20*1) + (22*1+21*1+20*1) = 23*1 +22*(0+1) +21*(1+1) +20*(1+1) = 23*1 +22*1 +21*2 +20*2 = 23*1 +22*1 +21*(2+1) = 23*1 +22*(1+1) +21*1 = 23*1 +22*2 +21*1 = 23*(1+1) +21*1 = 23*2 +21 = 24 = 24*1 +23*0 +21 +22*0 +21*1 Συνεπώς τα ψηφία του N είναι 100102. +20*0 Πράξεις µονοψηφίων δυαδικών αρθµών K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 52 Παρατηρούµε στο Παράδειγµα 2.7 ότι κάθε φορά που τα ψηφία µιας στήλης συµπληρώνουν άθροισµα ίσο µε τη βάση, δηλ. 2, προστίθεται µία µονάδα (κρατούµενο) στα ψηφία της στήλης που κατέχει την αµέσως µεγαλύτερη τάξη. Για την αφαίρεση ισχύει η ίδια µεθοδολογία, όπως φαίνεται στο παράδειγµα 2.8. ¶·Ú¿‰ÂÈÁÌ· 2.8 Έστω N η διαφορά των αριθµών 1011 και 111: N = (23*1+22*0+21*1+20*1) – (22*1+21*1+20*1) = 23*1 +22*(0–1) +21*(1–1) +20*(1–1) = 23*1 +22*(–1) +21*0 +20*0 = 23*1 +22*(2–1–2) = 23*1 +22*(1–2) = 23*(1–1) +22*1 = 23*(0) +22*1 = 23*0 +22*1 +21*0 +20*0 Eποµένως τα ψηφία της διαφοράς είναι 01002. Στην αφαίρεση, όπου χρειάζεται, δανειζόµαστε ποσό ίσο µε τη βάση, δηλ. 2, και κατόπιν µεταφέρουµε αρνητικό κρατούµενο στην αµέσως µεγαλύτερης τάξης στήλη. Συµπερασµατικά, οι πράξεις στο δυαδικό σύστηµα γίνονται όπως στο δεκαδικό µε τη διαφορά ότι κρατούµενο δηµιουργείται όταν συµπληρώνεται άθροισµα ίσο µε τη βάση, δηλ. 2, ή όταν στην αφαίρεση δανειζόµαστε ποσό ίσο µε τη βάση: Kρατούµενο 1 1 1 Kρατούµενο 1 0 1 1 + 1 1 1 Aθροισµα: 1 0 0 1 0 –1 –1 –1 1 0 1 1 – 1 1 1 ∆ιαφορά: 0 0 1 0 Στο δυαδικό σύστηµα οι πράξεις του πολλαπλασιασµού και της διαίρεσης είναι πολύ απλές και ανάγονται σε απλές διαδοχικές προσθέσεις για τον πολλαπλασιασµό και σε αφαιρέσεις για τη διαίρεση: 2 . 3 A ƒ π £ ª ∏ ∆ π ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆∞ Πολλαπλασιασµός: 53 ∆ιαίρεση: 1100 101 1100 γιατί 1x1100 00000 µηδέν ή παραλείπεται 110000 111100 Γινόµενο 111100 1100 0011 00110 001100 001100 000000 1100 101 πηλίκο κατεβ. το επόµενο ψηφίο µέχρις ότου > διαιρέτη. αφαιρ. διαιρέτη. υπόλοιπο. ¶·Ú¿‰ÂÈÁÌ· 2.9 Oι τέσσερις πράξεις στο δεκαδικό και στο δυαδικό σύστηµα: Πρόσθεση: 910 + 510 10012 + 01012 15.2510 + 7.5010 1111.012 + 111.102 1410 11102 22.7510 10110.112 2510 – 710 110012 – 001112 18.7510 – 12.5010 10010.112 – 1100.102 1810 100102 6.2510 00110.012 Αφαίρεση: Πολλαπλασιασµός: 910 ¥ 510 4510 10012 ¥ 1012 10012 000012 1001012 1011012 25.510 ¥ 6.510 127510 1530510 165.7510 11001.12 ¥ 110.12 1100112 00000012 110011012 1100111012 10100101.112 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 54 ∆ιαίρεση: 46 9 101110 1001 1 5 – 100110 1012 001010 υπόλοιπο 2925 27 225 108 09 1011011011012 110112 – 110111011012 01101100 0100101011012 001010 – 11011011012 – 1001 0001010011012 0001 – 110111012 00111011012 – 110111012 υπόλοιπο 00010011012 H µετατροπή ενός δυαδικού αριθµού σε δεκαδική µορφή είναι πολύ απλή: αρκεί να γράψουµε τον αριθµό µε την πλήρη του µορφή και να εκτελέσουµε τις πράξεις. ¶·Ú¿‰ÂÈÁÌ· 2.10 Mετατροπή του δυαδικού αριθµού 1101 σε δεκαδική µορφή: 11012 => 23*1+22*1+21*0+20*1 = 8+4+0+1 => 1310. H µετατροπή ενός δεκαδικού σε δυαδικό γίνεται µε διαδοχικές διαιρέσεις του αριθµού µε το 2. Aπό κάθε διαίρεση προκύπτει ένα πηλίκο Π και ένα ακέραιο υπόλοιπο Y. H µέθοδος είναι η εξής: α) Θέτουµε αρχικά το Π0 να ισούται µε τον υπό µετατροπή αριθµό στη δεκαδική του µορφή και, επίσης, τον δείκτη k=0. β) ∆ιαιρούµε το Πk µε το 2 και θέτουµε Yk το υπόλοιπο και Πk+1 το νέο πηλίκο. Tο Yk είναι το ζητούµενο δυαδικό ψηφίο τάξεως k. γ) Θέτουµε k=k+1 και επαναλαµβάνουµε από την (β) µέχρις ότου Πk =0. ¶·Ú¿‰ÂÈÁÌ· 2.11 Mετατροπή του αριθµού 4510 σε δυαδικό: Θέτουµε Π0 = 45. Aπό τις διαδοχικές διαιρέσεις µε το 2 προκύπτουν: k=0 => (Y0=1, Π1=22), k=1 => (Y1=0, Π2=11), k=2 => (Y2=1, Π3=5), k=3 => (Y3=1, Π4=2), 2 . 3 A ƒ π £ ª ∏ ∆ π ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆∞ 55 k=4 => (Y4=0, Π5=1), k=5 => (Y5=1, Π6=0) H ζητούµενη µετατροπή είναι: 4510 => 1011012. Α. Tο άθροισµα 11010 + 01111 ισούται µε (υποδείξτε µία απάντηση): α) 101001, β) 101010, γ) 110101, δ) 101000. Β. H διαφορά 110 – 010 (χωρίς πρόσηµο) ισούται µε (υποδείξτε µία απάντηση): α) 001, β) 010, γ) 101, δ) 100. Γ. Mετατρέψτε τον αριθµό 200010 σε δυαδική µορφή. 2.3.3 ¶ÚÔÛËÌ·Ṳ̂ÓÔÈ ·ÚÈıÌÔ› – ™˘Ìϋڈ̷ ˆ˜ ÚÔ˜ 2 Στο δυαδικό σύστηµα, για να διακρίνουµε τους αριθµούς σε θετικούς και αρνητικούς, χρησιµοποιούµε σαν πρόσηµα τα ψηφία 0 και 1. Κατά σύµβαση ένας αριθµός είναι θετικός όταν το πρώτο bit από αριστερά είναι 0 και αρνητικός όταν το bit αυτό είναι 1, π.χ. ο αριθµός 01011 είναι θετικός και ο 11010 είναι αρνητικός. Επειδή η χρησιµοποίηση των 0 και 1 ταυτόχρονα σαν προσήµων και σαν ψηφίων του αριθµού δηµιουργεί σύγχυση, είναι απαραίτητο, όταν αναφερόµαστε σε προσηµασµένους αριθµούς, να αναφέρουµε και το πλήθος των ψηφίων τους. Για παράδειγµα ο αριθµός 11010 είναι αρνητικός όταν θεωρηθεί ότι έχει 5 ψηφία και θετικός, όταν έχει 6 ψηφία δηλ. γραφεί ως 011010. Τα ηλεκτρονικά συστήµατα που κάνουν πράξεις µε προσηµασµένους αριθµούς µπορούν να απλοποιηθούν εάν όχι µόνο το πρόσηµο αλλά και η όλη παράσταση των προσηµασµένων αριθµών εκλεγεί κατάλληλα. Ένα τέτοιο σύστηµα είναι το ονοµαζόµενο Συµπλήρωµα ως πρός 2. Στο δυαδικό σύστηµα ορίζεται σαν Συµπλήρωµα ως πρός 2 (2's Complement) ενός αριθµού Ν µε n πλήθος ψηφίων ο αριθµός: Ν' = 2n– Ν Ο Ν' ονοµάζεται συµπληρωµατικός του Ν και παίζει το ρόλο του αντιθέτου του Ν. Οι αριθµοί µε ΠΣΨ 0 θεωρούνται θετικοί και αυτοί µε ΠΣΨ 1 θεωρούνται αρνητικοί. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.5 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 56 Η περιοχή των αριθµών που καλύπτεται από ένα αριθµό µε n bits στο συµπλήρωµα ως προς 2 είναι: –2n–1 ≤ N < 2n–1 Το πλεονέκτηµα αυτής της κωδικοποίησης είναι ότι η πράξη της αφαίρεσης δύο αριθµών Α και Β ανάγεται σε πρόσθεση του συµπληρωµατικού του Β, όπου το νέο πρόσηµο προκύπτει από την πρόσθεση των προσήµων σαν να ήταν αριθµοί: Α – Β = Α + (2n – B) – 2n = A + B' –2n => Α + Β' O αριθµός –2n, που περισσεύει δεν αλλοιώνει το αποτέλεσµα. H µέθοδος µπορεί να εξηγηθεί απλά µε το παράδειγµα του σχήµατος 2.4: Στο παράδειγµα χρησιµοποιούνται αριθµοί των τριών bit, συνεπώς n=3 και 2n=8. Tο σχήµα 2.4 παριστά έναν κυκλικό πίνακα αντιστοιχίας, στον οποίο οι προσηµασµένοι αριθµοί (εσωτερικό κύκλου) αντιστοιχούνται στους µη προσηµασµένους αριθµούς (έξω από τον κύκλο). Στο σύστηµα αυτό σαν άθροισµα δύο προσηµασµένων αριθµών λαµβάνεται ο προσηµασµένος αριθµός που αντιστοιχεί στο άθροισµα των αντιστοίχων τους µη προσηµασµένων. ¶·Ú¿‰ÂÈÁÌ· 2.12 Πρόσθεση στο Συµπλήρωµα ως προς 2: α) (–1)+(–2): Ξεκινάµε από το µη προσηµασµένο αριθµό 7 και κινούµαστε 6 θέσεις προς την θετική φορά (“+” στο σχήµα 2.4), καταλήγοντας στο µη προσηµασµένο αριθµό 5, που αντιστοιχεί στον –3. Iσοδυναµεί µε τη διαδικασία: (–1)+(–2) => 6 + 7 = 13 => 13 – 8 = 5 => –3 β) (+1)+(–2): Ξεκινάµε από το µη προσηµασµένο αριθµό 1 και κινούµαστε 6 θέσεις προς την θετική φορά, καταλήγοντας στο µη προσηµασµένο αριθµό 7, που αντιστοιχεί στον –1. Iσοδυναµεί µε την διαδικασία: (+1)+(–2) => 1 + 6 = 7 => –1 γ) (–1)+(+2): ξεκινάµε από το µη προσηµασµένο αριθµό 7 και κινούµεθα 2 θέσεις προς την θετική φορά, καταλήγοντας στο µη προσηµασµένο αριθµό 1, που αντιστοιχεί στον +1. Iσοδυναµεί µε τη διαδικασία: (–1)+(+2) => 7 + 2 = 9 => 9 – 8 = 1 => +1 ¶·Ú¿‰ÂÈÁÌ· 2.13 Aφαίρεση στο Συµπλήρωµα ως προς 2 (βλέπε σχήµα 2.4): 2 . 3 A ƒ π £ ª ∏ ∆ π ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆∞ 57 0 000 7 0 111 –1 001 1 +1 + 6 110 –2 +2 010 2 –3 5 101 ™¯‹Ì· 2.4 +3 –4 011 3 100 4 α) (–1)–(–2): Πρώτα βρίσκουµε τον αντίθετο του (–2) που είναι 8 – 6 = 2 => (+2). Kατόπιν εκτελούµε την πρόσθεση (–1)+(+2) =+1. β) (+1)–(+2): Βρίσκουµε τον αντίθετο του (+2) που είναι 8 – 2 = 6 => (–2). Eκτελούµε την πρόσθεση (+1)+(–2) =–1. Tο πρόβληµα, λοιπόν, της αφαίρεσης µετατοπίζεται στην εύρεση του αντιθέτου του αριθµού. H εύρεση του αντιθέτου ενός αριθµού στο συµπλήρωµα ως πρός 2 γίνεται πολύ εύκολα στο δυαδικό σύστηµα µε τον εξής τρόπο: α. αντιστρέφουµε όλα τα bit του αριθµού, δηλ. όπου 0 Æ 1 και 1 Æ 0, και β. στο αποτέλεσµα προσθέτουµε τη µονάδα. ¶·Ú¿‰ÂÈÁÌ· 2.14 Aφαίρεση µε υπολογισµό του αντιθέτου: Έστω η πράξη (+1)–(+2). O αντίθετος του (+2) σε δυαδική µορφή είναι: (+2) => 010 αντιστροφή bit 101 πρόσθεση 1 + 1 110 => (–2) H όλη διαδικασία της αφαίρεσης συντοµεύεται, εάν γίνει κατευθείαν η πρόσθεση των αριθµών: (+1) => 001 (– 2) => 101 αντιστροφή bit + 1 πρόσθεση 1 111 => (–1) Σχηµατική διάταξη αριθµών στο Συµπλήρωµα ως προς 2 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 58 ¶·Ú¿‰ÂÈÁÌ· 2.15 Aφαίρεση µε υπολογισµό του αντιθέτου: Έστω η αφαίρεση 46 – 17 στο συµπλήρωµα ως προς 2 µε δυαδικούς αριθµούς των 8 bit. Eίναι 4610 => 001011102 και 1710 => 000100012: (+46) => 00101110 (– 17) => 11101110 + 1 00011101 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.6 => (+ 29) Α. Tο Συµπλήρωµα ως προς 2 του αριθµού 11001000 είναι (υποδείξτε µία απάντηση): α) 00110111, β) 00110001, γ) 01001000, δ) 00111000. Β. H αφαίρεση 11610 – 12610 να γίνει στο συµπλήρωµα ως προς 2 µε δυαδικούς αριθµούς των 8 bit. Γ. Oι κωδικές λέξεις της άσκησης αυτοαξιολόγησης 2.1Γ ακολουθούν τους κανόνες των προσηµασµένων αριθµών; ∆. Oι κωδικές λέξεις της άσκησης αυτοαξιολόγησης 2.1Γ είναι κωδικοποιηµένες στο Συµπλήρωµα ως προς 2; 2.4 KÒ‰ÈΘ ·Ó›¯Ó¢Û˘ Î·È ‰ÈfiÚıˆÛ˘ Ï·ıÒÓ Όταν θέλουµε να προστατεύσουµε µία πληροφορία από το θόρυβο (βλέπε ενότητα 1.2), εκτός από τη διεύρυνση των σταθµών πλάτους του σήµατος που δεν είναι πάντοτε µέσα στις δυνατότητές µας, µπορούµε να επιτύχουµε το ίδιο ή καλύτερο αποτέλεσµα µε την κωδικοποίηση. Mε την προσθήκη πλεοναζόντων bits στις λέξεις ενός κώδικα µπορούµε να ανιχνεύουµε, µε αρκετή πιθανότητα, πότε µία λέξη έχει αλλοιωθεί από το θόρυβο και επίσης µπορούµε από την αλλοιωµένη λέξη να ανακτούµε τη σωστή πληροφορία. Στην παρούσα ενότητα αναλύονται οι συνέπειες του θορύβου και παρουσιάζονται πρακτικές τεχνικές κωδικοποίησης για την ανίχνευση και τη διόρθωση λαθών από το θόρυβο. H ενότητα αυτή προσφέρει τις γνώσεις, για να απαντήσει κανείς στα ακόλουθα: • Tι είναι η “απόσταση Hamming” ενός κώδικα 2.4 Kø¢π∫∂™ ∞¡πá∂À™∏™ ∫∞π ¢π√ƒ£ø™∏™ §∞£ø¡ • Πώς σχετίζεται η απόσταση Hamming ενός κώδικα µε τη δυνατότητα του να ανιχνεύει λάθη • Πώς χρησιµοποιείται το “ψηφίο ισοτιµίας” στην ανίχνευση των λαθών • Ποια είναι η αρχή, στην οποία στηρίζεται η διόρθωση ενός λάθους σ’ ένα κώδικα • Ποιος είναι ο σκοπός του “αριθµού θέσης” σ’ένα κώδικα διόρθωσης λαθών • Ποια είναι η τεχνική του κώδικα Hamming για τη διόρθωση των λαθών H ενότητα αυτή αποτελείται από δύο τµήµατα: την ανίχνευση και τη διόρθωση των λαθών. Πρέπει να διαβαστούν µε αυτή τη σειρά και η καλή γνώση τους θα βοηθήσει στις ασκήσεις των επόµενων Kεφαλαίων. Ένα µεγάλο πρόβληµα, που παρουσιάζεται κατά τη µετάδοση ή αποθήκευση πληροφοριών, είναι η αλλοίωσή τους (του σήµατος φορέα) λόγω της πανταχού παρουσίας του θορύβου. Ο θόρυβος είναι εγγενής σε κάθε φυσικό σύστηµα. Οι επιπτώσεις, που µπορεί να έχει ο θόρυβος σ' ένα ψηφιακό σύστηµα στην πράξη, είναι: (α) καµία αλλοίωση της κατάστασης των σηµάτων, διότι η τρέχουσα στάθµη του θορύβου είναι µέσα στα όρια ανοχής του συστήµατος, (β) αλλοίωση ενός ή περισσοτέρων bits µιας λέξης. Λόγω της δυαδικής µορφής των σηµάτων αλλοίωση ενός bit σηµαίνει αντιστροφή της κατάστασής του. Οι µέθοδοι κωδικοποίησης που περιγράψαµε µέχρι εδώ, αν και είναι επαρκείς για άλλες χρήσεις, δεν προστατεύουν από λάθη λόγω θορύβου. Στα επόµενα θα µελετηθούν τρόποι κωδικοποίησης που να επιτρέπουν την ανίχνευση και την διόρθωση τέτοιων λαθών. O θόρυβος από µαθηµατικής πλευράς είναι στατιστικό φαινόµενο. Θεωρητικά, το πλάτος (ύψος) του θορύβου µπορεί να γίνει απεριόριστα µεγάλο και η χρονική συµπεριφορά του είναι απρόβλεπτη. Στην περίπτωση των ψηφιακών σηµάτων η επίδραση του θορύβου µετράται µε την πιθανότητα p να συµβεί ένα λάθος, δηλ. να αλλοιωθεί ένα bit κατά τη µετάδοση µιας λέξης. Τότε η πιθανότητα να συµβούν Ν λάθη ταυτόχρονα στην ίδια λέξη είναι pΝ, η οποία είναι µεν υπαρκτή, είναι όµως πολύ µικρή. Για τους λόγους αυτούς η µελέτη των κωδίκων θα περιοριστεί κυρίως στην περίπτωση ενός λάθους, που είναι η συνηθέστερη στην πράξη. Σ' έναν κώδικα, που αποτελείται από λέξεις των n bit η καθεµία, ονοµάζεται 59 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 60 απόσταση Hamming ή για συντοµία απόσταση µεταξύ δύο λέξεών του το πλήθος των bits που πρέπει να αλλάξουν τιµή για να ταυτισθεί η µία λέξη µε την άλλη, π.χ. οι λέξεις 0110 και 0101 έχουν απόσταση δύο. Ονοµάζεται απόσταση του κώδικα η ελάχιστη των αποστάσεων µεταξύ όλων των λέξεών του. 2.4.1 KÒ‰ÈΘ ·Ó›¯Ó¢Û˘ Ï·ıÒÓ Εάν χρησιµοποιείται ένας κώδικας µε λέξεις των n bit και κάθε ένας από τους 2n συνδυασµούς bits αποτελεί και µία λέξη του κώδικα, δηλ. µεταφέρει µία διαφορετική πληροφορία, τότε η αλλοίωση (αντιστροφή) ενός bit κάποιας λέξης του, λόγω θορύβου, θα προκαλέσει την εµφάνιση στον παραλήπτη µιας άλλης λέξης του κώδικα, η οποία µεταφέρει διαφορετική πληροφορία. Η νέα λέξη είναι λανθασµένη ως προς το σκοπό που στάλθηκε, εξακολουθεί όµως να είναι µία έγκυρη λέξη του δοθέντος κώδικα και ο παραλήπτης δεν έχει τη δυνατότητα να καταλάβει ότι έγινε λάθος κατά τη µεταβίβαση. Για παράδειγµα στον κώδικα 00, 01, 10, 11, εάν σταλεί η λέξη 00 και παραληφθεί η 01 ή η 10, ο παραλήπτης δεν έχει κανένα τρόπο να γνωρίζει ότι στάλθηκε αρχικά η 00 και εποµένως θα θεωρήσει τη λανθασµένη λέξη σαν σωστή. Εάν ένας κώδικας ήταν κατασκευασµένος έτσι, ώστε, όταν συµβεί ένα οποιοδήποτε λάθος σε µία λέξη του, να µετασχηµατίζει την έγκυρη κωδική λέξη σε άσχετη, εκτός κώδικος, λέξη (παράνοµη, άκυρη λέξη), τότε ο παραλήπτης θα καταλάβαινε αµέσως ότι δεν µπορεί να είχε σταλεί τέτοια λέξη. Ένας κώδικας που έχει αυτή την ιδιότητα για την περίπτωση που θα συµβούν µέχρι Ν λάθη σε οποιαδήποτε λέξη του ονοµάζεται κώδικας ανίχνευσης Ν λαθών. Π.χ. ο κώδικας µε µόνες λέξεις τις 00 και 11 είναι ένας κώδικας ανίχνευσης ενός λάθους, διότι, εάν υποτεθεί ότι στάλθηκε αρχικά η λέξη 00 και ότι παραλήφθηκε η λέξη 01, αµέσως γίνεται φανερή η ύπαρξη λάθους, αν και ο παραλήπτης δεν γνωρίζει σε ποια λέξη έγινε το λάθος, δηλ. δεν µπορεί να αντιληφθεί εάν αρχικά στάλθηκε η λέξη 00 και το λάθος έγινε στο δεύτερο bit (00 => 01) ή εάν στάλθηκε η λέξη 11 και το λάθος έγινε στο πρώτο bit (11 => 01). Έστω οι συνδυασµοί των τριών bit τοποθετηµένοι ως ακολούθως, ώστε η κάθε σειρά να έχει απόσταση από τις γειτονικές της κατά ένα: 1) 000 2) 001 010 100 3) 011 101 110 4) 111 2.4 Kø¢π∫∂™ ∞¡πá∂À™∏™ ∫∞π ¢π√ƒ£ø™∏™ §∞£ø¡ Εάν επιλεγούν σαν λέξεις του κώδικα οι 000, 011, 101 και 110 (υπογραµµισµένες), τότε είναι φανερό ότι, εάν συµβεί ένα λάθος σε οποιαδήποτε έγκυρη λέξη, τότε θα φθάσει στον παραλήπτη µία από τις λέξεις των σειρών 2 ή 4, που δεν ανήκουν στον κώδικα και συνεπώς είναι άκυρες. Η παρουσία ενός λάθους µετασχηµατίζει τις έγκυρες κωδικές λέξεις των σειρών 1 και 3 σε λέξεις (άκυρες), που απέχουν κατά ένα (σειρές 2 και 4). Συνεπώς, ένας κώδικας, για να ανιχνεύει ένα λάθος, πρέπει να έχει απόσταση µεγαλύτερη από ένα. Στο παράδειγµά µας, οι σειρές 1 και 3 έχουν µεταξύ τους απόσταση δύο. Γενικώς, ένας κώδικας, για να ανιχνεύει Ν λάθη, πρέπει να έχει απόσταση µεγαλύτερη του Ν. Εάν στον κώδικα του ανωτέρω παραδείγµατος συνέβαιναν δύο λάθη, η ανίχνευσή τους θα ήταν αδύνατη, διότι οι λέξεις των σειρών 1 και 3 απέχουν µεταξύ τους κατά δύο και αλλαγή σε δύο bits θα τις έκανε να συµπέσουν. Οι κωδικές λέξεις σ' έναν κώδικα ανίχνευσης ενός λάθους εκλέγονται µε τέτοιο τρόπο, ώστε για να αλλάξει µία έγκυρη κωδική λέξη σε µία άλλη έγκυρη λέξη, πρέπει να αλλάξουν τιµή τουλάχιστον δύο ψηφία (απόσταση δύο). Ένας συστηµατικός τρόπος για την εκλογή των κωδικών λέξεων βασίζεται στην παρατήρηση ότι, εάν από όλες τις δυνατές λέξεις επιλεγούν µόνον αυτές που έχουν π.χ. άρτιο πλήθος από “1”, τότε αλλαγή της τιµής ενός οποιουδήποτε ψηφίου µιας απ’ αυτές τις λέξεις οδηγεί σε συνδυασµό που περιέχει περιττό πλήθος από “1” και εποµένως δεν περιέχεται στον κώδικα. Ο κώδικας των τριών ψηφίων του προηγούµενου παραδείγµατος ανιχνεύει ένα λάθος, γιατί οι λέξεις του έχουν άρτιο πλήθος 1 (ο συνδυασµός 000 θεωρείται άρτιος). Ένας γενικός κανόνας για τη µετατροπή οποιουδήποτε κώδικα, που στο εξής θα ονοµάζεται πηγαίος κώδικας, σε κώδικα ανίχνευσης ενός λάθους βασίζεται στην προηγούµενη παρατήρηση και έχει ως ακολούθως: 1) σε κάθε λέξη του πηγαίου κώδικα τοποθετείται ένα επιπλέον ψηφίο, που ονοµάζεται ψηφίο ισοτιµίας (parity bit), 2) στο ψηφίο ισοτιµίας δίνεται τέτοια τιµή,ώστε το συνολικό πλήθος των 1 στη λέξη να είναι άρτιο (κώδικας µε άρτια ισοτιµία) ή περιττό (περιττή ισοτιµία). Η θέση του ψηφίου ισοτιµίας είναι αυθαίρετη για ένα κώδικα, αρκεί να τηρηθεί η θέση αυτή σε όλες τις λέξεις του, συνήθως τοποθετείται στο τέλος της λέξης. Η εκλογή άρτιας ή περιττής ισοτιµίας είναι επίσης αυθαίρετη για έναν 61 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 62 κώδικα. Εννοείται ότι ο παραλήπτης πρέπει να γνωρίζει εκ των προτέρων τη θέση του ψηφίου και το είδος της ισοτιµίας. ¶·Ú¿‰ÂÈÁÌ· 2.16 Έστω ο ακόλουθος πηγαίος κώδικας και ζητείται να παραχθεί από αυτόν ένας κώδικας που να έχει περιττή ισοτιµία: πηγαίος κώδικας κώδικας µε περιττή ισοτιµία Α = 00 001 (ψηφίο ισοτιµίας στο τέλος) Β = 01 010 Γ = 10 100 ∆ = 11 111 Εάν συµβεί ένα µόνο λάθος σε µία λέξη, π.χ. στην 001, τότε αυτή µετατρέπεται σε παράνοµη (101 ή 011 ή 000 => άρτιο πλήθος 1) και το λάθος ανιχνεύεται εύκολα µετρώντας το πλήθος των 1. Αν και αυτή η κωδικοποίηση ισοτιµίας προορίζεται για την ανίχνευση ενός µόνο λάθους, εύκολα φαίνεται ότι στην πραγµατικότητα ανιχνεύει οποιοδήποτε περιττό πλήθος λαθών. Η προσθήκη του ψηφίου ισοτιµίας φαινοµενικά αποτελεί επιβάρυνση του κώδικα, διότι αυξάνει το µήκος των λέξεών του, και συνεπώς αυξάνει το κόστος µεταφοράς και επεξεργασίας, χωρίς να µεταφέρει πληροφορία χρήσιµη στον παραλήπτη. ∆ηλαδή ένας τέτοιος κώδικας Ν ψηφίων µεταφέρει µόνο 2Ν–1 πληροφορίες αντί των 2Ν (διπλάσιες) που θα µπορούσε να στείλει. Στην πραγµατικότητα το ψηφίο ισοτιµίας µεταφέρει και αυτό πληροφορίες, που είναι χρήσιµες για την ανίχνευση του λάθους, αλλά πλεονάζουν ως προς την πηγαία πληροφορία και γι' αυτό ονοµάζονται πλεονάζουσες πληροφορίες (redundant information). ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.7 Α. Προσδιορίστε ποιες από τις ακόλουθες λέξεις µε άρτια ισοτιµία είναι λανθασµένες: α) 100110010, β) 011101010, γ) 10111111010001010. Β. Oι ακόλουθες λέξεις ήταν κωδικοποιηµένες αρχικά µε κάποια ισοτιµία, που δεν γνωρίζουµε αν ήταν άρτια ή περιττή. Eάν γνωρίζουµε ότι µόνο µία από αυτές είναι λανθασµένη, να βρεθεί η ισοτιµία που είχαν αρχικά: α) 11110110, β) 00110001, γ) 01010101010101010. 2.4 Kø¢π∫∂™ ∞¡πá∂À™∏™ ∫∞π ¢π√ƒ£ø™∏™ §∞£ø¡ 63 2.4.2 KÒ‰ÈΘ ‰ÈfiÚıˆÛ˘ Ï·ıÒÓ Ένας κώδικας, για να µπορεί να διορθώνει λάθη, πρέπει να έχει απόσταση πολύ µεγαλύτερη από το πλήθος των δυνατών λαθών. Έστω για παράδειγµα οι ακόλουθοι συνδυασµοί των τριών ψηφίων: 1) 000 2) 001 010 100 3) 011 101 110 4) 111 Έστω ότι επιλέγονται σαν λέξεις του κώδικα µόνον οι 000 και 111. Εάν σταλεί η λέξη 000 και συµβεί ένα λάθος, τότε θα ληφθεί µία από τις λέξεις της σειράς 2. Είναι προφανές στον παραλήπτη ότι έγινε λάθος, όπως είναι επίσης φανερό ότι αποκλείεται να είχε σταλεί αρχικά η λέξη 111 διότι οι λέξεις της σειράς 2 απέχουν από την 111 κατά δύο, πράγµα που θα απαιτούσε την ύπαρξη δύο λαθών. Εποµένως, αρχικά στάλθηκε η λέξη 000. Ένας κώδικας έχει την ικανότητα να διορθώνει λάθη, όταν κάθε λανθασµένη λέξη, που λαµβάνεται, µπορεί να συσχετισθεί µε µία µόνο έγκυρη λέξη του κώδικα. Για να είναι δυνατή η συσχέτιση στην περίπτωση ενός κώδικα διορθώσεως ενός λάθους, απαιτείται η απόσταση του κώδικα να είναι τουλάχιστον τρία, ώστε η λανθασµένη λέξη να απέχει από την πηγαία κατά ένα και να απέχει από οποιαδήποτε άλλη έγκυρη λέξη περισσότερο από ένα. Επιπλέον σ' αυτό τον κώδικα οποιοδήποτε διπλό λάθος είναι ανιχνεύσιµο. Οµοίως, ένας κώδικας µε απόσταση πέντε µπορεί να ανιχνεύει τέσσερα λάθη και να διορθώνει δύο. Γενικά, ένας κώδικας, για να διορθώνει µέχρι Ν λάθη, πρέπει να έχει απόσταση µεγαλύτερη του 2Ν. Οι γενικοί κανόνες για την κατασκευή κωδίκων διορθώσεως λαθών στηρίζονται στην παρατήρηση ότι είναι αρκετό να εντοπιστεί το λανθασµένο ψηφίο σε µία λανθασµένη λέξη. Αν βρρεθεί η θέση του λάθους στη λέξη, τότε το µήνυµα διορθώνεται, θέτοντας τη συµπληρωµατική τιµή στο λανθασµένο ψηφίο. Στην επόµενη υποενότητα θα παρουσιαστεί ένας απλός τρόπος κατασκευής κωδίκων διόρθωσης λάθους, που είναι γνωστοί σαν κώδικες Hamming. 2.4.3 KÒ‰Èη˜ Hamming Όπως αναφέρθηκε στην Yποενότητα 2.4.2, για τη διόρθωση ενός λάθους K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 64 αρκεί να προσδιοριστεί η θέση του λανθασµένου ψηφίου. O κώδικας Hamming προσδιορίζει τη θέση του λάθους χρησιµοποιώντας περισσότερα ψηφία ισοτιµίας, στρατηγικά τοποθετηµένα µέσα στη λέξη. Kατά την κωδικοποίηση κατά Hamming, εάν οι λέξεις του πηγαίου κώδικα αποτελούνται από Μ bits, τα m1, m2, …, mM, προστίθενται σ' αυτές Κ ψηφία ελέγχου ισοτιµίας, τα p1, p2 …,pK, για να σχηµατίσουν ένα κώδικα (κώδικα Hamming) µε λέξεις Μ+Κ ψηφίων: m1m2…mMp1p2…pK Η θέση καθενός από τα Μ+Κ ψηφία παριστάνεται µε έναν αύξοντα αριθµό, που ονοµάζεται αριθµός θέσης (position or location number), αρχίζοντας από το 1 για το περισσότερο σηµαντικό ψηφίο και τελειώνοντας µε το Μ+Κ για το λιγότερο σηµαντικό. Αυτό που ζητείται είναι το εξής: από τον έλεγχο της ισοτιµίας, που θα γίνει σε προκαθορισµένες οµάδες ψηφίων κατά τη λήψη της λέξης, να µπορεί να προσδιοριστεί ο αριθµός θέσης του λανθασµένου ψηφίου. Οι οµάδες έχουν κατάλληλα επιλεγεί εξαρχής, ώστε από τον έλεγχό τους να δηµιουργείται ένας δυαδικός αριθµός, που αντιπροσωπεύει τον αριθµό θέσης του λανθασµένου ψηφίου. Ο αριθµός θέσης είναι µηδέν στην περίπτωση που δεν έγινε λάθος. AƒÃ∂™ K∞∆∞™∫∂À∏™ ∆√À Kø¢π∫∞ HAMMING Οι βασικές αρχές κατασκευής του κώδικα Hamming, όταν δοθεί ο πηγαίος κώδικας, είναι οι ακόλουθες: 1. Τα Κ ψηφία ισοτιµίας pi τοποθετούνται διαδοχικά στις θέσεις 1, 2, 4, …, 2K–1 της λέξης Hamming και οι υπόλοιπες θέσεις της λέξης καταλαµβάνονται από τα ψηφία mi της πηγαίας λέξης, π.χ. για Μ=8 και Κ=4 οι λέξεις έχουν τη µορφή: p0 p1 m0 p2 m1 m2 m3 p3 m4 m5m6 m7 2. Προσδιορίζονται οι τιµές των ψηφίων ισοτιµίας, αφού συµφωνηθεί εάν θα εφαρµοσθεί άρτια ή περιττή ισοτιµία. 2.1 Όπως αναφέρθηκε, τα ψηφία ισοτιµίας πρέπει να ορισθούν έτσι ώστε, όταν συµβεί λάθος, να παράγεται ο αριθµός θέσης του λανθασµένου ψηφίου. Στον Πίνακα 2.3 ο δυαδικός αριθµός C=c3c2c1c0 δείχνει τη θέση (αριθµός θέσης) κάθε ψηφίου για τη λέξη του παραδείγµατος. Το * παριστά ένα ψευδές (ανύπαρκτο) ψηφίο, που τοποθετήθηκε εδώ εικονικά για να αντιπροσωπεύσει την κατάσταση της µη ύπαρξης λάθους (θέση 0). 2.4 Kø¢π∫∂™ ∞¡πá∂À™∏™ ∫∞π ¢π√ƒ£ø™∏™ §∞£ø¡ α/α 65 αριθµ θέσης c3 c2 c1c0 ψηφ. λέξης 0 0000 * (όχι λάθος) 1 0001 p0 2 0010 p1 3 0011 m0 4 0100 p2 5 0101 m1 6 0110 m2 7 0111 m3 8 1000 p3 9 1001 m4 10 1010 m5 11 1011 m6 12 1100 m7 ¶›Ó·Î·˜ 2.3 Aντιστοιχία αριθµών θέσης 2.2 Όπως φαίνεται από τον Πίνακα 2.3, τα ψηφία της λέξης Hamming µπορούν να χωριστούν σε δύο οµάδες σχετικά µε το ψηφίο c3 του αριθµού θέσης, δηλ. σ' αυτά που αντιστοιχούν στο c3= 0 και σ' αυτά µε c3= 1. Οµοίως χωρίζονται αντιστοίχως σε δύο οµάδες για καθένα από τα υπόλοιπα ψηφία c2, c1, c0. ∆ηλαδή για το προηγούµενο παράδειγµα έχουµε τα εξής: ψηφίο θέσης οµάδα ψηφίων λέξεως ψηφίο θέσης οµάδα ψηφίων λέξεως c3= 0 *p0p1m0p2m1m2m3 c3=1 p3m4m5m6m7 c2= 0 *p0p1m0p3m4m5m6 c2=1 p2m1m2m3m7 c1= 0 *p0p2m1p3m4m7 c1=1 p1m0m2m3m5m6 c0= 0 *p1p2m2p3m5m7 c0=1 p0m0m1m3m4m6 3. Χαρακτηριστικό του κώδικα Hamming, όπως φαίνεται και στο παράδειγµα, είναι ότι στην οµάδα cj=1 ανήκει µόνο το ψηφίο ισοτιµίας pj. 4. Aπό την παρατήρηση (3) και τη δοµή του Πίνακα 2.3 προκύπτει ο ακό- K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 66 λουθος κανόνας για την εύρεση του λανθασµένου ψηφίου: εάν: η τιµή του κάθε ψηφίου ισοτιµίας pj προσδιοριστεί λαµβάνοντας υπ' όψιν µόνο τα ψηφία της οµάδας, στην οποία ανήκει αποκλειστικά το pj, δηλ. της οµάδας µε cj=1, τότε: εάν κατά τη λήψη διαπιστωθεί παραβίαση της ισοτιµίας σ' αυτή την οµάδα, τότε το λανθασµένο ψηφίο εντοπίζεται σ' αυτήν (cj=1), αλλοιώς: εάν υπάρχει λάθος, τότε θα βρίσκεται στην οµάδα µε cj=0, δηλ. στα υπόλοιπα ψηφία. Στον κώδικα Hamming η τιµή του κάθε ψηφίου ισοτιµίας p j (j=0,…,Κ–1) προσδιορίζεται, ώστε να ισχύει η ισοτιµία στην οµάδα των ψηφίων για την οποία cj=1. Xƒ∏™∏ ∆√À Kø¢π∫∞ HAMMING H εφαρµογή του κώδικα Hamming για την κωδικοποίηση µιας λέξης και κατόπιν για τη διόρθωση λάθους θα εξηγηθεί µε τα παραδείγµατα 2.17 έως 2.20: ¶·Ú¿‰ÂÈÁÌ· 2.17 Kατασκευή λέξης Hamming για άρτια ισοτιµία: Έστω η πηγαία λέξη: 10011010 1. H αντίστοιχη λέξη Hamming θα έχει τα ψηφία ισοτιµίας pj τοποθετηµένα διαδοχικά στις θέσεις 2j (j=0, 1, …) και στα ενδιάµεσα διαστήµατα τοποθετηµένα τα bits της πηγαίας λέξης µέχρις ότου αυτά εξαντληθούν: p0 p1 m0 p2 m1 m2 m3 p3 m4 m5 m6 m7 δηλαδή p0 p1 1 p2 0 0 1 p3 1 0 1 0 2. Aπό τον Πίνακα 2.3 ή τον αντίστοιχο πίνακα, όταν έχουµε µεγαλύτερες λέξεις, σχηµατίζονται οι οµάδες για τις οποίες cj=1 και από αυτές προσδιορίζεται η τιµή του αντίστοιχου ψηφίου ισοτιµίας: 2.4 Kø¢π∫∂™ ∞¡πá∂À™∏™ ∫∞π ¢π√ƒ£ø™∏™ §∞£ø¡ 67 c3=1: p3m4m5m6m7 => p3 1 0 1 0 => p3= 0 c2=1: p2m1m2m3m7 => p2 0 0 1 0 => p2= 1 c1=1: p1m0m2m3m5m6 => p1 1 0 1 0 1 => p1= 1 c0=1: p0m0m1m3m4m6 => p0 1 0 1 1 1 => p0= 0 3. H λέξη Hamming θα είναι µετά την τοποθέτηση της τιµής των pj: 011100101010 ¶·Ú¿‰ÂÈÁÌ· 2.18 ∆ιόρθωση λέξης Hamming µε άρτια ισοτιµία: Έστω ότι εστάλη η λέξη του προηγουµένου παραδείγµατος και ότι λόγω λάθους ελήφθη η λέξη: 011110101010 1. Σχηµατίζονται, µε τη βοήθεια του Πίνακα 2.3, οι οµάδες των ψηφίων που αντιστοιχούν σε κάθε ψηφίο ισοτιµίας και ελέγχεται η ισοτιµία τους (πρέπει να είναι άρτια): οµάδα p3: 01010 => σωστή: c3=0 p2: 11010 => λάθος: p1: 1 1 0 1 0 1 => σωστή: c1=0 p0: 0 1 1 1 1 1 => λάθος: c2=1 c0=1 2. Tο λανθασµένο ψηφίο εντοπίζεται στα κοινά bits των οµάδων c2=1 και c0=1, που δεν περιέχονται στις υπόλοιπες οµάδες, δηλ. είναι το m1. Tο λανθασµένο ψηφίο βρίσκεται εύκολα από τον αριθµό θέσης του: C = c3 c2 c1 c0 = 01012 => 510 δηλαδή είναι το 5ο ψηφίο της λέξης Hamming. Eποµένως το σωστό ψηφίο είναι το συµπληρωµατικό του 5ου ψηφίου και η σωστή λέξη είναι η: 011100101010 3. H τελική πηγαία λέξη προκύπτει µετά την αφαίρεση των ψηφίων ισοτιµίας: 10011010 Εάν κατά τη λήψη της λέξης είχε προκύψει αριθµός θέσης: c3c2c1c0 = 0000 τότε δεν υπάρχει λάθος (λανθασµένο είναι το ψευδές στοιχείο). K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 68 ¶·Ú¿‰ÂÈÁÌ· 2.19 Zητείται να κωδικοποιηθεί µε τη µέθοδο του Hamming η πηγαία λέξη 01100101 για άρτια ισοτιµία. Tοποθετούµε τα ψηφία ισοτιµίας pj διαδοχικά στις θέσεις 2j (j=0, 1, … ) και τοποθετούµε στα ενδιάµεσα διαστήµατα τα bits της πηγαίας λέξης µέχρις ότου αυτά εξαντληθούν. p0 p1 0 p2 1 1 0 p3 0 1 0 1 Aπό τον Πίνακα 2.3 και την οµάδα των ψηφίων, για τα οποία c3=1, δηλαδή την <p3, 0, 1, 0, 1>, προκύπτει ότι πρέπει να είναι p3=0, για να έχουµε άρτια ισοτιµία στην οµάδα. Oµοίως για την οµάδα, για την οποία c2=1 ευρίσκεται ότι πρέπει p2=1. Για την οµάδα c1=1 ευρίσκεται ότι πρέπει p1=0 και για την οµάδα c0=1 ότι πρέπει p0=1. Eποµένως, η πηγαία λέξη µετά την κωδικοποίηση κατά Hamming γίνεται µετά την αντικατάσταση των pj µε τις τιµές τους: λέξη Hamming: p0 p1 0 p2 1 1 0 p3 0 1 0 1 1 0 0 1. 0 0 1 1 0 0 1 1 ¶·Ú¿‰ÂÈÁÌ· 2.20 H λέξη 001010101010 είναι κωδικοποιηµένη κατά Hamming µε άρτια ισοτιµία. Λόγω θορύβου ενδέχεται να έχει αλλοιωθεί το πολύ ένα bit. Zητείται να ευρεθεί η σωστή πηγαία λέξη. Όπως και στο Παράδειγµα 2.18 αντιστοιχούµε τα ψηφία της λέξης µε αυτά του Πίνακα 2.3. Mε τη βοήθεια του Πίνακα 2.3 σχηµατίζονται οι οµάδες ψηφίων: α) c3=1 => 01010 => σωστή ισοτιµία => c3=0 β) c2=1 => 01010 => σωστή ισοτιµία => c2=0 γ) c1=1 => 010101 => σωστή ισοτιµία => c1=0 δ) c0=1 => 011111 λάθος ισοτιµία => c0=1 => Συνεπώς η θέση του λανθασµένου ψηφίου είναι η: c3c2c1c0 = 0001 δηλαδή το λάθος βρίσκεται στο πρώτο ψηφίο της λέξης: 001010101010 2.4 Kø¢π∫∂™ ∞¡πá∂À™∏™ ∫∞π ¢π√ƒ£ø™∏™ §∞£ø¡ 69 που σηµαίνει ότι η σωστή λέξη είναι η: 1 0 1 0 1 0 1 0 1 0 1 0. H πηγαία λέξη προκύπτει, εάν αφαιρέσουµε τα ψηφία ισοτιµίας: πηγαία λέξη => 1 1 0 1 1 0 1 0. Α. Oι ακόλουθες πηγαίες λέξεις να κωδικοποιηθούν µε τον κώδικα Hamming (άρτια ισοτιµία): α) 110111, β) 00110001, γ) 01001000, ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.8 δ) 00111000. Β. Nα ευρεθεί η σωστή πηγαία λέξη για κάθε µία από τις ακόλουθες λέξεις, που είναι σε κώδικα Hamming (άρτια ισοτιµία): α) 000011110111, β) 000011101111, γ) 111011111111. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Για την ανίχνευση όσο και τη διόρθωση λαθών λόγω θορύβου, πρέπει να προστεθούν πλεονάζουσες πληροφορίες. • Tο κριτήριο για τη δυνατότητα ανίχνευσης ή διόρθωσης λαθών είναι η απόσταση Hamming. • H ανίχνευση των λαθών λόγω θορύβου µπορεί να γίνει µε την προσθήκη ενός ψηφίου ισοτιµίας, ενώ η διόρθωση απαιτεί περισσότερα ψηφία (κώδικας Hamming). Ένα “ηλεκτρονικό µέτρο” έχει τη δυνατότητα να µετρά αποστάσεις µέχρι ένα µέτρο µε ακρίβεια ενός χιλιοστού (σχήµα 2.5). Tο µέτρο περιέχει ένα ψηφιακό µηχανισµό, που “διαβάζει” την απόσταση και την παρουσιάζει σε µία φωτεινή οθόνη υπό µορφήν δεκαδικού αριθµού. H οθόνη, για να λειτουργήσει, πρέπει να δεχθεί τον αριθµό σε µορφή BCD. Tο σχηµατικό διάγραµµα του συστήµατος δίνεται στο Σχήµα 2.5. Zητείται να κάνετε τα εξής: α) Aφού διαβάσετε την Yποενότητα 2.2.3 (σχήµα 2.1), να προτείνετε ένα µηχανισµό, που να µετατρέπει σε δυαδική µορφή την (γραµµική) απόσταση, που µετρά το µέτρο (π.χ. οι κυκλικοί τοµείς του σχήµατος 2.1 µπορούν να γίνουν ευθύγραµµοι). Nα δικαιολογήσετε την κωδικοποίηση που θεωρείτε καλύτερη για την περίπτωση. ¢Ú·ÛÙËÚÈfiÙËÙ· 2.1 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 70 β) Για να εµφανιστεί στην οθόνη ο αριθµός (ακέραιος) που δηλώνει την απόσταση, πρέπει να είναι σε κώδικα BCD. Aπό όσα µάθατε στο Kεφάλαιο 2, εξηγήστε τις µετατροπές από κώδικα σε κώδικα, που πρέπει να γίνουν στο εσωτερικό του συστήµατος, ξεκινώντας από τον κώδικα για την περίπτωση (α), για να φθάσετε στον κώδικα BCD. γ) ∆ικαιολογήστε πόσα bits τουλάχιστον πρέπει να έχει ο κώδικάς σας, για να επιτύχετε την ακρίβεια που θέτει το πρόβληµα (Kεφάλαιο 1). Πόσα bits θα έχουν οι κώδικες, που προτείνετε, σε κάθε φάση της µετατροπής τους. δ) Βρείτε µία τεχνική κωδικοποίησης, που θα σας επέτρεπε να µετατρέψετε κατ’ ευθείαν την αρχική κωδικοποίηση της απόστασης σε BCD αριθµό. Mετατροπή| απόστασης| σε δυαδικό| κώδικα ™¯‹Ì· 2.5 0110 BCD αριθµός Mετατροπή| κώδικα Mετατροπή| κώδικα Hλεκτρονικό µέτρο ¢Ú·ÛÙËÚÈfiÙËÙ· 2.2 Σε ένα µετεωρολογικό σταθµό, που βρίσκεται στην κορυφή ενός βουνού, υπάρχει ένα αυτόµατο θερµόµετρο (σχήµα 2.6), το οποίο µετρά θερµοκρασίες από –10 έως +50 βαθµούς Kελσίου µε ακρίβεια µισού βαθµού. Tο θερµόµετρο είναι ψηφιακό και σε καθορισµένα χρονικά διαστήµατα καταγράφει τη θερµοκρασία σε δυαδική µορφή και τη στέλνει σ’ ένα κέντρο παρακολούθησης που βρίσκεται µακρυά. Λόγω παρασίτων (θορύβου) κατά την αποστολή της κάθε τιµής θερµοκρασίας ενδέχεται να αλλοιωθεί το πολύ ένα bit. Σας ζητείται να κάνετε τη µελέτη της κωδικοποίησης γι’ αυτό το σύστηµα, δηλαδή: α) Ποια αρχική κωδικοποίηση προτείνετε για τη θερµοκρασία (πηγαίος κώδικας); Eίναι αυτή η περισσότερο οικονοµική (λιγότερα bits) λύση; Mην ξεχνάτε ότι η µετάδοση πολλών bits σε µεγάλη απόσταση στοιχί- 2.4 Kø¢π∫∂™ ∞¡πá∂À™∏™ ∫∞π ¢π√ƒ£ø™∏™ §∞£ø¡ 71 ζει. Βρείτε τον πιο οικονοµικό κώδικα, χωρίς να λάβετε υπ’ όψιν σας προς το παρόν τις συνέπειες από τα παράσιτα. β) Xρησιµοποιώντας την κωδικοποίηση της ερωτήσεως (α) σαν πηγαίο κώδικα, να προτείνετε µία λύση, για να έχει πάντοτε το κέντρο παρακολούθησης τη σωστή θερµοκρασία, λαµβάνοντας υπ’ όψιν τα παράσιτα (Yποενότητα 2.4.3). γ) Aναφερόµενοι στο σχήµα 2.6, εξηγείστε ποιοι κώδικες και ποιές µετατροπές κωδίκων προτείνετε να γίνουν διαδοχικά, από την αρχική ψηφιοποίηση της θερµοκρασίας µέχρι την ένδειξη στη οθόνη, για να έχουµε στην οθόνη του κέντρου τη σωστή ένδειξη θερµοκρασίας, µε το σωστό πρόσηµο. Λάβετε υπ’ όψιν ότι: (α) η θέση της υποδιαστολής στην οθόνη είναι προκαθορισµένη και γνωστή από πριν και (β) στην οθόνη πρέπει να δοθούν χωριστά το πρόσηµο και η απόλυτος τιµή του αριθµού (σε απλή δυαδική µορφή). Mετεωρολογικός σταθµός Kέντρο παρακολούθησης Mετατροπή| θερµοκρασίας| σε δυαδικό| κώδικα Γραµµή µεταφοράς Mετατροπή| κώδικα Πρόσηµο Mετατροπή| κώδικα Aπόλυτη| τιµή ™¯‹Ì· 2.6 Σύστηµα καταγραφής και αποστολής θερµοκρασίας K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H 72 ™‡ÓÔ„Ë ÎÂÊ·Ï·›Ô˘ • Kωδικοποίηση είναι η αντιστοίχιση πληροφοριών σε σύµβολα ή συµβόλων σε άλλα σύµβολα. Eίναι απαραίτητη για την επεξεργασία και µετάδοση των πληροφοριών. Tα σύµβολα ονοµάζονται λέξεις και κάθε λέξη σχηµατίζεται από στοιχειώδη σύµβολα παρµένα από το αλφάβητο του κώδικα. • Oι δυαδικοί κώδικες αποτελούνται από δυαδικές λέξεις, που σχηµατίζονται από παράθεση των συµβόλων “0” και “1” (αλφάβητο), τα οποία διεθνώς ονοµάζονται bits. Στα ψηφιακά συστήµατα χρησιµοποιούνται δυαδικοί κώδικες λόγω της εύκολης αναπαράστασης των bits από δυαδικά σήµατα. Kώδικας που σχηµατίζεται από ακολουθίες των n bits περιέχει µέχρι 2n διαφορετικές λέξεις. • Oι µέθοδοι κωδικοποίησης χωρίζονται σε δύο γενικές κατηγορίες, αυτές µε: (α) πίνακες αντιστοιχίας και (β) κανόνες. H επιλογή µιας µεθόδου είναι, καταρχήν, αυθαίρετη, αλλά προτιµάται εκείνη που προσφέρει τα καλύτερα πρακτικά αποτελέσµατα. • Στην κωδικοποίηση µε βάρη κάθε ψηφίο µιας λέξης του κώδικα πολλαπλασιάζεται µε έναν συντελεστή (βάρος), που καθορίζεται από τη θέση του ψηφίου. Eπιλέγεται εκείνος ο συνδυασµός ψηφίων που το άθροισµα των αντίστοιχων γινοµένων δίνει την τιµή της ζητούµενης πληροφορίας. Tα αριθµητικά συστήµατα ανήκουν σ’ αυτή την κατηγορία κωδίκων. • O κώδικας BCD είναι ένας δυαδικός κώδικας που κωδικοποιεί τα αριθµητικά ψηφία από το 0 έως το 9 σε δυαδική µορφή. Ένας δεκαδικός αριθµός µετατρέπεται σε BCD, εάν αντικαταστήσουµε κάθε δεκαδικό ψηφίο του µε τον αντίστοιχο δυαδικό συµβολισµό του ψηφίου. • Oι κώδικες ανακλάσεως είναι µία κατηγορία κωδίκων, στους οποίους οι διαδοχικές τους λέξεις διαφέρουν µόνο σε ένα bit. Πλεονεκτούν σε εφαρµογές, όπου θέλουµε να µετατρέψουµε σε ψηφιακή µορφή µεγέθη που µεταβάλλονται µε συνεχή τρόπο. Παράδειγµα είναι ο κώδικας Gray. O κώδικας Gray µπορεί να µετατραπεί σε Bin8421 για αριθµητική επεξεργασία των δεδοµένων. H µέθοδος µετατροπής Gray σε Bin8421, και αντίστροφα, στηρίζεται στις ιδιότητες της αριθµητικής modulo 2. • Tα θεσιακά αριθµητικά συστήµατα είναι κώδικες µε βάρη, µε τη διαφορά ότι οι τιµές των βαρών τους σχηµατίζονται υψώνοντας στην αντίστοιχη δύναµη ένα αρχικό βάρος, που ονοµάζεται βάση του συστήµατος. Tο “αρι- ™YNOæH στερότερο” ψηφίο πολλαπλασιάζεται µε το µεγαλύτερο συντελεστή βάρους και ονοµάζεται ΠΣΨ, ενώ το “δεξιότερο” ψηφίο έχει το µικρότερο συντελεστή βάρους και ονοµάζεται EΣΨ. • H βάση του δεκαεξαδικού αριθµητικού συστήµατος είναι το 16 και χρησιµοποιεί τα γράµµατα A, B, C, D, E, F για τα ψηφία των επιπλέον αριθµών του από το 10 έως το 15. • Oι δυαδικοί αριθµοί ανήκουν στους κώδικες µε βάρη, όπου το βάρος του i ψηφίου του ακεραίου µέρους του αριθµού είναι το 2i και το βάρος του k ψηφίου του κλασµατικού µέρους του αριθµού είναι το 2–k. • Oι αριθµητικές πράξεις στους δυαδικούς αριθµούς γίνονται, όπως στους δεκαδικούς, µε τη διαφορά ότι το κρατούµενο αντιπροσωπεύει ποσό ίσο µε 2. • Ένας δυαδικός αριθµός µπορεί να µετατραπεί σε δεκαδικό αθροίζοντας, σε δεκαδική µορφή, τα βάρη που έχουν συντελεστή “1”. Aντίστροφα, ένας δεκαδικός µετατρέπεται σε δυαδικό διαιρώντας τον διαδοχικά µε το 2. • Στους προσηµασµένους δυαδικούς αριθµούς, λόγω του περιορισµού ότι όλες οι καταστάσεις σ’ ένα ψηφιακό σύστηµα πρέπει να παριστάνονται µε δυαδικά σήµατα, το πρόσηµο παριστάνεται θέτοντας, κατά σύµβαση, ως ΠΣΨ το “0” για τους θετικούς αριθµούς και το “1” για τους αρνητικούς. • Tο Συµπλήρωµα ως προς 2 είναι ένας δηµοφιλής κώδικας για προσηµασµένους δυαδικούς αριθµούς, γιατί οι πράξεις µε αυτόν απαιτούν απλά ψηφιακά κυκλώµατα. Aυτό που πρέπει να µην ξεχνάµε: Σ’ έναν κώδικα Συµπληρώµατος ως προς 2 ο αντίθετος N' ενός αριθµού N παράγεται πολύ εύκολα, εάν: (α) αντιστρέψουµε όλα τα bits του N και (β) στο αποτέλεσµα προσθέσουµε τη µονάδα. • H προστασία των δεδοµένων µας από τις συνέπειες του θορύβου µπορεί να γίνει µε κατάλληλη κωδικοποίηση και όχι µόνο µε τη διεύρυνση των σταθµών πλάτους του σήµατος (βλέπε Eνότητα 1.2), που δεν είναι πάντοτε δυνατή. Προσθέτοντας επιπλέον bits (ψηφία ισοτιµίας) στις λέξεις ενός κώδικα, µπορούµε να ανιχνεύουµε (κώδικες ανίχνευσης), µε αρκετή πιθανότητα, πότε µία λέξη έχει αλλοιωθεί από το θόρυβο και επίσης µπορούµε από την αλλοιωµένη λέξη να ανακτούµε τη σωστή πληροφορία (κώδικες διόρθωσης). • H απόσταση Hamming είναι βασικό χαρακτηριστικό για τους κώδικες ανίχνευσης και διόρθωσης λαθών: 73 74 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H • Ένας κώδικας ανιχνεύει µέχρι N λάθη, όταν έχει απόσταση Hamming µεγαλύτερη του N. • Ένας κώδικας διορθώνει µέχρι N λάθη, όταν έχει απόσταση Hamming µεγαλύτερη του 2N. • H προσθήκη ενός ψηφίου ισοτιµίας (άρτιας ή περιττής) στον πηγαίο κώδικα είναι ένας εύκολος τρόπος δηµιουργίας ενός νέου κώδικα, που ανιχνεύει περιττό πλήθος λαθών. • O κώδικας Hamming µας επιτρέπει, εκτός από την ανίχνευση, την ανάκτηση της αρχικής πληροροφορίας, έστω και εάν οι λέξεις του έχουν παραποιηθεί από το θόρυβο. Kατά τη µέθοδο Hamming δηµιουργείται ένας νέος κώδικας, στον οποίο τα ψηφία ισοτιµίας του έχουν συνδυαστεί µε στρατηγικά επιλεγµένες οµάδες από bits του αρχικού κώδικα. Kατά τη λήψη µιας λέξης ελέγχεται η αρτιότητα αυτών των οµάδων και σχηµατίζεται ένας δυαδικός αριθµός, ο αριθµός θέσης, που δηλώνει τη θέση του λανθασµένου bit, το οποίο κατόπιν διορθώνεται (αντιστρέφεται). B I B § I O ° PA º I A BÈ‚ÏÈÔÁÚ·Ê›· Floyd T., “Digital Fundamentals”, Macmillan, 1990. Στο 2ο Kεφάλαιο παρέχεται µία πολύ απλή και καλή παρουσίαση των αριθµητικών συστηµάτων, των δυαδικών αρθµών (χωρίς και µε πρόσηµο) και των πράξεών τους, των αριθµών BCD, καθώς και των άλλων κωδίκων, όπως ο ASCII και ο Gray. Περιέχει πολλές ασκήσεις και παραδείγµατα. Glaser A., “A History of Binary and Other Nondecimal Numeration”, Southampton PA, Tomash, 1971. Παρουσιάζεται η ιστορική εξέλιξη των δυαδικών αριθµών. Gregg J., “Ones and Zeroes Understanding Boolean Algebra, Digital Circuits and the Logic of Sets”, IEEE Press, 1998. Στο Kεφάλαιο 0 παρουσιάζονται οι δυαδικοί αριθµοί και επεξηγείται η δυαδική αρίθµηση µε απλό και αφηγηµατικό τρόπο και µε πρωτότυπα παραδείγµατα. Ifrah G., “From One to Zero: a Universal History of Numbers”, New York, Viking, 1985. Παρουσιάζεται η ιστορική εξέλιξη των αριθµών. Kohavi Z., “Switching and Finite Automata Theory”, McGraw Hill. Στο 1ο Kεφάλαιο υπάρχει λεπτοµερής παρουσίαση των βασικών µεθόδων κωδικοποίησης, των δυαδικών αριθµών και των µεθόδων κωδικοποίησης για προστασία από το θόρυβο (ψηφίο ισοτιµίας, κώδικας Hamming). Menninger K., “Number Words and Number Symbols: A Cultural History of Numbers”, Cambridge, MIT, 1969. Παρουσιάζεται µία άποψη της εξέλιξης των αριθµών. ¶ÚÔ·ÈÚÂÙÈ΋ ‚È‚ÏÈÔÁÚ·Ê›· Hamming R., Error Detecting and Error Correcting Codes, Bell System Tech. J., vol 29, pp.147–160, April 1950. Bασική εργασία για τους κώδικες ανίχνευσης και διόρθωσης λαθών. 75 76 K E º A § A I O 2 : ¢ YA ¢ I K H K ø ¢ I K O ¶ O I H ™ H Rao T., Fujiwara E., “Error–Control Coding for Computer Systems”, Prentice Hall, 1989. Eκτεταµένη παρουσίαση µεθόδων κωδικοποίησης για ποικίλες κατηγορίες λαθών (όχι για αρχαρίους). ∫ ÕÏÁ‚ڷ Boole ™ÎÔfi˜ H επιτυχία των ψηφιακών υπολογιστικών συστηµάτων στηρίζεται αφενός µεν στην ευκολία της κατασκευής τους και αφετέρου στον απλό και συστηµατικό τρόπο σχεδίασής τους. H εύκολη σχεδίαση πολύπλοκων ψηφιακών συστηµάτων οφείλεται κατ’ αρχήν στη δυνατότητα που έχουµε να παραστήσουµε τις επιθυµητές λειτουργίες τους µε συµβολικό τρόπο. H δυνατότητα αυτή προήλθε από την αντιστοιχία που έχουν τα βασικά στοιχεία ενός ψηφιακού κυκλώµατος, οι Λογικές Πύλες, µε τις µαθηµατικές–λογικές πράξεις ενός αλγεβρικού συστήµατος που ονοµάζεται “άλγεβρα Boole”. Oι θεωρητικές γνώσεις αυτής της άλγεβρας µας επιτρέπουν να σχεδιάζουµε τα κυκλώµατά µας γρήγορα, χωρίς λάθη και µε οικονοµία. Για να µάθουµε, όµως, τους κανόνες της σχεδίασής τους, που ονοµάζεται Ψηφιακή Σχεδίαση, πρέπει πρώτα να κατανοήσουµε τις πράξεις και τις ιδιότητες της άλγεβρας Boole. Aρχικά, η µελέτη και σχεδίαση των Ψηφιακών Συστηµάτων γινόταν µε εµπειρικό τρόπο, θεωρώντας τα συστήµατα αυτά σαν απλά ηλεκτρικά κυκλώµατα. Tο 1938 ο C. Shannon εισήγαγε το “Λογισµό των Προτάσεων” σαν εργαλείο για τη συµβολική περιγραφή της λειτουργίας τους. O Λογισµός των Προτάσεων µε τη σειρά του προέρχεται από την άλγεβρα Boole. H άλγεβρα Boole, τα θεωρήµατά της και οι ειδικές εφαρµογές της (Άλγεβρα ∆ιακοπτών – Yποενότητα 3.3.2) έχουν καταστεί πλέον το µαθηµατικό εργαλείο για την περιγραφή και σχεδίαση των Ψηφιακών Συστηµάτων, όταν αναφερόµαστε στο επίπεδο της “λογικής” συµπεριφοράς τους (Eνότητα 1.4). Στο Kεφάλαιο αυτό θα παρουσιαστούν τα κυριότερα σηµεία της άλγεβρας Boole, οι εφαρµογές της οι σχετικές µε τη Λογική (Λογισµός των Προτάσεων) και τα Ψηφιακά Συστήµατα (Άλγεβρα ∆ιακοπτών) καθώς και η υλοποίηση των πράξεων της άλγεβρας αυτής µε τις Λογικές Πύλες. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν µελετήσετε αυτό το Kεφάλαιο, θα έχετε µάθει: • Nα διακρίνετε τα Συνδυαστικά Ψηφιακά Συστήµατα από τα Aκολουθιακά. • Tον ορισµό και τα αξιώµατα της άλγεβρας Boole. • Nα εφαρµόζετε τα βασικά θεωρήµατα της άλγεβρας Boole. 3 ∂ º ∞ § ∞ π √ K E º A § A I O 3 : A § ° E B PA B O O L E 78 • Tον ορισµό και τις ιδιότητες της ∆ίτιµης Άλγεβρας. • Tη σηµασία των λογικών πράξεων OR, AND, NOT. • Nα καταγράφετε και να απλοποιείτε σύνθετες λογικές προτάσεις (Λογισµός των Προτάσεων ) χρησιµοποιώντας πράξεις της ∆ίτιµης Άλγεβρας. • Nα εκφράζετε αλγεβρικά, µε πράξεις της ∆ίτιµης Άλγεβρας (Άλγεβρα ∆ιακοπτών), τη λειτουργία Kυκλωµάτων, που αποτελούνται από ∆ιακόπτες συνδεδεµένους σε σειρά και παράλληλα. • Tον ορισµό, την παράσταση και τα θεωρήµατα που αφορούν στις λογικές Συναρτήσεις. • Xρήσιµες συστηµατικές µεθόδους για την παράσταση των Λογικών Συναρτήσεων (Kανονική Παράσταση). • Tην έννοια της Λογικής Πύλης, σαν στοιχείο υλοποίησης των Λογικών Πράξεων της άλγεβρας. • Nα διατυπώνετε προβλήµατα λογικής µε τη µαθηµατικοποιηµένη µορφή της ∆ίτιµης Άλγεβρας και να αναλύετε και να απλοποιείτε τα προβλήµατα αυτά µε τη βοήθεια των ιδιοτήτων (θεωρηµάτων) αυτής της άλγεβρας. • Nα περιγράφετε µε συµβολική µορφή, µέσω της Άλγεβρας των ∆ιακοπτών, και να απλοποιείτε τη λειτουργία κυκλωµάτων µε διακόπτες/πύλες και αντίστροφα να υλοποιείτε µια αλγεβρική σχέση µε Λογικές Πύλες (Kυκλωµατικό ∆ιάγραµµα). ŒÓÓÔȘ ÎÏÂȉȿ • Συνδυαστικό • AND • Aκολουθιακό • NOT • Άλγεβρα Boole • Λογισµός Προτάσεων • Λογικό άθροισµα • Άλγεβρα ∆ιακοπτών • Λογικό γινόµενο • Λογική Συνάρτηση • Λογική αντιστροφή • Kαρτεσιανό Γινόµενο • Aρχή ∆υϊσµού • Xάρτης Karnaugh • Λογική Παράσταση • N–Kύβος • ∆ίτιµη άλγεβρα • Eλάχιστος όρος • Πίνακας Aληθείας • Mέγιστος όρος • OR • Kανονική Παράσταση ∂¡¡√π∂™ ∫§∂π¢π∞ 79 • Λογική Πύλη • Πύλη XOR • Πύλη NAND • Πρωτόγονη πράξη • Πύλη NOR ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Στο Kεφάλαιο 2 µάθαµε κανόνες, για να παράγουµε δυαδικούς κώδικες και να κάνουµε αριθµητικές πράξεις στο δυαδικό σύστηµα. Στα Kεφάλαια που ακολουθούν θα µάθουµε πώς να σχεδιάζουµε, µε Λογικές Πύλες, ψηφιακά κυκλώµατα, που λειτουργούν σύµφωνα µε αυτούς τους κανόνες και παράγουν τα ζητούµενα σήµατα. Eπειδή κάθε Λογική Πύλη αντιπροσωπεύει µία ή περισσότερες πράξεις της άλγεβρας Boole, πρέπει να γνωρίσουµε και να κατανοήσουµε καλά τις ιδιότητες αυτής της άλγεβρας, πριν προχωρήσουµε στις µεθόδους σχεδίασης. Tο παρόν Kεφάλαιο, που παρουσιάζει την άλγεβρα Boole, είναι το εκτενέστερο του βιβλίου, όχι γιατί η άλγεβρα αυτή είναι δύσκολη ή περίπλοκη, αλλά γιατί εδώ παρουσιάζεται µε όσο το δυνατόν απλό και κατανοητό τρόπο. Για τον αµύητο αναγνώστη θα παρουσιαστούν κάποιες δυσκολίες στην αρχή, που οφείλονται στη συνήθεια που αποκτήσαµε από τις πράξεις της γνωστής άλγεβρας των αριθµών. Π.χ. έχουµε συνηθίσει ότι x+x=2x και x.x=x2 ενώ στην άλγεβρα Boole ισχύει ότι x+x=x και x.x=x. H δυσκολία αυτή θα ξεπεραστεί, όταν εξοικειωθούµε µε τις πράξεις της παρούσας άλγεβρας µέσα από τα παραδείγµατα και τις ασκήσεις που παρατίθενται στις αντίστοιχες Eνότητες του Kεφαλαίου. Για να βοηθήσουµε την πλοήγηση του αναγνώστη µέσα στο Kεφάλαιο, παραθέτουµε το ακόλουθο διάγραµµα, που παρουσιάζει εποπτικά την ύλη του Kεφαλαίου. Tα κύρια σηµεία του Kεφαλαίου (βλέπε Eποπτικό διάγραµµα ύλης Kεφαλαίου) είναι: η Άλγεβρα Boole, η ∆ίτιµη Άλγεβρα, που είναι ειδική περίπτωση της άλγεβρας Boole, οι Λογικές Συναρτήσεις, που αποτελούν την αφετηρία κάθε εργασίας Ψηφιακής Σχεδίασης και όχι µόνον, και τέλος οι Λογικές Πύλες, που είναι οι µονάδες που υλοποιούν ένα ψηφιακό κύκλωµα. H µελέτη της ύλης πρέπει να γίνει µε τη σειρά που παρουσιάζονται οι Eνότητες και οι Yποενότητες στο Kεφάλαιο. Πρέπει να φροντίσουµε να µάθουµε: α) Nα εφαρµόζουµε χωρίς δυσκολία τα βασικά θεωρήµατα της άλγεβρας Boole (Yποενότητα 3.2.3). β) Nα καταγράφουµε µια πρόταση της Λογικής µε το συµβολισµό της ∆ίτιµης Άλγεβρας (Λογισµός Προτάσεων – Yποενότητα 3.3.1). 80 K E º A § A I O 3 : A § ° E B PA B O O L E γ) Nα σχηµατίζουµε τη Λογική Παράσταση, που αντιστοιχεί σε ένα κύκλωµα, µε διακόπτες συνδεδεµένους παράλληλα και σε σειρά (Άλγεβρα ∆ιακοπτών – Yποενότητα 3.3.2). δ) Aπό ένα δοθέν πρόβληµα να σχηµατίζουµε τον Πίνακα Aληθείας ή τη Λογική Παράσταση της Λογικής Συνάρτησης, που καταγράφει συµβολικά το πρόβληµα, και επίσης να µετασχηµατίζουµε αυτή τη συνάρτηση κατά τις ανάγκες του προβλήµατος (Eνότητα 3.4). ε) Nα µάθουµε το συµβολισµό και την αντιστοιχία των Λογικών Πυλών µε τις πράξεις και συναρτήσεις της ∆ίτιµης Άλγεβρας και επίσης να µετατρέπουµε µια Λογική Συνάρτηση σε κύκλωµα µε πύλες και αντίστροφα (Eνότητα 3.7). ∆εν χρειάζεται να τονίσουµε, στα όσα αναφέραµε, τη σπουδαιότητα που έχει η προσπάθεια να λύσουµε εµείς τις ασκήσεις της κάθε Eνότητας και να µην καταφεύγουµε στις έτοιµες λύσεις µε την πρώτη δυσκολία. ∂ ¶ √ ¶ ∆ π ∫ √ ¢ π ∞ ° ƒ∞ ª ª ∞ ∆ ∏ ™ À § ∏ ™ ∆ √ À ∫ ∂ º ∞ § ∞ π √ À 81 EÔÙÈÎfi ‰È¿ÁÚ·ÌÌ· Ù˘ ‡Ï˘ ÙÔ˘ ÎÂÊ·Ï·›Ô˘ Oρισµός Άλγεβρα Boole Άλγεβρα Boole 3.2 Iδιότητες Aρχή ∆υϊσµού Λογική Παράσταση Bασικά Θεωρήµατα 3.2.1| 3.2.2| 3.2.3 Oρισµός ∆ίτιµη Άλγεβρα ∆ίτιµη Άλγεβρα 3.3 Eφαρµογές Λογισµός Προτάσεων Άλγεβρα ∆ιακοπτών 3.3.1| 3.3.2 Oρισµός Λογικές Συναρτήσεις Λογικές Πύλες Λογικές Συναρτήσεις 3.4 Παράσταση Συναρτήσεων Θεωρήµατα Συναρτήσεων Συν. Eλαχίστου – Mεγίστου όρου Kανονική Παράσταση Συν. 3.4.1| 3.4.2| 3.5| 3.6 Συναρτήσεις ∆ύο Mεταβλητών Λογικές Πύλες Iσόµορφα Συστήµατα Πράξεις Συναρτησιακώς Πλήρεις Πύλες µε Πολλαπλές Eισόδους 3.7.1| 3.7.2| 3.7.3| 3.7.4| 3.7.5 K E º A § A I O 3 : A § ° E B PA B O O L E 82 3.1 EÈÛ·ÁˆÁ‹ Για να διευκολύνουµε τη µελέτη των σηµερινών πολύπλοκων ψηφιακών συστηµάτων, είναι απαραίτητο να τα χωρίσουµε κατ’ αρχήν σε δύο µεγάλες κατηγορίες ως προς τη λειτουργία τους: τα Συνδυαστικά και τα Aκολουθιακά. Aπό αυτή την εισαγωγική Eνότητα θα γνωρίσετε: • Tον ορισµό και τη βασική διαφορά µεταξύ Συνδυαστικών και Aκολουθιακών Συστηµάτων. x1 xk • Tην έννοια και το σκοπό της µελέτης ενός ψηφιακού συστήµατος. F y xn Ένα Ψηφιακό Σύστηµα µε n εισόδους και µία έξοδο παριστάνεται διαγραµµατικά από το δίπλα σχήµα, όπου: ™¯‹Ì· 3.1 α. xi, i=1,…, n είναι οι είσοδοι του συστήµατος, δηλ. τα σηµεία όπου εισέρχονται τα δεδοµένα υπό µορφή δυαδικών σηµάτων, Σχηµατική παράσταση συστήµατος β. y είναι η έξοδος, δηλ. ένα δυαδικό σήµα που µεταφέρει το αποτέλεσµα της επεξεργασίας, και γ. F παριστά τη λειτουργία ή επεξεργασία που εκτελεί το σύστηµα. Ανάλογα µε τον τρόπο λειτουργίας τους τα ψηφιακά συστήµατα ταξινοµούνται σε δύο µεγάλες κατηγορίες, στα: α. Συνδυαστικά συστήµατα (Combinatorial). Σ' αυτά το αποτέλεσµα, η τιµή yt της εξόδου y κατά τη χρονική στιγµή t, εξαρτάται µόνο από τις τιµές xit των εισόδων xi κατά την ίδια χρονική στιγµή t, δηλ.: yt = F(x1t, x2t, …,xnt) β. Ακολουθιακά συστήµατα (Sequential). Η τιµή yt της εξόδου y κατά τη χρονική στιγµή t εξαρτάται όχι µόνον από τις τιµές xit των εισόδων xi κατά τη χρονική στιγµή t αλλά και από τις τιµές των εισόδων που δέχθηκε το κύκλωµα στο παρελθόν. Αναλυτικότερα, η λειτουργία F των ακολουθιακών κυκλωµάτων καθορίζεται από δύο συναρτήσεις Fy και Fs, δηλ. F={Fy, Fs}, όπου η πρώτη καθορίζει την έξοδο του συστήµατος και η δεύτερη την κατάστασή του: yt = Fy(x1t, x2t, …, xnt, st) st+1 = Fs(x1t, x2t, …, xnt, st) όπου st η κατάσταση του συστήµατος τη χρονική στιγµή t και st+1 η νέα του κατάσταση την επόµενη χρονική στιγµή. 3.1 Eπ™∞°ø°∏ 83 Tα ακολουθιακά συστήµατα, όταν αναλυθούν, περιέχουν µέσα τους ένα τµήµα που είναι συνδυαστικό (συναρτήσεις Fy και Fs) καθώς και µια µνήµη, όπου αποθηκεύεται η κατάσταση τους st. Eποµένως, η µελέτη και των δύο κατηγοριών συστηµάτων διευκολύνεται πολύ, και για µεγάλα συστήµατα τότε µόνο είναι δυνατή, όταν η λειτουργία του συνδυαστικού συστήµατος µπορεί να περιγραφεί από µιά µαθηµατική ή λογική συνάρτηση της µορφής: y = F(x1, x2, …,xn) όπου παραλείπουµε το t για λόγους απλότητος. Με τον όρο µελέτη εννοείται είτε η ανάλυση της λειτουργίας ενός έτοιµου συστήµατος είτε η σχεδίασή του, δηλ. η σύνθεση ενός ψηφιακού συστήµατος από απλούστερες µονάδες, το οποίο εκτελεί προκαθορισµένες λειτουργίες. Τα πρώτα ψηφιακά συστήµατα αποτελούνταν από ηλεκτροµαγνητικούς διακόπτες (ηλεκτρονόµους – relays) και η µελέτη τους γινόταν µε εµπειρικά µέσα, τα οποία σύντοµα απoδείχθηκαν ανεπαρκή. Το 1938 ο C. Shannon µε την εργασία του “A Symbolic Analysis of Relay and Switching Circuits” (1938) έθεσε τις µαθηµατικές βάσεις για τη µελέτη των κυκλωµάτων διακοπτών, πρoτείνοντας ένα συµβολικό τρόπο περιγραφής της λειτουργίας τους βασισµένο στο Λογισµό των Προτάσεων. O Λογισµός των Προτάσεων αποτελεί µιά ειδική εφαρµογή ενός γενικότερου µαθηµατικού–λογικού συστήµατος, που ονοµάζεται Άλγεβρα Boole. Η άλγεβρα αυτή δηµιουργήθηκε τον περασµένο αιώνα από τον Αγγλο µαθηµατικό G. Boole στην προσπάθειά του να "µαθηµατικοποιήσει" τους κανόνες της Λογικής. Παρουσιάστηκε για πρώτη φορά το 1854 στο βιβλίο του “An Investigation of the Laws of Thought on Which Are Founded the Mathematical Theories of Logic and Probabilities” και οδήγησε στη δηµιουργία της σύγχρονης Μαθηµατικής Λογικής. Η άλγεβρα Boole, που υπερκαλύπτει το Λογισµό των Προτάσεων, αποτελεί σήµερα το µαθηµατικό εργαλείο, στο οποίο στηρίζεται η µελέτη της "λογικής" των ψηφιακών κυκλωµάτων. Στις επόµενες Eνότητες θα παρουσιαστούν τα κυριότερα σηµεία της άλγεβρας Boole καθώς και οι εφαρµογές της οι σχετικές µε τη Λογική (Λογισµός των Προτάσεων) και τα Ψηφιακά Συστήµατα (Άλγεβρα ∆ιακοπτών). 3.2 ÕÏÁ‚ڷ Boole H σχεδίαση οποιουδήποτε ψηφιακού κυκλώµατος απαιτεί την καλή σχεδία- K E º A § A I O 3 : A § ° E B PA B O O L E 84 ση του Συνδυαστικού του µέρους, που είναι και το θέµα του παρόντος βιβλίου. Mετά τη χρησιµοποίηση του "Λογισµού των Προτάσεων" από τον Shannon (1938) για τη µελέτη των κυκλωµάτων διακοπτών, η άλγεβρα Boole έχει καταξιωθεί σαν το βασικό µαθηµατικό εργαλείο για την ανάλυση και σχεδίαση κάθε ψηφιακού κυκλώµατος. Σ’ αυτή την Eνότητα θα δώσουµε τον ορισµό της άλγεβρας Boole, µε βάση τα αξιώµατα του Huntington, και θα αναπτύξουµε τα σηµαντικότερα θεωρήµατά της. Tελειώνοντας αυτή την Eνότητα θα γνωρίζετε: • Tι είναι η άλγεβρα Boole και πώς ορίζεται (στοιχεία, πράξεις, αξιώµατα). • Tι είναι οι λογικές πράξεις. • Σε τι µοιάζει και σε τι διαφέρει η άλγεβρα Boole από την άλγεβρα των αριθµών. • Ποια είναι η αρχή και το θεώρηµα του ∆υϊσµού. • Tι ονοµάζουµε και πώς ορίζεται η Λογική Παράσταση. • Tα επτά ζεύγη βασικών θεωρηµάτων της άλγεβρας Boole. Στις ιδιότητες και τα θεωρήµατα της παρούσας Eνότητας στηρίζονται η ∆ίτιµη Άλγεβρα και οι εφαρµογές της, ο Λογισµός των Προτάσεων και η Άλγεβρα των ∆ιακοπτών, που παρουσιάζονται στις επόµενες Eνότητες. Eκτός από αυτόν υπάρχει και ένας άλλος λόγος, που καθιστά αναγκαία τη καλή γνώση αυτής της Eνότητας. H άλγεβρα Boole, που παρουσιάζεται εδώ µε τον απλούστερο δυνατό τρόπο, παρουσιάζει ιδιοµορφίες σε ορισµένα αξιώµατα και θεωρήµατά της, που µερικές φορές µας παραπλανούν. O καλύτερος, ίσως, τρόπος για να εξοικειωθούµε µε αυτήν είναι να εξασκηθούµε επαναλαµβάνοντας αρκετές φορές τα Παραδείγµατα και τις Aσκήσεις που παρατίθενται. H άλγεβρα Boole δηµιουργήθηκε, όπως αναφέρθηκε, τον περασµένο αιώνα από τον G. Boole, ο οποίος προσπάθησε να διατυπώσει τους κανόνες της Aριστοτελικής Λογικής µε συστηµατικό και συµβολικό τρόπο, ώστε να διευκολυνθεί η παραγωγή των λογικών συµπερασµάτων και να αποφεύγονται τα λάθη στους συλλογισµούς. H άλγεβρα του Boole ορίζεται σαν µία αλγεβρική δοµή, δηλ. ένα µαθηµατικό σύστηµα, το οποίο περιέχει τα εξής: α) Ένα σύνολο από στοιχεία, που έχουν κοινές ιδιότητες. Tο γεγονός ότι ένα 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E 85 στοιχείο x ανήκει στο σύνολο B συµβολίζεται ως: xŒB. Eνα σύνολο B, που αποτελείται από πεπερασµένο πλήθος στοιχείων, π.χ. τα 1, 2, 3 και 4, µπορεί να οριστεί περικλείοντας τα στοιχεία του µέσα σε αγκύλες: B = {1, 2, 3, 4}. β) Ένα σύνολο από πράξεις. Mια πράξη είναι στην ουσία ένας κανόνας που µας λέγει ότι, όταν συνδυάσουµε σύµφωνα µε αυτή την πράξη τα στοιχεία x και y του συνόλου B, θα προκύψει το στοιχείο z, π.χ. η πράξη της πρόσθεσης των αριθµών µας λέγει ότι, όταν τον αριθµό 3 το συνδυάσω (προσθέσω) µε τον 4, θα πάρω τον 7. γ) Ένα σύνολο από αξιώµατα. Aποτελούν τις βασικές παραδοχές του συστήµατος, από τις οποίες προκύπτουν όλες οι άλλες ιδιότητες της άλγεβρας, που ονοµάζονται θεωρήµατα. Aπό την εποχή του Boole έχουν δηµιουργηθεί διάφορες παραλλαγές της άλγεβρας αυτής (άλγεβρα Boole–Schroeder). Eδώ θα παρουσιάσουµε µία παραλλαγή της, που είναι και η σηµαντικότερη, και στηρίζεται στην αξιωµατική θεµελίωση της άλγεβρας του Boole που προτάθηκε από τον Huntington (1904). Oƒπ™ª√™ ∆∏™ ∞§°∂µƒ∞™ BOOLE Η Άλγεβρα Boole ορίζεται, σύµφωνα µε τη θεµελίωση του Huntington, σαν µια αλγεβρική δοµή Β: Β = < Β, +, ., –, 0, 1 >, όπου α) Β είναι ένα σύνολο στοιχείων, που περιέχει δύο τουλάχιστον στοιχεία, β) Tα σύµβολα “+”, “.”, “–” δηλώνουν πράξεις επάνω στα στοιχεία του Β, όπου: η πράξη “+” ονοµάζεται λογικό άθροισµα, η πράξη “.” ονοµάζεται λογικό γινόµενο, και η πράξη “–” ονοµάζεται λογική αντιστροφή. γ) Tα “0” και “1” παριστάνουν ειδικά στοιχεία του Β (0,1ŒΒ), που ονοµάζονται σταθερές του συστήµατος. δ) Για κάθε στοιχείο a, b, c του συνόλου Β οι ανωτέρω πράξεις ικανοποιούν τα αξιώµατα του Πίνακα 3.1: K E º A § A I O 3 : A § ° E B PA B O O L E 86 Α0. a, b Œ B και aπb, το σύνολο B έχει δύο τουλάχιστον στοιχεία. Α1. a+b Œ B, a.b Œ B Κλειστότης A2. a+b=b+a, a.b=b.a Αντιµεταθετικότης A3. a+(b.c)=(a+b).(a+c), a.(b+c)=(a.b)+(a.c) Επιµεριστικότης A4. a+0=a, a.1=a Oυδέτερα Στοιχεία A5. a+ a =1, a. a =0 Ύπαρξη Συµπληρώµατος ¶›Ó·Î·˜ 3.1 Στα ακόλουθα, όπου δεν δηµιουργείται σύγχυση, το σύµβολο του λογικού Aξιώµατα της άλγεβρας Boole (Huntington) γινοµένου θα παραλείπεται, δηλ. η πράξη a.b θα γράφεται απλώς ab. Επίσης, το αποτέλεσµα της πράξης “–” επί ενός στοιχείου a ( a αντίστροφο ή συµπληρωµατικό του a), που κανονικά παριστάνεται σαν a , θα παριστάνεται εδώ, όπως γίνεται συνήθως στη βιβλιογραφία για τυπογραφικούς λόγους, είτε ως a είτε ως a'. ¶·Ú·ÙËÚ‹ÛÂȘ: Παρατηρούµε ότι τα αξιώµατα της άλγεβρας Boole, εκτός του A0, εµφανίζουν µία συµµετρία ως προς τις πράξεις, η πρώτη στήλη αφορά στην πρόσθεση και η δεύτερη στον πολλαπλασιασµό, και γι’ αυτό παρουσιάζονται ανά ζεύγη. Aν αναλύσουµε τα αξιώµατα αυτά µε απλούστερα λόγια, µας λένε τα εξής: α) Tο αξίωµα A0 µας λέει ότι το σύνολο B πρέπει να περιέχει τουλάχιστον δύο στοιχεία. Υπόψη ότι στα στοιχεία του B προσµετρώνται και οι σταθερές “0” και “1”. Γενικά το B, ανάλογα µε την εφαρµογή, µπορεί να περιέχει µέχρι άπειρο πλήθος (αριθµήσιµο) στοιχείων. β) Σύµφωνα µε το αξίωµα A1 οι πράξεις του λογικού αθροίσµατος και του γινοµένου είναι κλειστές, δηλ. οι πράξεις αυτές για κάθε ζεύγος στοιχείων a, b του B καθορίζουν (αντιστοιχούν) πάντοτε ένα στοιχείο c (που µπορεί να ταυτίζεται µε το a ή το b), που ανήκει στο σύνολο B. Συγκρίνετε το αξίωµα αυτό µε την πράξη, π.χ. της διαίρεσης των ακεραίων αριθµών, όπου το πηλίκο δεν ανήκει πάντα στους ακέραιους αριθµούς. γ) Aπό το αξίωµα A2 προκύπτει ότι το αποτέλεσµα των πράξεων είναι το ίδιο είτε στο στοιχείο a προστεθεί (πολλαπλασιαστεί) το b είτε στο στοιχείο b προστεθεί (πολλαπλασιαστεί) το a. δ) Tο αξίωµα A3 δηλώνει ότι ισχύει ο επιµερισµός όχι µόνο του γινοµένου 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E στο άθροισµα, a.(b+c), αλλά επιπλέον το άθροισµα επιµερίζεται στο γινόµενο, a+(b.c). Αυτό δεν συµβαίνει στην άλγεβρα των αριθµών και πρέπει να µας κάνει προσεκτικούς στις πράξεις µε αυτή την άλγεβρα. ε) Tο αξίωµα A4 µας λέει ότι, όσον αφορά στις πράξεις του λογικού αθροίσµατος και του λογικού γινοµένου, υπάρχουν δύο ειδικά στοιχεία του συνόλου B, το “0” και το “1” αντίστοιχα, που ονοµάζονται ουδέτερα στοιχεία ή στοιχεία ταυτότητος. Όσες φορές προσθέτουµε το “0” ή πολλαπλασιάζουµε µε το “1”, το αποτέλεσµα δεν αλλάζει. Συγκρίνετέ τα µε τους αριθµούς 0 και 1. στ) Tο αξίωµα A5 µας λέει ότι για κάθε στοιχείο a του B υπάρχει πάντοτε ένα στοιχείο, που ονοµάζεται συµπληρωµατικό ή αντίστροφο του a και συµβολίζεται a , το οποίο συνδυαζόµενο µε το a δίνει σαν αποτέλεσµα την σταθερά “1” ή “0”. Προσοχή: το a δεν είναι αντίθετο του a, δηλ. a +a π0. Συγκρίνοντας την άλγεβρα Boole µε την άλγεβρα των αριθµών παρατηρούµε ότι έχουν αρκετές οµοιότητες. H άλγεβρα Boole, όµως, διαφέρει σε ορισµένα βασικά σηµεία από την άλγεβρα των αριθµών, τα οποία θα πρέπει να τα προσέχουµε για να µην παρασυρόµαστε σε λανθασµένα αποτελέσµατα: α) ∆εν έχει αντίστροφες πράξεις, π.χ. δεν υπάρχει πράξη αντίστοιχη της αφαίρεσης ή της διαίρεσης, εποµένως δεν µπορούµε να µεταφέρουµε στοιχεία από το ένα µέλος µιας εξίσωσης στο άλλο µε τον τρόπο που γίνεται στην άλγεβρα των αριθµών. β) Iσχύει ο επιµερισµός του αθροίσµατος στον πολλαπλασιασµό (αξίωµα A3), δηλ. a+(b.c)=(a+b).(a+c), που δεν υπάρχει στην άλγεβρα των αριθµών. Eίναι ένα αξίωµα, που οδηγεί σε απρόσµενα πλην όµως ενδιαφέροντα αποτελέσµατα. γ) ∆εν υπάρχουν αντίθετα στοιχεία, εποµένως π.χ., εάν ένα στοιχείο εµφανίζεται και στα δύο µέλη µιας εξίσωσης δεν µπορούµε να το απαλείψουµε, δηλ. η σχέση a+c = b+c δεν συνεπάγεται τη σχέση a = b. δ) Tα συµπληρωµατικά ή αντίστροφα στοιχεία (αξίωµα A5) δεν έχουν το αντίστοιχό τους στην άλγεβρα των αριθµών. Eκτός από τις ανωτέρω παρατηρήσεις, θα πρέπει να αναφέρουµε ότι στον ορισµό της άλγεβρας αυτής δεν καθορίζονται: 87 K E º A § A I O 3 : A § ° E B PA B O O L E 88 α) το είδος και το πλήθος των στοιχείων του συνόλου B και β) το περιεχόµενο των πράξεών της, δηλ. ο κανόνας σύµφωνα µε τον οποίο συνδυάζονται δύο στοιχεία για να δώσουν το αποτέλεσµα. O λόγος εδώ είναι ότι το αλγεβρικό σύστηµα το οποίο παρουσιάσαµε και επεκράτησε να ονοµάζεται “άλγεβρα Boole”, από καθαρά µαθηµατικής απόψεως δεν ορίζει µία συγκεκριµένη άλγεβρα αλλά µία οικογένεια από άλγεβρες (“άλγεβρες του Boole”). Eπαφίεται στον κάθε µελετητή να “ορίσει” µε το δικό του τρόπο την άλγεβρα που επιθυµεί, δηλ. να ορίσει το περιεχόµενο του συνόλου B και των πράξεων, φροντίζοντας όµως πάντοτε να εκπληρούνται τα αξιώµατα της άλγεβρας Boole. Mια τέτοια περίπτωση είναι η ∆ίτιµη Άλγεβρα, που παρουσιάζεται στην Eνότητα 3.3. Στην Eνότητα 3.3 θα δοθούν µε αναλυτικό τρόπο συγκεκριµένες εφαρµογές της άλγεβρας Boole. Eδώ, για να γίνουν κατανοητά τα όσα αναφέραµε, θα δώσουµε ένα µικρό παράδειγµα ενός συστήµατος Boole βασισµένο στις ιδιότητες των συνόλων: ¶·Ú¿‰ÂÈÁÌ· 3.1 Έστω το σύνολο I={a, b} και όλα τα υποσύνολά του, δηλ. το κενό σύνολο ∆ και τα A={a} και B={b}. Εάν τα τέσσερα σύνολα I, ∆, A και B θεωρηθούν σαν στοιχεία ενός νέου συνόλου Σ={I,∆,A,B} και οι µεταξύ τους λογικές πράξεις αντιστοιχηθούν µε την ένωση », τη τοµή « και το συµπλήρωµα ενός συνόλου, όπως στον Πίνακα 3.2, τότε η αλγεβρική δοµή < Σ, », «, – > ανταποκρίνεται στα αξιώµατα Huntington και εποµένως αποτελεί µία άλγεβρα Boole. ¶›Ó·Î·˜ 3.2 Aντιστοίχηση λογικών πράξεων στις πράξεις συνόλου Λογικό άθροισµα + Ένωση συνόλου » Λογικό γινόµενο . Tοµή συνόλου « Συµπλήρωµα + ∆ A B I . ∆ A B I x x ∆ ∆ A B I ∆ ∆ ∆ ∆ ∆ ∆ I A A A I I A ∆ A ∆ A A B B B I B I B ∆ ∆ B B B A I I I I I I ∆ A B I I ∆ 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E 89 Nα αποδείξετε ότι οι πράξεις » και « των συνόλων, όπως ορίστηκαν στο Παράδειγµα 3.1 (Πίνακας 3.2), ικανοποιούν τα αξιώµατα του Huntington. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.1 Aναφερόµενοι στο Παράδειγµα 3.1: ¢Ú·ÛÙËÚÈfiÙËÙ· 3.1 α) Nα εξηγήσετε ποια στοιχεία του συνόλου Σ είναι συµπληρωµατικά µεταξύ τους. (Yπόδειξη: Eξετάστε ποια αξιώµατα αφορούν τα συµπληρωµατικά στοιχεία και εάν αυτά πληρούνται από τα αντίστοιχα ζεύγη στοιχείων). β) Nα εξετάσετε αν υπάρχουν άλλοι συνδυασµοί συµπληρωµατικών στοιχείων εκτός από αυτούς που αναφέρονται. (Yπόδειξη: ∆οκιµάστε τους υπόλοιπους συνδυασµούς µεταξύ των στοιχείων και ελέγξετε εαν πληρούν τα αντίστοιχα αξιώµατα). 3.2.1 AÚ¯‹ ÙÔ˘ ¢˘˚ÛÌÔ‡ Στον Πίνακα 3.1 τα αξιώµατα A1 – A5 είναι τοποθετηµένα ανά ζεύγη και παρατηρούµε ότι υπάρχει µια “συµµετρία” εντός του κάθε ζεύγους. H πρώτη στήλη αφορά στις ιδιότητες της πράξης του λογικού αθροίσµατος και, εάν στα σηµεία ακριβώς, όπου εµφανίζεται η πράξη του λογικού αθροίσµατος, τοποθετήσουµε την πράξη του λογικού γινοµένου, και αντίστροφα, τότε προκύπτουν τα αξιώµατα της δεύτερης στήλης. Π.χ. η εναλλαγή των πράξεων “+” και “.” στο πρώτο από τα αξιώµατα A3 οδηγεί στο δεύτερο: a+(b.c) = (a+b).a+c) a.(b+c) = (a.b)+(a.c) H συµµετρία αυτή, που υπάρχει στα αξιώµατα της άλγεβρας Boole, αποτελεί µια βαθύτερη ιδιότητα αυτής της άλγεβρας και ονοµάζεται Αρχή του ∆υϊσµού. H Αρχή του ∆υϊσµού (Duality principle) µας λέει το εξής: Μία σχέση Α ονοµάζεται δυϊκή (dual) µιας άλλης Β, εάν η Α προκύπτει από τη Β: α) µε αµοιβαία εναλλαγή των πράξεων του γινοµένου και του αθροίσµατος και β) µε αµοιβαία εναλλαγή των σταθερών 0 και 1. K E º A § A I O 3 : A § ° E B PA B O O L E 90 Η αρχή του δυϊσµού στην άλγεβρα Boole οδηγεί στο εξής θεώρηµα: Θεώρηµα του ∆υϊσµού: Εάν µια σχέση της άλγεβρας Boole είναι αληθής, τότε θα είναι αληθής και η δυϊκή της. Π.χ.: εάν (a+a).(b'+1) = a, τότε θα αληθεύει και η σχέση (a.a)+(b'.0) = a Το θεώρηµα του ∆υϊσµού αποδεικνύεται, εάν παρατηρήσουµε ότι: α) καθένα από τα αξιώµατα Α1 – Α5 της πρώτης στήλης έχει το δυϊκό του στη δεύτερη στήλη, συνεπώς ισχύει για τα αξιώµατα, β) η απόδειξη µιας σχέσης Α ακολουθεί τα ίδια βήµατα µε την απόδειξη της δυϊκής της Β, µε τη διαφορά ότι στη θέση των αξιωµάτων και θεωρηµάτων που χρησιµοποιούνται για τη Β εφαρµόζονται τα δυϊκά τους. Tο θεώρηµα του δυϊσµού µας διευκολύνει να αποδείξουµε µια σχέση, εάν έχει αποδειχθεί η δυϊκή της. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.2 Nα βρεθεί η δυϊκή µορφή των σχέσεων: α) F = (a+b').(b+c+0) και F = a.b'+b.c.1 β) a+(a.b) = a και a.(a+b) = a γ) (a+b)' = a'.b' και (a.b)' = a'+b' δ) a+a'.b = a+b και a.(a'+b) = a.b 3.2.2 §ÔÁÈ΋ ·Ú¿ÛÙ·ÛË Mια παράσταση της µορφής π.χ. a+(b+c).a+a.b+(b+c).b, που παραθέτει στη σειρά σύµβολα λογικών µεταβλητών, δηλ. στοιχεία που παίρνουν τιµές από το σύνολο B, π.χ. a, b, c, και µεταξύ των µεταβλητών καθορίζει ορισµένες λογικές πράξεις, αποτελεί µια λογική παράσταση. Eιδικότερα, Λογική Παράσταση ονοµάζεται κάθε συνδυασµός πεπερασµένου πλήθους µεταβλητών a,b,c … ŒΒ ή/και σταθερών 0, 1 της άλγεβρας, που συνδέονται µεταξύ τους µέσω των πράξεων “+”, “.”, “–” . Π.χ. η a+b.c.(a+c)' είναι µια λογική παράσταση, όπως και η a.b+(a'+b').(a'+b.c'). H λογική παράσταση είναι ο τρόπος µε τον οποίο διατυπώνονται τα θεωρήµατα και οι λοιπές σχέσεις της άλγεβρας Boole. Όταν υπολογίζουµε µια λογική παράσταση, πρέπει να ακολουθούµε την προτεραιότητα των τελεστών, που είναι εξ ορισµού: παρενθέσεις, αντιστροφή, 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E 91 γινόµενο και τελευταία η πρόσθεση. Π.χ. η παράσταση a.b+a.c ισοδυναµεί µε την (a.b)+(a.c). Yπενθυµίζεται ότι η παράσταση ab σηµαίνει την a.b. Nα υπολογιστούν οι τιµές των ακόλουθων παραστάσεων για τις τιµές των µεταβλητών a=0, b=1 και c=1: α) F = a+bc β) F = (a+b)(a+c) γ) ∆ίνεται η παράσταση F = (a+b)c. Nα βρεθεί η δυϊκή της F και κατόπιν να υπολογιστεί η τιµή της F και να συγκριθεί µε την τιµή της δυϊκής της. 3.2.3 µ·ÛÈο ıˆڋ̷ٷ Από τον ορισµό και τα αξιώµατα A0 – A5 της άλγεβρας, που παρουσιάστηκαν στην Eνότητα 3.2, παράγονται θεωρήµατα, τα σπουδαιότερα από τα οποία παρουσιάζονται σ’ αυτή την Yποενότητα. Tα θεωρήµατα παρατίθενται κατά δυϊκά ζεύγη και στις αποδείξεις που ακολουθούν σηµειώνονται δίπλα τα αξιώµατα και τα θεωρήµα τα οποία χρησιµοποιήθηκαν. £ÂÒÚËÌ· 1 a+a = a, a.a = a Eίναι: Eίναι: a = a+0 = a+a.a' = (a+a).(a+a') = (a+a).1 = a+a Α4 Α5 Α3 Α5 Α4 a = a.1 = a.(a+a') = a.a+a.a' = a.a+0 = a.a Α4 Α5 Α3 Α5 Α4 £ÂÒÚËÌ· 2 a+1 = 1, a.0 = 0 Eίναι: Eίναι: 1 = a+a' = a+(1.a') = (a+1).(a+a') = (a+1).1 = a+1 Α5 Α4 Α3 Α5 Α4 0 =a.a' = a.(0+a') = a.0+a.a' = a.0+0 = a.0 Α5 Α4 Α3 Α5 Α4 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.3 K E º A § A I O 3 : A § ° E B PA B O O L E 92 £ÂÒÚËÌ· 3 a+(a.b) = a, a.(a+b) = a Eίναι: Eίναι: a = a.1 = a.(b+1) = a.(1+b) = (a.1)+(a.b) = a+(a.b) Α4 Θ2 Α1 Α3 Α4 a = a+0 = a+(b.0) = a+(0.b) = (a+0).(a+b) = a.(a+b) Α4 Θ2 Α1 Α3 Α4 £ÂÒÚËÌ· 4· Προσεταιριστική ιδιότητα αθροίσµατος: (a+b)+c = a+(b+c) Ισχύει: [a+(b+c)][(a+b)+c] = [(a+b)+c][a+(b+c)] Α2 {[a+(b+c)](a+b)}+{[a+(b+c)]c} = {[(a+b)+c]a}+{[(a+b)+c](b+c)} Α3 [a+(b+c)a]+[ab+(b+c)b]}+{[ac]+[(b+c)c]} = ={[(a+b)a]+[ac]}+{[(a+b)b+bc]+[(a+b)c+c]} {[a]+[ab+(b+bc)]}+{[ac]+[bc+c]} = {[a+ab]+[ac]}+{[(ab+b)+bc]+[c]}Θ3 {[a]+[ab+b]}+{[ac]+[c]} = {[a]+[ac]}+{[b+bc]+[c]} Θ3 {a+b}+{c} = {a}+{b+c} Θ3 (a+b)+c = a+(b+c) Λόγω του Θεωρήµατος αυτού µπορούµε να γράφουµε τα αθροίσµατα µεταξύ τους χωρίς παρενθέσεις: (a+b)+c = a+(b+c) = a+b+c. £ÂÒÚËÌ· 4‚ Προσεταιριστική ιδιότητα γινοµένου: (a.b).c =a.(b.c) Ισχύει: [a.(b.c)]+[(a.b).c] = [(a.b).c)]+[a.(b.c)] Α2 {[a(bc)]+(ab)}{[a(bc)]+c} = {[(ab)c]+a}{[(ab)c]+(bc)} Α3 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E 93 {a[(bc)+b]}{[a+c][(bc)+c]} = {[(ab)+a][a+c]}{[(ab)+b]c} Α3 {a[b]}{[a+c][c]} = {[a][a+c]}{[b]c} Θ3 {ab}{ac+c} = {a+ac}{bc} Θ3 {ab}{c} = {a}{bc} Θ3 (ab)c = a(bc) Λόγω του Θεωρήµατος αυτού µπορούµε να γράφουµε τα γινόµενα µεταξύ τους χωρίς παρενθέσεις: (a.b).c = a.(b.c) = a.b.c. £ÂÒÚËÌ· 5 Το στοιχείο a' είναι το µοναδικό αντίστροφο του a: α) Θα αποδείξουµε πρώτα ότι το a' είναι µοναδικό. Έστω ότι υπάρχουν δύο αντίστροφα στοιχεία για το a, τα a1'=a και a2'=a, θα αποδείξουµε ότι ταυτίζονται. Πρέπει: a+a1'=1, a+a2'=1 και a.a1'=0, a.a2'=0. Eίναι a2' = 1.a2' A4 = (a+a1').a2' A5 = a.a2'+a1'.a2' A3 = 0+a1'.a2' A5 = a.a1'+a1'.a2' A5 = a1'.(a+a2') A3 = a1' β) Θα αποδείξουµε ότι το αντίστροφο του a' είναι το a, δηλ. (a')'=a. Εξ ορισµού a'=(a)', άρα το a είναι το µοναδικό αντίστροφο του a'. £ÂÒÚËÌ· 6 Θεωρήµατα de Morgan: α) (a+b)' = a'.b', και β) (ab)' = a'+b' Tο θεώρηµα 6α) µας λέει ότι το (a'.b') είναι το αντίστορφο του (a+b). Aρκεί εποµένως να αποδειχθεί ότι τα στοιχεία (a+b) και (a'.b') πληρούν τα αξιώµατα A5: (a+b)+a'.b' = 1 και (a+b).(a'.b') = 0 K E º A § A I O 3 : A § ° E B PA B O O L E 94 Eίναι: (a+b)+a'.b'= [(a+b)+a'].[(a+b)+b'] και (a+b).(a'.b') = a.a'.b'+b.a'.b' = (1+b).(a+1) = a.a'.b'+a'.b.b' =1 =0 Tο θεώρηµα 6β) αποδεικνύεται οµοίως, εάν στη θέση των a και b τοποθετήσουµε τα a' και b'. Tα θεωρήµατα του de Morgan έχουν τη σηµαντική ιδιότητα να µας επιτρέπουν να µετατρέπουµε µία παράσταση διατυπωµένη σαν άθροισµα κάποιων όρων σε παράσταση γινοµένου αυτών των όρων και αντίστροφα. £ÂÒÚËÌ· 7 Θεώρηµα Aπορρόφησης. a+a'.b = a+b, a.(a'+b) = a.b Eίναι: a+b = 1.(a+b) Eίναι: A4 a.b = 0+a.b A4 = (a+a').(a+b) A5 = a.a'+a.b A5 = a+a'.b A3 = a(a'+b) A3 Tα Θεωρήµατα Θ1 – Θ7 λόγω της χρησιµότητάς τους συνοψίζονται στον Πίνακα 3.3. ¶›Ó·Î·˜ 3.3 Bασικά θεωρήµατα της άλγεβρας Boole Θ1. a+a = a a.a = a Θ2. a+1 = 1 a.0 = 0 Θ3. a+(a.b) = a a.(a+b) = a Θ4. (a+b)+c = a+(b+c) Θ5. το a' είναι µοναδικό Θ6. (a+b)' = a'.b' Θ7. a+a'.β = a+b (a.b).c = a.(b.c) (a')' = a (ab)' = a'+b' a.(a'+β) = a.b Tα Θεωρήµατα Θ1 – Θ7, αν και δεν είναι τα µοναδικά, αποτελούν βασικά θεωρήµατα αυτής της άλγεβρας και η εξοικείωση µε αυτά είναι πολύ σηµαντική. Eκτός από τα παραδείγµατα και τις ασκήσεις αυτού του Kεφαλαίου, η καλή γνώση τους είναι απαραίτητη και για τα επόµενα Kεφάλαια. 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E 95 ¶·Ú¿‰ÂÈÁÌ· 3.2 Θα αποδείξουµε τη σχέση: ab+a'c+bc = ab+a'c Aπάντηση: ab+a'c = (ab+abc)+(a'c+a'bc) Θ3 = ab+a'c+abc+a'bc A2 = ab+a'c+(a+a')bc A3 = ab+a'c+1.bc A5 = ab+a'c+bc A4 ¶·Ú¿‰ÂÈÁÌ· 3.3 Θα απλοποιήσουµε την παράσταση: F = (x'+xyz')+(x'+xyz')(x+x'y'z) Aπάντηση: F = (x'+xyz')+(x'+xyz')(x+x'y'z) = (x'+xyz').[1+(x+x'y'z)] Θ3 = x'+xyz' Θ2 = x'+yz' Θ7 ¶·Ú¿‰ÂÈÁÌ· 3.4 Θα αποδείξουµε ότι: (abcd)' = a'+b'+c'+d' Aπάντηση: a'+b'+c'+d' = (a'+b')+(c'+d') = (ab)'+(cd)' Θ6β = [(ab).(cd)]' Θ6β = (abcd)' ¶·Ú¿‰ÂÈÁÌ· 3.5 Θα βρούµε το συµπλήρωµα της: F = xy+wxyz'+x'y Aπάντηση: F' = (xy+wxyz'+x'y)' = ([xy+wxyz']+[x'y])' = [xy+wxyz']'.[x'y]' Θ6α = (xy)'.(wxyz')'.[x'y]' Θ6α = (x'+y').(w'+x'+y'+z).[x+y'] Θ6β = (x'+y').[x+y'].(w'+x'+y'+z) A2 K E º A § A I O 3 : A § ° E B PA B O O L E 96 = [xx'+x'y'+xy'+y'y'].(w'+x'+y'+z) A3 = [0+x'y'+xy'+y'].(w'+x'+y'+z) A5,Θ1 = [(x'+x+1)y'].(w'+x'+y'+z) Θ3 = [y'].(w'+x'+y'+z) Θ2 = (w'y'+x'y'+y'y'+y'z) A3 = (w'+x'+1+z).y' Θ1,A3 = y' Θ2 ¶·Ú¿‰ÂÈÁÌ· 3.6 Θα αποδείξουµε ότι: x'y' + x'z + xz' = y'z' + x'z + xz' Aπάντηση: Στο παράδειγµα 3.2 αποδείξαµε ένα πολύ σηµαντικό αποτέλεσµα, ότι: ab+a'c = ab+a'c+bc Θα εφαρµόσουµε την ιδιότητα αυτή σε καθένα µέλος χωριστά και θα προχωρούµε µέχρι να καταλήξουµε σε ταυτόσηµες παραστάσεις. Θα εφαρµόσουµε την ιδιότητα επιδιώκοντας να σχηµατίσουµε τον όρο y'z', που λείπει από το πρώτο µέλος, και τον όρο x'y', που λείπει από το δεύτερο µέλος: x'y'+x'z+xz' [x'y'+xz']+x'z [x'y'+xz'+y'z']+x'z y'z'+x'z+xz' [y'z'+x'z]+xz' [y'z'+x'z+x'y']+xz' x'y'+xz'+x'z+y'z' = y'z'+x'z+xz'+x'y' Προσοχή: O τρόπος αυτός απόδειξης ισχύει, γιατί οι πράξεις έγιναν χωριστά σε κάθε µέλος και ανεξάρτητα από το άλλο. Χρησιµοποιείται εδώ για λόγους οικονοµίας χώρου. Η σωστή, τυπικά, απόδειξη είναι εκείνη κατά την οποία ξεκινάµε από το ένα µέλος και καταλήγουµε στο άλλο: x'y'+x'z+xz' = [x'y'+xz']+x'z = ………. = x'y'+xz'+x'z+y'z' = y'z'+x'z+xz'+x'y' = ………. = y'z'+x'z+xz' 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E 97 ¶·Ú¿‰ÂÈÁÌ· 3.7 Θα αποδειχθεί η σχέση: xy+x'y'+x'yz = xyz'+x'y'+yz Aπάντηση: Θα εφαρµόσουµε τη σχέση του Παραδείγµατος 3.2: ab+a'c = ab+a'c+bc και θα προχωρήσουµε όπως στο παράδειγµα 3.6: xy+x'y'+x'yz [xy+x'yz]+x'y' [xy+x'yz+yz]+x'y' [xy+yz]+x'y' xyz'+x'y'+yz [xyz'+yz]+x'y' [xyz'+yz+xy]+x'y' [yz+xy]+x'y' xy+yz+x'y' = yz+xy+x'y' ¶·Ú¿‰ÂÈÁÌ· 3.8 Θα αποδείξουµε ότι: Eάν x+y = 0, τότε x = 0 και y = 0 Aπάντηση: x+y = 0 Eπίσης: και x+y = 0 x+y+y' = 0+y' x'+x+y = 0+x' x+1 = y' 1+y = x' 1 = y' 1 = x' x+y = 0 και x+y = 0 (x+y).y' = 0.y' (x+y).x' = 0.x' xy'+yy' = 0 xx'+yx' = 0 x.1+0 = 0 Eποµένως: x =0 A5 Θ2 0+y.1 = 0 (γιατί y'=1, x'=1) και y =0 K E º A § A I O 3 : A § ° E B PA B O O L E 98 ¶·Ú¿‰ÂÈÁÌ· 3.9 Θα αποδείξουµε ότι: Eάν xy'+x'y = xz'+x'z, τότε y = z Aπάντηση: xy'+x'y = xz'+x'z και xy'+x'y = xz'+x'z (xy'+x'y)x = (xz'+x'z)x (xy'+x'y)x' = (xz'+x'z)x' xy' = xz' x'y = x'z (xy')' = (xz')' x'+y = x'+z Θ6β (x'+y)x = (x'+z)x xy = xz και x'y = x'z Προσθέτουµε κατά µέλη τις δύο σχέσεις: xy+x'y = xz+x'z (x+x')y = (x+x')z y =z ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.4 A. Nα αποδειχθεί ότι το αντίστροφο της σταθεράς “1” είναι το στοιχείο “0” B. Nα αποδειχθεί ότι: a+ab+ac+ad = a. Γ. Nα αποδειχθεί ότι: (a+b+c+d)' = a'b'c'd' ∆. Nα απλοποιηθεί η παράσταση: F = x'+y'+xyz' E. Nα αποδείξετε πώς απλοποιείται η παράσταση: F = a+a'b+a'b'c+a'b'c'd+ … ΣT. Nα βρεθεί το συµπλήρωµα της F και κατόπιν να απλοποιηθεί: F = x'(y'+z')(x+y+z') Z. Nα αποδειχθεί εάν ισχύει ή όχι η σχέση: (x+y)(x'+y)(x+y')(x'+y') = 0 H. Nα αποδειχθεί ότι: Eάν a+b=a+c και a'+b=a'+c, τότε b=c Θ. Nα αποδειχθεί ότι: Eάν a+b=a+c και ab=ac, τότε b=c I. Nα αποδειχθεί ότι: Eάν ab'+a'b=0, τότε a=b IA. Nα αποδειχθεί ότι δεν µπορεί να υπάρξει άλγεβρα Boole, της οποίας το σύνολο B να περιέχει τρία στοιχεία, B={1,0,a} (Yπόδειξη: υπάρχει αντίστροφο του a;). IB. Nα βρεθεί η δυϊκή της ακόλουθης σχέσης και κατόπιν να αποδειχθεί αλγεβρικά ότι ισχύει η ισότης της δυϊκής: x'y' + x'z + xz' = y'z' + x'z + xz' 3 . 2 ∞ § ° ∂ µ ƒ∞ B O O L E α) Xρησιµοποιώντας µόνο τα αξιώµατα Huntington (Πίνακας 3.1), προσπαθήστε να αποδείξετε τη σχέση a+a = a (Θ1, Πίνακας 3.3), ξεκινώντας από το πρώτο µέλος a+a και καταλήγοντας στο δεύτερο (Yπόδειξη: Προχωρήστε αντίθετα από την απόδειξη του βιβλίου). β) Προσπαθήστε να βρείτε µια παράσταση Π µε τρεις µεταβλητές x, y, z που να είναι δυϊκή µε τον εαυτό της, δηλ. αν Πd είναι η δυϊκή της Π, τότε Π=Πd. (Yπόδειξη: Πρέπει να υπάρχει µιά “συµµετρία” στην µορφή της παράστασης. Π.χ. δοκιµάστε την Π=xy+yz, αρκεί από µόνη της; ποιον όρο πρέπει να προσθέσετε για να γίνει συµµετρική;) ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • H άγεβρα Boole ορίζεται σαν µια αλγεβρική δοµή, που αποτελείται από ένα σύνολο στοιχείων, τρεις “λογικές” πράξεις και τα αξιώµατα A0 – A5 (Huntington), από τα οποία τα A1 – A5 είναι δυϊκά ζεύγη αξιωµάτων. • H άλγεβρα Boole έχει αντίστροφα αλλά όχι αντίθετα στοιχεία και επίσης ισχύει ο επιµερισµός του αθροίσµατος στον πολλαπλασιασµό, που την κάνουν να διαφέρει από την άλγεβρα των αριθµών. • Στην πραγµατικότητα η άλγεβρα Boole είναι µια οικογένεια από άλγεβρες, στην οποία κάποιος µπορεί να ορίσει τη δική του άλγεβρα, αρκεί να ορίσει το περιεχόµενο των πράξεων, σύµφωνα πάντοτε µε τα αξιώµατα. • Iσχύει το θεώρηµα του ∆υϊσµού, που µας λέει ότι, εάν µια σχέση της άλγεβρας αυτής είναι αληθής, τότε θα αληθεύει και η δυϊκή της. • Λογική Παράσταση ονοµάζεται κάθε συνδυασµός πεπερασµένου πλήθους µεταβλητών α,β,γ … ŒΒ ή/και σταθερών 0, 1 της άλγεβρας που συνδέονται µεταξύ τους µέσω των πράξεων “+”, “.”, “–”. Kατά τον υπολογισµό της πρέπει να ακολουθούµε την προτεραιότητα των τελεστών. • Παρουσιάζονται επτά ζεύγη (δυϊκά) βασικών θεωρηµάτων, τα Θ1 – Θ7. 99 ¢Ú·ÛÙËÚÈfiÙËÙ· 3.2 K E º A § A I O 3 : A § ° E B PA B O O L E 100 3.3 ¢›ÙÈÌË ÕÏÁ‚ڷ Boole H ονοµαζόµενη “άλγεβρα Boole” είναι µια οικογένεια από άλγεβρες. Aπό αυτήν προκύπτουν συγκεκριµένες άλγεβρες ορίζοντας κατάλληλα τις πράξεις της (συµβατές µε τα αξιώµατα). H ∆ίτιµη Άλγεβρα αποτελεί ένα παράδειγµα άλγεβρας µε δύο στοιχεία (δίτιµη) και κατάλληλο ορισµό των πράξεων. H ∆ίτιµη Άλγεβρα µας εισάγει στο Λογισµό των Προτάσεων και στην Άλγεβρα των ∆ιακοπτών. Oι γνώσεις που αποκτάµε από την Eνότητα αυτή είναι: • O ορισµός της ∆ίτιµης Άλγεβρας, δηλ. τα στοιχεία της και το περιεχόµενο των πράξεών της (Πίνακας Aληθείας). • O Λογισµός των Προτάσεων, που προκύπτει από τη ∆ίτιµη Άλγεβρα σαν µια αντιστοίχηση των στοιχείων της µε την Aλήθεια ή το Ψεύδος µιας λογικής πρότασης. • H δυνατότητα να εκµεταλλευόµαστε τις γνώσεις της ∆ίτιµης Άλγεβρας, για να αναλύουµε και να απλοποιούµε πολύπλοκες προτάσεις της λογικής. • H Άλγεβρα των ∆ιακοπτών, που είναι µια δίτιµη άλγεβρα µε στοιχεία τις δύο καταστάσεις ενός διακόπτη (Aνοικτός, Kλειστός) και µας ενδιαφέρει άµεσα για τη µελέτη των ψηφιακών κυκλωµάτων. • H περιγραφή της λειτουργίας ενός κυκλώµατος µε διακόπτες από µία Λογική Παράσταση. H αλγεβρική µορφή της παράστασης έχει άµεση επίπτωση στη µορφή του κυκλώµατος και επιτρέπει την εύκολη κατασκευή ή απλοποίηση ενός κυκλώµατος µέσω των γνώσεών µας από την άλγεβρα. Εφόσον γνωρίζουµε καλά τα θεωρήµατα της άλγεβρας Boole, η παρούσα Eνότητα αποτελεί απλή εφαρµογή της άλγεβρας Boole. Eίναι ίσως περισσότερο ενδιαφέρουσα, γιατί µας φέρνει κοντά σε καθηµερινά και πρακτικά προβλήµατα λογικής και κυκλωµάτων. Kάποια δυσκολία µπορεί να προκύψει ως προς τον τρόπο επιλογής των µεταβλητών, που συµµετέχουν στη Λογική Παράσταση, που δηµιουργείται για κάθε πρόβληµα. H ∆ίτιµη Άλγεβρα είναι µια ειδική εφαρµογή της Άλγεβρας Boole, στην οποία το σύνολο Β περιέχει µόνο δύο στοιχεία και οι πράξεις έχουν αποκτήσει συγκεκριµένο περιεχόµενο. Εννοείται ότι εξακολουθούν να ισχύουν όλα τα αξιώµατα και θεωρήµατα της άλγεβρας Boole. 3 . 3 ¢ π ∆ π ª ∏ ∞ § ° ∂ µ ƒ∞ B O O L E 101 Η ∆ίτιµη Άλγεβρα ορίζεται σαν µια άλγεβρα Boole, στην οποία: α) το σύνολο Β περιέχει µόνο δύο στοιχεία, τα 0 και 1 δηλ. Β={0,1}, β) οι πράξεις του αθροίσµατος “+”, του γινοµένου “.” και της αντιστροφής “–” ορίζονται, σχετικά µε το σύνολο Β={0,1}, από τον ακόλουθο πίνακα αντιστοιχίας (Πίνακας 3.4), που ονοµάζεται Πίνακας Αληθείας: ¶›Ó·Î·˜ 3.4 Πίνακας Aληθείας των πράξεων αβ OR α+β AND α.β α NOT α' 00 0 0 0 1 01 1 0 1 0 10 1 0 11 1 1 Oι πράξεις που ορίστηκαν στον Πίνακα 3.2 έχουν και µια εναλλακτική ονοµασία, που είναι δανεισµένη από το Λογισµό των Προτάσεων, στον οποίο αρχικά εφαρµόστηκε η άλγεβρα Boole. Oνοµάζονται (Πίνακας 3.4) αντίστοιχα OR (ή), AND (και) και NOT (όχι) και ο συµβολισµός αυτός θα δικαιολογηθεί στην Yποενότητα 3.3.1. Οι πράξεις OR, AND, NOT, όπως ορίστηκαν από τους πίνακες αληθείας τους, είναι εύκολο να διαπιστωθεί ότι πληρούν τα αξιώµατα της άλγεβρας Boole. Oι µεταβλητές σε µια παράσταση της ∆ίτιµης Άλγεβρας µπορούν να έχουν µόνο δύο δυνατές τιµές, γιατί το σύνολο B έχει δύο µόνο στοιχεία. Tο γεγονός αυτό διευκολύνει πολλές φορές την απόδειξη των θεωρηµάτων της ∆ίτιµης Άλγεβρας, γιατί αρκεί να ελέγξουµε το θεώρηµα, απαριθµώντας όλους τους δυνατούς συνδυασµούς τιµών των µεταβλητών, που στην περίπτωση αυτή είναι πεπερασµένου πλήθους. Στο ακόλουθο παράδειγµα θα αποδείξουµε το θεώρηµα του de Morgan (Θ6α, Yποενότητα 3.2.3). ¶·Ú¿‰ÂÈÁÌ· 3.10 Nα αποδειχθεί το θεώρηµα του de Morgan για τη ∆ίτιµη Άλγεβρα: (a+b)' = a'b' Aπάντηση: Θα σχηµατίσουµε έναν πίνακα που να περιέχει όλους τους συν- K E º A § A I O 3 : A § ° E B PA B O O L E 102 δυασµούς τιµών των µεταβλητών a και b και για κάθε συνδυασµό θα συγκρίνουµε το αποτέλεσµα που προκύπτει από κάθε µέλος του θεωρήµατος: ab (a+b)' a'b' 00 1 1 01 0 0 10 0 0 11 0 0 Παρατηρούµε ότι για κάθε σειρά του πίνακα και τα δύο µέλη έχουν την ίδια τιµή, εποµένως το θεώρηµα αληθεύει. Oι εφαρµογές της ∆ίτιµης Άλγεβρας είναι πολλές και εξαρτώνται πλέον από το “φυσικό” περιεχόµενο, που δίνουµε τόσο στις πράξεις όσο και στα στοιχεία “0” και “1”, δηλ. από το τι µεγέθη ή καταστάσεις θέλουµε να απεικονίζουν. Στις Yποενότητες 3.3.1 και 3.3.2, που ακολουθούν, θα µελετήσουµε δύο διαφορετικές εφαρµογές της ∆ίτιµης Άλγεβρας: στη Λογική και στα Kυκλώµατα ∆ιακοπτών. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.5 Με δεδοµένο ότι οι µεταβλητές a, b, c, d είναι δίτιµες: α) Nα αποδειχθεί ότι a+a=a και ότι a.a=a µε σύγκριση των τιµών των µελών β) Eάν ab'+a'b = c, τότε να αποδειχθεί ότι ac'+a'c = b. γ) Nα βρεθούν οι τιµές των a, b, c, d, που ικανοποιούν το σύστηµα εξισώσεων: a'+ab = 0 ab = ac ab+ac'+cd = c'd δ) Nα βρεθεί µε απαρίθµηση των συνδυασµών των τιµών αν αληθεύει η σχέση: ab+a'b'+a'bc = abc'+a'b'+bc 3 . 3 ¢ π ∆ π ª ∏ ∞ § ° ∂ µ ƒ∞ B O O L E 103 3.3.1 ¢›ÙÈÌË ÕÏÁ‚ڷ Î·È §ÔÁÈÛÌfi˜ ÙˆÓ ¶ÚÔÙ¿ÛÂˆÓ Η εφαρµογή της ∆ίτιµης Αλγεβρας στο Λογισµό των Προτάσεων έχει σκοπό την εύρεση της αλήθειας σύνθετων προτάσεων. Σύµφωνα µε τη Λογική µια σύνθετη πρόταση σχηµατίζεται από απλές προτάσεις συνδεδεµένες µεταξύ τους µε τα συνδετικά και, ή, όχι. Έστω δύο προτάσεις Α και Β, ο τελεστής: 1) OR (A OR B) συµβολίζει την αλήθεια της σύνθετης προτάσης Γ=(Α ή Β), 2) AND (A AND B) συµβολίζει τη Γ=(Α και Β), 3) NOT συµβολίζει την αντίθετη πρόταση, (όχι Α), και παριστάνεται NOT Α. Σύµφωνα µε την Aριστοτελική Λογική, µια πρόταση θα έχει µία από τις εξής δύο καταστάσεις, δηλ. θα είναι ή αληθής (True) ή ψευδής (False). H αλήθεια ή το ψεύδος µιας σύνθετης πρότασης καθορίζεται από την αλήθεια των επιµέρους προτάσεων A και B σύµφωνα µε τον Πίνακα 3.5: ¶›Ó·Î·˜ 3.5 Πίνακας Aληθείας συνθέτων Λογικών Προτάσεων AB OR AND A NOT FF F F F T FT T F T F TF T F TT T T Εάν η κατάσταση αληθείας µιας πρότασης συµβολιστεί: (α) µε το 1, όταν η πρόταση είναι αληθής, και (β) µε το 0, όταν είναι ψευδής, τότε ο Πίνακας 3.5 συµπίπτει µε τον Πίνακα 3.4, δηλ. η αλήθεια µιας σύνθετης πρότασης ακολουθεί τους νόµους της ∆ίτιµης Άλγεβρας Boole. Χρησιµοποιώντας τον ανωτέρω συµβολισµό, µε το “0” και το “1” και τις πράξεις “+”=OR, “.”=AND και “–”=NOT, είναι δυνατόν η λεκτική περιγραφή µιας σύνθετης πρότασης να µετατραπεί σε µορφή αλγεβρικής παράστασης. Κατόπιν, εκµεταλλευόµενοι τα θεωρήµατα της άλγεβρας, η πρόταση µπορεί να ελεγχθεί, να απλοποιηθεί, να βρεθούν ισοδύναµες προτάσεις κ.λπ. µε πολύ ευκολότερο τρόπο από ότι στη λεκτική της περιγραφή. Στο παράδειγµα που ακολουθεί θα µετατρέψουµε ένα σύνολο από προτάσεις σε µορφή ∆ίτιµης Άλγεβρας και κατόπιν, εκµεταλλευόµενοι τα θεωρήµατα της άλγεβρας (Yποενότητα 3.2.1), θα βρούµε ένα σύνολο από απλούστερες, αλλά ισοδύναµες, προτάσεις. K E º A § A I O 3 : A § ° E B PA B O O L E 104 ¶·Ú¿‰ÂÈÁÌ· 3.11 Έστω ότι κάποια επιχείρηση θέτει τους ακόλουθους όρους για την πρόσληψη ενός υπαλλήλου, δηλ. ότι ο υποψήφιος πρέπει να είναι: 1) άνδρας, παντρεµένος και κάτω των 35 ετών ή 2) άνδρας, ανύπανδρος και κάτω των 35 ή 3) γυναίκα, παντρεµένη και κάτω των 35 ή 4) γυναίκα, ανύπανδρη και άνω των 35. Zητείται να βρεθούν ισοδύναµοι όροι που να είναι διατυπωµένοι απλούστερα. Aπάντηση: Για να εφαρµοσθεί η άλγεβρα, πρέπει αρχικά κάθε βασική έννοια, που περιέχεται στους όρους αυτούς, να την παραστήσουµε µε κάποιο σύµβολο (µεταβλητή). Θα χρησιµοποιήσουµε τον ακόλουθο συµβολισµό: Άνδρας Α, Παντρεµένος/η Π, Κάτω των 35 Κ Γυναίκα Α', Ανύπανδρος/η Π', Άνω των 35 Κ' Tότε, εφαρµόζοντας το συµβολισµό για τα συνδετικά “και”, “ή”, θα µετατραπεί ο κάθε όρος σε αλγεβρική µορφή: 1) A AND Π AND K 2) A AND Π' AND K 3) A' AND Π AND K 4) A' AND Π' ΑΝD K' H εκπλήρωση του συνόλου των όρων θα σχηµατίζεται από το λογικό άθροισµα “OR” των όρων 1), 2), 3) και 4) και θα συµβολίζεται µε τη πρόταση Σ: Σ = (Α AND Π AND K) OR (A AND Π' AND K ) OR (A' AND Π AND K) OR (A' AND Π' ΑΝD K') Mεταγράφοντας την πρόταση Σ µε το συµβολισµό της ∆ίτιµης Άλγεβρας έχουµε: Σ = (Α.Π.Κ)+(Α.Π'.Κ)+(Α'.Π.Κ)+(Α'.Π'.Κ') Σ = Α.Π.Κ+Α.Π'.Κ+Α'.Π.Κ+Α'Π'Κ' Σ = Α.Π.Κ+Α.Π'.Κ+Α.Π.Κ+Α'.Π.Κ+Α'Π'Κ' (Θεώρηµα Θ1) Σ = Α.Κ.(Π+Π')+(Α+Α').Π.Κ+Α'Π'Κ' (Aξίωµα A3) Σ = Α.Κ.1+1.Π.Κ+Α'Π'Κ' (Aξίωµα A5) Σ = Α.Κ+Π.Κ+Α'Π'Κ' H απλοποιηµένη µορφή της πρότασης Σ σηµαίνει ότι οι αρχικοί όροι προσλήψεως απλοποιούνται στους: 3 . 3 ¢ π ∆ π ª ∏ ∞ § ° ∂ µ ƒ∞ B O O L E 105 1) άνδρας και κάτω των 35 ή 2) παντρεµένος/η και κάτω των 35 ή 3) γυναίκα, ανύπανδρη και άνω των 35. Έχοντας διατυπώσει το πρόβληµα σε αλγεβρική µορφή, είναι εξίσου εύκολο να διατυπώσουµε το ίδιο πρόβληµα στην αντίθετη µορφή του, δηλ. να βρούµε τους όρους για τους οποίους απορρίπτεται ένας υποψήφιος. Εφόσον η Σ είναι η πρόταση που εκφράζει την πρόσληψη ενός υποψηφίου, τότε Σ' = NOT(Σ), δηλ. η αντίθετη πρόταση εκφράζει την απόρριψή του: Σ' = (Α.Κ+Π.Κ+Α'Π'Κ')' Σκοπός µας είναι να καταλήξουµε σε µια απλή παράσταση παρόµοιας µορφής µε τη Σ. H εύρεση του τελικού αποτελέσµατος αφήνεται σαν άσκηση (βλέπε Άσκηση Aυτοαξιολόγησης 3.6α). Mία συνήθης “δοµή” λογικής προτάσεως, που θα συναντήσουµε συχνά, είναι ο συµπερασµατικός λόγος “Eάν … Tότε …” ¶›Ó·Î·˜ 3.6 ∆ιατυπωµένος υπό τη µορφή της λογικής προτάσεως Y=Eάν A Tότε B Y=(Eάν A Tότε B), όπου A και B είναι προτάσεις, δηλώνει τον ισχυρισµό ότι, όταν αληθεύει η συνθήκη A, τότε ισχύει (αληθεύει) το συµπέρασµα B. Aυτό που µας ενδιαφέρει σε µια τέτοια πρόταση δεν είναι πότε αληθεύει η A, αλλά πότε αληθεύει η όλη πρόταση (ισχυρισµός) Y. Eάν µελετήσουµε τον πίνακα αληθείας της πρότασης Y (Πίνακας 3.6), παρατηρούµε ότι η µόνη περίπτωση που λέµε ψέµατα είναι, όταν αληθεύει η A χωρίς να ισχύει η B. Eποµένως η πρόταση Y, σε αλγεβρική µορφή, αληθεύει, όταν: Y = A'.B' + A'.B + A.B = A'.(B'+B) + A.B = A' + A.B = (A'+A).(A'+B) = A' + B, δηλ. η αλήθεια (Y=1) ή το ψεύδος (Υ=0) του ισχυρισµού Y=Eάν A Tότε B διατυπώνεται πολύ απλά σε αλγεβρική µορφή: Y = A' + B (3.1) H πρόταση “Eάν…Tότε…, που ονοµάσαµε ισχυρισµό, σε πολλά προβλήµατα µπορεί να διατυπωθεί σαν απαίτηση για να συµβεί κάτι. Eφαρµόζοντας την αλγεβρική της µορφή (σχέση 3.1), έχουµε τη δυνατότητα να απλοποιή- A B Y F F T F T T T F F T T T K E º A § A I O 3 : A § ° E B PA B O O L E 106 σουµε σύνθετες προτάσεις, που περιέχουν τη δοµή αυτή. Στο επόµενο παράδειγµα θα επαναλάβουµε το Παράδειγµα 3.11 παραλλαγµένο, ώστε να περιλαµβάνει µια τέτοια δοµή. ¶·Ú¿‰ÂÈÁÌ· 3.12 Eίναι το πρόβληµα του Παραδείγµατος 3.11 µε τη διαφορά ότι η πρόταση 1) έχει διατυπωθεί µε τη µορφή “Eάν…Tότε…”: Έστω ότι κάποια επιχείρηση θέτει τους ακόλουθους όρους για την πρόσληψη ενός υπαλλήλου, δηλ. ότι ο υποψήφιος πρέπει: 1) εάν είναι άνδρας και παντρεµένος, τότε πρέπει να είναι κάτω των 35 ετών, ή 2) να είναι άνδρας, ανύπανδρος και κάτω των 35, ή 3) να είναι γυναίκα, παντρεµένη και κάτω των 35 ή 4) να είναι γυναίκα, ανύπανδρη και άνω των 35. Zητείται να βρεθεί µια απλούστερη διατύπωση των όρων. Aπάντηση: Aκολουθώντας τα βήµατα του Παραδείγµατος 3.11, η κάθε πρόταση σε αλγεβρική µορφή είναι: 1) (Α.Π)' + Κ 2) Α.Π'.Κ 3) Α'.Π.Κ 4) Α'.Π'.Κ' H εκπλήρωση συνολικά όλων των όρων θα δίνεται από την πρόταση Σ: Σ = [(Α.Π)' + Κ] + [Α.Π'.Κ] + [Α'.Π.Κ] + [Α'.Π'.Κ'] Σ = [A'+Π'+K] + A.Π'.K + Α'.Π.Κ + Α'.Π'.Κ' Σ = A'+Π'+K.[1 + A.Π' + Α'.Π] +A'Π'.Κ' Σ = A'+Π'+K + Α'.Π'.Κ' Σ = A'.[1 + Π'.Κ'] + Π' + K Σ = A' + Π' + K H τελική µορφή της πρότασης Σ δηλώνει ότι οι όροι απλοποιούνται στους: 1) γυναίκα, ή 2) ανύπαντρος/η, ή 3) κάτω των 35. Eπειδή Σ = A'+Π'+K = (A.Π)'+K µια εναλλακτική διατύπωση είναι: Eάν Aνδρας και Παντρεµένος, Tότε να είναι Kάτω των 35. 3 . 3 ¢ π ∆ π ª ∏ ∞ § ° ∂ µ ƒ∞ B O O L E A. ∆ίνονται οι όροι του Παραδείγµατος 3.11, που αφορούν στην πρόσληψη ενός υπαλλήλου σε µια επιχείρηση. Ξεκινώντας από αυτούς να βρεθούν και να διατυπωθούν µε απλές κατά το δυνατόν προτάσεις οι όροι, που εκφράζουν πότε θα απορρίπτεται κάποιος υποψήφιος. 107 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.6 B. Ποια αξιώµατα και θεωρήµατα της άλγεβρας Boole χρησιµοποιήθηκαν για την απόδειξη της σχέσης (3.1); Γ. Πέντε φίλοι ο Άρης, ο Bασίλης, ο Γιώργος, ο ∆ηµήτρης και ο Eρµής θέλουν να πάνε εκδροµή, αλλά θέτουν κάποιες προϋποθέσεις για τη συµµετοχή τους σ' αυτή. H εκδροµή θα γίνει, εάν πληρούνται όλες οι ακόλουθες προϋποθέσεις: α) ή ο A ή ο B ή και οι δυο πρέπει να πάνε, β) ή ο Γ ή ο E αλλά όχι και οι δυο πρέπει να πάνε, γ) ή ο A και ο Γ θα πάνε µαζί ή κανείς τους, δ) εάν πάει ο ∆, τότε πρέπει να πάει και ο E, ε) εάν πάει ο B, τότε πρέπει να πάνε µαζί ο A και ο ∆. Zητούνται: (α) να απλοποιηθεί το σύνολο των προϋποθέσεων, (β) να βρεθεί εάν θα γίνει οπωσδήποτε η εκδροµή και (γ) να διατυπωθούν απλούστερες προϋποθέσεις κάτω από τις οποίες θα γινόταν η εκδροµή. Kάποιος σε µια παρέα διατυπώνει τον εξής ισχυρισµό: Eάν: { α) Eάν ο Bασίλης πήγε στην Kίνα, τότε ο Aνδρέας ψεύδεται, και β) ο Aνδρέας λέει την αλήθεια } Tότε: ο Bασίλης δεν πήγε στην Kίνα. Mε τη βοήθεια του Λογισµού των Προτάσεων να µελετήσετε αυτή τη σύνθετη πρόταση, δηλ. εάν και πότε αληθεύει ο ισχυρισµός που διατυπώθηκε, εάν ο Bασίλης πήγε ή όχι στην Kίνα και εάν ο Aνδρέας λέει ή όχι την αλήθεια. Ποια είναι η γενική παρατήρησή σας για την αλήθεια αυτού του ισχυρισµού. (Yπόδειξη: ∆ιατυπώστε πρώτα τον ισχυρισµό σε αλγεβρική µορφή. Σχηµατίστε τον Πίνακα Aληθείας του. Tι παρατηρείτε όσον αφορά στις λογικές τιµές που εµφανίζονται στον Πίνακα Aληθείας; Eάν όλες οι τιµές είναι “1”, τι συµπέρασµα βγάζετε για την αλήθεια του;) ¢Ú·ÛÙËÚÈfiÙËÙ· 3.3 K E º A § A I O 3 : A § ° E B PA B O O L E 108 3.3.2 ¢›ÙÈÌË ÕÏÁ‚ڷ Î·È K˘ÎÏÒÌ·Ù· ¢È·ÎÔÙÒÓ (ÕÏÁ‚ڷ ÙˆÓ ¢È·ÎÔÙÒÓ) O Λογισµός των Προτάσεων, που– όπως είδαµε– αποτελεί µια ειδική εφαρµογή της άλγεβρας Boole, προτάθηκε το 1938 από τον C. Shannon σαν ένας συµβολικός τρόπος για την περιγραφή και µελέτη της λειτουργίας κυκλωµάτων, που αποτελούνταν από ηλεκτροµαγνητικούς διακόπτες. Oυσιαστικά, ήταν η ∆ίτιµη Άλγεβρα Boole που εφαρµόστηκε και από τότε η ∆ίτιµη Αλγεβρα είναι γνωστή και σαν Αλγεβρα των ∆ιακοπτών. Για να καταλάβουµε πώς εφαρµόζεται η ∆ίτιµη Άλγεβρα σε κυκλώµατα µε διακόπτες, θα προσπαθήσουµε, όπως κάναµε και στο Λογισµό των Προτάσεων, να δώσουµε “φυσικό” περιεχόµενο σ' αυτή την άλγεβρα, δηλ. να αντιστοιχίσουµε τις πράξεις της άλγεβρας και τα δύο στοιχεία της µε λειτουργίες και καταστάσεις που χαρακτηρίζουν ένα κύκλωµα µε διακόπτες. Ένας διακόπτης (Σχήµα 3.2) έχει δύο καταστάσεις: ή είναι ανοικτός, οπότε έχουµε διακοπή του κυκλώµατος, ή είναι κλειστός, οπότε υπάρχει συνέχεια (αγωγή) στο κύκλωµα. Αντίστοιχα, µεταξύ δύο σηµείων Α και Β ενός κυκλώµατος, που αποτελείται από διακόπτες, υπάρχει διακοπή ή αγωγή ανάλογα µε την κατάσταση των διακοπτών του. Eνα κύκλωµα που αποτελείται από δύο διακόπτες x και y θα τους έχει συνδεδεµένους είτε παράλληλα (Σχήµα 3.2, OR) είτε σε σειρά (Σχήµα 3.2, AND). Kατάσταση ∆ιακόπτη Aνοικτός ¤0 Kλειστός ¤1 x x x y y ™¯‹Ì· 3.2 Αντιστοιχία µε ∆ιακόπτες x Παράλληλη| Σε σειρά| Aντιστροφή| OR AND NOT Συνδεσµολογία ∆ιακοπτών O Πίνακας 3.7 παρουσιάζει τον Πίνακα Aληθείας των διακοπτών του σχήµατος 3.2, δηλ. τη συµπεριφορά του κυκλώµατος για τις περιπτώσεις που οι διακόπτες x και y είναι Aνοικτοί ή Kλειστοί. Για την εφαρµογή της πράξης 3 . 3 ¢ π ∆ π ª ∏ ∞ § ° ∂ µ ƒ∞ B O O L E 109 ΝΟΤ υπάρχουν ειδικοί διακόπτες, που λειτουργούν αντίστροφα (Σχήµα 3.2 NOT). ¶›Ó·Î·˜ 3.7 Πίνακας Aληθείας κυκλώµατος ∆ιακοπτών xy OR AND x NOT AA A A A K AK K A K A KA K A KK K K Εάν στον Πίνακα 3.7 η κατάσταση αγωγής (Kλειστό), είτε αναφέρεται σε ένα διακόπτη (κλειστός) είτε στη διαδροµή ενός κυκλώµατος, συµβολιστεί µε 1 (K=1) και η κατάσταση διακοπής (Aνοικτό) συµβολιστεί µε 0 (A=0), τότε από τον Πίνακα 3.7 προκύπτει ο Πίνακας 3.4, που ορίζει τις πράξεις OR, AND, NOT. Συνεπώς ένα κύκλωµα, που αποτελείται (Σχήµα 3.2): α) από δύο διακόπτες συνδεδεµένους παράλληλα, έχει τον ίδιο πίνακα αληθείας µε την πράξη OR και β) από δύο διακόπτες στη σειρά, έχει τον ίδιο πίνακα αληθείας µε την πράξη AND. γ) από ένα διακόπτη αντιστροφής, έχει τον ίδιο πίνακα αληθείας µε την πράξη NOT. Mε την αντιστοιχία που ορίσαµε για τις καταστάσεις (K=1, A=0) και τη σύνδεση (παράλληλη=OR, σειρά=AND) των διακοπτών, η λειτουργία ενός σύνθετου κυκλώµατος µε διακόπτες µπορεί να περιγραφεί από µια λογική παράσταση της ∆ίτιµης Αλγεβρας ή Αλγεβρας των ∆ιακοπτών. Aς σηµειωθεί ότι στο Σχήµα 3.2 δεν καθορίσαµε το είδος ή την κατασκευή των διακοπτών. Oποιοδήποτε µηχάνηµα, ηλεκτρικό ή άλλου είδους, παρουσιάζει παρόµοια συµπεριφορά, η λειτουργία του µπορεί να παρασταθεί από τους νόµους της Άλγεβρας των ∆ιακοπτών. ¶·Ú¿‰ÂÈÁÌ· 3.13 Στο Σχήµα 3.3 παρουσιάζεται το σχεδιάγραµµα ενός ηλεκτρικού κυκλώµατος. Στο κύκλωµα αυτό υπάρχουν δύο διακόπτες µε την ονοµασία A, ο A1 και ο A2. Θα θεωρήσουµε ότι, για κάποιο λόγο, οι διακόπτες A1 και A2 παίρνουν K E º A § A I O 3 : A § ° E B PA B O O L E 110 ταυτόχρονα την ίδια κατάσταση A (ανοικτός ή κλειστός), δηλ. όσον αφορά στις καταστάσεις τους: A1=A2=A. Για να ανάψει το λαµπάκι, πρέπει να υπάρχει αγωγή ρεύµατος, δηλ. να είναι κλειστοί κάποιοι από τους διακόπτες του κυκλώµατος. Θα χρησιµοποιήσουµε την Άλγεβρα των ∆ιακοπτών, για να µελετήσουµε το κύκλωµα, δηλ. να βρούµε (α) ποιοι συνδυασµοί διακοπτών ανάβουν το λαµπάκι και (β) εάν µπορεί να απλοποιηθεί το κύκλωµα. Λ Γ A1 ∆ M B A2 ™¯‹Ì· 3.3 Kύκλωµα µε διακόπτες Aπάντηση: α) Θα παραστήσουµε µε A, B, Γ, ∆ την κατάσταση του αντίστοιχου διακόπτη. Tο τµήµα M του κυκλώµατος περιλαµβάνει τους διακόπτες Γ, ∆, A2 και το τµήµα Λ περιλαµβάνει όλους τους διακόπτες. Παρατηρούµε ότι οι διακόπτες A1 και B είναι συνδεδεµένοι στη σειρά, εποµένως το αποτέλεσµά τους θα αντιστοιχεί στη σύνδεση που ονοµάσαµε AND, δηλ. η συµπεριφορά αυτού του ζεύγους των διακοπτών θα είναι: A1 AND B. Παρατηρούµε τώρα ότι το ζεύγος (A 1, B) είναι στη σειρά µε το τµήµα M, εποµένως η συµπεριφορά του τµήµατος Λ θα είναι: Λ = (A1 AND B) AND M. Tο τµήµα M αποτελείται από την οµάδα των διακοπτών Γ και ∆, που είναι στη σειρά, δηλ. Γ AND ∆, και από το διακόπτη A2, που είναι παράλληλα στην οµάδα (Γ, ∆). Eποµένως: M = (Γ AND ∆) OR A2 Aντικαθιστάµε το M στο Λ και έχουµε: Λ = (A1 AND B) AND ( (Γ AND ∆) OR A2). Eπειδή από πλευράς καταστάσεων είναι A1=A2=A, η συµπεριφορά του κυκλώµατος Λ θα είναι: Λ = (A AND B) AND ( (Γ AND ∆) OR A). 3 . 3 ¢ π ∆ π ª ∏ ∞ § ° ∂ µ ƒ∞ B O O L E 111 Mετά την αντικατάσταση των AND και OR µε το συµβολισµό της ∆ίτιµης Άλγεβρας, η Λ γίνεται: Λ = (A.B).( (Γ.∆)+A ) = (A.B).(Γ.∆+A) = (A.B).Γ.∆+(A.B).A = A.B.Γ.∆+A.B.A = A.B.Γ.∆+A.B H παράσταση αυτή µας λέει ότι, για να άγει το κύκλωµα Λ και να ανάβει το λαµπάκι, πρέπει: ή και οι πέντε διακόπτες A1, B, Γ, ∆, A2 να είναι κλειστοί ή µόνο οι A1, B, A2. Yπενθυµίζουµε ότι A1=A2=A. β) H παράσταση του κυκλώµατος Λ, στην οποία καταλήξαµε, απλοποιείται: Λ = A.B.Γ.∆+A.B = A.B.(Γ.∆+1) = A.B.1= A.B, δηλ. µας αρκούν µόνο δύο διακόπτες στη σειρά, για να κάνουµε την ίδια δουλειά. Στις επόµενες Eνότητες αυτού του Kεφαλαίου θα ασχοληθούµε µε τις Λογικές Συναρτήσεις και τα θεωρήµατα, που προκύπτουν από την Άλγεβρα των ∆ιακοπτών, και στα Kεφάλαια που ακολουθούν θα µελετήσουµε τις εφαρµογές της τις σχετικές µε κυκλώµατα, που αποτελούνται από διακόπτες ή από λογικές πύλες (που θα εισάγουµε στην Eνότητα 3.8). A. Ένα κύκλωµα Λ µε διακόπτες A, B, Γ, ∆ συµπεριφέρεται σύµφωνα µε τη σχέση: Λ = A.(B+Γ).∆ Nα σχεδιάσετε το διάγραµµα του κυλώµατος και να σχηµατίσετε έναν πίνακα που να καταγράφει τις καταστάσεις των διακοπτών, για τις οποίες το κύκλωµα Λ άγει ή όχι. B. Στο ακόλουθο κύκλωµα Λ οι διακόπτες A1 και A2 είναι συνδεδεµένοι µεταξύ τους έτσι ώστε, όταν ο διακόπτης A1 είναι ανοικτός, ο A2 είναι κλειστός και αντίστροφα, δηλ. A1 = A2'. Zητείται να απλοποιηθεί το κύκλωµα. Λ Γ A1 A2 B ∆ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.7 K E º A § A I O 3 : A § ° E B PA B O O L E 112 ¢Ú·ÛÙËÚÈfiÙËÙ· 3.4 ∆ύο κυκλώµατα, το M µε διακόπτες A, B, Γ και το N µε διακόπτες ∆, E, Z, συµπεριφέρονται σύµφωνα µε τις σχέσεις: M = A+B.Γ και N = (∆+E).(∆+Z) Nα σχηµατίσετε έναν πίνακα που να καταγράφει τις καταστάσεις των διακοπτών, για τις οποίες τα κυκλώµατα M και N άγουν ή όχι, και να συγκρίνετε τα αποτελέσµατα µεταξύ τους, δηλ. αν µοιάζει ή όχι η συµπεριφορά τους. Ποια αξιώµατα ή θεωρήµατα της άλγεβρας θα βοηθούσαν να εξηγηθεί η οµοιότητα ή όχι της συµπεριφοράς τους. (Yπόδειξη: Σχηµατίστε τους Πίνακες Aληθείας. Bρείτε µια αντιστοιχία των διακοπτών του ενός κυκλώµατος µε αυτούς του άλλου, π.χ A=∆ κ.λπ.) ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • H ∆ίτιµη Άλγεβρα είναι µια άλγεβρα που έχει δύο στοιχεία, το “0” και το “1”, και οι πράξεις της OR, AND, NOT, όπως ορίζονται από τον Πίνακα Aληθείας τους, είναι συµβατές µε τα αξιώµατα της άλγεβρας Boole. • Eκτός από τα θεωρήµατα της άλγεβρας Boole που ισχύουν, µία σχέση της ∆ίτιµης Άλγεβρας µπορεί να αποδειχθεί µε απαρίθµηση των τιµών των µεταβλητών της. • Eάν αντιστοιχήσουµε στις τιµές “1” και “0” της ∆ίτιµης Άλγεβρας την Aλήθεια και το Ψεύδος µιας πρότασης της Λογικής, τότε έχουµε το Λογισµό των Προτάσεων. • Mια σύνθετη πρόταση της Λογικής µπορεί να αναλυθεί ή να απλοποιηθεί, µετατρέποντάς την πρώτα σε µια Λογική Παράσταση, µέσω της αντιστοιχίας των τιµών “1 και “0” και των συνδετικών πράξεων της Λογικής OR, AND, NOT. • Tα κυκλώµατα µε διακόπτες έχουν άµεση αντιστοιχία µε Λογικές Παραστάσεις της ∆ίτιµης Άλγεβρας (Άλγεβρα ∆ιακοπτών), εάν θεωρήσουµε ότι οι δύο κατάστασεις ενός διακόπτη απεικονίζονται σαν Aνοικτός=“0” και Kλειστός=“1” και η σύνδεση των διακοπτών είναι είτε σε σειρά (AND) είτε παράλληλη (OR). • H Άλγεβρα των ∆ιακοπτών αποτελεί το βασικό µαθηµατικό εργαλείο για την ανάλυση ή τη σύνθεση συνδυαστικών κυκλωµάτων. Oπως θα παρουσιαστεί σε επόµενη Eνότητα, η εφαρµογή της επεκτείνεται σε γενικευµένες υλικές διατάξεις, τις λογικές πύλες. 3.4 §√°π∫∂™ ™À¡∞ƒ∆∏™∂π™ 113 3.4 §ÔÁÈΤ˜ Û˘Ó·ÚÙ‹ÛÂȘ Mετά την εφαρµογή της ∆ίτιµης Άλγεβρας στο Λογισµό των Προτάσεων και στα Kυκλώµατα ∆ιακοπτών, µέσω των κατάλληλων απεικονίσεων στα στοιχεία αυτής της άλγεβρας, ολόκληρη η λειτουργία ενός πολύπλοκου κυκλώµατος ή η λογική µιας σύνθετης πρότασης µπορεί να απεικονισθεί µε µία Λογική Συνάρτηση. Kατόπιν η µελέτη της συµπεριφοράς του κυκλώµατος ή της πρότασης ανάγεται στη µελέτη των ιδιοτήτων της Λογικής Συνάρτησής του. Aπό τη µελέτη αυτής της Eνότητας θα έχετε µάθει: • Tι είναι το Kαρτεσιανό Γινόµενο δύο συνόλων. • Tι είναι η Λογική Συνάρτηση. • Mε τι τρόπους ορίζεται και παριστάνεται µια Λογική Συνάρτηση. • Oρισµένα θεωρήµατα (Shannon, de Morgan) για το µετασχηµατισµό συναρτήσεων. H σχεδίαση ενός ψηφιακού κυκλώµατος ανάγεται σε διαδοχικούς µετασχηµατισµούς της Λογικής του Συνάρτησης. Tα θεωρήµατα που παρουσιάζονται, χωρίς να είναι δύσκολα, πρέπει να εµπεδωθούν µέσω των ασκήσεων που υπάρχουν. Oι λογικές παραστάσεις είναι συνήθως µακροσκελείς και γι' αυτό χρειάζεται προσοχή στην εκτέλεση των πράξεων. Eνα συνηθισµένο λάθος είναι η παράλειψη, εκ παραδροµής, του συµβόλου της αντιστροφής σε κάποια µεταβλητή. Ονοµάζεται Καρτεσιανό Γινόµενο δύο συνόλων Α και Β και συµβολίζεται Α¥Β το σύνολο που περιέχει σαν στοιχεία του όλα τα διατεταγµένα ζεύγη (x, y), όπου xŒA και yŒB, δηλ. A¥B = {(x, y) | xŒA και yŒB}. Π.χ. εάν έχουµε τα σύνολα Α={a1, …,am} και Β={b1, …,bn}, τότε το καρτεσιανό γινόµενό τους είναι το σύνολο που έχει σαν στοιχεία τα (ai, bj), i=1,…, m, j=1,…, n, δηλ.: Α ¥ Β = {(a1,b1), (a1,b2), …, (am,b1), …, (am,bn)} Το καρτεσιανό γινόµενο ενός συνόλου Α επί τον εαυτό του συµβολίζεται για συντοµία ως Α2 και γενικώς Αn = A¥A¥…¥A, n φορές. §√°π∫∏ ™À¡∞ƒ∆∏™∏ Λογική συνάρτηση f µε µεταβλητές x1, x2, …, xn: y = f(x1, x2, …, xn) ορίζεται στη ∆ίτιµη Αλγεβρα η µονοσήµαντη απεικόνιση: f: Bn Æ B όπου Β={0,1}, K E º A § A I O 3 : A § ° E B PA B O O L E 114 δηλ. µια σχέση που αντιστοιχεί µονοσήµαντα κάθε συνδυασµό τιµών των µεταβλητών x1, x2, … , xn σε κάποιο στοιχείο y του συνόλου Β. Το σύνολο Βn των συνδυασµών τιµών των ανεξάρτητων µεταβλητών ονοµάζεται πεδίο ορισµού της συνάρτησης, ενώ το σύνολο Β στο οποίο απεικονίζονται οι ανεξάρτητες µεταβλητές (αντιστοιχούνται οι συνδυασµοί) ονοµάζεται πεδίο τιµών της συνάρτησης. H απεικόνιση, δηλ. η αντιστοίχηση των συνδυασµών τιµών των µεταβλητών στις τιµές της συνάρτησης µπορεί να γίνει µε πολλούς τρόπους. O απλούστερος τρόπος είναι να σχηµατίσουµε έναν πίνακα αντιστοιχίας, που για παραδοσιακούς λόγος ονοµάζεται Πίνακας Aληθείας. Π.χ. η αντιστοιχία που απεικονίζεται στον Πίνακα 3.8 ορίζει τις δίτιµες συναρτήσεις f1(x1, x2) και f2(x1, x2). O Πίνακας Aληθείας που συναντήσαµε για τις πράξεις OR, AND, NOT (Πίνακας 3.4) µπορεί να θεωρηθεί ότι ορίζει τις συναρτήσεις OR(α,β), AND(α,β), NOT(α). ¶›Ó·Î·˜ 3.8. Oρισµός των συναρτήσεων f1(x1, x2) και f2(x1, x2) πεδίο ορισµού x1 x2 πεδίο τιµών f1 πεδίο τιµών f2 00 0 0 01 1 0 10 1 0 11 1 1 Μια µεταβλητή της ∆ίτιµης άλγεβρας µπορεί να πάρει δύο τιµές (0 ή 1), εποµένως το πεδίο ορισµού µιας συνάρτησης n µεταβλητών περιέχει, το πολύ, 2n στοιχεία, διότι υπάρχουν 2n διαφορετικοί συνδυασµοί των 0 και 1. Επίσης το πεδίο τιµών της συνάρτησης περιέχει δύο στοιχεία, τα {0, 1}. Τα 2n στοιχεία του πεδίου ορισµού µιας συνάρτησης n µεταβλητών µπορούν να συνδυαστούν (απεικονιστούν) µε 2 ( 2 n ) τρόπους µε τα δύο στοιχεία του πεδίου τιµών, εποµένως µπορούν να κατασκευαστούν το πολύ 2 ( 2 ρετικές συναρτήσεις n µεταβλητών. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.8 n ) διαφο- A. Πόσες λογικές συναρτήσεις δύο λογικών µεταβλητών υπάρχουν; B. ∆ώστε τους Πίνακες Aληθείας όλων των λογικών συναρτήσεων δύο λογικών µεταβλητών x, y (Tα πεδία τιµών τους να γραφούν κατά το σχέδιο του Πίνακα 3.8 – Πεδίο ορισµού, πεδία τιµών). 3.4 §√°π∫∂™ ™À¡∞ƒ∆∏™∂π™ 115 3.4.1 ¶·Ú¿ÛÙ·ÛË Û˘Ó·ÚÙ‹ÛÂˆÓ Oπως είδαµε στην Eνότητα 3.4 ο ορισµός µιας Λογικής Συνάρτησης απαιτεί έναν τρόπο που να µας λέει σε ποιο στοιχείο του συνόλου B (πεδίο τιµών) αντιστοιχείται ο κάθε συνδυασµός τιµών των µεταβλητών της (πεδίο ορισµού). Yπάρχουν πολλοί τρόποι για να περιγραφεί µια συνάρτηση, δηλ. να ορισθούν οι τιµές της, οι κυριότεροι από τους οποίους δίδονται παρακάτω: ¶π¡∞∫∞™ ∞§∏£∂π∞™ (Truth Table) Η αντιστοιχία µεταξύ των τιµών των ανεξαρτήτων µεταβλητών και των τιµών της συνάρτησης δίνεται υπό µορφή πίνακα που ονοµάζεται Πίνακας Αληθείας της συνάρτησης. Π.χ. η συνάρτηση w=f(x,y,z) ορίζεται από τον Πίνακα Aληθείας (Πίνακας 3.9): α/α x y z w 0 0 0 0 1 1 0 0 1 1 2 0 1 0 0 3 0 1 1 1 4 1 0 0 1 5 1 0 1 0 6 1 1 0 1 7 1 1 1 0 O Πίνακας Aληθείας µιας συνάρτησης έχει 2n σειρές, όσοι είναι οι συνδυασµοί τιµών των n µεταβλητών της συνάρτησης. Όταν θέλουµε να αναφερθούµε σε µια συγκεκριµένη σειρά του Πίνακα, είναι πολλές φορές βολικό να το κάνουµε µε τη βοήθεια κάποιου αύξοντα αριθµού. Ένας συστηµατικός τρόπος που ακολουθείται είναι να θεωρήσουµε τις τιµές των µεταβλητών της συνάρτησης σαν τα bits ενός δυαδικού αριθµού (βλέπε Yποενότητα 2.3.2) και να αριθµήσουµε τις σειρές του Πίνακα Aληθείας γράφοντας τον αντίστοιχο δεκαδικό αριθµό (α/α, Πίνακας 3.9). H αρίθµηση θα είναι από 0 έως 2n–1. Ã∞ƒ∆∏™ KARNAUGH Είναι ένας διδιάστατος πίνακας αληθείας. Οι µεταβλητές χωρίζονται σε δύο ίσες κατά το δυνατόν οµάδες και σχηµατίζεται ο πίνακας τοποθετώντας οριζοντίως τους συνδυασµούς τιµών της µιας οµάδας, κατακορύφως της άλλης ¶›Ó·Î·˜ 3.9 Πίνακας Aληθείας K E º A § A I O 3 : A § ° E B PA B O O L E 116 και στην διασταύρωσή τους τις αντίστοιχες τιµές της συνάρτησης. Π.χ. για τη συνάρτηση του προηγούµενου παραδείγµατος µε Πίνακα Aληθείας τον Πίνακα 3.9, ο χάρτης Karnaugh παρουσιάζεται στο Σχήµα 3.4α. Oι κενές θέσεις θεωρείται ότι περιέχουν το 0. Xαρακτηριστικό του χάρτη Karnaugh είναι ότι η διάταξη των τιµών 00, 01, 11, 10 των µεταβλητών στο χάρτη δεν ακολουθεί την κανονική αύξουσα σειρά, αλλά ακολουθεί τη σειρά ενός ανακλαστικού κώδικα (βλέπε Kώδικα Gray – Yποενότητα 2.2.3), δηλ. ο συνδυασµός 11 τοποθετείται πρίν από τον 10, για λόγους που θα αναλυθούν στο Kεφάλαιο 5. Ο χάρτης Karnaugh µιας συνάρτησης τεσσάρων µεταβλητών u=f(x,y,z,w) έχει τη µορφή του Σχήµατος 3.4β, όπου τόσο οι στήλες όσο και οι γραµµές του πίνακα ακολουθούν τη σειρά ενός ανακλαστικού κώδικα. zw yz x 00 01 11 1 1 ™¯‹Ì· 3.4 0 1 Xάρτης Karnaugh: (α) τριων και (β) τεσσάρων µεταβλητών 1 1 10 1 xy 00 00 01 1 01 1 10 1 1 11 1 10 1 (α) 11 (β) §√°π∫∏ ¶∞ƒ∞™∆∞™∏ Βρίσκεται µια λογική παράσταση µε παραµέτρους τις µεταβλητές της συνάρτησης τέτοια ώστε για κάθε συνδυασµό τιµών των µεταβλητών, εάν οι τιµές αυτές αντικατασταθούν στην παράσταση και εκτελεστούν οι πράξεις, να παίρνει την τιµή της συνάρτησης. Π.χ. η συνάρτηση w=f(x,y,z) του προηγουµένου παραδείγµατος, που έχει Πίνακα Aληθείας τον Πίνακα 3.9, µπορεί να παρασταθεί σε αλγεβρική µορφή µε την παράσταση: f(x,y,z) = x'y' + x'z + xz' ή µε την παράσταση: f(x,y,z) = y'z' + x'z + xz' Οι δύο µορφές παράστασης της συνάρτησης µπορούν να επαληθευτούν συγκρίνοντας τις τιµές τους, εξαντλώντας όλους τους συνδυασµούς τιµών, µε αυτές του πίνακα αληθείας του παραδείγµατος (Πίνακας 3.9). Ας σηµει- 3.4 §√°π∫∂™ ™À¡∞ƒ∆∏™∂π™ 117 ωθεί ότι η ίδια συνάρτηση µπορεί να αντιπροσωπεύεται από πολλές λογικές παραστάσεις. ¡–∫Àµ√™ Είναι ένας τρόπος γραφικής παράστασης της συνάρτησης. Για µια συνάρτηση Ν µεταβλητών σχηµατίζεται ένας κύβος Ν διαστάσεων (N–κύβος). Κάθε κορυφή του κύβου αντιστοιχεί σε κάποιο συνδυασµό τιµών των µεταβλητών (Σχήµα 3.5). Σηµειώνονται µε κύκλο οι κορυφές για τις οποίες η συνάρτηση παίρνει την τιµή 1, ενώ στις µη σηµειωµένες κορυφές θεωρείται ότι παίρνει την τιµή 0. Π.χ. η συνάρτηση του παραδείγµατος του Πίνακα 3.9 παριστάνεται υπό µορφή τρισδιάστατου κύβου στο Σχήµα 3.5γ: 110 1 10 x y 0 (α) 11 111 100 101 00 z x 01 ™¯‹Ì· 3.5 010 000 (β) 011 y x 001 (γ) Όταν οι µεταβλητές είναι περισσότερες από τρεις, η παράσταση του κύβου είναι πολύ δύσκολη. Eδώ θα παρουσιάσουµε, σύντοµα, την έννοια του υποκύβου (subcube), που αναφέρεται συχνά στην ορολογία της ψηφιακής σχεδίασης. ∆ύο “γειτονικές” κορυφές ή γενικώς 2k “γειτονικές” κορυφές ενός N–κύβου (0≤k<N) λέµε ότι σχηµατίζουν έναν υποκύβο. Π.χ. στο Σχήµα 3.5γ το ζεύγος των κορυφών {000, 001} σχηµατίζει ένα µονοδιάστατο υποκύβο εντός του οποίου η συνάρτηση έχει την τιµή “1”, επίσης η τετράδα {001, 011, 111, 101} (σκιασµένη πλευρά) σχηµατίζει ένα διδιάστατο υποκύβο. ∞£ƒ√π™ª∞ √ƒø¡ Ο τρόπος αυτός χρησιµοποιείται κυρίως για τυπογραφικούς λόγους. Εάν θεωρήσουµε τις τιµές των µεταβλητών της συνάρτησης σαν τα bits ενός δυαδικού αριθµού, όπως εξηγήθηκε στην παράγραφο για τον Πίνακα Aληθείας, τότε µπορούµε, για συντοµία, στη θέση των τιµών των µεταβλητών να δηλώνουµε τον αντίστοιχο δεκαδικό αριθµό. Π.χ. εάν f(0,1,1)=1, τότε γράφουµε f(3)=1, εάν f(1,0,1)=0, τότε γράφουµε f(5)=0. N–κύβος συνάρτησης: (α) µιας, (β) δύο και (γ) τριων µεταβλητών K E º A § A I O 3 : A § ° E B PA B O O L E 118 Mε το σύστηµα αυτό µπορούµε να ορίσουµε συνολικά µια δίτιµη συνάρτηση, αρκεί να δηλώσουµε τα σηµεία στα οποία η συνάρτηση παίρνει την τιµή “1”. Συγκεκριµένα, µια συνάρτηση f(x,y,z) παριστάνεται µε τον τρόπο αυτό ως εξής: f(x,y,z) = Σ(k1, k2,…, kn), όπου k1, k2,…, kn είναι οι αντίστοιχοι δεκαδικοί αριθµοί των συνδυασµών για τους οποίους η συνάρτηση παίρνει την τιµή “1”. Π.χ. η συνάρτηση του παραδείγµατος του Πίνακα 3.9 παριστάνεται σαν άθροισµα όρων ως εξής: f(x,y,z) = Σ(0,1,3,4,6). ¶·Ú·ÙËÚ‹ÛÂȘ: Συνοψίζοντας τους τρόπους παράστασης µιας Λογικής Συνάρτησης, οι κύριοι τρόποι είναι ο Πίνακας Αληθείας και η Λογική Παράσταση. Εάν συγκριθούν οι δύο αυτοί τρόποι µεταξύ τους, προκύπτουν τα εξής πλεονεκτήµατα και µειονεκτήµατα: α) Το µέγεθος του Πίνακα Αληθείας αυξάνει εκθετικά µε το πλήθος n των µεταβλητών της συνάρτησης, δηλ. περιέχει 2n σειρές. Συνεπώς, για συναρτήσεις µε πολλές µεταβλητές το µέγεθος του πίνακα γίνεται απαγορευτικά µεγάλο. Π.χ. ένα µέτριο VLSI κύκλωµα µε 30 µεταβλητές (εισόδους) χρειάζεται έναν πίνακα µε 230109 σειρές. ∆εν ισχύει το ίδιο για τη Λογική Παράσταση (πλεονέκτηµα της Λογικής Παράστασης). β) Ο Πίνακας Αληθείας είναι µοναδικός για κάθε συνάρτηση, ενώ υπάρχουν πολλές (διαφορετικές) Λογικές Παραστάσεις που ανταποκρίνονται στην ίδια συνάρτηση. Συνεπώς, για την ταυτοποίηση δύο συναρτήσεων είναι αρκετό να συγκριθούν οι πίνακες αληθείας τους, για να διαπιστωθεί εάν οι συναρτήσεις ταυτίζονται µεταξύ τους ή όχι, ενώ η απλή σύγκριση των λογικών τους παραστάσεων δεν επαρκεί (µειονέκτηµα λογικής παράστασης). ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.9 A. Πόσες σειρές έχει ο Πίνακας Aληθείας µιας συνάρτησης n µεταβλητών και από ποια µέχρι ποια τιµή κυµαίνονται οι αύξοντες αριθµοί (δεκαδικοί) που δηλώνουν τις σειρές, όταν το n είναι; α) n = 8, β) n = 10, γ) n= 12, δ) n = 16 B. Nα σχηµατισθεί το Kαρτεσιανό γινόµενο B 3 και να συγκριθεί µε τα στοιχεία του Πίνακα 3.9. 3.4 §√°π∫∂™ ™À¡∞ƒ∆∏™∂π™ 119 Γ. Πόσες συναρτήσεις τριων µεταβλητών υπάρχουν; ∆. H συνάρτηση f(x,y,z) = x+yz να παρασταθεί υπό µορφή κύβου και επίσης να βρεθούν οι υποκύβοι για τους οποίους f=1. E. Nα σχηµατίσετε τον Πίνακα Aληθείας της συνάρτησης Πλειοψηφίας f(x,y,z), δηλ. της συνάρτησης f(x,y,z), που παίρνει την τιµή “1”, όταν δύο τουλάχιστον µεταβλητές της έχουν την τιµή “1”. Mπορείτε να βρείτε µια λογική παράσταση για τη συνάρτηση Πλειοψηφίας; ΣT. Mια συνάρτηση δύο µεταβλητών ονοµάζεται συµµετρική, όταν δεν αλλάζει, εάν ανταλλάξουµε τις µεταβλητές της, δηλ. f(x,y) = f(y,x). Nα αποδείξτε ότι η συνάρτηση f(x,y) = xy'+x'y είναι συµµετρική. Στον Πίνακα 2.2 (Yποενότητα 2.3.2) παρουσιάζεται το άθροισµα και το κρατούµενο που παράγονται από την πρόσθεση δύο µονοψήφιων δυαδικών αριθµών α και β. Nα σχηµατίσετε δύο Λογικές Συναρτήσεις που να “συµπεριφέρονται” η µία σαν το αριθµητικό άθροισµα Σ και η άλλη σαν το κρατούµενο K της πρόσθεσης των δυαδικών αριθµών α και β. Eιδικότερα, να διατυπώσετε (α) τον Πίνακα Aληθείας και (β) µια Λογική Παράσταση για καθεµία συνάρτηση. (Yπόδειξη: Πρώτα θα αντιστοιχήσετε τις αριθµητικές µεταβλητές α και β στις λογικές µεταβλητές a και b, θεωρώντας π.χ. ότι ο αριθµός 1 αντιστοιχεί στη λογική κατάσταση “1” και ότι το 0 στη “0”. Kατόπιν θα σχηµατίσετε τον Πίνακα Aληθείας κάθε συνάρτησης και από αυτόν προσπαθήστε να βρείτε µια λογική παράσταση που να τον επαληθεύει.) ¢Ú·ÛÙËÚÈfiÙËÙ· 3.5 K E º A § A I O 3 : A § ° E B PA B O O L E 120 3.4.2 £ÂˆÚ‹Ì·Ù· Û˘Ó·ÚÙ‹ÛÂˆÓ Eκτός από τα βασικά θεωρήµατα της άλγεβρας Boole, που είδαµε στην Yποενότητα 3.2.1, υπάρχουν και θεωρήµατα που αφορούν στις Λογικές Συναρτήσεις. Tα κυριότερα από αυτά είναι τα δύο θεωρήµατα Aνάπτυξης Συναρτήσεων του Shannon και το γενικευµένο θεώρηµα του de Morgan. £∂øƒ∏ª∞∆∞ A¡∞¶∆À•∏™ ™À¡∞ƒ∆∏™∂ø¡ (Shannon) Πρόκειται για δύο δυϊκά µεταξύ τους θεωρήµατα, τα οποία προτάθηκαν από τον C. Shannon, σύµφωνα µε τα οποία κάθε λογική συνάρτηση: y = f(x1,…,xk,…,xn) που δίνεται υπό οποιαδήποτε µορφή, αλγεβρική ή πίνακα αληθείας, µπορεί να αναπτυχθεί ως προς κάποια µεταβλητή της xk και η παράστασή της να διατυπωθεί µε τις εξής δύο µορφές: α) f(x1,…,xk,…,xn) = xk.f(x1,…,1,…,xn) + x k .f(x1,…,0,…,xn) (3.2α) και β) f(x1,…,xk,…,xn) = [xk+ f(x1,…,0,…,xn)]. x k + f(x1,…,1,…,xn)] (3.2β) Tο θεώρηµα (3.2α) µας λέει ότι κάθε συνάρτηση µπορεί να παρασταθεί σαν άθροισµα δύο γινοµένων ως προς κάποια µεταβλητή xk. ¶·Ú¿‰ÂÈÁÌ· 3.14 Nα αναπτυχθεί ως προς τη µεταβλητή x η συνάρτηση f(x,y,z), που ορίζεται από τον Πίνακα Aληθείας του Πίνακα 3.9. Aπάντηση: H f(x,y,z), κατά το θεώρηµα 3.2α, µπορεί να παρασταθεί υπό τη µορφή: f(x,y,z) = x.f(1, y, z) + x'.f(0, y, z), όπου οι συναρτήσεις f(0, y, z) και f(1, y, z) παράγονται από την f και έχουν Πίνακες Aληθείας (βλέπε Πίνακα 3.9, για x=0 και για x=1) αντίστοιχα: xyz f(0, y, z) xyz f(1, y, z) 000 1 100 1 001 1 101 0 010 0 110 1 011 1 111 0 3.4 §√°π∫∂™ ™À¡∞ƒ∆∏™∂π™ 121 ¶·Ú¿‰ÂÈÁÌ· 3.15 H συνάρτηση f(x,y,z) = x'y'+x'z+xz', που είναι η ίδια µε τη συνάρτηση του Παραδείγµατος 3.14 (βλέπε Yποενότητα 3.4.1, Πίνακας 3.9), να αναπτυχθεί διαδοχικά ως προς τις µεταβλητές x, y και z. Aπάντηση: Kατά το θεώρηµα 3.2α µπορεί να παρασταθεί υπό τη µορφή: f(x,y,z) = x.f(1, y, z) + x'.f(0, y, z), όπου οι συναρτήσεις f0 και f1 είναι: f(0, y, z) = 0'y'+0'z+0.z' = 1.y'+1.z+0 = y'+z και f(1, y, z) = 1'y'+1'z+1.z' = 0.y'+0.z+1.z' = z' Oι νέες συναρτήσεις f(0, y, z) και f(1, y, z) µπορούν να αναλυθούν µε τη σειρά τους ως προς τη µεταβλητή y ως εξής: f(0, y, z) = y.f(0, 1, z) + y'.f(0, 0, z) και f(1, y, z) = y.f(1, 1, z) + y'.f(1, 0, z), όπου: f(0, 0, z) = 0'+z = 1 και f(0, 1, z) = 1'+z = z f(1, 0, z) = z' και f(1, 1, z) = z' Eποµένως, εφαρµόζοντας διαδοχικά το θεώρηµα, η συνάρτηση f(x,y,z) µπορεί να αναλυθεί ως προς περισσότερες από µία µεταβλητές: f(x,y,z) = x.f(1, y, z) + x'f(0, y, z) f(x,y,z) = x.[y.f(1, 1, z) + y'.f(1, 0, z)] + x'.[y.f(0, 1, z) + y'f(0, 0, z)] f(x,y,z) = x.[y.z' + y'.z'] + x'.[y.z + y'.1] και τελικά: f(x,y,z) = x.y.z' + x.y'.z' + x'.y.z + x'.y' Tο δεύτερο θεώρηµα (3.2β), που είναι δυϊκό του πρώτου, λέει ότι κάθε συνάρτηση µπορεί να γραφεί σαν γινόµενο δύο αθροισµάτων ως προς την µεταβλητή xk. Προσοχή πότε τοποθετείται η σταθερά “1” και πότε η σταθερά “0” στη συνάρτηση f. ¶·Ú¿‰ÂÈÁÌ· 3.16 H συνάρτηση f(x,y,z), που έχει τον ίδιο Πίνακα Aληθείας µε τη συνάρτηση του Παραδείγµατος 3.14 (Πίνακας 3.9), µπορεί να παρασταθεί υπό τη µορφή: K E º A § A I O 3 : A § ° E B PA B O O L E 122 f(x,y,z) = [x+f(0, y, z)].[ x +f(1, y, z)], όπου οι συναρτήσεις f(0, y, z) και f(1, y, z) έχουν Πίνακες Aληθείας αυτούς του Παραδείγµατος 3.14. ¶·Ú¿‰ÂÈÁÌ· 3.17 H συνάρτηση f(x,y,z) = x'y'+x'z+xz', που είναι η ίδια µε τη συνάρτηση του Παραδείγµατος 3.15, µπορεί να παρασταθεί υπό τη µορφή: f(x,y,z) = [x+f(0, y, z)].[ x +f(1, y, z)], όπου f(0, y, z) και f(1, y, z), όπως στο Παράδειγµα 3.15 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.10 A. H συνάρτηση f(x,y,z) = x+yz να αναπτυχθεί σε άθροισµα γινοµένων ως προς τη µεταβλητή y. H συνάρτηση f(x,y,z) να παρασταθεί επίσης υπό µορφή N–κύβου και να σηµειωθούν οι υποκύβοι στους οποίους αναλύεται. B. H συνάρτηση f(x,y,z) = xy'+x'y να αναπτυχθεί σε γινόµενο αθροισµάτων ως προς τη µεταβλητή y. °∂¡π∫∂Àª∂¡√ £∂øƒ∏ª∞ ∆√À DE MORGAN Ορίζεται σαν συµπληρωµατική ή αντίστροφη συνάρτηση f' µιας λογικής συνάρτησης f η συνάρτηση που παίρνει την τιµή 0, όπου η f παίρνει την τιµή 1 και αντίστροφα. Στην Yποενότητα 3.2.3 γνωρίσαµε το θεώρηµα του de Morgan (Θεώρηµα 6), που δίνει το αντίστροφο του αθροίσµατος και του γινοµένου δύο µεταβλητών. Tο θεώρηµα αυτό µπορεί να γενικευθεί για οποιαδήποτε παράσταση. Σύµφωνα µε το γενικευµένο θεώρηµα του de Morgan η αντίστροφη συνάρτηση f' µπορεί να παραχθεί από τη λογική παράσταση της f κατά τον εξής τρόπο: f'(x1,…,xn, +, ., 0, 1) = f( x1 ,…, x n , . , +, 1, 0) O συµβολισµός αυτός σηµαίνει ότι στη θέση: α) της κάθε µεταβλητής θα τοποθετηθεί η συµπληρωµατική της, β) της πράξης “+” θα τοποθετηθεί το “.” και αντίστροφα, γ) της σταθεράς, όπου υπάρχει, “0” το “1” και αντίστροφα. 3.4 §√°π∫∂™ ™À¡∞ƒ∆∏™∂π™ Eάν γίνουν αυτές οι ενέργειες, η νέα παράσταση θα αντιπροσωπεύει την f'. Tο θεώρηµα αυτό αφορά όχι µόνον στις συναρτήσεις αλλά και κάθε λογική παράσταση και αποτελεί γενίκευση, για οσεσδήποτε µεταβλητές, του θεωρήµατος του de Morgan (Θ6), που παρουσιάστηκε στην Yποενότητα 3.2.3 για δύο µόνο µεταβλητές. ¶·Ú¿‰ÂÈÁÌ· 3.18 Στο Παράδειγµα 3.15 είδαµε ότι η συνάρτηση f(x,y,z), που ορίζεται από τον Πίνακα 3.9 (βλέπε Παράδειγµα 3.14), µπορεί να παρασταθεί τελικά υπό την αλγεβρική µορφή: f(x,y,z) = [x.y.z'] + [x.y'.z'] + [x'.y.z] + [x'.y'] Oι αγκύλες τοποθετήθηκαν εδώ για να δηλωθεί η προτεραιότητα των γινοµένων έναντι των αθροισµάτων. Mε τη βοήθεια του γενικευµένου θεωρήµατος του de Morgan θα βρούµε την αντίστροφη συνάρτηση της f(x,y,z), την f'(x,y,z). Aπάντηση: Σύµφωνα µε το θεώρηµα η παράσταση της f'(x,y,z) θα προκύψει εάν στην παράσταση της f(x,y,z) αντιστρέψουµε τις µεταβλητές και τις πράξεις: f'(x,y,z) = [(x)'+(y)'+(z')'] . [(x)'+(y')'+(z')'] . [(x')'+(y)'+(z)'] . [(x')'+(y')'] Eκτελώντας τις πράξεις παίρνουµε f'(x,y,z) = ([x'+y'+z] . [x'+y+z]) . ([x+y'+z'] . [x+y]) = (x'x'+x'y+x'z+x'y'+y'y+y'z+x'z+yz+z) . (xx+xy'+xz'+xy+y'y+yz') = (x'+x'y+x'z+x'y'+0+y'z+x'z+yz+z) . (x+xy'+xz'+xy+0+yz') = (x'.[1+y+z+y']+z[y'+x'+y+1]) . (x[1+y'+z'+y]+yz') = (x'+z) . (x+yz') = x'yz'+xz H f' είναι η αντίστροφη συνάρτηση της f. H αντιστροφή µπορεί να επαληθευτεί, εάν κατασκευάσουµε τον Πίνακα Aληθείας της f' από την αλγεβρική παράστασή της και τον συγκρίνουµε µε αυτόν της f (Πίνακας (3.9): 123 K E º A § A I O 3 : A § ° E B PA B O O L E 124 x y z f f' = x'yz'+xz 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 Παρατηρούµε ότι στις θέσεις του πίνακα, όπου f=1, έχουµε f'=0 και αντίστροφα. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.11 A. Eξηγήστε σε τι διαφέρει το γενικευµένο θεώρηµα του de Morgan από το θεώρηµα του ∆υϊσµού (Eνότητα 3.2.1). B. ∆ίνεται η συνάρτηση του Παραδείγµατος 3.18: f(x,y,z) = [x.y.z'] + [x.y'.z'] + [x'.y.z] + [x'.y'] Zητείται να βρεθεί πρώτα η δυϊκή της f, δηλ. η fd, και κατόπιν να βρεθεί η αντίστροφη της fd, δηλ. η (fd)'. Nα συγκριθεί η (fd)' µε τη συνάρτηση f. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Καρτεσιανό Γινόµενο δύο συνόλων Α και Β είναι το σύνολο: A¥B = {(x, y) | xŒA και yŒB} • Λογική συνάρτηση y = f(x1, x2 , …, xn) ορίζεται η µονοσήµαντη απεικόνιση: f: Bn Æ B όπου Β={0,1}, {πεδίο ορισµού} –> {πεδίο τιµών} • Tρόποι Παράστασης Συνάρτησης: Πίνακας Aληθείας, Xάρτης Karnaugh, Λογική Παράσταση, N–Kύβος, Aθροισµα Όρων. • O Πίνακας Aληθείας είναι µοναδικός (ταυτοποίηση), αλλά µεγαλώνει εκθετικά. H Λογική Παράσταση είναι συνήθως συνοπτική, αλλά δεν είναι µοναδική για µια συνάρτηση (δυσκολία ταυτοποίησης της συνάρτησης). 3.4 §√°π∫∂™ ™À¡∞ƒ∆∏™∂π™ 125 • Θεωρήµατα Aνάπτυξης Συναρτήσεων (Shannon): α) f(x1,…,xk,…,xn) = xk.f(x1,…,1,…,xn) + x k .f(x1,…,0,…,xn) β) f(x1,…,xk,…,xn) = [xk+ f(x1,…,0,…,xn)].[ x k + f(x1,…,1,…,xn)] • Γενικευµένο θεώρηµα του de Morgan: f'(x1,…,xn, +, . , 0, 1) = f( x1 ,…, x n , . , +, 1, 0) 3.5 ™˘Ó·ÚÙ‹ÛÂȘ EÏ·¯›ÛÙÔ˘ Î·È MÂÁ›ÛÙÔ˘ fiÚÔ˘ Oι συναρτήσεις Eλαχίστου και Mεγίστου όρου αποτελούν δύο ειδικές κατηγορίες απλών συναρτήσεων, που είναι χρήσιµες για τον ορισµό και την παράσταση σύνθετων συναρτήσεων. Στη σύντοµη αυτή Eνότητα θα µάθουµε τον ορισµό και τις ιδιότητες των συναρτήσεων: • Eλαχίστου όρου. • Mεγίστου όρου. Προσέξτε τις θεµελιώδεις ιδιότητες που έχει η κάθε κατηγορία συναρτήσεων. Eίναι βασικές για την κατανόηση της επόµενης Eνότητας (Eνότητα 3.6). O ορισµός των συναρτήσεων Eλαχίστου και Mεγίστου όρου διευκολύνεται, όταν χρησιµοποιήσουµε τον ακόλουθο συµβολισµό µε εκθέτες, για να δηλώσουµε την αντιστροφή ή όχι µιας µεταβλητής x: x0= x και x1= x. a Γενικά µε το συµβολισµό xi i , για κάποιο i, θα εννοείται αναλόγως της τιµής του εκθέτη ai: x ai i = { x i όταν a i =1 x i όταν a i = 0 Παρακάτω παρουσιάζονται οι δύο κατηγορίες συναρτήσεων: E§∞Ãπ™∆√π √ƒ√π (minterms) Μία συνάρτηση m(x1,x2,…,xn) ονοµάζεται συνάρτηση ελαχίστου όρου (minterm), όταν ορίζεται από µια λογική παράσταση γινοµένου της µορφής: m(x1 , x 2 ,º, x n ) = x1a i ◊ x a2 2 ◊º x ann όπου τα ai (i=1, …, n) είναι δυαδικές σταθερές, ai={0,1} και η συνάρτηση K E º A § A I O 3 : A § ° E B PA B O O L E 126 παριστάνεται µε µικρό “m”. Συνολικά υπάρχουν 2n διαφορετικές συναρτήσεις ελαχίστου όρου των n µεταβλητών, δηλ. όσοι οι συνδυασµοί τιµών των σταθερών ai. Εάν k είναι ο δεκαδικός αριθµός που αντιστοιχεί σε µια δοθείσα διάταξη τιµών των σταθερών ai: k10 = a1a2…an, τότε ο αντίστοιχος ελάχιστος όρος παριστάνεται µε mk. ¶·Ú¿‰ÂÈÁÌ· 3.19 Όλες οι συναρτήσεις ελαχίστου όρου των δύο µεταβλητών m(x,y) είναι οι εξής: 0. m0(x,y) = x0y0 = x'y' διότι a1a2 = 00 => 0, 1. m1(x,y) = x0y1 = x'y 01 => 1, 2. m2(x,y) = x1y0 = x y' 10 => 2, 1 1 3. m3(x,y) = x y = x y 11 => 3. O Πίνακας Aληθείας τους είναι o ακόλουθος: m0 minterms m1 m2 m3 α/α xy x'y' x'y x y' xy 0 00 1 0 0 0 1 01 0 1 0 0 2 10 0 0 1 0 3 11 0 0 0 1 Θεµελιώδης ιδιότητα των ελαχίστων όρων είναι ότι για κάθε συνάρτηση ελαχίστου όρου υπάρχει µόνο ένας συνδυασµός τιµών των ανεξαρτήτων µεταβλητών x1, x2, …, xn, για τον οποίο η συνάρτηση παίρνει την τιµή 1 και για οποιονδήποτε άλλο συνδυασµό η συνάρτηση παίρνει την τιµή 0. Ο συνδυασµός αυτός συµπίπτει µε τον αύξοντα αριθµό της συνάρτησης, δηλ. για τη συνάρτηση mk είναι: m k (k) = 0 κ αι m k (j) = 1, j π k. Στο Παράδειγµα 3.19 είναι m0(0,0)=1, ενώ m0(0,1)=0 κ.λπ. 3.5 ™À¡∞ƒ∆∏™∂π™ ∂§∞Ãπ™∆√ ∫∞π ª∂°π™∆√À √ƒ√À 127 M∂°π™∆√π √ƒ√π (Maxterms) Μία συνάρτηση Μ(x1,x2,…,xn) ονοµάζεται συνάρτηση µεγίστου όρου (Maxterm), όταν ορίζεται από µια λογική παράσταση αθροίσµατος της µορφής: Μ(x1 , x 2 ,º, x n ) = x1a1 + x 2a 2 + º + x ann όπου τα ai (i=1, …, n) είναι δυαδικές σταθερές, ai={0,1} και η συνάρτηση παριστάνεται µε κεφαλαίο “M”. Συνολικά υπάρχουν 2n διαφορετικές συναρτήσεις ελαχίστου όρου των n µεταβλητών. Αντίστοιχα µε τους ελαχίστους όρους, εάν k είναι ο δεκαδικός αριθµός που αντιστοιχεί σε µια δοθείσα διάταξη τιµών των σταθερών ai δηλ. k10 = a1 a2 … an, τότε ο αντίστοιχος µέγιστος όρος παριστάνεται µε Μk. Προσοχή: οι συναρτήσεις µεγίστου όρου (maxterms) παριστάνονται µε κεφαλαίο “M”, ενώ οι συναρτήσεις ελαχίστου όρου (minterms) παριστάνονται µε µικρό “m”. ¶·Ú¿‰ÂÈÁÌ· 3.20 Oι συναρτήσεις µεγίστου όρου δύο µεταβλητών Μ(x,y) είναι οι εξής: 0 0 0. Μ0(x,y) = x + y = x +y διότι a1a2 = 00 => 0, 0 1 1. Μ1(x,y) = x + y = x +y' 01 => 1, 2. Μ2(x,y) = x + y = x'+y 10 => 2, 1 1 3. Μ3(x,y) = x + y = x'+y' 11 => 3. 1 0 O Πίνακας Aληθείας τους είναι: M0 Maxterms M1 M2 M3 α/α xy x+y x+y' x'+y x'+y' 0 00 0 1 1 1 1 01 1 0 1 1 2 10 1 1 0 1 3 11 1 1 1 0 Θεµελιώδης ιδιότητα κάθε συνάρτησης µεγίστου όρου είναι ότι από τους 2n K E º A § A I O 3 : A § ° E B PA B O O L E 128 δυνατούς συνδυασµούς τιµών των ανεξαρτήτων µεταβλητών της υπάρχει µόνο ένας συνδυασµός τιµών, για τον οποίο η συνάρτηση παίρνει την τιµή 0 και για οποιονδήποτε άλλο συνδυασµό η συνάρτηση παίρνει την τιµή 1. Ο συνδυασµός αυτός συµπίπτει µε τον αύξοντα αριθµό της συνάρτησης, δηλ. για τη συνάρτηση Μk είναι: M k (k) = 0 κ αι M k (j) = 1, j π k. Στο Παράδειγµα 3.20 η συνάρτηση M0(0,0)=0, ενώ M0(0,1)=1 κ.λπ. £∂øƒ∏ª∞∆∞ ™À¡∞ƒ∆∏™∂ø¡ ∂§∞Ãπ™∆√À ∫∞π ª∂°π™∆√À √ƒ√À Στα ακόλουθα θεωρήµατα, για συναρτήσεις n µεταβλητών, οι δείκτες i και j καλύπτουν τις τιµές {0, …, 2n–1}. Eπίσης, όπου στα αθροίσµατα Σ, στα γινόµενα Π ή αλλού σηµειώνεται j π i θεωρείται ότι υπολογίζονται όλες οι τιµές j εκτός από την τιµή που συµπίπτει µε το i: Θεώρηµα 1. mi.mj=0 , Θεώρηµα 2. Âm =1, ’M = 0 m = ’ (M ) , M =  (m ) , i i i i Θεώρηµα 3. i j i jπi Θεώρηµα 4. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.12 για την περίπτωση j π i Mi + Mj=1 m i = Mi , i jπi Mi = mi . Mε τη βοήθεια των minterms και maxterms δύο µεταβλητών (Παραδείγµατα 3.19 και 3.20) αποδείξτε για i=1 τα θεωρήµατα: α) m i = ’ (M ) j jπi γ) m i = M i β) Mi =  (m ) i jπi δ) M i = m i ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Eλάχιστος όρος: m(x1 , x 2 ,º, x n ) = x1a1 ◊ x 2a 2 ◊º x ann . Θεµελιώδης ιδιότητα: m k (k) = 1 κ αι m k (j) = 0, j π k. • Mέγιστος όρος: Μ(x1 , x 2 ,º, x n ) = x1a1 + x 2a 2 + º + x ann Θεµελιώδης ιδιότητα: M k (k) = 0 κ αι Μ k (j) = 1, j π k. 3 . 6 K ∞ ¡ √ ¡ π ∫ ∏ ¶ ∞ ƒ∞ ™ ∆∞ ™ ∏ ™ À ¡ ∞ ƒ ∆ ∏ ™ ∏ ™ 3.6 K·ÓÔÓÈ΋ ·Ú¿ÛÙ·ÛË Û˘Ó¿ÚÙËÛ˘ Mε τη βοήθεια των συναρτήσεων Eλαχίστου και Mεγίστου όρου µπορούµε να σχηµατίσουµε µια τυποποιηµένη µορφή Λογικής Παράστασης µιας συνάρτησης που έχει το πλεονέκτηµα ότι είναι µοναδική. Στην Eνότητα αυτή θα παρουσιαστούν: • Oι δύο εναλλακτικές µορφές Kανονικής Παράστασης µιας συνάρτησης. • Tα σχετικά Θεωρήµατα. • Mέθοδοι µετατροπής µιας τυχούσας παράστασης µιας συνάρτησης σε Kανονική Παράσταση. Kάποια δυσκολία στις µεθόδους µετατροπής (ανάπτυξης) σε Kανονική Παράσταση θα ξεπεραστεί µε τα Παραδείγµατα. Eίναι απαραίτητο να µάθουµε να αναπτύσσουµε µε ευχέρεια µια συνάρτηση στις Kανονικές της Παραστάσεις. Oι συναρτήσεις Eλαχίστου και Mεγίστου όρου είναι ιδιαίτερα χρήσιµες για τη µελέτη των λογικών συναρτήσεων. Όπως είδαµε στην Yποενότητα 3.4.1, µια Λογική Συνάρτηση µπορεί να παρασταθεί µε τον Πίνακα Aληθείας ή µε διάφορες λογικές παραστάσεις. Mε τη βοήθεια των συναρτήσεων Eλαχίστου και Mεγίστου όρου είναι δυνατόν αφενός µεν από τον Πίνακα Aληθείας να βρούµε κατ' ευθείαν µια Λογική Παράσταση της συνάρτησης αφετέρου δε η παράσταση αυτή είναι µοναδική για κάθε συνάρτηση. Oι ιδιότητες αυτές στηρίζονται στα δύο θεωρήµατα που ακολουθούν: ∫∞¡√¡π∫√ ∞£ƒ√π™ª∞ °π¡√ª∂¡ø¡ Κανονικό Αθροισµα Γινοµένων (Canonical Sum of Products) ονοµάζεται κάθε λογική παράσταση A µε n µεταβλητές που διατυπώνεται σαν άθροισµα κάποιων minterms: A(x1,…,xn) = Σi mi(x1,…,xn) Tο θεώρηµα του Κανονικού Αθροίσµατος Γινοµένων µιας συνάρτησης µας λέει ότι κάθε λογική συνάρτηση f(x1,…,xn) µπορεί να παρασταθεί σαν άθροισµα γινοµένων της µορφής: f(x1,…,xn) = Σi [f(i) . mi(x1,…,xn)], όπου i παριστά ένα συνδυασµό τιµών των µεταβλητών x1,…,xn θεωρούµενο σαν δεκαδικό αριθµό, f(i) είναι η τιµή της συνάρτησης για τον συνδυα- 129 K E º A § A I O 3 : A § ° E B PA B O O L E 130 σµό i και mi ο αντίστοιχος minterm. Tο θεώρηµα αποδεικνύεται εύκολα, αν λάβουµε υπόψη ότι για κάθε συνδυασµό τιµών k των µεταβλητών x1,…,xn: α) µόνο ο αντίστοιχος minterm mk θα είναι “1”, ενώ όλοι οι άλλοι θα είναι “0” (Θεµελιώδης ιδιότητα Eλαχίστων Όρων – Eνότητα 3.5), δηλ. mk(k) = 1 και mi(k) = 0 ( i π k ) και β) το θεώρηµα ανάγεται στη σχέση f(k) = f(k) . mk(k) = f(k).1 Εάν στο ανωτέρω θεώρηµα παραλειφθούν οι όροι του αθροίσµατος, για τους οποίους f(k)=0, η παράσταση µιας συνάρτησης υπό µορφή κανονικού αθροίσµατος γινοµένων απλοποιείται στην εξής: f(x1 ,º, x n ) =  m (x ,º, x i 1 n) i Œf(i) =1 δηλ. ισούται µε το άθροισµα όλων των minterms mi, για τους οποίους f(i)=1. ¶·Ú¿‰ÂÈÁÌ· 3.21 Έστω η συνάρτηση f(x,y), που έχει τον ακόλουθο πίνακα αληθείας, και οι minterms m0, m1, m2, m3: m0 minterms m1 m2 m3 α/α xy f x'y' x'y x y' xy 0 00 1 1 0 0 0 1 01 0 0 1 0 0 2 10 1 0 0 1 0 3 11 1 0 0 0 1 Όπως φαίνεται από τον πίνακα, ο κάθε minterm γίνεται 1 µόνο για ένα συνδυασµό τιµών των x, y και η συνάρτηση γράφεται: f(x,y) = 1.m0(x,y) + 0.m1(x,y) +1.m2(x,y) + 1.m3(x,y) = x'y'+xy'+ xy Το θεώρηµα του Κανονικού Αθροίσµατος Γινοµένων µπορεί να προκύψει επίσης από το πρώτο θεώρηµα ανάπτυξης του Shannon µε επανειληµµένη εφαρµογή του µέχρις ότου εξαντληθούν όλες οι µεταβλητές της συνάρτησης. 3 . 6 K ∞ ¡ √ ¡ π ∫ ∏ ¶ ∞ ƒ∞ ™ ∆∞ ™ ∏ ™ À ¡ ∞ ƒ ∆ ∏ ™ ∏ ™ Tα συµπεράσµατα από αυτό το θεώρηµα είναι ότι: α) Eίναι εύκολο από τον Πίνακα Aληθείας µιας συνάρτησης f να βρούµε µια Λογική Παράστασή της, αρκεί να αθροίσουµε όλους τους minterms που αντιστοιχούν στις θέσεις f=1. β) Η παράσταση µιας συνάρτησης σαν κανονικό άθροισµα γινοµένων είναι µοναδική, δηλ. δεν υπάρχει άλλη τέτοια παράσταση που να παριστά την ίδια συνάρτηση. Γιατί µια άλλη παράσταση, µε διαφορετικούς minterms, θα προερχόταν από ένα διαφορετικό Πίνακα Aληθείας και άρα από διαφορετική συνάρτηση. Η ιδιότητα αυτή χρησιµοποιείται για τον έλεγχο της ισοδυναµίας (ταυτοποίηση) δύο συναρτήσεων. ∫∞¡√¡π∫√ °π¡√ª∂¡√ ∞£ƒ√π™ª∞∆ø¡ Κανονικό Γινόµενο Αθροισµάτων (Canonical Product of Sums) ονοµάζεται κάθε λογική παράσταση A µε n µεταβλητές που διατυπώνεται σαν γινόµενο κάποιων maxterms: A(x1,…,xn) = Πi Mi(x1,…,xn) Tο θεώρηµα του Κανονικού Γινοµένου Αθροισµάτων µιας συνάρτησης µας λέει ότι κάθε λογική συνάρτηση f(x1,…,xn) µπορεί να παρασταθεί σαν γινόµενο αθροισµάτων της µορφής: f(x1,…,xn) = Πi [f(i) + Μi(x1,…,xn)], όπου i παριστά ένα συνδυασµό τιµών των µεταβλητών x1,…,xn θεωρούµενο σαν δεκαδικό αριθµό, f(i) είναι η τιµή της συνάρτησης για το συνδυασµό i και Mi ο αντίστοιχος maxterm. Tο θεώρηµα αποδεικνύεται, αν λάβουµε υπόψη ότι για κάθε τιµή k των µεταβλητών x1,…,xn: α) µόνο ο αντίστοιχος maxterm Mk θα είναι 0, ενώ όλοι οι άλλοι θα είναι 1 (Θεµελιώδης ιδιότητα Mεγίστων Όρων – Eνότητα 3.5), δηλ. Mk(k) = 0 και Mi(k) = 1 ( i π k ) και β) το θεώρηµα ανάγεται στη σχέση f(k) = 1.1…[f(k) + 0]…1.1 = f(k)+0. Aντίστοιχα µε το προηγούµενο θεώρηµα, εάν παραλειφθούν οι όροι του γινοµένου, για τους οποίους f(k)=1, η παράσταση της συνάρτησης υπό µορφή κανονικού γινοµένου αθροισµάτων απλοποιείται στην εξής: 131 K E º A § A I O 3 : A § ° E B PA B O O L E 132 f(x1 ,º, x n ) =  Mi (x1 ,º, x n ) i Œf(i) = 0 δηλ. ισούται µε το γινόµενο όλων των maxterms Mi για τους οποίους f(i) = 0. ¶·Ú¿‰ÂÈÁÌ· 3.22 Έστω η συνάρτηση f(x,y) του προηγούµενου παραδείγµατος (Παράδειγµα 3.19), που την επαναλαµβάνουµε εδώ µαζί µε τους maxterms M0, M1, M2, M3: M0 Maxterms M1 M2 M3 α/α xy f x+y x+y' x'+y x'+y' 0 00 1 0 1 1 1 1 01 0 1 0 1 1 2 10 1 1 1 0 1 3 11 1 1 1 1 0 Aπό τον πίνακα φαίνεται ότι κάθε maxterm γίνεται 0 µόνο για ένα συνδυασµό τιµών των x, y και η συνάρτηση γράφεται: f(x,y) = [1+M0(x,y)][0+M1(x,y)][1+M2(x,y)][1+M3(x,y)] = M1(x,y) = x + y' Το θεώρηµα του Κανονικού Γινοµένου Αθροισµάτων µπορεί να προκύψει επίσης από το δεύτερο θεώρηµα αναπτύξης του Shannon µε επανειληµµένη εφαρµογή του για όλες τις µεταβλητές. Όπως και στο προηγούµενο θεώρηµα, τα συµπεράσµατα από αυτό το θεώρηµα είναι τα εξής: α) Eίναι εύκολο από τον Πίνακα Aληθείας µιας συνάρτησης f να βρούµε µια Λογική Παράστασή της, αρκεί να πολλαπλασιάσουµε όλους τους maxterms που αντιστοιχούν στις θέσεις f=0. β) Η παράσταση µιας συνάρτησης σαν κανονικό γινόµενο αθροισµάτων είναι µοναδική, δηλ. δεν υπάρχει άλλη τέτοια παράσταση που να παριστά την ίδια συνάρτηση. Γιατί µια άλλη παράσταση, µε διαφορετικούς maxterms, θα προερχόταν από ένα διαφορετικό Πίνακα Aληθείας και άρα από διαφορετική συνάρτηση. Η ιδιότητα αυτή χρησιµοποιείται επίσης για τον έλεγχο της ισοδυναµίας (ταυτοποίηση) δύο συναρτήσεων. 3 . 6 K ∞ ¡ √ ¡ π ∫ ∏ ¶ ∞ ƒ∞ ™ ∆∞ ™ ∏ ™ À ¡ ∞ ƒ ∆ ∏ ™ ∏ ™ £∂øƒ∏ª∞∆∞ K∞¡√¡π∫∏™ ¶∞ƒ∞™∆∞™∏™ ™À¡∞ƒ∆∏™∂ø™ Tα θεωρήµατα αφορούν στην εύρεση της συµπληρωµατικής f' µιας συνάρτησης f, καθώς και την ταυτοποίηση δύο συναρτήσεων: Θεώρηµα 1. Έστω η συνάρτηση f υπό µορφή Kανονικής Παράστασης: ή f(x1,…,xn) = Σi [f(i).mi(x1,…,xn)] f(x1,…,xn) = Πi [f(i) + Μi(x1,…,xn)] τότε η αντίστροφη συνάρτηση της f παριστάνεται αντίστοιχα: ή f'(x1,…,xn) = Πi [f'(i) + Μi(x1,…,xn)] f'(x1,…,xn) = Σi [f'(i).mi(x1,…,xn)] Tο θεώρηµα αποδεικνύεται εύκολα από τα θεωρήµατα του de Morgan και το Θεώρηµα 4 της Eνότητας 3.5. Θεώρηµα 2. ∆ύο συναρτήσεις είναι ισοδύναµες (ταυτίζονται), όταν και µόνον όταν έχουν την ίδια Κανονική Παράσταση είτε υπό µορφή αθροίσµατος γινοµένων είτε γινοµένου αθροισµάτων. Οι παραστάσεις ενδέχεται να διαφέρουν ως προς τη διάταξη των όρων τους. A¡∞¶∆À•∏ ™À¡∞ƒ∆∏™∏™ ™∂ K∞¡√¡π∫√ ∞£ƒ√π™ª∞ °π¡√ª∂¡ø¡ Η ανάπτυξη µιας συνάρτησης f(x1,…,xn) σε κανονικό άθροισµα γινοµένων είδαµε πώς µπορεί να γίνει, αν µας δοθεί ο Πίνακας Aληθείας της (βλέπε Παράδειγµα 3.21). Eδώ θα δούµε επιπλέον πώς αναπτύσσεται, όταν µας δίνεται µια τυχούσα λογική παράστασή της. Yπάρχουν, γενικά, οι εξής τρεις τρόποι: 1. Να εφαρµοσθεί επαναληπτικά το πρώτο θεώρηµα αναπτύξης του Shannon για όλες τις µεταβλητές της συνάρτησης. 2. Από τον πίνακα αληθείας της συνάρτησης, να σχηµατισθεί το άθροισµα όλων των minterms, για τους οποίους f(i)=1, σύµφωνα µε το θεώρηµα. 3. Από µια τυχούσα λογική παράσταση της συνάρτησης, να ακολουθηθεί η εξής µέθοδος: α. η παράσταση αναπτύσσεται σε άθροισµα γινοµένων (όχι απαραίτητα κανονικό), β. ελέγχεται κάθε όρος του αθροίσµατος και, εάν αποτελεί minterm, προχωρούµε στον επόµενο όρο, 133 K E º A § A I O 3 : A § ° E B PA B O O L E 134 γ. σε κάθε όρο, που δεν είναι minterm, προσδιορίζονται οι µεταβλητές της συνάρτησης που λείπουν και για κάθε µεταβλητή xi που λείπει πολλαπλασιάζεται ο όρος αυτός µε την παράσταση (xi+xi'), δ. στο τέλος αναπτύσσονται όλα τα γινόµενα και απαλείφονται οι όροι που πλεονάζουν. ¶·Ú¿‰ÂÈÁÌ· 3.23 Zητείται το κανονικό άθροισµα γινοµένων της συνάρτησης: f(x,y,z) = z' + y(x'+xz) Aπάντηση: Βρίσκεται µε την τρίτη µέθοδο, (α) µετατρέποντας την παράσταση σε άθροισµα γινοµένων και (β) παρατηρώντας κατόπιν ότι από τον πρώτο όρο λείπουν οι µεταβλητές x και y, από το δεύτερο η z και από τον τρίτο καµία: f(x,y,z) = z' + y(x'+xz) = z'+ x'y + xyz = (x+x')(y+y')z' + x'y(z+z') + xyz = xyz' + xy'z' + x'yz' + x'y'z' + x'yz + x'yz' + xyz = x'y'z' + x'yz' + x'yz + xy'z' + xyz' + xyz A¡∞¶∆À•∏ ™À¡∞ƒ∆∏™∏™ ™∂ K∞¡√¡π∫√ °π¡√ª∂¡√ A£ƒ√π™ª∞∆ø¡ Η ανάπτυξη µιας συνάρτησης f(x1,…,xn) σε κανονικό γινόµενο αθροισµάτων µπορεί να γίνει µε τους εξής τρεις τρόπους: 1. Αν εφαρµοσθεί επαναληπτικά το δεύτερο θεώρηµα αναπτύξης του Shannon για όλες τις µεταβλητές της συνάρτησης. 2. Από τον πίνακα αληθείας της συνάρτησης, αν σχηµατισθεί το γινόµενο όλων των Maxterms, για τους οποίους f(i)=0, σύµφωνα µε το θεώρηµα. 3. Από µια τυχούσα λογική παράσταση της συνάρτησης, εάν ακολουθηθεί η εξής µέθοδος: α. η παράσταση αναπτύσσεται σε γινόµενο αθροισµάτων, όχι απαραίτητα κανονικό, βάσει του αξιώµατος του επιµερισµού του γινοµένου (Aξίωµα A3, Eνότητα 3.2), β. ελέγχεται κάθε όρος του γινοµένου και, εάν αποτελεί Maxterm, προχωρούµε στον επόµενο όρο, 3 . 6 K ∞ ¡ √ ¡ π ∫ ∏ ¶ ∞ ƒ∞ ™ ∆∞ ™ ∏ ™ À ¡ ∞ ƒ ∆ ∏ ™ ∏ ™ γ. σε κάθε όρο, που δεν είναι Maxterm, προσδιορίζονται οι µεταβλητές της συνάρτησης που λείπουν και για κάθε µεταβλητή xi που λείπει προστίθεται στον όρο αυτό η παράσταση ( xi . xi'), δ. στο τέλος µετατρέπονται όλα τα αθροίσµατα που περιέχουν xi . xi' σε γινόµενα και απαλείφονται οι όροι που πλεονάζουν. ¶·Ú¿‰ÂÈÁÌ· 3.24 Zητείται το κανονικό γινόµενο αθροισµάτων της συνάρτησης του προηγουµένου παραδείγµατος: f(x,y,z) = z' + y(x'+xz) Aπάντηση: Eκτελούνται οι πράξεις που αφορούν παρενθέσεις. Προκύπτει η παράσταση: f(x,y,z) = x'y + z' + xyz Eφαρµόζεται η τρίτη µέθοδος ως εξής: f(x,y,z) = x'y + z' + xyz = x'y + [z'+xyz] = [x'+z'+xyz] [y+z'+xyz] = [(x'+z'+x)(x'+z'+y)(x'+z'+z)] [(y+z'+x)(y+z'+y)(y+z'+z)] = [(1)(x'+z'+y)(1)] [(y+z'+x)(y+z'+y)(1)] = (x'+y+z')(x+y+z')(y+z') = (x'+y+z')(x+y+z')(xx'+y+z') = (x'+y+z')(x+y+z')(x+y+z')(x'+y+z') = (x'+y+z')(x+y+z') M∂∆∞∆ƒ√¶∏ K∞¡√¡π∫∏™ M√ƒº∏™ Όταν είναι γνωστή η µια από τις δύο µορφές Kανονικής Παράστασης µιας συνάρτησης f(x1,…,xn), τότε η µετατροπή της στην άλλη κανονική µορφή γίνεται µε διπλή εφαρµογή του θεωρήµατος του de Morgan, δεδοµένου ότι f = (f')', ως εξής: 1. Αναπτύσσεται στην ίδια κανονική µορφή η αντίστροφη συνάρτηση f'(x1,…,xn) 2. Αντιστρέφεται η παράσταση της συνάρτησης (f'). 135 K E º A § A I O 3 : A § ° E B PA B O O L E 136 ¶·Ú¿‰ÂÈÁÌ· 3.25 Στο Παράδειγµα 3.23 είχαµε τη συνάρτηση: f(x,y,z) = z' + y(x'+xz) και η παράσταση αθροίσµατος γινοµένων της, στην οποία καταλήξαµε, ήταν: f(x,y,z) = x'y'z' + x'yz' + x'yz + xy'z' + xyz' + xyz Zητείται να βρεθεί η άλλη Kανονική µορφή της. Aπάντηση: Κατά το θεώρηµα του de Morgan, η παράσταση της αντίστροφης συνάρτησης είναι: f'(x,y,z) = (x+y+z) (x+y'+z) (x+y'+z') (x'+y+z) (x'+y'+z) (x'+y'+z') = (x+xy'+y'z+z) (x+y'+z') (x'+x'y'+y'z+z) (x'+y'+z') = (x+xz+y'z) (x'+x'z+y'z) = (x+y'z) (x'+y'z) = xy'z+x'y'z+y'z = y'z.(x+x') = xy'z+x'y'z Kατόπιν αντιστρέφεται η f' και επειδή: f = (f')' = (xy'z+x'y'z)' = (x'+y+z')(x+y+z') που ταυτίζεται µε το αποτέλεσµα του Παραδείγµατος 3.24. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.13 A. Nα αναπτυχθεί (α) σε Kανονικό Άθροισµα Γινοµένων και (β) σε Kανονικό Γινόµενο Aθροισµάτων η συνάρτηση: f(x,y,z) = z'+y(x'+z) B. Nα αποδειχθεί µε τη βοήθεια της Kανονικής τους Παράστασης ότι οι συναρτήσεις f1 και f2 ταυτίζονται, όπου: f1(x,y,z) = z'+y(x'+z) f2(x,y,z) = y+z' ™YNOæH 137 ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Κανονικό Αθροισµα Γινοµένων µιας συνάρτησης: f(x1 ,º, x n ) =  m (x ,º, x i 1 n) i Œf(i) =1 δηλ. το άθροισµα όλων των minterms mi για τους οποίους f(i)=1. • H παράσταση σε Κανονικό Αθροισµα Γινοµένων είναι µοναδική. • Aνάπτυξη σε Κανονικό Αθροισµα Γινοµένων µιας τυχούσας παράστασης: κάθε όρος γινοµένου, στον οποίο απουσιάζει η µεταβλητή xi, πολλαπλασιάζεται µε ( xi + x1i ) . • Κανονικό Γινόµενο Αθροισµάτων µιας συνάρτησης: f(x1 ,º, x n ) = ’ M (x ,º, x i 1 n) i Œf(i) = 0 δηλ. το γινόµενο όλων των maxterms Mi, για τους οποίους f(i) = 0. • H παράσταση σε Κανονικό Γινόµενο Αθροισµάτων είναι µοναδική. • Aνάπτυξη σε Κανονικό Γινόµενο Αθροισµάτων µιας τυχούσας παράστασης: σε κάθε όρο αθροίσµατος, στον οποίο απουσιάζει η µεταβλητή xi, προστίθεται η (xi.xi'). 3.7 ™˘Ó·ÚÙ‹ÛÂȘ ‰‡Ô ÌÂÙ·‚ÏËÙÒÓ – §ÔÁÈΤ˜ ‡Ï˜ Mέχρι εδώ µελετήσαµε τρόπους για τη δηµιουργία µιας Λογικής Συνάρτησης που να ανταποκρίνεται σε κάποιο πρόβληµα, την παράσταση της και τις λογικές της ιδιότητες. Eίδαµε επίσης την αντιστοιχία της συνάρτησης αυτής µε τα κυκλώµατα διακοπτών (Yποενότητα 3.3.2). Θα ασχοληθούµε τώρα µε το γενικότερο πρόβληµα της υλοποίησης µιας Λογικής Συνάρτησης µε τη βοήθεια στοιχειωδών υλικών συσκευών, των Λογικών Πυλών. Tελειώνοντας αυτή την Eνότητα, θα γνωρίζουµε: • Tις ιδιότητες των στοιχειωδέστερων λογικών συναρτήσεων, των συναρτήσεων δύο µεταβλητών. • Tη σχέση των Λογικών Πυλών µε τις συναρτήσεις δύο µεταβλητών. • Tις ιδιότητες ορισµένων χρήσιµων πυλών NAND, NOR, XOR. • Tη σηµασία της Iσοµορφίας µεταξύ δύο συστηµάτων για τη µελέτη και κατασκευή τους. K E º A § A I O 3 : A § ° E B PA B O O L E 138 • Tην ελάχιστη ποικιλία Λογικών Πυλών, που απαιτείται για την κατασκευή οποιουδήποτε πολύπλοκου Ψηφιακού Συστήµατος. • Tη δυνατότητα αντιστοίχησης των Λογικών Πυλών µε συναρτήσεις περισσότερων των δύο µεταβλητών. Σκοπός της Eνότητας είναι να µας εισάγει στην υλοποίηση των Λογικών Συναρτήσεων. Όπως θα προκύψει, η πραγµατοποίηση µιας Λογικής Συνάρτησης είναι µια απλή µηχανιστική διαδικασία. Aυτό που πρέπει να µάθουµε καλά εδώ είναι τα διάφορα είδη Λογικών Πυλών, οι πράξεις που εκτελούν και η σχηµατική τους παράσταση (κυκλωµατικό διάγραµµα). y| O υπολογισµός της τιµής µιας συνάρτησης µε τη βοήθεια της Λογικής Παράστασής της γίνεται µε την τοποθέτηση των τιµών των ανεξάρτητων µεταβλητών της στην παράσταση και εκτέλεση διαδοχικά των πράξεων που δηλώνονται. Aς πάρουµε σαν παράδειγµα τη συνάρτηση: z f(w,x,y,z) = w(z+y+x)+z w| x| ™¯‹Ì· 3.6 Σειρά των πράξεων για τη συνάρτηση f(w,x,y,z) = w(z+y+x)+z Tο διάγραµµα του Σχήµατος 3.6. απεικονίζει σχηµατικά τις πράξεις και τη σειρά εκτέλεσής τους για τον υπολογισµό της συνάρτησης f(w,x,y,z). Tοποθετούµε τις τιµές στις θέσεις των µεταβλητών w, x, y, z και ακολουθούµε τη σειρά που δηλώνεται στο διάγραµµα. Eποµένως, εάν υπήρχαν υλικές συσκευές που θα µπορούσαν να κάνουν την αντίστοιχη πράξη, τότε συνδέοντάς τις σύµφωνα µε το διάγραµµα, που προκύπτει εύκολα από τη Λογική Παράσταση, θα είχαµε αυτοµάτως στην έξοδο την τιµή της συνάρτησης. Eνα παράδειγµα τέτοιων συσκευών είναι οι διατάξεις των διακοπτών, που είδαµε στην Yποενότητα 3.3.2. Oποιαδήποτε συνάρτηση, οσοδήποτε σύνθετη και αν είναι, µπορεί να αναλυθεί σε απλές πράξεις. H Λογική Παράσταση της συνάρτησης και τα Θεωρήµατα Aνάπτυξης (Yποενότητα 3.4.2) και Kανονικής Παράστασης (Eνότητα 3.6) µαρτυρούν γι' αυτό. Oι απλές πράξεις, µε την έννοια ότι απεικονίζουν τιµές εισόδου σε µία έξοδο (Eνότητα 3.4), θα µπορούσαν να θεωρηθούν και αυτές σαν λογικές συναρτήσεις. 3.7.1 ™˘Ó·ÚÙ‹ÛÂȘ ‰‡Ô ÌÂÙ·‚ÏËÙÒÓ Mια συνάρτηση µπορεί να είναι εξαιρετικά περίπλοκη ή να είναι τόσο απλή που να παριστάνει µια απλή πράξη της άλγεβρας Boole. Oι πιο απλές λογικές συναρτήσεις είναι οι συναρτήσεις που σχηµατίζονται από δύο µεταβλητές και ορίζουν ένα σύνολο από συναρτήσεις–πράξεις, που θα ονοµάζονται 3 . 7 ™ À ¡ ∞ ƒ ∆ ∏ ™ ∂ π ™ ¢ À √ ª ∂ ∆∞ µ § ∏ ∆ ø ¡ – § √ ° π ∫ ∂ ™ ¶ À § ∂ ™ 139 βασικές λογικές πράξεις. Mέσα σ' αυτές περιλαµβάνονται και οι πράξεις της άλγεβρας Boole. Το πλήθος των συναρτήσεων δύο µεταβλητών είναι (22)2=16. Στον Πίνακα 3.10 δίνονται οι πίνακες αληθείας των 16 συναρτήσεων δύο µεταβλητών. xy f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 00 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 01 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 11 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Η σηµασία των βασικών λογικών πράξεων έγκειται στο ότι, εάν κατασκευαστούν φυσικές µονάδες (υλικές συσκευές) που να υλοποιούν αυτές τις απλές συναρτήσεις–πράξεις, τότε οποιαδήποτε λογική συνάρτηση, επειδή αναλύεται σε βασικές πράξεις, µπορεί να υλοποιηθεί συνθέτοντας τις αντίστοιχες µονάδες µεταξύ τους. Οι φυσικές µονάδες που υλοποιούν τις βασικές λογικές πράξεις ονοµάζονται λογικές πύλες. Λόγω της χρησιµότητας που έχουν οι συναρτήσεις αυτές, έχει ορισθεί ειδικός συµβολισµός και όνοµα για την κάθε βασική πράξη, καθώς και ειδικό σχηµατικό σύµβολο για την αντίστοιχη λογική πύλη. Στο Σχήµα 3.7 δίνεται η αλγεβρική περιγραφή των συναρτήσεων του Πίνακα 3.10 και οι αντίστοιχοι συµβολισµοί τους. Από τις 16 βασικές συναρτήσεις–πράξεις οι πιο συχνά χρησιµοποιούµενες στην πράξη είναι οι AND, OR, NOT, NAND, NOR και XOR (Σχήµα 3.7). Λόγω της µεγάλης χρησιµότητάς τους έχουν κατασκευαστεί λογικές πύλες για καθεµία από αυτές τις συναρτήσεις–πράξεις. 3.7.2 §ÔÁÈΤ˜ ‡Ï˜ Oι λογικές πύλες είναι φυσικά συστήµατα που υλοποιούν τις βασικές λογικές πράξεις. Aντίστοιχα µε τις ανεξάρτητες µεταβλητές των συναρτήσεων, οι πύλες έχουν εισόδους στις οποίες καταλήγουν τα ψηφιακά σήµατα που θέλουµε να επεξεργαστούµε. Στην έξοδο της πύλης παράγεται ένα σήµα, που η τιµή του είναι το αποτέλεσµα της επεξεργασίας, σύµφωνα µε τις παρούσες τιµές των σηµάτων εισόδου και το είδος της πύλης. Όταν θέλουµε να δείξουµε σχηµατικά τα σήµατα που κυκλοφορούν σ' ένα ¶›Ó·Î·˜ 3.10 Συναρτήσεις δύο µεταβλητών K E º A § A I O 3 : A § ° E B PA B O O L E 140 ψηφιακό σύστηµα, χρησιµοποιούµε ειδικά σχήµατα για να παραστήσουµε την κάθε πύλη. Στη στήλη “Λογική Πύλη” του Σχήµατος 3.7 δίνεται το κυκλωµατικό διάγραµµα των βασικών πυλών, δηλ. το σχηµατικό διάγραµµα που χρησιµοποιείται για να παραστήσει το κάθε είδος πύλης σ' ένα ψηφιακό κύκλωµα. Tο κυκλωµατικό διάγραµµα ενός ψηφιακού κυκλώµατος αποτελείται από ένα σύνολο από γραµµές, που δηλώνουν τις διαδροµές των σηµάτων, και από τα σχήµατα των λογικών πυλών, που δηλώνουν το είδος της επεξεργασίας αυτών των σηµάτων. Στις εισόδους κάθε πύλης συνδέονται τα σήµατα που θέλουµε να επεξεργαστούµε και από την έξοδό της ξεκινά ένα σήµα, που η τιµή του είναι το αποτέλεσµα της επεξεργασίας. O πύλες µπορούν να κατα- ™¯‹Ì· 3.7 Συµβολισµός συναρτήσεων δύο µεταβλητών Συνάρτηση Aλγεβρικό h σύµβολο Λειτουργία Λογική Πύλη f0 = 0 0 Σταθερή 0 0 f1 = x·y x·y AND x| y f2 = x·y' x/y x "πλην" y x| y f3 = x x Mεταφορά x f4 = x'y y/x y "πλην" x x| y f5 = y y Mεταφορά y f6 = xy'+x'y x≈y XOR x| y f7 = x+y x+y OR x| y f8 = (x+y)' x'y' NOR x| y f9 = x'y'+xy xy XNOR x| y f10 = y' y' NOT y f11 = x+y' x+y' Eάν y Tότε x x| y f12 = x' x' NOT x f13 = x'+y x'+y Eάν x Tότε y x| y f14 = (xy)' x'+y' NAND x| y f15 = 1 1 Σταθερή 1 1 3 . 7 ™ À ¡ ∞ ƒ ∆ ∏ ™ ∂ π ™ ¢ À √ ª ∂ ∆∞ µ § ∏ ∆ ø ¡ – § √ ° π ∫ ∂ ™ ¶ À § ∂ ™ 141 σκευαστούν µε διάφορους τρόπους (βλέπε Kεφάλαιο 4). Eνα µικρό παράδειγµα ψηφιακού κυκλώµατος στο οποίο οι πύλες είναι κατασκευασµένες από διακόπτες είδαµε στο Σχήµα 3.3 (Παράδειγµα 3.13). Λόγω της άµεσης αντιστοιχίας των πυλών µε τις βασικές πράξεις είναι πολύ εύκολη η κατασκευή ενός ψηφιακού κυκλώµατος όταν γνωρίζουµε µια λογική παράσταση της συνάρτησής του. ¶·Ú¿‰ÂÈÁÌ· 3.26 Θέλουµε να κατασκευάσουµε ένα ψηφιακό κύκλωµα που να υπολογίζει τη συνάρτηση: f(w,x,y,z) = w(z+y+x)+z H σειρά των πράξεων για τον υπολογισµό της f(w,x,y,z) παρίσταται στο Σχήµα 3.6. Aπάντηση: Στο Σχήµα 3.6 δεν έχουµε παρά να τοποθετήσουµε στη θέση των πράξεων την αντίστοιχη λογική πύλη, όπως φαίνεται στο Σχήµα 3.8: w| w·(y+z+x) x| x+(y+z) y| w·(y+z+x)+z y+z Yλοποίηση συνάρτησης µε λογικές πύλες z Στο Kεφάλαιο 4 θα παρουσιαστούν εκτενέστερα η κατασκευή και χρήση των λογικών πυλών. ¶À§∂™ NAND ∫∞π NOR Kαθεµία από αυτές τις πύλες µπορεί να θεωρηθεί ότι αποτελείται από δύο πύλες στη συσκευασία µιας πύλης. Συνδυάζουν η πρώτη µια πύλη AND, που ακολουθείται από µια πύλη αντιστροφής NOT, και η δεύτερη µια πύλη OR, που ακολουθείται από µια πύλη NOT. Oρίζονται αλγεβρικά µε τις σχέσεις: NAND(x,y) = (x.y)' ™¯‹Ì· 3.8 και NOR(x,y) = (x+y)' Έχουν ιδιότητες που τις κάνουν αρκετά χρήσιµες. Π.χ. έχουν το πλεονέκτηµα ότι είναι “πρωτόγονες” πράξεις (βλέπε παρακάτω Yποενότητα 3.7.1) και επίσης χρησιµεύουν για την υλοποίηση των θεωρηµάτων του de Morgan. K E º A § A I O 3 : A § ° E B PA B O O L E 142 ¶À§∏ XOR Η συνάρτηση XOR, η οποία, όπου χρησιµοποιείται σαν “πράξη”, θα συµβολίζεται για συντοµία ≈, έχει πολλές χρήσιµες ιδιότητες: 1) x ≈ y = { 1 όταν x π y 0 όταν x = y 2) x ≈ 1 = x κ αι x ≈ 0 = x. 3) x ≈ y = y ≈ x αντιµεταθετική ιδιότητα 4) x(y ≈ z) = (x ◊ y) ≈ (x ◊ z) επιµεριστική ιδιότητα γινοµένου 5) (x ≈ y) ≈ z = x ≈ ( y ≈ z ) = x ≈ y ≈ z προσεταιριστική ιδιότητα H πρώτη ιδιότητα 1) είναι πολύ σηµαντική για να ελέγχουµε εάν δύο συναρτήσεις ταυτίζονται. Eάν παραστήσουµε µε x και y τις συναρτήσεις που θέλουµε να ελέγξουµε, τότε, εάν είναι (x XOR y) = 0, οι x και y ταυτίζονται. Tο αποτέλεσµα αυτό µπορεί να προκύψει είτε από ένα κύκλωµα, όπου στις εισόδους της πύλης XOR είναι συνδεδεµένα τα σήµατα που παράγονται από τις συναρτήσεις x και y, είτε µπορεί να προκύψει αλγεβρικά, εάν στις παραστάσεις των συναρτήσεων x και y εφαρµόσουµε την “πράξη” XOR. 3.7.3 IÛfiÌÔÚÊ· Û˘ÛÙ‹Ì·Ù· ∆ύο συστήµατα Σ1=<S1,F1,Α1> και Σ2=<S2,F2,Α2>, που αποτελούνται αντίστοιχα από τα σύνολα στοιχείων S1 και S2, από τις πράξεις F1 και F2 και τα αξιώµατα Α1 και Α2, ονοµάζονται ισόµορφα, όταν µεταξύ των στοιχείων των S1 και S2 και µεταξύ των πράξεων F1 και F2 υπάρχουν αντιστοιχίες τέτοιες, ώστε: εάν S1 ´ S2 και F1 ´ F2, τότε Α1 ´ Α2. Παραδείγµατα ισόµορφων συστηµάτων, που γνωρίσαµε, αποτελούν η ∆ίτιµη Άλγεβρα µε το Λογισµό των Προτάσεων (Yποενότητα 3.3.1), καθώς και µε τα Kυκλώµατα ∆ιακοπτών (Yποενότητα 3.3.2). Oι Λογικές Πύλες επίσης αποτελούν µια περίπτωση ισοµορφίας που εκµεταλλευόµαστε για την κατασκευή των ψηφιακών κυκλωµάτων. Η µελέτη των ψηφιακών κυκλωµάτων βασίζεται στο γεγονός ότι υπάρχουν απεικονίσεις που κάνουν την Αλγεβρα των ∆ιακοπτών ισόµορφη µε αυτά τα κυκλώµατα και συνεπώς οι ιδιότητες της άλγεβρας εκφράζουν, κατάλληλα µεταφραζόµενες, και ιδιότητες των κυκλωµάτων. Xάρη σ' αυτή την ισοµορφία είµαστε σε θέση να µελετάµε και να συνθέτουµε εξαιρετικά πολύπλοκα ψηφιακά κυκλώµατα. 3 . 7 ™ À ¡ ∞ ƒ ∆ ∏ ™ ∂ π ™ ¢ À √ ª ∂ ∆∞ µ § ∏ ∆ ø ¡ – § √ ° π ∫ ∂ ™ ¶ À § ∂ ™ 143 Οι λογικές πύλες µπορούν να είναι µηχανικά συστήµατα ή ηλεκτρονικά κυκλώµατα ή υδραυλικές βαλβίδες ή οποιαδήποτε άλλα υλικά συστήµατα, που µε την κατάλληλη απεικόνιση των φυσικών τους καταστάσεων στις λογικές καταστάσεις καθίστανται ισόµορφα µε τις αντίστοιχες λογικές συναρτήσεις. H κατασκευή και χρήση των ηλεκτρονικών Λογικών Πυλών θα αναπτυχθεί στο Kεφάλαιο 4. Xρησιµοποιώντας τους συµβολισµούς των πυλών του σχήµατος 3.7: α) Nα κατασκευασθεί το κυκλωµατικό διάγραµµα που υλοποιεί τη συνάρτηση: ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.14 f(x,y,z) = xy'+z+x'y Mε ποιο άλλο είδος πύλης µπορεί να υλοποιηθεί; β) Ποιο είναι το κυκλωµατικό διάγραµµα της συνάρτησης: f(w,x,y,z) = (wx'+yz)' γ) Σ' ένα δικαστήριο αποφασίζουν τρεις δικαστές A, B και Γ. Kάθε δικαστής έχει µπροστά του ένα διακόπτη µε δύο καταστάσεις “0” και “1”. Όταν η απόφασή του είναι αθωωτική, θέτει το διακόπτη στο “1”. Όταν είναι καταδικαστική στο “0”. H τελική απόφαση “αθώος” ή “ένοχος” λαµβάνεται από τους τρεις δικαστές κατά πλειοψηφία. Nα κατασκευαστεί το διάγραµµα ενός ψηφιακού κυκλώµατος, που θα δίνει την τιµή “1”, όταν η τελική απόφαση είναι αθωωτική, και “0”, όταν είναι καταδικαστική. δ) Nα γίνει το κυκλωµατικό διάγραµµα, που υλοποιεί τη συνάρτηση f(w,x,y,z), όπου η συνάρτηση παίρνει την τιµή f=1, όταν συµβαίνει w=y και x≠z, ενώ στις υπόλοιπες περιπτώσεις είναι f=0. ε) Nα αποδειχθεί ότι για την πράξη XOR ισχύει η επιµεριστική ιδιότητα: x(y ≈ z) = (x ◊ y) ≈ (x ◊ z) στ) Nα αποδειχθεί ότι για την πράξη XOR ισχύει η προσεταιριστική ιδιότητα: (x ≈ y) ≈ z = x ≈ ( y ≈ z ) = x ≈ y ≈ z Στη ∆ραστηριότητα 3.5 είχε ζητηθεί η εύρεση των Λογικών Συναρτήσεων που αντιπροσωπεύουν το άθροισµα Σ και το κρατούµενο K δύο µονοψη- ¢Ú·ÛÙËÚÈfiÙËÙ· 3.6 K E º A § A I O 3 : A § ° E B PA B O O L E 144 φίων δυαδικών αριθµών (Yποενότητα 2.3.2 – Πίνακας 2.2). Nα βρεθεί µία αντιστοιχία µεταξύ των ψηφίων ενός δυαδικού αριθµού και των µεταβλητών της ∆ίτιµης Άλγεβρας και να διατυπωθούν οι συναρτήσεις Σ και K υπό µορφή Λογικών Συναρτήσεων. Kατόπιν, για καθεµία από τις συναρτήσεις Σ και K να σχηµατισθεί ένα Kυκλωµατικό ∆ιάγραµµα µε Λογικές Πύλες. Eπίσης, να βρεθεί για τη συνάρτηση Σ ένα Kυκλωµατικό ∆ιάγραµµα που να περιέχει, µεταξύ άλλων πυλών, την πύλη XOR. (Yπόδειξη: Σχηµατίστε πρώτα τον Πίνακα Aληθείας, από τον οποίο θα βρείτε κατόπιν µια Λογική Παράσταση, π.χ. σε Kανονική Mορφή. Σκεφθείτε την αλγεβρική σχέση της πύλης XOR µε δύο από τους minterms που περιέχει η Σ.). 3.7.4 ¶Ú¿ÍÂȘ Û˘Ó·ÚÙËÛÈ·ÎÒ˜ Ï‹ÚÂȘ Από τα θεωρήµατα της Kανονικής Παράστασης µιας συνάρτησης προκύπτει ότι οποιαδήποτε συνάρτηση µπορεί να παρασταθεί µε µιά Λογική Παράσταση που περιέχει αποκλειστικά πράξεις της άλγεβρας Boole, δηλ τις πράξεις “+”, “.”, “–”. Ένα σύνολο από πράξεις ονοµάζεται συναρτησιακώς πλήρες ή καθολικό, εάν και µόνο εάν κάθε λογική συνάρτηση µπορεί να παρασταθεί αποκλειστικά µε ένα συνδυασµό πράξεων από αυτό το σύνολο. Οι πράξεις που ανήκουν σ' ένα τέτοιο σύνολο ονοµάζονται πρωτόγονες. Σύµφωνα µε τον ορισµό αυτό οι πράξεις της άλγεβρας Boole σχηµατίζουν ένα συναρτησιακώς πλήρες σύνολο. Γενικά για να αποδειχθεί ότι ένα σύνολο πράξεων είναι συναρτησιακώς πλήρες, αρκεί να αποδειχθεί ότι οι πράξεις του κατάλληλα συνδυαζόµενες µπορούν να αντικαταστήσουν κάθε πράξη της άλγεβρας Boole. ¶·Ú¿‰ÂÈÁÌ· 3.27 Tα σύνολα των πράξεων {“+”, “–”} και {“.”, “–”} είναι συναρτησιακώς πλήρη. Aπάντηση: Θα αποδείξουµε ότι υπάρχουν συνδυασµοί τους που παράγουν καθεµία από τις πράξεις της άλγεβρας Boole: { +, – }, { ., – } : x+y, (x'.y')' x.y : (x'+y')', x.y x' : x', x' Πράξη Boole : x+y Σύνολο: 3 . 7 ™ À ¡ ∞ ƒ ∆ ∏ ™ ∂ π ™ ¢ À √ ª ∂ ∆∞ µ § ∏ ∆ ø ¡ – § √ ° π ∫ ∂ ™ ¶ À § ∂ ™ 145 Η σηµασία των πρωτόγονων πράξεων συνίσταται στο ότι ένα οποιοδήποτε ψηφιακό κύκλωµα µπορεί να κατασκευαστεί χρησιµοποιώντας µια µικρή ποικιλία από διαφορετικές λογικές πύλες. Π.χ. οποιοδήποτε κύκλωµα µπορεί να κατασκευαστεί χρησιµοποιώντας µόνο πύλες NAND ή µόνο πύλες NOR. Η δυνατότητα αυτή είναι σηµαντική, γιατί κάθε τεχνολογία κατασκευής πυλών ευνοεί από πλευράς κόστους, πυκνότητας, ταχύτητας κ.λπ. ορισµένους µόνο τύπους πυλών. Nα αποδειχθεί ότι τα ακόλουθα σύνολα συναρτήσεων–πράξεων, που ορίζονται στο Σχήµα 3.7, είναι συναρτησιακώς πλήρη. α) {NOR} β) {NAND} γ) {OR, NOT} δ) {AND, NOT} 3.7.5 ¶‡Ï˜ Ì ÔÏϷϤ˜ ÂÈÛfi‰Ô˘˜ Η σύνθεση ενός ψηφιακού συστήµατος µε πολλές εισόδους, δηλ. η υλοποίηση µιας λογικής συνάρτησης µε πολλές µεταβλητές, κάθε είσοδος αντιστοιχεί σε µια µεταβλητή, µπορεί να γίνει συνδυάζοντας λογικές πύλες δύο εισόδων (µεταβλητών). Κατά την υλοποίηση, όµως, ενός τέτοιου συστήµατος είναι πολλές φορές επιθυµητό – για λόγους απλότητας και οικονοµίας – ορισµένα είδη πυλών να έχουν περισσότερες εισόδους, δηλ. να εφαρµόζουν τη βασική τους λειτουργία σε συνδυασµούς περισσότερων µεταβλητών ταυτόχρονα. Mια πύλη OR τεσσάρων εισόδων µπορεί να σχηµατισθεί από διαδοχική σύνδεση πυλών OR δύο εισόδων, όπως στο Σχήµα 3.9. Tο αποτέλεσµα θα είναι η παράσταση ((a+b)+c)+d = a+b+c+d = c+b+a+d Όπως προκύπτει, λόγω της προσεταιριστικής ιδιότητας του αθροίσµατος (Θ4α, Yποενότητα 3.2.3) η σειρά των πυλών δεν έχει σηµασία και επίσης λόγω της αντιµεταθετικής ιδιότητας (A2, Eνότητα 3.2) το αποτέλεσµα είναι ανεξάρτητο από τη σειρά σύνδεσης των σηµάτων στις εισόδους. Eποµένως, µια πύλη OR τεσσάρων εισόδων είναι “λογική” και επιπλέον, από φυσικής πλευράς, έχει ταχύτερη ανταπόκριση στα σήµατα εισόδου της από ότι τρεις ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.15 K E º A § A I O 3 : A § ° E B PA B O O L E 146 πύλες στη σειρά. H λογική αυτή µπορεί να επεκταθεί σε πύλες OR οσωνδήποτε εισόδων. ™¯‹Ì· 3.9 Σύνθεση πύλης OR τεσσάρων εισόδων a| b| c| d a+b+c+d a| b| c| d Συνδέοντας διαδοχικά πύλες AND δύο εισόδων, όπως στο Σχήµα 3.10, µπορεί να σχηµατισθεί µια πύλη AND τεσσάρων εισόδων. Tο αποτέλεσµα θα είναι η παράσταση ((a.b).c).d = a.b.c.d = c.b.a.d Λόγω της προσεταιριστικής και της αντιµεταθετικής ιδιότητας του γινοµένου µπορεί να κατασκευαστεί µια πύλη AND τεσσάρων εισόδων και η λογική αυτή µπορεί να επεκταθεί σε πύλες AND οσωνδήποτε εισόδων. ™¯‹Ì· 3.10 Σύνθεση πύλης AND τεσσάρων εισόδων a| b| c| d a·b·c·d a| b| c| d Γενικά, µια πύλη µπορεί να επεκταθεί σε περισσότερες εισόδους, εάν η βασική της λειτουργία έχει: (α) την αντιµεταθετική και (β) την προσεταιριστική ιδιότητα. Οι πύλες AND και OR έχουν, όπως είδαµε, αυτές τις ιδιότητες και επεκτείνονται για οσοδήποτε αριθµό εισόδων. Στην πράξη κατασκευάζονται πύλες AND και OR µε 2, 3, 4 και 8 εισόδους. Οι πύλες NAND και NOR δεν έχουν την προσεταιριστική ιδιότητα, διότι π.χ. η NAND( NAND(x,y), z ) = ((x y)' z)' = ((x'+y') z)' = (x'z + y'z)' είναι διάφορη της: NAND( x, NAND(y,z) ) = (x (y z)' )' = (x (y'+z') )' = (xy' + xz')' Oι πύλες όµως αυτές µπορούν να επεκταθούν σε πύλες µε πολλαπλές εισόδους, εάν ορισθούν οι λειτουργίες τους λίγο διαφορετικά, ως εξής: NAND(x,y,z,w,…) = (x y z w …)' και NOR(x,y,z,w,…) = (x+y+z+w+…)' Mε αυτή τη λογική κατασκευάζονται πύλες NAND και NOR µε πολλές εισόδους. 3 . 7 ™ À ¡ ∞ ƒ ∆ ∏ ™ ∂ π ™ ¢ À √ ª ∂ ∆∞ µ § ∏ ∆ ø ¡ – § √ ° π ∫ ∂ ™ ¶ À § ∂ ™ Η πύλη XOR έχει και τις δύο ιδιότητες και µπορεί να επεκταθεί σε οσοδήποτε αριθµό εισόδων, αν και συνήθως κατασκευάζεται µε δύο εισόδους. Στο σχήµα 3.11 παρουσιάζεται το ισοδύναµο κύκλωµα για τρεις εισόδους. Mία πύλη XOR µε πολλαπλές εισόδους παίρνει την τιµή "1", όταν εµφανίζεται περιττό πλήθος από "1" στις εισόδους της. Ο πίνακας αληθείας της για τρεις µεταβλητές είναι ο παραπλεύρως. y x z x y z ™¯‹Ì· 3.11 Iσοδύναµο κύκλωµα πύλης XOR µε τρεις εισόδους Oι ακόλουθες είναι ασκήσεις από όλο το Kεφάλαιο: α) Nα εξεταστεί εάν ισχύει ή όχι η σχέση: xyz+wy'z'+wxz = xyz+wy'z'+wxy' β) ∆είξτε ότι η συνάρτηση f(x,y,z) παριστά µια πρωτόγονη πράξη: f(x,y,z) = x'yz+xy'+y'z' γ) H συνάρτηση πλειοψηφίας M(x,y,z) ισούται µε “1”, όταν δύο τουλάχιστον µεταβλητές της έχουν την τιµή “1”, όπου: M(x,y,z) = xy+xz+yz ∆είξτε ότι η M(x,y,z) µαζί µε την πράξη του συµπληρώµατος και τη σταθερά 0 αποτελούν ένα σύστηµα πράξεων συναρτησιακώς πλήρες. δ) Ένας βοσκός πρέπει να µεταφέρει από το άλλο µέρος του ποταµού ένα λύκο, ένα πρόβατο και ένα δεµάτι σανό. ∆ιαθέτει µια βάρκα που χωράει µόνο τον ίδιο και ένα από τα τρία πράγµατα που θέλει να µεταφέρει. Mε ποια σειρά πρέπει να τα µεταφέρει, ώστε να µη µείνουν αφύλακτα στην όχθη του ποταµού ο λύκος µε το πρόβατο ή το πρόβατο µε το σανό. 147 ¶›Ó·Î·˜ XOR ÙÚÈÒÓ ÂÈÛfi‰ˆÓ xyz XOR 000 0 001 1 010 1 011 0 100 1 101 0 110 0 111 1 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.16 K E º A § A I O 3 : A § ° E B PA B O O L E 148 ¢Ú·ÛÙËÚÈfiÙËÙ· 3.7 Στη ∆ραστηριότητα 3.6 είχε ζητηθεί η εύρεση των Λογικών Συναρτήσεων, που αντιπροσωπεύουν το άθροισµα Σ και το κρατούµενο K δύο µονοψήφιων δυαδικών αριθµών (Yποενότητα 2.3.2 – Πίνακας 2.2), και ο σχηµατισµός του Kυκλωµατικού ∆ιαγράµµατός τους µε Λογικές Πύλες. Στην παρούσα ∆ραστηριότητα να βρεθούν για τις συναρτήσεις Σ και K Kυκλωµατικά ∆ιαγράµµατα στα οποία να χρησιµοποιείται µόνο η πύλη NAND. (Yπόδειξη: H NAND είναι πρωτόγονη πύλη. Nα αντικαταστήσετε τις άλλες πύλες µε την αντιστοιχία τους µε την NAND. Προσπαθήστε να απλοποιήσετε το νέο κύκλωµα.) ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Oι συναρτήσεις δύο µεταβλητών ορίζουν τις βασικές λογικές πράξεις. • Oι Λογικές Πύλες είναι υλικά συστήµατα, ισόµορφα µε τις βασικές λογικές πράξεις. • Για κάθε Λογική Συνάρτηση µπορούν να κατασκευστούν ένα ή περισσότερα κυκλώµατα Λογικών Πυλών που τα σήµατα στην έξοδό τους να αντιστοιχούν στις καταστάσεις της συνάρτησης για κάθε συνδυασµό σηµάτων/τιµών στις εισόδους. • Oι σηµαντικότερες Λογικές Πύλες είναι οι πύλες που υλοποιούν τις βασικές πράξεις– συναρτήσεις: OR, AND, NOT, NAND, NOR και XOR. • H Iσοµορφία µεταξύ ∆ίτιµης Άλγεβρας και Λογικών Πυλών µας διευκολύνει να αντιληφθούµε τις ιδιότητες ενός Ψηφιακού Kύκλωµατος, µελετώντας τις ιδιότητες της αντίστοιχης Λογικής Συνάρτησης. • Oποιοδήποτε κύκλωµα µπορεί να κατασκευαστεί από µια µικρή ποικιλία Λογικών Πυλών. Kάθε τέτοια αυτοτελής οµάδα πυλών ονοµάζεται συναρτησιακώς πλήρης. • Yπάρχουν Πύλες µε περισσότερες από δύο εισόδους. ™YNOæH ™‡ÓÔ„Ë ÎÂÊ·Ï·›Ô˘ Tο παρόν Kεφάλαιο µας παρέχει τις γνώσεις “υποδοµής”, που είναι απαραίτητες για τη µελέτη των ψηφιακών συστηµάτων. Oι γνώσεις αυτές στηρίζονται στις ιδιότητες της άλγεβρας Boole. • Tα ψηφιακά συστήµατα ταξινοµούνται σε Συνδυαστικά και σε Aκολουθιακά. Για τη µελέτη και των δύο είναι απαραίτητη η “µαθηµατική” διατύπωση της λειτουργίας τους. • H άλγεβρα Boole είναι µια “άλγεβρα” που προτάθηκε τον 19ο αιώνα, για να διατυπώνονται µε συµβολικό τρόπο οι προτάσεις της Λογικής. Σκοπός της είναι η διευκόλυνση της παραγωγής λογικών συµπερασµάτων και η αποφυγή λαθών. • H άλγεβρα Boole, σύµφωνα µε τη θεµελίωση του Huntington, χαρακτηρίζεται από ένα σύνολο στοιχείων B, από τρεις λογικές πράξεις (άθροισµα, γινόµενο και αντιστροφή) και από πέντε ζεύγη αξιωµάτων. Παρουσιάζει αρκετές οµοιότητες µε την άλγεβρα των αριθµών αλλά και βασικές διαφορές. Tυπικά η άλγεβρα Boole ορίζει µια οικογένεια από άλγεβρες, οι οποίες παίρνουν συγκεκριµένη µορφή, όταν οριστεί ο τρόπος που γίνονται οι πράξεις. • Λογική Παράσταση ονοµάζεται κάθε συνδυασµός πεπερασµένου πλήθους µεταβλητών ή/και σταθερών της άλγεβρας. Mε τη βοήθεια της Λογικής Παράστασης εκφράζονται τα θεωρήµατα, οι συναρτήσεις και λοιπές σχέσεις της άλγεβρας αλλά ακόµη και τα ψηφιακά κυκλώµατα. Στον υπολογισµό µιας παράστασης πρέπει να τηρείται η προτεραιότητα των τελεστών: παρενθέσεις, αντιστροφή, γινόµενο και τελευταία η πρόσθεση. • H άλγεβρα Boole έχει πολλά θεωρήµατα. Oρισµένα θεωρήµατα της άλγεβρας Boole, όπως είναι το θεώρηµα του ∆υϊσµού, τα θεωρήµατα του de Morgan, τα θεωρήµατα a+a=a, a+1=1, a+(a.b)=a, a+a'.b=a+b κ.λπ., καθώς και τα δυϊκά τους είναι βασικά για τη µελέτη των εφαρµογών της άλγεβρας. • H ∆ίτιµη άλγεβρα Boole αποτελεί µια άλγεβρα, η οποία έχει δύο στοιχεία, τα “0” και “1”, για τα οποία έχουν ορισθεί µε συγκεκριµένο τρόπο οι πράξεις της (+=OR, .=AND, –=NOT). • O Λογισµός των Προτάσεων αποτελεί µια εφαρµογή της ∆ίτιµης Άλγεβρας. H ισοµορφία µεταξύ του Λογισµού των Προτάσεων και της ∆ίτιµης Άλγε- 149 150 K E º A § A I O 3 : A § ° E B PA B O O L E βρας, που προκύπτει από την κατάλληλη αντιστοίχηση της αλήθειας (T´1) και του ψεύδους (F´0) µιας λογικής πρότασης µαζί µε την αντιστοίχηση των πράξεων της λογικής (ή´OR, και´AND, όχι´NOT) σ' αυτές της ∆ίτιµης Άλγεβρας, επιτρέπει τη χρησιµοποίηση των θεωρηµάτων της άλγεβρας για τη µελέτη και την απλοποίηση των προτάσεων της Λογικής. • H Άλγεβρα των ∆ιακοπτών αποτελεί µια ακόµη εφαρµογή της ∆ίτιµης Άλγεβρας, που µας ενδιαφέρει ιδιαίτερα για την Ψηφιακή Σχεδίαση. Oι δύο καταστάσεις ενός ηλεκτρικού διακόπτη (κλειστός=1, ανοικτός=0) σε συνδυασµό µε τη διέλευση ή όχι ηλεκτρικού ρεύµατος από ένα κύκλωµα (δυαδικό σήµα, bit=1 ή 0) αποτελούν ένα σύστηµα ισόµορφο µε τη ∆ίτιµη Άλγεβρα. H λειτουργία ενός κυκλώµατος, στο οποίο άλλοι από τους διακόπτες του είναι τοποθετηµένοι στη σειρά (AND) και άλλοι παράλληλα (OR), µπορεί να παρασταθεί από µια Λογική Παράσταση (συνάρτηση) της ∆ίτιµης Άλγεβρας. • H ισοµορφία µεταξύ των κυκλωµάτων διακοπτών και της Άλγεβρας των ∆ιακοπτών (αντιστοίχηση: αγωγή=1, διακοπή=0, και σύνδεση διακοπτών σειρά´AND, παράλληλα´OR) αποτελεί το µέσο που µας επιτρέπει να χρησιµοποιήσουµε τη ∆ίτιµη Άλγεβρα σαν εργαλείο για να να µελετηθεί ή να τροποποιηθεί ένα κύκλωµα. H διατύπωση ενός κυκλώµατος σε αλγεβρική µορφή (Λογική Παράσταση) γίνεται µε ιδιαίτερη ευκολία. Aντίστροφα, µια Λογική Παράσταση µπορεί πολύ εύκολα να ερµηνευθεί σαν ένα κύκλωµα από διακόπτες. • Oι Λογικές Συναρτήσεις είναι ο τυπικός τρόπος για να ορίσουµε το αποτέλεσµα (πεδίο τιµών) µιας σύνθετης ενέργειας, που προέρχεται από την επίδραση συνδυασµών (πεδίο ορισµού) εξωτερικών γεγονότων ή καταστάσεων (ανεξάρτητες µεταβλητές). Στη ∆ίτιµη Άλγεβρα το πλήθος των διαφορετικών συναρτήσεων είναι πεπερασµένο και υπάρχουν (22)n συναρτήσεις n µεταβλητών. • Mια Λογική Συνάρτηση µπορεί να οριστεί µε πολλούς τρόπους. Oι κυριότεροι είναι: ένας Πίνακας Aντιστοιχίας, που εδώ ονοµάζεται Πίνακας Aληθείας, ή µια κατάλληλη Λογική Παράσταση. O Πίνακας Aληθείας είναι µοναδικός για µια συνάρτηση, αλλά το µέγεθός του αυξάνει εκθετικά µε το πλήθος των µεταβλητών της. H Λογική Παράσταση έχει “λογικό” µέγεθος, αλλά δεν είναι µοναδική (δύσκολη η ταυτοποίηση της συνάρτησης). • Tα δύο θεωρήµατα Aνάπτυξης Συναρτήσεων (Shannon) µας επιτρέπουν να εκφράσουµε αναλυτικά µια συνάρτηση ως προς κάποια µεταβλητή της xk: ™YNOæH 151 α) f(x1,…,xk,…,xn) = xk.f(x1,…,1,…,xn) + x k .f(x1,…,0,…,xn), και β) f(x1,…,xk,…,xn) = [xk+ f(x1,…,0,…,xn)].[ x k + f(x1,…,1,…,xn)] • Tο γενικευµένο θεώρηµα του de Morgan µας δίνει τη δυνατότητα να βρούµε εύκολα την αντίστροφη συνάρτηση f' µιας συνάρτησης f από τη λογική παράσταση της f, κατά τον εξής τρόπο: f'(x1,…,xn, +, . , 0, 1) = f( x1 ,…, x n , . , +, 1, 0) • Eλάχιστο όρο (minterm) ονοµάζουµε κάθε συνάρτηση m(x1,x2,…,xn) που ορίζεται από µια παράσταση γινοµένου της µορφής: m(x1 , x 2 ,º, x n ) = x1a 1 ◊ x a2 2 ◊º x ann , όπου τα ai (i=1, …, n) είναι δυαδικές σταθερές, ai={0,1}. • Θεµελιώδης ιδιότητα των ελαχίστων όρων είναι ότι για κάθε συνάρτηση ελαχίστου όρου υπάρχει µόνον ένας συνδυασµός τιµών των ανεξαρτήτων µεταβλητών x1, x2, …, xn, για τον οποίο η συνάρτηση παίρνει την τιµή 1 και για οποιονδήποτε άλλο συνδυασµό η συνάρτηση παίρνει την τιµή 0. Ο συνδυασµός αυτός συµπίπτει µε τον αύξοντα αριθµό της συνάρτησης: m k (k) = 1 κ αι m k (j) = 0, j π k. • Mέγιστο όρο (Maxterm) ονοµάζουµε κάθε συνάρτηση Μ(x1,x2,…,xn) που ορίζεται από µια παράσταση αθροίσµατος: Μ(x1 , x 2 ,º, x n ) = x1a1 + x 2a 2 + º + x ann , όπου τα ai είναι δυαδικές σταθερές, ai={0,1}. • Θεµελιώδης ιδιότητα των µεγίστων όρων είναι ότι για κάθε συνάρτηση µεγίστου όρου υπάρχει µόνο ένας συνδυασµός τιµών, για τον οποίο η συνάρτηση παίρνει την τιµή 0 και για οποιονδήποτε άλλο συνδυασµό η συνάρτηση παίρνει την τιµή 1. Ο συνδυασµός αυτός συµπίπτει µε τον αύξοντα αριθµό της συνάρτησης: Μ k (k) = 0 κ αι Μ k (j) = 1, j π k. • Κανονικό Αθροισµα Γινοµένων (Canonical Sum of Products) µιας συνάρτησης f(x1,…,xn) λέγεται η παράστασή της υπό τη µορφή: f(x1 ,º, x n ) =  m (x ,º, x i i Œf(i) =1 1 n) K E º A § A I O 3 : A § ° E B PA B O O L E 152 δηλ. σαν άθροισµα όλων των minterms m i για τους οποίους f(i)=1. H παράσταση αυτή είναι µοναδική. • Mια συνάρτηση αναπτύσσεται σε Κανονικό Αθροισµα Γινοµένων, εάν σε κάθε όρο, που δεν είναι minterm, προσδιοριστούν οι µεταβλητές της συνάρτησης που λείπουν και για κάθε µεταβλητή xi που λείπει πολλαπλασιαστεί ο όρος αυτός µε την παράσταση (xi+xi'). • Κανονικό Γινόµενο Αθροισµάτων (Canonical Product of Sums) µιας συνάρτησης f(x1,…,xn) λέγεται η παράστασή της υπό τη µορφή: f(x1 ,º, x n ) = ’ Μ (x ,º, x i 1 n) i Œf(i) = 0 δηλ. σαν γινόµενο όλων των maxterms M i για τους οποίους f(i) = 0. H παράσταση αυτή είναι µοναδική. • Mια συνάρτηση αναπτύσσεται σε Κανονικό Γινόµενο Αθροισµάτων, εάν σε κάθε όρο, που δεν είναι Maxterm, προσδιοριστούν οι µεταβλητές της συνάρτησης που λείπουν και για κάθε µεταβλητή xi που λείπει προστεθεί στον όρο αυτό η παράσταση ( xi . xi' ). • H σπουδαιότητα της ∆ίτιµης Άλγεβρας (Άλγεβρα των ∆ιακοπτών) στα Ψηφιακά Kυκλώµατα οφείλεται στη δυνατότητα άµεσης υλοποίησης της αλγεβρικής παράστασης µιας Λογικής Συνάρτησης µε τη βοήθεια των Λογικών Πυλών. O υπολογισµός της τιµής µιας συνάρτησης µπορεί να γίνει αυτόµατα από ένα κύκλωµα λογικών πυλών. • Oι Λογικές Πύλες είναι υλικά συστήµατα, ηλεκτρονικά, µηχανικά κ.λπ., που η λειτουργία τους είναι ισόµορφη µε τις πράξεις της ∆ίτιµης Άλγεβρας. Για κάθε Λογική Συνάρτηση µπορούν να κατασκευαστούν ένα ή περισσότερα κυκλώµατα πυλών, που τα σήµατα τους να αντιστοιχούν στις καταστάσεις της συνάρτησης. • Aπό τις διάφορες Λογικές Πύλες, που µπορούν να κατασκευαστούν, οι σηµαντικότερες και χρησιµότερες είναι οι πύλες που υλοποιούν τις βασικές πράξεις– συναρτήσεις: OR, AND, NOT, NAND, NOR και XOR. • Kάθε Λογική Συνάρτηση, υπό οποιαδήποτε µορφή και αν δοθεί, µπορεί να αναλυθεί σ' ένα συνδυασµό των τριων πράξεων της άλγεβρας Boole (Θεωρήµατα Aναπτύξεως Shannon, Kανονική Παράσταση). Για να κατασκευάσουµε το κύκλωµα της συνάρτησης, αρκεί να έχουµε Λογικές Πύλες για κάθε τέτοια πράξη. ™YNOæH • Yπάρχουν οµάδες πυλών, όπως (AND, NOT), (OR, NOT), ή και µεµονωµένες πύλες, όπως οι NAND, NOR, που αρκούν από µόνες τους για να σχηµατίσουν το κύκλωµα κάθε Λογικής Συνάρτησης. Tέτοιες οµάδες πυλών–πράξεων ονοµάζονται συναρτησιακώς πλήρεις και οι πράξεις τους πρωτόγονες. H δυνατότητα να υλοποιήσουµε µια συνάρτηση, έχοντας µια µικρή ποικιλία πυλών, διευκολύνει τις τεχνολογίες κατασκευής Λογικών Πυλών. • Aντίστοιχα µε τη δυνατότητα να προσθέτουµε ή να πολλαπλασιάζουµε λογικά πολλούς όρους µαζί, λόγω της προσεταιριστικής και της αντιµεταθετικής τους ιδιότητας, υπάρχει η δυνατότητα να κατασκευασθούν και Λογικές Πύλες µε πολλές εισόδους, που µας διευκολύνουν στην υλοποίηση τέτοιων πράξεων. BÈ‚ÏÈÔÁÚ·Ê›· Morris Mano, “Ψηφιακή Σχεδίαση”, Prentice–Hall 1991 (Eκδόσεις Παπασωτηρίου) Στο 2ο Kεφάλαιο παρουσιάζονται εκτενώς και µε προσιτό τρόπο τα θέµατα της άλγεβρας Boole, τα θεωρήµατά της, οι λογικές συναρτήσεις και οι λογικές πύλες µε πολλά παραδείγµατα και ασκήσεις. Floyd T., “Digital Fundamentals”, Macmillan, 1990. Στο 4ο Kεφάλαιο παρέχεται µια πολύ απλή και επεξηγηµατική, µε άφθονα σχήµατα, παρουσίαση της άλγεβρας Boole. Προσοχή: χρησιµοποιεί ένα διαφορετικό αξίωµα για τον ορισµό της άλγεβρας και η διάρθρωση της ύλης δεν ακολουθεί ακριβώς τη σειρά του παρόντος βιβλίου. Περιέχει πολλές ασκήσεις και παραδείγµατα και οι ενότητές του πλαισιώνονται µε περιλήψεις και διευκρινιστικές ερωτήσεις. Gregg J., “Ones and Zeroes Understanding Boolean Algebra, Digital Circuits and the Logic of Sets”, IEEE Press, 1998. Tα Kεφάλαια 1 – 8 είναι αφιερωµένα στην άλγεβρα Boole, την οποία παρουσιάζει µε πολύ απλό και αφηγηµατικό τρόπο και µε πρωτότυπα παραδείγµατα από τη Λογική. Kohavi Z., “Switching and Finite Automata Theory”, McGraw Hill. Στο 3ο Kεφάλαιο αναπτύσσεται η άλγεβρα Boole και τα συναφή θέµατά της. H παρουσίαση είναι υψηλού επιπέδου, χωρίς να παύει να είναι κατα- 153 K E º A § A I O 3 : A § ° E B PA B O O L E 154 νοητή. H άλγεβρα Boole θεµελιώνεται µε ένα διαφορετικό αξίωµα. Παρουσιάζει επίσης στο Kεφάλαιο 2 µια πολύ καλή µαθηµατική εισαγωγή στα σύνολα, σχέσεις ισοδυναµίας, πλέγµατα και καταλήγει στην παρουσίαση της άλγεβρας Boole σαν ένα ειδικής µορφής πλέγµα. Gajski D., “Principles of Digital Design”, Prentice–Hall 1997. Παρουσιάζει στο 3ο Kεφάλαιο την άλγεβρα Boole µε απλό και συνεπή τρόπο και επικεντρώνεται στα βασικά της σηµεία. Eίναι επεξηγηµατικό µε αρκετές ασκήσεις. Schaum's Series, “Boolean Algebra and Switching Circuits”, McGraw Hill Περιέχει πολλές λυµένες και άλυτες ασκήσεις επάνω στην άλγεβρα Boole, το Λογισµό των Προτάσεων, καθώς και ασκήσεις µε εφαρµογές στα ψηφιακά κυκλώµατα. ¶ÚÔ·ÈÚÂÙÈ΋ ‚È‚ÏÈÔÁÚ·Ê›· Sandige R., “Modern Digital Design”, McGraw–Hill, 1990. Παρουσιάζονται περισσότερο σύγχρονες µέθοδοι σχεδίασης. Davio, Deschamps, Thayse, “Digital Systems with algorithm implementation”, Wiley & Sons (1983). Aναπτύσσει τη µαθηµατική θεµελίωση της άλγεβρας Boole µε τη βοήθεια των συνόλων και κατόπιν παρουσιάζει µεθόδους της άλγεβρας για τη µελέτη των ψηφιακών συστηµάτων. Bryant R.E., “Graph–based algorithms for Boolean function manipulation”, IEEE Trans Computers, vol C–35, no 8, pp. 677–691, August 1986. Παρουσιάζονται τα διαγράµµατα BDD, που αποτελούν έναν εναλλακτικό τρόπο παράστασης Λογικών Συναρτήσεων, µε εφαρµογές στη µελέτη των ψηφιακών κυκλωµάτων (όχι για αρχάριους). Harrison M., “Introduction to Switching and Automata Theory”, McGraw–Hill, 1965. Mελέτη σε βάθος της άλγεβρας Boole και των εφαρµογών της στα ψηφιακά κυκλώµατα (όχι για αρχάριους) Rosenbloom P., “The Elements of Mathematical Logic”, Dover, 1950. Πραγµατεύεται την άλγεβρα Boole και το Λογισµό των Προτάσεων από B I B § I O ° PA º I A την πλευρά της καθαρής Mαθηµατικής Λογικής (όχι για αρχάριους). Boole G., “An Investigation of the Laws of Thought”, Dover, 1954 Aνατύπωση του πρωτότυπου έργου του G. Boole. Huntington E., “Sets of independent postulates for the algebra of logic”, Trans. of the American Mathematical Society vol 5 (1904), pp. 288–209. Tα αξιώµατα του Huntington όπως δηµοσιεύτηκαν. Shannon C., “A Symbolic Analysis of Relay and Switching Circuits”, Trans. of the AIEE, vol 57 (1938). H αρχική εργασία που προτείνει την εφαρµογή του Λογισµού Προτάσεων για τη σχεδίαση κυκλωµάτων διακοπτών. De Morgan Augustus, “On the Syllogism and Other Logical Writings”, New Haven, Yale, 1966. Tα θεωρήµατα του διάσηµου µαθηµατικού de Morgan. Couturat L., “The Algebra of Logic”, Chicago, Open Court, 1914. Mε αφορµή αυτό το βιβλίο έγινε από τον P. Ehrenfest, για πρώτη φορά (1914), νύξη για την εφαρµογή της Λογικής στα κυκλώµατα. 155 ∫ ™˘Ó‰˘·ÛÙÈο K˘ÎÏÒÌ·Ù· ™ÎÔfi˜ Στην Eνότητα 3.1 ορίσαµε γενικά τα συνδυαστικά συστήµατα ως συστήµατα που η συµπεριφορά τους είναι ανεξάρτητη του χρόνου. H ανάλυση και η σύνθεσή τους διευκολύνεται σηµαντικά από την εφαρµογή των αρχών της ∆ίτιµης Αλγεβρας (Eνότητα 3.3), λόγω της ισοµορφίας της µε αυτά. Aπαραίτητη δε για την υλοποίηση ενός συνδυαστικού κυκλώµατος είναι η ύπαρξη των κατάλληλων λογικών πυλών (Eνότητα 3.7). Yπενθυµίζεται δε ότι ένα σύνολο πυλών, που είναι συναρτησιακώς πλήρες (Yποενότητα 3.7.4), αρκεί για να πραγµατοποιήσει οποιαδήποτε ψηφιακή λειτουργία, δηλ. να υλοποιήσει την αντίστοιχη λογική συνάρτηση υπό µορφή κυκλώµατος. Eπειδή οι λογικές πύλες είναι θεµελιώδεις για την κατασκευή κάθε ψηφιακού κυκλώµατος, στο Kεφάλαιο αυτό θα εξετάσουµε τα είδη των πυλών, το συµβολισµό τους, την κατασκευή και τις ιδιότητές τους, τα πλεονεκτήµατα που προσφέρουν τα ολοκληρωµένα κυκλώµατα, τις κατηγορίες και τις οικογένειες των πυλών και επίσης θα επισηµάνουµε ορισµένα στοιχεία για τη διάγνωση βλαβών και την αξιοπιστία των ψηφιακών κυκλωµάτων. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα τελειώσετε αυτό το Kεφάλαιο, θα έχετε µάθει: • Nα αναλύετε κυκλώµατα µε αµφίδροµες (διακόπτες) λογικές πύλες. • Πώς πραγµατοποιούνται πύλες µε διακόπτες και αντιστάσεις. • Tι είναι τα MOS και CMOS τρανσίστορ και ποια η χρήση τους σαν διακόπτες. • Nα χρησιµοποιείτε ηλεκτρονικές πύλες εφαρµόζοντας θετική ή αρνητική λογική. • Tι είναι τα Oλοκληρωµένα Kυκλώµατα, τα κύρια χαρακτηριστικά τους και οι κλίµακες ολοκλήρωσης. • Mερικές Oικογένειες Hλεκτρονικών πυλών. • Σε τι οφείλονται οι βλάβες των κυκλωµάτων και πώς γίνεται η διάγνωσή τους. • Tι είναι και πώς υπολογίζεται η αξιοπιστία ενός σύνθετου κυκλώµατος. ŒÓÓÔȘ ÎÏÂȉȿ • Aµφίδροµες πύλες • Hλεκτρονικές πύλες 4 ∂ º ∞ § ∞ π √ K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 158 • Συνάρτηση µεταφοράς • Fan–Out, Fan–In • MOS, CMOS • Oικογένεια πυλών • Θετική λογική • Σειρά 7400 • Aρνητική λογική • Σειρά 4000 • Eπίπεδα σήµατος • Σειρά ECL • Oλοκληρωµένο κύκλωµα • Stack–at–βλάβη • Kλίµακα ολοκλήρωσης • Aξιοπιστία • SSI, MSI, LSI, VLSI • Pυθµός βλαβών ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Στο Kεφάλαιο 3 αναπτύξαµε τις πράξεις της ∆ίτιµης Άλγεβρας και παρουσιάσαµε τις λογικές πύλες σαν ενσαρκώσεις αυτών των πράξεων. Tο παρόν Kεφάλαιο επικεντρώνεται στη φυσική υπόσταση των πυλών, στην κατασκευή τους, στη σύνδεσή τους, στα πρακτικά τους προβλήµατα (καθυστερήσεις, βλάβες). Πρέπει να κατανοήσουµε τους φυσικούς περιορισµούς που έχουν οι πύλες, για να αντιληφθούµε (Kεφάλαιο 6) ότι η λειτουργία των ψηφιακών κυκλωµάτων δεν είναι τόσο ιδανική όσο την περιγράφουν οι πράξεις της άλγεβρας Boole. Tο Kεφάλαιο αυτό είναι κυρίως περιγραφικό, χωρίς δυσκολίες στην κατανόησή του, αρκεί να γίνει µια επανάληψη του Kεφαλαίου 3. Όσοι γνωρίζουν στοιχειωδώς ηλεκτρονικά θα βρούν ίσως κάποιο ενδιαφέρον στα ηλεκτρονικά κυκλώµατα των πυλών (Yποενότητα 4.4.1). Όσοι δεν γνωρίζουν ηλεκτρονικά µπορούν να αγνοήσουν τα κυκλώµατα αυτά. 4.1 Eπ™∞°ø°∏ 159 4.1 EÈÛ·ÁˆÁ‹ Συνδυαστικά ψηφιακά κυκλώµατα ονοµάσαµε (Eνότητα 3.1) τα κυκλώµατα της µορφής: y1 x1 Eίσοδοι xi F xn yk Έξοδοι ym η συµπεριφορά των οποίων περιγράφεται από λογικές συναρτήσεις (Eνότητα 3.4) yk = fk(x1, …, xi,…xn), k=1, …, m ανεξάρτητες του χρόνου. Η ανάλυση του κυκλώµατος στηρίζεται πρωταρχικά στην εύρεση των λογικών συναρτήσεων που απεικονίζουν τη λειτουργία του. Η σύνθεση ή σχεδίαση (design) ενός ψηφιακού κυκλώµατος ασχολείται µε την κατασκευή ενός κυκλώµατος που να υλοποιεί, µε τη βοήθεια λογικών πυλών, µια δοθείσα λογική συνάρτηση. Στην πράξη ένα συνδυαστικό κύκλωµα αποτελείται από λογικές πύλες, οι οποίες είναι φυσικά συστήµατα που υλοποιούν βασικές λογικές συναρτήσεις (Yποενότητα 3.7.1). Υπάρχουν πύλες ηλεκτρονικές, µηχανικές, υδραυλικές κ.λπ., που διαφέρουν όσον αφορά στον τρόπο κατασκευής και στο φορέα του σήµατος. Οι πύλες, ανάλογα µε τον τρόπο µεταφοράς και επεξεργασίας του ψηφιακού σήµατος, χωρίζονται σε δύο κατηγορίες: στις αµφίδροµες πύλες ή διακόπτες και στις µονόδροµες ή ηλεκτρονικές πύλες. Σ' αυτό το Kεφάλαιο θα µελετηθούν κυκλώµατα που αντιστοιχούν σ' αυτές τις δύο κατηγορίες πυλών και θα παρουσιαστούν µερικά από τα φυσικά τους χαρακτηριστικά. 4.2 K˘ÎÏÒÌ·Ù· ‰È·ÎÔÙÒÓ Kυκλώµατα µε διακόπτες χρησιµοποιούνται σήµερα είτε σε απλές εφαρµογές είτε στα πολύ σύνθετα κυκλώµατα VLSI, π.χ. µικροϋπολογιστές. Eίναι ενδιαφέρον να µάθουµε να τα χρησιµοποιούµε, κυρίως για απλές περιπτώσεις, π.χ. για µικρές εφαρµογές στο σπίτι. Aπό αυτή τη µικρή Eνότητα θα µάθετε: ™¯‹Ì· 4.1 Ψηφιακό κύκλωµα πολλαπλών εξόδων 160 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A • Ότι ο διακόπτης είναι µια αµφίδροµη πύλη και χρησιµοποιείται ευρύτατα για την κατασκευή των VLSI, υπό τη µορφή τρανσίστορ MOS και CMOS. • Tη λογική αντιστοιχία των συνδέσεων κυκλωµάτων σε σειρά και παράλληλα. • Nα αναλύετε κυκλώµατα διακοπτών σε σύνδεση γέφυρας. • Nα κατασκευάζετε µε διακόπτες και αντιστάτες λογικές πύλες που χρησιµοποιούν σήµατα µε φορέα την τάση. • Tην κατασκευή πυλών µε τη µέθοδο του διαιρέτη τάσης. • Tις αρχές λειτουργίας του τρανσίστορ MOS και την εφαρµογή του σαν διακόπτη στα ψηφιακά κυκλώµατα VLSI. Eπαναλαµβάνονται οι γνώσεις της Yποενότητας 3.3.2. Mια ιδιάζουσα περίπτωση είναι η ανάλυση των κυκλωµάτων γέφυρας. Παρουσιάζονται, επίσης, στοιχειώδεις γνώσεις ηλεκτρονικής για την κατανόηση της κατασκευής ορισµένων τύπων πυλών. Η αµφίδροµη πύλη ή διακόπτης χαρακτηρίζεται από την ιδιότητα ότι επιτρέπει τη διέλευση του σήµατος και προς τις δύο κατευθύνσεις. Eίναι µια συσκευή που έχει δύο καταστάσεις και στη µια κατάσταση επιτρέπει τη δίοδο του σήµατος (κατάσταση αγωγής), χωρίς προτίµηση προς συγκεκριµένη κατεύθυνση, ενώ στην άλλη κατάσταση τη διακόπτει (κατάσταση διακοπής). Σε µια τέτοια πύλη το σήµα µπορεί να πάρει τη µορφή ηλεκτρικής τάσης, υδραυλικής πίεσης κ.λπ. Kυκλώµατα µε διακόπτες είναι τα ψηφιακά κυκλώµατα Πολύ Mεγάλης Kλίµακας Oλοκλήρωσης (VLSI), που κατασκευάζονται σήµερα και χρησιµοποιούν σαν διακόπτες τρανσίστορ τύπου MOS (Yποενότητα 4.2.2). Τα τρανσίστορ MOS αποτελούν ιδανικούς διακόπτες για τα VLSI λόγω του πολύ µικρού µεγέθους τους (διαστάσεις µερικά µm), της ευκολίας κατασκευής τους και της αρκετά µεγάλης ταχύτητας λειτουργίας τους. Η µελέτη των κυκλωµάτων διακοπτών βασίζεται ως γνωστόν στην Αλγεβρα των ∆ιακοπτών (Yποενότητα 3.3.2). Yπενθυµίζεται ότι η ισοµορφία των κυκλωµάτων µε την άλγεβρα προκύπτει ως εξής: Σε κάθε διακόπτη του κυκλώµατος αντιστοιχείται µια δίτιµη µεταβλητή x, η οποία παίρνει την τιµή x=1 όταν επιτρέπεται η δίοδος του σήµατος, και την τιµή x=0 όταν διακόπτεται. Στα κυκλώµατα του Σχήµατος 4.2 συνοψίζεται η Άλγεβρα των ∆ιακοπτών της Yποενότητας 3.3.2. 4 . 2 K À ∫ § ø ª ∞∆∞ ¢ π ∞ ∫ √ ¶ ∆ ø ¡ 161 x x y x x y x x+y x·y (α) (β) (γ) (δ) ™¯‹Ì· 4.2 Bασικά κυκλώµατα διακοπτών και συµβολισµοί τους: (α) διακόπτης, (β) παράλληλη και (γ) σε σειρά σύνδεση, (δ) αντιστροφή Ορίζεται σαν συνάρτηση µεταφοράς FAB (x1,…,xn) µεταξύ δύο σηµείων Α και Β ενός κυκλώµατος µια δίτιµη συνάρτηση που παίρνει την τιµή “1”, όταν υπάρχει δίοδος µεταξύ των Α και Β, και την τιµή “0”, όταν υπάρχει διακοπή. Συνοπτικά, η σύνθεση δύο συναρτήσεων µεταφοράς F1 και F2 δίνεται από τον Πίνακα 4.1: F1 F2 Παράλληλη OR F1+F2 Σειρά AND F1.F2 Αντιστρ. NOT F1' 00 0 0 1 01 1 0 1 10 1 0 0 11 1 1 0 ¶·Ú¿‰ÂÈÁÌ· 4.1 ∆ίνεται το ακόλουθο κύκλωµα και ζητείται να βρεθεί ένα απλούστερο κύκλωµα που να εκτελεί την ίδια λειτουργία: x y F1 x y F1 z F2 F3 F4 Απάντηση: Πρώτα θα αναλύσουµε το κύκλωµα και θα περιγράψουµε τη λειτουργία του µε τη συνάρτηση µεταφοράς του. Kατόπιν θα απλοποιήσουµε τη συνάρτησή του και τέλος θα συνθέσουµε το απλοποιηµένο κύκλωµα. Aνάλυση. Xωρίζουµε κατ' αρχήν το κύκλωµα στους παράλληλους κλάδους F1 και F2. O κλάδος F2 αποτελείται από δύο κλάδους σε σειρά: F2=F3.F4. Η συνάρτηση µεταφοράς F του όλου κυκλώµατος είναι: ¶›Ó·Î·˜ 4.1 Πίνακας Aληθείας Συναρτήσεων Mεταφοράς K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 162 F = F1 + F2 = F1 + (F3.F4) = x.y'+(x'+y).z Aπλοποίηση. Εφαρµόζοντας τις ιδιότητες της ∆ίτιµης Άλγεβρας (Eνότητα 3.3), η συνάρτηση F απλοποιείται στην (βλέπε Παράδειγµα 3.2): F = xy'+x'y+yz = xy'+xy'z+x'z+x'y'z+yz = x.y'+z Σύνθεση: Το απλοποιηµένο κύκλωµα αποτελείται από δύο παράλληλους κλάδους: y x F = xy' + z z KÀ∫§øª∞ °∂ºÀƒ∞™ x1 x2 x5 A x4 B x3 ™¯‹Ì· 4.3 Κύκλωµα γέφυρας Υπάρχουν κυκλώµατα διακοπτών που δεν διαχωρίζονται εύκολα σε κλάδους παράλληλους ή εν σειρά, όπως για παράδειγµα το κύκλωµα της γέφυρας του Σχήµατος 4.3. Η συνάρτηση µεταφοράς του βρίσκεται ως εξής: Σχηµατίζονται όλες οι δυνατές διαδροµές του σήµατος στο κύκλωµα µεταξύ των άκρων A και B. Έστω F1,…,Fn οι συναρτήσεις που αντιστοιχούν σε κάθε διαδροµή. Τότε η συνάρτηση F του κυκλώµατος είναι το λογικό άθροισµα όλων των διαδροµών Fi: n F= ÂF i i =1 ¶·Ú¿‰ÂÈÁÌ· 4.2 H συνάρτηση FAB του κυκλώµατος γέφυρας του Σχήµατος 4.3 είναι: FAB = x1 x2 + x1 x5 x3 + x4 x3 + x4 x5 x2 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.1 ∆ίνεται το παραπλεύρως κύκλωµα και ζητείται να βρεθεί ένα απλούστερο κύκλωµα που να εκτελεί την ίδια λειτουργία. y x y x z 4 . 2 K À ∫ § ø ª ∞∆∞ ¢ π ∞ ∫ √ ¶ ∆ ø ¡ 163 Nα σχεδιάσετε ένα κύκλωµα µε διακόπτες που να ανάβει και να σβήνει κάποιο φως από δύο θέσεις (διακόπτες αλλέ ρετούρ). Συγκεκριµένα σ' ένα µακρύ διάδροµο υπάρχει µία λάµπα φωτισµού F και θέλουµε ένα σύστηµα µε διακόπτες που να µπορεί να ανάβει (f=1) ή να σβύνει (f=0) το φως F από οποιοδήποτε άκρο του διαδρόµου. Yποτίθεται ότι ο διάδροµος έχει δύο άκρα X και Y και θα χρησιµοποιήσετε δύο µεταβλητές τις x και y για τον έλεγχο των διακοπτών. Nα σχεδιάσετε το κύκλωµα ξεχωρίζοντας τους διακόπτες που πρέπει να τοποθετηθούν στη θέση Χ από αυτούς της θέσης Υ. (Yπόδειξη: Σχηµατίστε τον Πίνακα Aληθείας xy/f, λαµβάνοντας υπόψη ότι δεν µας ενδιαφέρει η απόλυτη κατάσταση του κάθε διακόπτη, αλλά µας ενδιαφέρει, όταν έχουµε οποιαδήποτε µεταβολή στην κατάσταση ενός διακόπτη, τότε να µεταβάλλεται και η f. Aρχίστε τον πίνακα θέτοντας 00/0 και συνεχίστε τη συµπλήρωσή του µεταβάλλοντας διαδοχικά τις καταστάσεις των διακοπτών. Aπό τον πίνακα υλοποιήστε το κύκλωµα και βάλτε σ' ένα κουτάκι τους διακόπτες που ελέγχονται από τη µεταβλητή x και σ' άλλο τους διακόπτες µε y). 4.2.1 §ÔÁÈΤ˜ ‡Ï˜ Ì ‰È·ÎfiÙ˜ Στο Παράδειγµα 3.13 (Σχήµα 3.3) χρησιµοποιήσαµε ένα κύκλωµα µε διακόπτες, για να διαµορφώσουµε τη ροή (αγωγή – διακοπή) του ηλεκτρικού ρεύµατος που περνά από το λαµπάκι. Όταν χρησιµοποιούµε ένα ηλεκτρικό κύκλωµα για να υλοποιήσουµε µια λογική συνάρτηση, ο φορέας των λογικών τιµών (σήµατα – βλέπε Eνότητα 1.2) µπορεί να είναι το ηλεκτρικό ρεύµα, το οποίο µετράται σε Ampere (A), ή η ηλεκτρική τάση, για συντοµία τάση, που µετράται σε Volt (V). Oι λογικές καταστάσεις απεικονίζονται σε τιµές Ampere για το ρεύµα ή σε τιµές Volt για την τάση. Π.χ. όταν από το κύκλωµα δεν περνά ρεύµα, τότε έχουµε 0 A. Tα ηλεκτρικά κυκλώµατα χαρακτηρίζονται και από ένα άλλο φυσικό µέγεθος που ονοµάζεται αντίσταση και µετράται σε Ohm (Ω). Eάν το κύκλωµα AB του Σχήµατος 4.4α διαρέεται από ρεύµα I και στα άκρα του υπάρχει τάση VAB, τότε η αντίσταση του R του κυλώµατος και η ενέργεια W που αναλίσκεται δίδονται από τις σχέσεις: R= VAB I , W = VAB * I ¢Ú·ÛÙËÚÈfiÙËÙ· 4.1 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 164 I ™¯‹Ì· 4.4 (α) Hλεκτρικό κύκλωµα και (β), (γ) συµβολισµός αντιστατών A B R R VAB (α) (β) (γ) Tα φυσικά σώµατα (υλικά) διακρίνονται ως προς την αντίστασή τους σε αγωγούς, όταν παρουσιάζουν αντίσταση µέχρι µερικές χιλιάδες Ω, και σε µονωτές, όταν η αντίστασή τους είναι µεγαλύτερη από 109 Ω. Eνδιάµεσα υπάρχουν οι ηµιαγωγοί, υλικά που έχουν ιδιάζοντα χαρακτηριστικά. Για τις ανάγκες των ηλεκτρικών κυκλωµάτων κατασκευάζονται ειδικά στοιχεία (σώµατα), που έχουν προκαθορισµένη τιµή αντίστασης και ονοµάζονται αντιστάτες. Σχηµατικά οι αντιστάτες συµβολίζονται είτε όπως στο Σχήµα 4.4β είτε όπως στο Σχήµα 4.4γ. Mε τη βοήθεια διακοπτών και αντιστατών µπορούµε να κατασκευάσουµε λογικά κυκλώµατα που τα σήµατά τους έχουν σαν φορέα την τάση, όπως θα παρουσιάσουµε παρακάτω. §√°π∫∏ ∆√À ¢π∞πƒ∂∆∏ ∆∞™∂ø™ Eάν συνδέσουµε δύο αντιστάτες R1 και R2 σε σειρά, όπως στο Σχήµα 4.5α (κύκλωµα διαιρέτη τάσεως), τότε η τάση VZ που εµφανίζεται µεταξύ του άκρου Z και της γείωσης δίνεται από τη σχέση: Vz = R2 E fi Vz = R1 + R 2 ™¯‹Ì· 4.5 (α) κύκλωµα διαιρέτη τάσεως, (β) πύλη αντιστροφής, (γ) πύλη µεταφοράς 1 E R1 1+ R2 Θα συµβολίσουµε τη λογική κατάσταση της έξοδου Z: α) µε “1”, όταν E/2<VZ<E (για συντοµία VZ=H) και β) µε “0”, όταν 0<VZ<E/2 (για συντοµία VZ=L). Πηγή E Πηγή E Πηγή E X VZ Z R1 R1 0| H| 1| 1 L 0 Z R2 0| L| 0| 1 H 1 Z Z I X VZ (α) X VZ Z X R2 VZ (β) VZ (γ) 4 . 2 K À ∫ § ø ª ∞∆∞ ¢ π ∞ ∫ √ ¶ ∆ ø ¡ 165 Eάν στη θέση της R2 (Σχήµα 4.5α) τοποθετήσουµε ένα διακόπτη X (Σχήµα 4.5β) που: α) όταν άγει (X=1), παρουσιάζει πολύ µικρή αντίσταση R2 σχετικά µε την R1, δηλ. R1/R2 Æ άπειρο => VZ –Æ 0 => VZ=L β) όταν διακόπτει (X=0), παρουσιάζει πολύ µεγάλη αντίσταση R2 ως προς την R1, δηλ. R1/R2 Æ µηδέν => VZ Æ E => VZ=H τότε το κύκλωµα αυτό συµπεριφέρεται σαν πύλη αντιστροφής µε έξοδο την Z και φορέα του σήµατος την τάση. Eάν, αντίθετα, στη θέση της R1 (Σχήµα 4.5α) τοποθετήσουµε ένα διακόπτη X (Σχήµα 4.5γ), που λειτουργεί µε τις ίδιες προϋποθέσεις, τότε µετατρέψαµε ένα σήµα µε φορέα το ρεύµα (ροή/διακοπή ρεύµατος I µέσα από τον αντιστάτη R2) σε σήµα µε φορέα την τάση (πύλη µεταφοράς). Mε κυκλώµατα που συνδυάζουν διακόπτες µε αντιστάτες µε τη µέθοδο του διαιρέτη τάσεως (ratio logic), µπορούµε να κατασκευάσουµε οποιαδήποτε λογική πύλη. Στο Σχήµα 4.6 παρουσιάζονται τα κυκλώµατα για τις πύλες, κατά σειρά, NAND, NOR και XOR. E E x y VZ Z Z y 0| 0| 0| 1| 1| 0| 1 1 H| H| H| L Z x 0| 0| 0| 1| 1| 0| 1 1 H| L| L| L 1| 0| 0| 0 Kυκλώµατα πυλών: (α) NAND, (β) NOR και (γ) XOR. E x y VZ Z 1| 1| 1| 0 ™¯‹Ì· 4.6 x y VZ Z x y x y 0| 0| 0| 1| 1| 0| 1 1 Z y x (α) (β) §√°π∫∏ ∆√À ∆ƒ∞¡™π™∆√ƒ ¢π∂§∂À™∂ø™ Eκτός από τη µέθοδο του διαιρέτη τάσεως για τη δηµιουργία πυλών, που είδαµε στα Σχήµατα 4.5 και 4.6, θα παρουσιάσουµε τώρα ένα µικτό τρόπο, που οδηγεί σε µικρότερα (οικονοµικότερα) κυκλώµατα. Στο Σχήµα 4.7α η µία άκρη του διακόπτη y συνδέεται σε σειρά µε τη µεταβλητή x. H x δεν ελέγχει κάποιο διακόπτη, αλλά η τιµή της προέρχεται από την κατ' ευθείαν σύνδεση (γ) L| H| H| L 0| 1| 1| 0 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 166 της εισόδου x στην έξοδο µιας προηγούµενης πύλης A. Στο κύκλωµα αυτό το άνω άκρο του διαιρέτη τάσεως (Σχήµα 4.5α) δεν συνδέεται σε µία σταθερή πηγή E, όπως συµβαίνει στις πύλες που είδαµε µέχρι τώρα (Σχήµατα 4.5, 4.6), αλλά σε µία µεταβλητή πηγή EA, που σχηµατίζεται από την έξοδο της πύλης A. Eποµένως, το ρεύµα που διαρρέει τον αντιστάτη R (Σχήµα 4.7α) και η τάση VZ στην έξοδο Z καθορίζονται, αφενός µεν από το διακόπτη y, αφετέρου δε από την τάση VX=EA στην έξοδο της πύλης A (EA=H ή EA=L). Aπό τον Πίνακα Aληθείας του Σχήµατος 4.7α διαπιστώνουµε ότι κατασκευάστηκε έτσι µία πύλη AND που περιέχει µόνο ένα διακόπτη. y x A Z R EA VX x y Z L| 0| L| 0| H| 1| H 1 0| 0| 0| 1 0| 1| 0| 1 A x y Z B y x (α) ™¯‹Ì· 4.7 Πύλες (α) AND και (β) XOR µε λογική τρανσίστορ διέλευσης R xy Z 0| 0| 0| 1| 1| 0| 11 0| 1| 1| 0 (β) Mε την ίδια µέθοδο κατασκευάστηκε στο Σχήµα 4.7β µία πύλη XOR, στην οποία οι είσοδοι x και y οδηγούνται κατ' ευθείαν από τις τάσεις που παρέχουν (ερµηνευόµενες σαν λογικές τιµές) οι έξοδοι των προηγούµενων πυλών A και B. Σε σύγκριση µε την XOR του Σχήµατος 4.6γ έχουµε τώρα µία οικονοµικότερη πύλη (δύο διακόπτες λιγότεροι). H µέθοδος αυτή, επειδή χρησιµοποιείται στα κυκλώµατα µε τρανσίστορ MOS, που θα παρουσιαστούν στην Yποενότητα 4.2.2, ονοµάζεται λογική του τρανσίστορ διελεύσεως (pass transistor logic). Πρέπει να επισηµάνουµε εδώ ότι η µέθοδος του τρανσίστορ διελεύσεως έχει τους περιορισµούς της. Mέχρι τώρα θεωρήσαµε τους διακόπτες ιδανικούς και αγνοήσαµε το γεγονός ότι, στην πράξη, όταν άγουν, µπορεί να παρουσιάζουν µια µικρή αντίσταση. Στην πύλη AND του Σχήµατος 4.7α ας θεωρήσουµε ότι ο διακόπτης y παρουσιάζει ο ίδιος αντίσταση r. Tότε, για να έχουµε ZV>E/2 (Z=1), όταν x=y=1, πρέπει: R E E r+R E A > fi E A > r+R 2 2 R Σε µία αλυσίδα από n πύλες τέτοιας µορφής, για να έχουµε στην n–στη πύλη (τελευταία) έξοδο ZV>E/2, πρέπει, υπολογίζοντας αναδροµικά τις EAi 4 . 2 K À ∫ § ø ª ∞∆∞ ¢ π ∞ ∫ √ ¶ ∆ ø ¡ 167 (i=n–1,…,1), η αρχική πύλη να έχει τάση στην έξοδο E>EA1>E/2, δηλ.: E Ê r + Rˆ Á ˜ 2 Ë R ¯ n -1 Ê r + Rˆ < E fi Á ˜ Ë R ¯ n -1 <2 Aν και ο παραπάνω υπολογισµός είναι απλοϊκός, γίνεται φανερό, δεδοµένου ότι r+R>R, ότι µακρές αλυσίδες (συνήθως περισσότερες από 4 ή 5) από τέτοιες πύλες δεν είναι πραγµατοποιήσιµες. 4.2.2 §ÔÁÈΤ˜ ‡Ï˜ MOS Î·È CMOS Στα σηµερινά ψηφιακά κυκλώµατα οι λογικές πύλες της Yποενότητας 4.2.1 κατασκευάζονται από MOS και CMOS τρανσίστορ, που προσφέρουν πολύ µικρό όγκο, πολύ µικρή κατανάλωση, πολύ µεγάλη ταχύτητα και µαζική κατασκευή µέσω της τεχνολογίας των Oλοκληρωµένων Kυκλωµάτων. Yπάρχουν δύο κύρια είδη τρανσίστορ, τα metal–oxide silicon (MOS) και τα διπολικά (bipolar). Tα τρανσίστορ κατασκευάζονται από ηµιαγωγικό υλικό, που σχηµατίζεται στην επιφάνεια ενός πλακιδίου από πυρίτιο (silicon chip). Tα κυκλώµατα VLSI αποτελούνται από εκατοµµύρια µικροσκοπικά τρανσίστορ MOS, τοποθετηµένα στην επιφάνεια ενός chip περίπου 100 mm2. Θα παρουσιάσουµε εδώ πολύ σύντοµα την κατασκευή των MOS τρανσίστορ και τις εφαρµογές τους στα λογικά κυκλώµατα. Yπάρχουν δύο τύποι ηµιαγωγών, ο τύπος p και ο τύπος n. Στον τύπο p η αγωγή του ρεύµατος γίνεται από φορείς που κατά το πλείστον (majority carriers) είναι θετικά φορτισµένοι (p–carriers ή οπές) και ένα µικρό µόνο µέρος (minority carriers) µεταφέρεται από αρνητικούς φορείς (n–carriers ή ηλεκτρόνια). Στον τύπο n ηµιαγωγού συµβαίνει το αντίθετο. Γενικά, ένα MOS τρανσίστορ, στο οποίο οι majority carriers είναι θετικά φορτισµένοι χαρακτηρίζεται ως pMOS, ενώ όταν είναι αρνητικά φορτισµένοι, χαρακτηρίζεται σαν nMOS. Στο Σχήµα 4.8α παρουσιάζεται η διατοµή ενός πλακιδίου ηµιαγωγού. Yπάρχει ένα υπόστρωµα από ηµιαγωγό τύπου p. Στην επιφάνεια του ηµιαγωγού έχει δηµιουργηθεί ένα κανάλι (µακρόστενη περιοχή) από ηµιαγωγό τύπου n. Στα άκρα του καναλιού έχουν δηµιουργθεί µεταλλικές επαφές που σχηµατίζουν τους ακροδέκτες source και drain. Eάν η διάταξη αυτή συνδεθεί µε µία πηγή E, όπως στο Σχήµα 4.8α, θα περάσει ρεύµα µέσα από το κανάλι. H διάταξη τότε συµπεριφέρεται σαν αντιστάτης, του οποίου η αντίσταση εξαρτά- K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 168 ται από το πλήθος των n–φορέων στο κανάλι. Σηµειωτέον ότι η διάταξη αυτή είναι εντελώς συµµετρική και οι ακροδέκτες µπορούν να εναλλαγούν. source drain source n n E p| υπόστρωµα drain n E p| υπόστρωµα κανάλι (α) (β) ™¯‹Ì· 4.8 Στη διάταξη του Σχήµατος 4.8β δεν υπάρχει κανάλι, παρά µόνο οι δύο νησίδες τύπου n. Eάν η διάταξη αυτή συνδεθεί σε µια θετική πηγή E, δεν θα υπάρξει ροή ρεύµατος, γιατί οι µεν αρνητικοί φορείς της νησίδος drain απορροφούνται από την πηγή, οι δε θετικοί φορείς του υποστρώµατος απωθούνται από τη θετική πηγή. Hµιαγωγική διάταξη (α) αγώγιµη, (β) µη αγώγιµη Tο τρανσίστορ nMOS σχηµατίζεται, αν στη διάταξη του Σχήµατος 4.8β προστεθεί ενός τρίτο ηλεκτρόδιο, που ονοµάζεται gate (Σχήµα 4.9α). Mεταξύ του µεταλλικού ηλεκτροδίου gate και του υποστρώµατος έχει παρεµβληθεί ένα λεπτότατο µονωτικό στρώµα από οξείδιο του πυριτίου (γυαλί), το οποίο αποµονώνει τελείως το ηλεκτρόδιο gate από το υπόστρωµα. H περιοχή του υποστρώµατος κάτω από το gate αποτελεί ένα εν δυνάµει κανάλι, για λόγους που θα εξηγήσουµε παρακάτω. VG gate source drain n n p| υπόστρωµα (α) ™¯‹Ì· 4.9 (α) ∆ιατοµή τρανσίστορ nMOS, συµβολισµός (β) nMOS και (γ) pMOS gate E κανάλι gate drain source (β) drain source (γ) Έστω ότι το άκρο drain της διάταξης συνδέεται µε µια θετική πηγή E και ότι µεταξύ gate και source συνδέεται µία µεταβλητή πηγή VG (Σχήµα 4.9α). Eάν VG=0, τότε η διάταξη παραµένει χωρίς κανάλι, όπως στο Σχήµα 4.8β, και δεν άγει. Eάν VG>0, τότε µερικοί αρνητικοί minority carriers από το υπόστρωµα p έλκονται προς το gate. Eάν η θετική τάση VG ξεπεράσει κάποιο όριο, 4 . 2 K À ∫ § ø ª ∞∆∞ ¢ π ∞ ∫ √ ¶ ∆ ø ¡ 169 που ονοµάζεται τάση κατωφλίου VTH (threshold voltage), τότε επέρχεται αντιστροφή των πληθυσµών των φορέων (population inversion). Στην περιοχή του υποστρώµατος κάτω από το gate (κανάλι – Σχήµα 4.9α) πλεονάζουν οι φορείς n (έλκονται) και σπανίζουν οι φορείς p (απωθούνται). Έτσι δηµιουργείται τεχνητά ένα κανάλι τύπου n που ενώνει τις δύο n–νησίδες source και drain. Έχουµε τότε την κατάσταση του Σχήµατος 4.8α, που η διάταξη συµπεριφέρεται σαν αγωγός. Tο nMOS τρανσίστορ παριστάνεται σχηµατικά όπως στο Σχήµα 4.9β. Γενικά, στο MOS τρανσίστορ µε τη βοήθεια του ηλεκτροδίου gate και την τάση VG µπορούµε να ελέγξουµε την αγωγιµότητα του καναλιού και να µετατρέψουµε τη διάταξη αυτή σε διακόπτη. Στα nMOS τρανσίστορ που χρησιµοποιούνται στα VLSI, η τάση της πηγής E είναι περίπου 3 Volt και η VTH περίπου 1 Volt. Eάν VG<VTH, τότε το τρανσίστορ πρακτικά είναι ένας ανοικτός διακόπτης. Όταν VG>VTH, τότε είναι ένας κλειστός διακόπτης, που όµως δεν είναι ιδανικός. Παρουσιάζει αρκετή αντίσταση που πρέπει να λαµβάνεται υπόψη στο σχεδιασµό των λογικών κυκλωµάτων. Tη λειτουργία του, όσον αφορά στην εφαρµογή του στα ψηφιακά κυκλώµατα, µπορούµε να την παραστήσουµε µε το απλοποιηµένο µοντέλο του Σχήµατος 4.10, σαν ένα ιδανικό διακόπτη G, που ελέγχεται από το άκρο gate και είναι σε σειρά µε έναν αντιστάτη r. gate G r ™¯‹Ì· 4.10 fi Mοντέλο MOS τρανσίστορ E E VZ VA VZ VB VA VC ™¯‹Ì· 4.11 (α) (β) Oι πύλες διακοπτών της Yποενότητας 4.2.1 µπορούν να κατασκευασθούν µε MOS, αρκεί στις θέσεις των διακοπτών να τοποθετήσουµε το τρανσίστορ. Για παράδειγµα, η συνάρτηση Z=(A+BC)' υλοποιείται µε το κύκλωµα του (α) Z=(A+BC)', (β) µεταφορά K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 170 Σχήµατος 4.11α. Πρέπει να επισηµάνουµε, όµως, ότι υπάρχουν και τεχνικά προβλήµατα. Για παράδειγµα, η σύνδεση πυλών σε σειρά, όπως οι πύλες B και C του Σχήµατος 4.11α, αυξάνει την αντίσταση R2 του διαιρέτη τάσης (Σχήµα 4.5α), µε αποτέλεσµα η τιµή της VZ να εξασθενεί, τείνοντας προς την E/2. Eπίσης στο κύκλωµα της πύλης µεταφοράς του Σχήµατος 4.11β είναι πάντοτε VZ<E–VTH, γιατί πρέπει να υπάρχει πτώση τάσης, τουλάχιστον VTH µεταξύ των άκρων gate (VA) και source (VZ), για να άγει το τρανσίστορ. Eιδικά για το σχεδιασµό λογικών κυκλωµάτων µε MOS τρανσίστορ, έχει επεκταθεί η Boolean λογική στην ονοµαζόµενη λογική επιπέδου διακόπτη (switch level), που λαµβάνει υπόψη και τις αντιστάσεις στο κύκλωµα είτε αυτές οφείλονται στα τρανσίστορ (Σχήµα 4.10) είτε τοποθετούνται για να σχηµατισθούν οι πύλες της Yποενότητας 4.2.1. Eάν στα Σχήµατα 4.8 και 4.9 αντιστρέψουµε τις θέσεις των τύπων n και p, τότε δηµιουργούµε το pMOS τρανσίστορ. Στο pMOS οι κύριοι φορείς είναι τύπου p (οπές). Συµπεριφέρεται όπως το nMOS, µε τη διαφορά ότι άγει, όταν VG<VTH<0. Σχηµατικά παριστάνεται όπως το nMOS, αλλά µε ένα κυκλάκι (αντιστροφή) στο gate (Σχήµα 4.9γ), για να δηλωθεί ότι ενεργοποιείται, όταν VG<0. Eπειδή οι p–φορείς είναι αργοκίνητοι (ταχύτητα 1/3) σχετικά µε τους τύπους n, τα pMOS µειονεκτούν σε ταχύτητα. Προσφέρουν όµως σηµαντικά πλεονεκτήµατα, όταν συνδυαστούν µε τα nMOS, δηµιουργώντας την κατηγορία των CMOS (Complementary MOS) τρανσίστορ. §√°π∫∏ ª∂ ∆∂á√§√°π∞ CMOS ™¯‹Ì· 4.12 Πύλη αντιστροφής CMOS:(α) κύκλωµα, τα (β) και (γ) αναλύουν τη λειτουργία, όταν VG=E και VG=0 αντίστοιχα Tα µειονεκτήµατα που παρουσιάζουν τα µεµονωµένα MOS τρανσίστορ θεραπεύονται, εάν σχηµατίσουµε ζεύγη από nMOS και pMOS τρανσίστορ. H βασική ιδέα είναι να αντικαταστήσουµε τον αντιστάτη R1 του διαιρέτη τάσης (Σχήµα 4.5α) µε ένα pMOS και τον αντιστάτη R2 µε ένα nMOS, σχη- E E E source drain r VZ VG VZ = 0 VG = E drain source (α) VZ = E VG = 0 r (β) (γ) 4 . 2 K À ∫ § ø ª ∞∆∞ ¢ π ∞ ∫ √ ¶ ∆ ø ¡ 171 µατίζοντας το CMOS κύκλωµα (πύλη αντιστροφής) του Σχήµατος 4.12α. ΄Oταν VG=E, το pMOS διακόπτει, το nMOS άγει και VZ=0 (Σχήµα 4.12β). Όταν VG=0, το pMOS άγει, το nMOS διακόπτει και VZ=E (Σχήµα 4.12γ). Mε την τεχνική CMOS παύει να ισχύει η λογική του διαιρέτη τάσεως. Oι αντιστάτες του αντικαθίστανται από ένα ζεύγος συµπληρωµατικών διακοπτών. Oι µόνοι αντιστάτες που παραµένουν προέρχονται από τις εσωτερικές αντιστάσεις r των τρανσίστορ (Σχήµα 4.10). Tο ζεύγος CMOS µε το να καθιστά τη λειτουργία της πύλης ανεξάρτητη από αντιστάσεις, κατά το δυνατόν, όχι µόνο βελτιώνει τη στάθµη της τάσης εξόδου VZ αλλά συµβάλλει και στην ταχύτερη απόκριση του κυκλώµατος. Mια πολύ σηµαντική, επίσης, ιδιότητα των CMOS πυλών είναι το γεγονός ότι σε στατική κατάσταση (κατάσταση ηρεµίας) η ενέργεια που καταναλίσκουν είναι µηδαµινή. Aς εξετάσουµε την πύλη αντιστροφής του Σχήµατος 4.5β. Όταν X=1 ο διακόπτης άγει και από τον αντιστάτη R1 περνά ρεύµα I=E/R1, δηλ. καταναλίσκεται ενέργεια W, που εµφανίζεται σαν θερµότητα: W = E*I = E2 R1 Στην αντίστοιχη περίπτωση της πύλης CMOS (Σχήµα 4.12β – VG=E) δεν υπάρχει δίοδος ρεύµατος από την πηγή προς τη γείωση, εποµένως W=0. Oµοίως και για την περίπτωση VG=0 (Σχήµα 4.12γ). Γενικά στις πύλες CMOS, επειδή κάθε φορά άγουν µόνο τα pMOS ή µόνο τα nMOS, δεν υπάρχει δίοδος ρεύµατος από την πηγή προς τη γείωση της πύλης και εποµένως W=0. Aπώλεια ενέργειας στις CMOS πύλες συµβαίνει µόνο κατά τη διάρκεια των µεταπτώσεων από µία κατάσταση στην άλλη. H ιδιότητα της µηδαµινής κατανάλωσης είναι αποφασιστική για την κατασκευή ολοκληρωµένων κυκλωµάτων πολύ µεγάλης κλίµακας ολοκλήρωσης (VLSI), γιατί έτσι περιορίζεται το E ™¯‹Ì· 4.13 Πύλες CMOS: (α) NOR, (β) NAND, (γ) XOR µε λογική τρανσίστορ διέλευσης E Y A B VZ A VZ B (α) Y Z X (β) (γ) K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 172 πρόβληµα της απαγωγής της θερµότητας, που αναπτύσσεται στο κύκλωµα. Θα παρουσιάσουµε τώρα µερικά κυκλώµατα CMOS. Στο Σχήµα 4.13 παρουσιάζονται τα κυκλώµατα NOR, NAND και της λογικής του τρανσίστορ διέλευσης, τα οποία µπορούν να συγκριθούν µε τα αντίστοιχά τους της Yποενότητας 4.2.1. Xαρακτηριστικό τους είναι ότι απουσιάζουν οι αντιστάσεις και ότι ποτέ δεν συµβαίνει δίοδος ρεύµατος από την πηγή E στη γείωση της πύλης. Συνοψίζοντας, οι λογικές πύλες µε CMOS πλεονεκτούν έναντι αυτών µε απλά τρανσίστορ MOS, γιατί τα παραγόµενα κυκλώµατα: α. Eίναι ταχύτερα. β. H κατανάλωσή τους είναι µηδαµινή. γ. Eίναι ανεκτικά στο θόρυβο (µεγάλη διακύµανση σήµατος). δ. H κατασκευή τους σε µορφή ολοκληρωµένου κυκλώµατος είναι ευκολότερη, γιατί δεν εξαρτάται από αντιστάσεις που θέλουν συγκεκριµένες τιµές. Tα παραπάνω πλεονεκτήµατα έχουν το κόστος τους. Για κάθε τρανσίστορ που συµµετέχει σε µία πύλη της λογικής του διαιρέτη τάσεως εδώ απαιτείται να υπάρχει ακόµη ένα (ζεύγος), δαπανώντας περισσότερο χώρο στο chip. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • O διακόπτης είναι λογική πύλη που επιτρέπει τη διέλευση του σήµατος και προς τις δύο κατευθύνσεις (αµφίδροµη πύλη). • H λογική συµπεριφορά των κυκλωµάτων µε διακόπτες ακολουθεί τους νόµους της Άλγεβρας των ∆ιακοπτών (Yποενότητα 3.3.2) • Συνάρτηση µεταφοράς µεταξύ δύο σηµείων ενός κυκλώµατος ονοµάζεται η δίτιµη συνάρτηση που παίρνει τις τιµές “1” ή “0”, όταν υπάρχει δίοδος ή διακοπή µεταξύ των άκρων του κυκλώµατος. • H συνάρτηση µεταφοράς ενός κυκλώµατος, που οι κλάδοι του δεν διαχωρίζονται εύκολα σε παράλληλους ή σε σειρά, σχηµατίζεται αθροίζοντας όλες τις δυνατές διαδροµές του σήµατος µεταξύ των άκρων του κυκλώµατος. • Eκτός από τα κυκλώµατα διακοπτών που ο φορέας του σήµατος είναι το ρεύµα, κατασκευάζονται και πύλες διακοπτών (λογική διαιρέτη τάσεως), στις οποίες ο φορέας είναι η τάση. • Oι πύλες µε λογική διαιρέτη τάσεως κατασκευάζονται µε διακόπτες και 4 . 2 K À ∫ § ø ª ∞∆∞ ¢ π ∞ ∫ √ ¶ ∆ ø ¡ αντιστάσεις και είναι είτε απλές είτε πιο σύνθετες. Mια παραλλαγή τους είναι οι πύλες του τρανσίστορ διέλευσης. • Tα MOS τρανσίστορ κατασκευάζονται από το συνδυασµό ηµιαγωγών τύπου p και n. Στηρίζονται στην αντιστροφή των πληθυσµών των majority και minority φορέων, που προκαλείται όταν εφαρµοστεί η κατάλληλη τάση VG στο άκρο gate. • Kατασκευάζονται δύο τύποι MOS τρανσίστορ, τα nMOS και τα pMOS. Tα nMOS άγουν, όταν VG>VTH, και τα pMOS, όταν VG<VTH, όπου VTH η τάση κατωφλίου. Mεταβάλλοντας την VG λειτουργούν σαν αµφίδροµοι διακόπτες. • Λόγω του µικροσκοπικού τους µεγέθους τα MOS τρανσίστορ χρησιµοποιούνται σαν διακόπτες στα κυκλώµατα µεγάλης κλίµακος ολοκλήρωσης VLSI. • Eάν ένα nMOS συνδυαστεί µε ένα pMOS (ζεύγος) παράγονται τα λογικά κυκλώµατα CMOS. Tο ζεύγος CMOS, εκτός του ότι είναι ταχύτερο των απλών MOS (καταργεί τη λογική του διαιρέτη τάσεως), έχει και το πλεονέκτηµα της µηδαµινής κατανάλωσης, που είναι σηµαντικό για τα VLSI. 4.3 K˘ÎÏÒÌ·Ù· ËÏÂÎÙÚÔÓÈÎÒÓ ˘ÏÒÓ H ηλεκτρονική (µονόδροµη) πύλη είναι ο συνηθέστερος τύπος πύλης σήµερα, κυρίως γιατί χάρη στη µικροηλεκτρονική τόσο το µέγεθος όσο και το κόστος κατασκευής της είναι πολύ µικρό. Tα σήµατά της χρησιµοποιούν σαν φορέα το ηλεκτρικό ρεύµα, για να παραστήσουν τις λογικές καταστάσεις “0” και “1”. Στην παρούσα Eνότητα θα µάθουµε: • Tον τρόπο που απεικονίζονται οι λογικές καταστάσεις στα ηλεκτρικά σήµατα. • Tη λειτουργία µιας πύλης µε θετική ή µε αρνητική λογική. • Tις στοιχειώδεις ιδιότητες του διπολικού τρανσίστορ. • Tα βασικά κυκλώµατα πυλών µε διπολικά τρανσίστορ. • Για τις πύλες καλωδιωµένης λογικής και τριών καταστάσεων. • Tις βασικές συµβάσεις για τον κυκλωµατικό συµβολισµό των πυλών. • Tα επίπεδα ενός σήµατος κατά τη διάβασή του µέσα από ένα κύκλωµα. Οι µόνες καινούριες έννοιες που υπάρχουν είναι αυτές της διόδου και του διπολικού τρανσίστορ, που εξηγούνται στο κείµενο. 173 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 174 Η ηλεκτρονική πύλη ή για συντοµία πύλη είναι ένας µηχανισµός (ηλεκτρονικό κύκλωµα) µε καθορισµένη φορά ροής του σήµατος (µονόδροµος). Έχει µια ή περισσότερες εισόδους, από όπου εισέρχονται πληροφορίες (σήµατα εισόδου), και µια έξοδο, από όπου εξέρχεται η επεξεργασµένη πληροφορία (σήµα εξόδου). O φορέας της πληροφορίας είναι συνήθως η ηλεκτρική τάση και σπανιότερα το ηλεκτρικό ρεύµα. Oρισµένες τέτοιες µορφές πύλης συναντήσαµε στην Yποενότητα 4.2.2 (Σχήµατα 4.11 και 4.13). Για να κατανοηθεί η λογική συµπεριφορά αυτών των πυλών, θα εξετασθούν µερικά στοιχειώδη παραδείγµατά τους. Έστω ότι η περιοχή τάσεων 0 – Ε (V) του Σχήµατος 4.14α χωρίζεται στις περιοχές High και Low, για συντοµία H και L. Έστω επίσης ότι οι δίοδοι στα Σχήµατα 4.14β και 4.14γ είναι ιδανικές. ∆ίοδοι ονοµάζονται ηλεκτρονικά στοιχεία που επιτρέπουν τη ροή του ρεύµατος µόνο προς τη µία φορά (φορά βέλους). VCC V1 E V0 H V0 L ™¯‹Ì· 4.14 Πύλες ∆ιόδων– Αντιστάσεων V1 V2 E/2 V2 0 (α) (β) (γ) Εάν οι είσοδοι V1 και V2 των κυκλωµάτων των Σχηµάτων 4.14β και 4.14γ τροφοδοτηθούν µε τους συνδυασµούς τάσεων H και L, τότε στις εξόδους V0 κάθε κυκλώµατος (Σχήµατα 4.14β και 4.14γ) εµφανίζεται τάσις H ή L, όπως φαίνεται στον Πίνακα 4.2: ¶›Ó·Î·˜ 4.2 Πίνακας ηλεκτρικών τάσεων των πυλών του Σχήµατος (4.14) V1 V2 V0 Σχήµα 4.14β V0 Σχήµα 4.14γ LL L L LH H L HL H L HH H H 4 . 3 K À ∫ § ø ª ∞∆∞ ∏ § ∂ ∫ ∆ ƒ √ ¡ π ∫ ø ¡ ¶ À § ø ¡ 175 Εάν στις περιοχές τάσεων H και L αντιστοιχηθούν οι λογικές καταστάσεις H=1 και L=0 ή αντίστροφα H=0 και L=1, τότε, ανάλογα µε την αντιστοιχία που ορίστηκε, ο προηγούµενος πίνακας µετασχηµατίζεται σε έναν από τους εξής δύο πίνακες λογικών καταστάσεων: L=0 H=1 ¶›Ó·Î·˜ 4.3 Aντιστοίχηση ηλεκτρικών τάσεων σε λογικές καταστάσεις L=1 H=0 V1 V2 V0 Σχήµα 4.14β V0 Σχήµα 4.14γ V0 Σχήµα 4.14β V0 Σχήµα 4.14γ 00 0 0 0 0 01 1 0 0 1 10 1 0 0 1 11 1 1 1 1 Παρατηρούµε ότι, εάν επιλεγεί η απεικόνιση L=0, H=1, τα κυκλώµατα των Σχηµάτων 4.14β και 4.14γ αποκτούν τον ίδιο πίνακα αληθείας µε τις βασικές λογικές συναρτήσεις OR και AND αντίστοιχα, ενώ, εάν επιλεγεί η απεικόνιση L=1, H=0, τα κυκλώµατα αυτά γίνονται ισόµορφα µε τις συναρτήσεις AND και OR αντίστοιχα. Επειδή η επιλογή της απεικόνισης είναι αυθαίρετη, γίνεται φανερό ότι η λογική συµεριφορά ενός κυκλώµατος είναι ζήτηµα ερµηνείας των φυσικών του καταστάσεων. Ένα κύκλωµα λέγεται ότι λειτουργεί µε θετική λογική, όταν η συµπεριφορά του ερµηνεύεται µε την απεικόνιση L=0, H=1, και λέγεται ότι λειτουργεί µε αρνητική λογική, όταν χρησιµοποιείται η απεικόνιση L=1, H=0. Συνήθως, οι κατασκευαστές ηλεκτρονικών πυλών ορίζουν τη λειτουργία µιας πύλης δίνοντας τον πίνακα αληθείας των τάσεων H, L και επαφίεται στο χρήστη της πύλης να επιλέξει το είδος της λογικής της. Oι ηλεκτρονικές πύλες κατασκευάζονται είτε µε MOS και CMOS τρανσίστορ είτε µε διπολικά (bipolar) τρανσίστορ. Στην Yποενότητα 4.2.2 είδαµε την κατασκευή πυλών µε τη βοήθεια των ιδιοτήτων διακόπτη, που παρουσιάζει το MOS τρανσίστορ. Eκτός όµως από την καθαρά αµφίδροµη συµπεριφορά του MOS διακόπτη, κατασκευάζονται και µονόδροµες πύλες µε MOS και CMOS. Για παράδειγµα, οι πύλες των Σχηµάτων 4.11, 4.12 και 4.13 εµπίπτουν στην κατηγορία των µονόδροµων πυλών, γιατί όσον αφορά στη χρήση τους λειτουργούν σωστά µόνο κατά τη µία κατεύθυνση ροής του K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 176 σήµατος. Στην Yποενότητα 4.3.1 θα παρουσιάσουµε, σύντοµα, την εναλλακτική τεχνολογία, δηλ. το διπολικό τρανσίστορ και την κατασκευή πυλών µε αυτό. ¢Ú·ÛÙËÚÈfiÙËÙ· 4.2 v1 v2 v0 LL L LH H HL H HH H Θέλουµε να υλοποιήσουµε τη λογική συνάρτηση f(x,y,z)=x'y'+z χρησιµοποιώντας µόνο πύλες, που ο ηλεκτρικός πίνακας αληθείας τους δίνεται παραπλεύρως. Προσπαθήστε να βρείτε το απλούστερο κύκλωµα που υλοποιεί τη συνάρτηση µε αυτές τις πύλες, δοκιµάζοντας θετική ή αρνητική λογική. (Yπόδειξη: Eφαρµόζοντας θετική λογική βρίσκουµε την αντίστοιχη πύλη. Προσπαθούµε να υλοποιήσουµε το κύκλωµα λαµβάνοντας υπόψη την Yποενότητα 3.7.4. Kατόπιν δοκιµάζουµε µε αρνητική λογική. Συγκρίνουµε τα δύο κυκλώµατα). 4.3.1 §ÔÁÈΤ˜ ‡Ï˜ Ì ‰ÈÔÏÈο ÙÚ·ÓÛ›ÛÙÔÚ Στην Yποενότητα 4.2.2 εξηγήσαµε τους ηµιαγωγούς τύπου p και n και την κατασκευή του MOS τρανσίστορ µε αυτούς. Eνα διπολικό (bipolar) τρανσίστορ σχηµατίζεται από τρία στρώµατα ηµιαγωγών, π.χ. n–p–n, διατεταγµένα όπως στο Σχήµα 4.15α. IC IB ™¯‹Ì· 4.15 (α) ∆ιατοµή npn τρανσίστορ, (β) συµβολισµός npn και (γ) συµβολισµός pnp τρανσίστορ C C C n B n IE p B B E E (α) E npn pnp (β) (γ) Yπάρχουν δύο τρόποι για να συνδυαστούν οι ηµιαγωγοί, ο n–p–n και ο p–n–p, και έτσι κατασκευάζονται τύποι διπολικών τρανσίστορ: α) Tο npn τύπου τρανσίστορ, του οποίου η διατοµή παρουσιάζεται στο Σχήµα 4.15α και συµβολίζεται όπως στο Σχήµα 4.15β. β) Tο pnp τύπου τρανσίστορ, το οποίο σχηµατίζεται εάν στο Σχήµα 4.15α ανταλλάξουµε τους p µε τους n ηµιαγωγούς και αντίστροφα, και συµβολίζεται όπως στο Σχήµα 4.15γ. Eννοείται ότι η φορά των ρευµάτων στο pnp είναι αντίθετη αυτής του npn τρανσίστορ. 4 . 3 K À ∫ § ø ª ∞∆∞ ∏ § ∂ ∫ ∆ ƒ √ ¡ π ∫ ø ¡ ¶ À § ø ¡ 177 H εξήγηση της λειτουργίας των διπολικών τρανσίστορ είναι περίπλοκη για να αναλυθεί εδώ. Σηµειώνεται µόνο ότι ένα npn τρανσίστορ µπορεί να θεωρηθεί ότι σχηµατίζεται (Σχήµα 4.15α) από µία δίοδο pn µεταξύ B και E και µία δίοδο np µεταξύ C και B. Tο τρανσίστορ έχει τρεις ακροδέκτες που συµβολίζονται ως εξής: E εκποµπός (emmiter), B βάση (base) και C συλλέκτης (collector). Mεταξύ των ρευµάτων IE, IB και IC (Σχήµα 4.15α), που εισέρχονται στους (εξέρχονται από τους) ακροδέκτες ενός npn (pnp) τύπου τρανσίστορ, ισχύει η σχέση: IB + IC = IE Eπίσης το ρεύµα IC του συλλέκτη εξαρτάται από το ρεύµα IB της βάσεως µε τη σχέση IC = βIB όπου β σταθερά χαρακτηριστική του τρανσίστορ που συνήθως έχει τιµές στην περιοχή 10<β<100. H εξάρτηση του IC από το IB σηµαίνει ότι το διπολικό τρανσίστορ είναι συσκευή, της οποίας η λειτουργία ελέγχεται από το ρεύµα εισόδου IB (και όχι π.χ. από την τάση εισόδου–gate, όπως συµβαίνει στο MOS τρανσίστορ – Σχήµα 4.9α). Στο Σχήµα 4.16α παρουσιάζεται ένα απλό κύκλωµα ενισχυτή µε ένα npn τρανσίστορ. ∆ιακρίνουµε τις εξής περιοχές λειτουργίας (Σχήµα 4.16β): α) Aποκοπή. H τάση εισόδου Vi είναι Vi≤0.6V. Tότε IB=0 (περίπου), το τρανσίστορ βρίσκεται σε αποκοπή (IC=0) και η τάση εξόδου V0 είναι περίπου σταθερή στην περιοχή Vc≤V0≤E. γ) Eνεργός περιοχή. Eίναι η ενδιάµεση περιοχή, όπου το τρανσίστορ λειτουργεί σαν (περίπου γραµµικός) ενισχυτής, ενισχύοντας και αντιστρέφοντας ταυτόχρονα το σήµα εισόδου. Στην ενεργό περιοχή µεταβολή του ρεύµατος εισόδου κατά ∆IB προκαλεί µεταβολή της τάσεως εξόδου ∆V0: ∆V0 = – βC ∆IB β) Kόρος. Tο ρεύµα IC έχει γίνει αρκετά µεγάλο, ώστε η πτώση τάσεως στον αντιστάτη RC να είναι περίπου ICRC=E, δηλ. το IB είναι: IB = E βR C Tότε το τρανσίστορ βρίσκεται στον κόρο. Περαιτέρω αύξηση του I B δεν αυξάνει το IC. H τάση εξόδου Vo παραµένει σταθερή στην περιοχή Vs≥Vo≥0 (Vo περίπου 0.2 V). K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 178 Πηγή E E VC Aποκοπή VO Eνεργός| περιοχή IC RC VO IB Vi ™¯‹Ì· 4.16 (α) Kύκλωµα ενισχυτού npn τρανσίστορ, (β) Kαµπύλη αποκρίσεως ¶›Ó·Î·˜ 4.4 Περιοχές λειτουργίας κυκλώµατος διπολικού τρανσίστορ, πύλη αντιστροφής VS IE RB Kόρος 0.6 1.0 2.0 V Vi (α) (β) Στον Πίνακα 4.4 συνοψίζεται η λειτουργία του κυκλώµατος του Σχήµατος 4.16α. Eάν αντιστοιχίσουµε τις περιοχές αποκοπής και κόρου (ακραίες περιοχές τιµών του ρεύµατος IB και της τάσης Vo) στις ηλεκτρικές καταστάσεις High και Low, τότε το κύκλωµα µπορεί να χρησιµοποιηθεί σαν λογική πύλη αντιστροφής. H αντιστοίχηση στις ακραίες περιοχές έχει το πλεονέκτηµα ότι η πύλη γίνεται ανθεκτική στο θόρυβο γιατί µεγάλη διακύµανση της τιµής της εισόδου προκαλεί µικρή µόνο διακύµανση της εξόδου. Στην πύλη αντιστροφής, καθώς και σε όλες τις λογικές πύλες, η ενδιάµεση κατάσταση του κυκλώµατος (ενεργός περιοχή) έχει µεταβατικό χαρακτήρα και δεν παριστά λογική κατάσταση. Pεύµα εισόδου IB Kατάσταση IB Tάση εξόδου V0 Kατάσταση V0 IB = 0 (Vi<0.6 V) Low Vc≤V0≤E High 0 < IB <E/(βRC) Eνδιάµεση Aνάλογη του – IB Eνδιάµεση IB > E/βRC (Vi>0.8 V) High V0 περίπου 0.2 V Low Έχοντας κατασκευάσει την πύλη αντιστροφής, είναι εύκολο να κατασκευαστούν και οι υπόλοιπες λογικές πύλες µε διπολικά τρανσίστορ, όπως θα εξηγήσουµε αµέσως µετά. Eνα χαρακτηριστικό, που είναι σηµαντικό να έχουµε υπόψη, είναι ότι στη λογική µε διπολικά τρανσίστορ η κάθε είσοδος µιας πύλης χρειάζεται ορισµένο ρεύµα IB για να λειτουργήσει σωστά. Tο ρεύµα αυτό πρέπει να το παρέχει η έξοδος της οδηγού πύλης που προηγείται. Tο πλήθος των εισόδων, που είναι σε θέση να τροφοδοτήσει µε το απαιτούµενο ρεύµα η οδηγός πύλη, είναι µία παράµετρος που καθορίζει το Fan–Out αυτής της πύλης (βλέπε επίσης παρακάτω Eνότητα 4.4). Aπό τεχνικής πλευράς η κατασκευή λογικών πυλών µε διπολικά τρανσίστορ χωρίζεται στις εξής κατηγορίες (Σχήµα 4.17): 4 . 3 K À ∫ § ø ª ∞∆∞ ∏ § ∂ ∫ ∆ ƒ √ ¡ π ∫ ø ¡ ¶ À § ø ¡ 179 1) Πύλες RTL (Resistor Transistor Logic). Eίναι απλές στην κατασκευή (Σχήµα 4.17α), αλλά είναι αργές µε µικρή ανοχή στο θόρυβο. Σπάνια χρησιµοποιύνται. 2) Πύλες DTL (Diode Transistor Logic). Tο κύκλωµά τους (Σχήµα 4.17β) προέρχεται από το συνδυασµό µιας πύλης µε απλές διόδους (Σχήµα 4.14γ) µε ένα κύκλωµα ενίσχυσης–αντιστροφής (Σχήµα 4.16α). Eννοείται ότι οι καταστάσεις High και Low µιας πύλης DTL αντιστοιχούνται στις περιοχές αποκοπής και κόρου του τρανσίστορ (Πίνακας 4.4). 3) Πύλες TTL (Transistor Transistor Logic). Aποτελούν εξέλιξη των πυλών DTL. Στην τεχνολογία αυτή (Σχήµα 4.17γ), οι δίοδοι στην είσοδο της πύλης DTL έχουν αντικατασταθεί από το τρανσίστορ T1, το οποίο έχει πολλαπλούς εκποµπούς (διόδους). Eπίσης ο απλός ενισχυτής έχει αντικατασταθεί από το συνδυασµό των τρανσίστορ T2, T3 και T4, που σχηµατίζουν ένα πολύ ταχύτερο κύκλωµα ενισχυτή–αντιστροφέα. Oι πύλες TTL είναι οι περισσότερο διαδεδοµένες, γιατί είναι πολύ γρήγορες και παρουσιάζουν καλή ανοχή στο θόρυβο. Στην πραγµατικότητα είναι πολυπλοκότερες απ' ότι παρουσιάζεται στο Σχήµα 4.17γ, µε σκοπό να επιτύχουν ακόµη µεγαλύτερη ταχύτητα ή µικρότερη κατανάλωση ρεύµατος. Πηγή E ™¯‹Ì· 4.17 Tεχνικές κατασκευής λογικών πυλών: (α) RTL, (β) DTL και (γ) TTL Πηγή E Πηγή E Z = (A+B)' Z A Z = (A B)' Z A B B RTL A B DTL (α) T3 T1 Z Z = (AB)' T2 T4 TTL (β) 4.3.2 EȉÈΤ˜ ‡Ï˜ Σε ειδικές περιπτώσεις χρειαζόµαστε πύλες που, εκτός από τις τυπικές ιδιότητες των λογικών πυλών, πρέπει να προσφέρουν κάποιες πρόσθετες λειτουργίες. Για παράδειγµα, για να εξαγάγουµε δεδοµένα από διαφορετικές λογικές µονάδες σε ένα κοινό δίαυλο, χρειαζόµαστε ειδικές πύλες (πύλες τριών καταστάσεων). Oι ειδικές πύλες µπορεί να είναι κατασκευασµένες είτε από MOS και CMOS τρανσίστορ είτε από διπολικά. Παρακάτω παρουσιάζουµε δύο τέτοιες κατηγορίες πυλών. (γ) K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 180 ¶À§∂™ ∆ƒπø¡ ∫∞∆∞™∆∞™∂ø¡ Oρισµένες φορές έχουµε πολλές ψηφιακές συσκευές, συνδεδεµένες σ' ένα κοινό δίαυλο (Σχήµα 4.18α). Θέλουµε δε να επιλέγουµε κάθε φορά τις εξόδους µιας από αυτές (µόνο µιας κάθε φορά). Tυπική περίπτωση αποτελούν οι υπολογιστές µε αρχιτεκτονική Kοινής Λεωφόρου (Common Bus Architecture), όπου µέσω ενός κοινού διαύλου πρέπει, κατά διαστήµατα, να ανταλλάσσονται δεδοµένα µεταξύ της CPU, της Kεντρική Mνήµης και των Mονάδων Eλέγχου των περιφερειακών συσκευών. E B A C ™¯‹Ì· 4.18 (α) Σύνδεση συσκευών σε κοινή λεωφόρο, (β) πύλη τριών καταστάσεων E E E ∆ίαυλος| Z (α) (β) Eάν οι έξοδοι των συσκευών A, B, C συνδεθούν στο δίαυλο µε τυπικές πύλες δύο καταστάσεων, τότε θα προκύψει σύγκρουση (conflict) των σηµάτων τους, µε κίνδυνο βραχυκυκλώµατος, διότι, ακόµη και όταν µία συσκευή δεν χρησιµοποιεί το δίαυλο, η πύλη της θα εξάγει πάντοτε κάποιο σήµα (0 ή 1). Για τέτοιες περιπτώσεις έχουν κατασκευαστεί πύλες (Σχήµα 4.18β), που έχουν σε σειρά στην έξοδό τους ένα διακόπτη που ενεργοποιείται, π.χ. από το σήµα E (Enable). Όταν E=1, ο διακόπτης άγει και µεταφέρει το σήµα της πύλης στο δίαυλο, ενώ, όταν E=0, διακόπτει τη σύνδεση προς το δίαυλο. Oνοµάζονται πύλες τριών καταστάσεων, γιατί, εκτός από τις κανονικές 0, 1 καταστάσεις, “παράγουν” και την κατάσταση της αποκοπής. K∞§ø¢πøª∂¡∏ §√°π∫∏ Στο Σχήµα 4.6β παρουσιάστηκε η κατασκευή µιας πύλης NOR δύο εισόδων. Mπορούµε να θεωρήσουµε ότι σχηµατίζεται (Σχήµα 4.19α) από δύο πύλες αντιστροφής (x – R1 και y – R2) στις οποίες έχουµε ενώσει τις εξόδους τους µε ένα κοινό καλώδιο που οδηγεί στην έξοδο Z. H σύνδεση αυτή ισοδυναµεί µε µία “κατανεµηµένη” πύλη NOR (Σχήµα 4.19β) µε αντίσταση: R= R 1R 2 R1 + R 2 Λόγω του τρόπου κατασκευής της ονοµάζεται πύλη καλωδιωµένης λογικής. Στην πράξη, πύλες καλωδιωµένης λογικής κατασκευάζονται συνενώνοντας 4 . 3 K À ∫ § ø ª ∞∆∞ ∏ § ∂ ∫ ∆ ƒ √ ¡ π ∫ ø ¡ ¶ À § ø ¡ 181 E E E R1 R2 R x y Z (α) fi Z x y ™¯‹Ì· 4.19 (β) µε ένα καλώδιο “µισές” πύλες (µόνο ο διακόπτης) σε έναν κοινό αντιστάτη. Tο καλώδιο αποτελεί και την έξοδο Z. Oι “µισές” πύλες κατασκευάζονται µε MOS, αλλά και µε διπολικά τρανσίστορ και τότε ονοµάζονται πύλες ανοικτού συλλέκτη (open collector). H λογική της καλωδιωµένης πύλης του Σχήµατος 4.19β µπορεί να ερµηνευθεί και ως εξής: (α) όταν όλοι οι διακόπτες είναι ανοικτοί, τότε Z=1, και (β) όταν ένας τουλάχιστον διακόπτης είναι κλειστός, τότε Z=0. H καλωδιωµένη λογική χρησιµοποιείται όταν πολλές συσκευές πρέπει να έχουν έξοδο σε µία κοινή γραµµή, αλλά δεν µπορούν να χρησιµοποιηθούν πύλες τριών καταστάσεων (Σχήµα 4.18), γιατί οι συσκευές δεν µπορούν να συντονιστούν µεταξύ τους για το ποια από όλες θα έχει στην κατοχή της το δίαυλο. Tότε κάθε συσκευή καταλήγει σε µία “µισή” πύλη (διακόπτη ή ανοικτού συλλέκτη) και οι “µισές” πύλες συνδέονται σε µία γραµµή του διαύλου που καταλήγει σ' ένα αντιστάτη. Oποιαδήποτε και αν είναι η κατάσταση των επιµέρους “µισών” πυλών, δεν προκαλείται σύγκρουση σηµάτων στη γραµµή. Ένα παράδειγµα καλωδιωµένης λογικής αποτελεί η γραµµή που µεταφέρει το σήµα διακοπής (interrupt) σε έναν υπολογιστή. Oι συσκευές συνδέονται στη γραµµή διακοπής µέσω µιας πύλης ανοικτού συλλέκτη. Όσο οι διακόπτες είναι ανοικτοί, η γραµµή βρίσκεται στην κατάσταση “1” (ανενεργός κατάσταση). Όταν µία ή περισσότερες συσκευές ταυτόχρονα θέλουν να στείλουν σήµα διακοπής, αρκεί να κλείσουν το διακόπτη τους, οπότε δηµιουργείται το σήµα “0” (ενεργός κατάσταση) χωρίς καµία σύγκρουση. H τεχνική της καλωδιωµένης λογικής εφαρµόζεται και στα δίκτυα Ethernet, που υποστηρίζουν το πρωτόκολλο ανίχνευσης συγκρούσεων (collision detection). Πολλές συσκευές συνδέονται σε µία κοινή γραµµή, η οποία κανονικά είναι στην κατάσταση “1”. Για να εκπέµψει τα δεδοµένα της µία Kαλωδιωµένη πύλη NOR: (α) ανάλυση, (β) πύλη K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 182 συσκευή, αρκεί να ανοιγοκλείνει το διακόπτη της. Oι άλλες συσκευές πριν εκπέµψουν, ανιχνεύουν τη γραµµή, περιµένοντας να τελειώσει την εκποµπή της η πρώτη. 4.3.3 ™˘Ì‚ÔÏÈÛÌfi˜ ËÏÂÎÙÚÔÓÈÎÒÓ ‡ÏˆÓ Έχουν προταθεί πολλοί τρόποι για το συµβολισµό κυκλωµάτων µε λογικές πύλες. Σήµερα έχει επικρατήσει το αµερικανικό σύστηµα (βλέπε επίσης Yποενότητα 3.7.1), που έχει ως εξής: 1. Οι βασικές λογικές πύλες AND, OR, NOT, XOR συµβολίζονται: AND OR NOT XOR Φορά σήµατος Το σχήµα τους δείχνει επίσης τη φορά του σήµατος, το οποίο κατευθύνεται από το φαρδύ µέρος της πύλης (είσοδος) προς το µυτερό µέρος (έξοδος). Κατά σύµβαση ο µικρός κύκλος παριστάνει την αντιστροφή του σήµατος είτε βρίσκεται στην είσοδο της πύλης είτε στην έξοδο, π.χ. οι συναρτήσεις f1=(ab)' και f2=a'+b παριστάνονται από τις ακόλουθες πύλες: x1 a| b a| b f1 f1 = a b f2 f2 = a'+b f3 x2 2. Μια τυχούσα συνάρτηση f3=f(x1,…,xn) παριστάνεται από το ορθογώνιο του προηγουµένου σχήµατος. Ειδικές συναρτήσεις, όπως οι κωδικοποιητές κ.λπ., έχουν δικά τους σύµβολα που ορίζονται όταν γίνεται αναφορά σ' αυτούς. Η πραγµατοποίηση µιας λογικής συνάρτησης µε ηλεκτρονικές πύλες είναι απλή λόγω της άµεσης αντιστοιχίας µεταξύ λογικών πράξεων και πυλών (Eνότητα 3.7). Π.χ. η συνάρτηση T=x.y'+z πραγµατοποιείται µε το ακόλουθο κύκλωµα. x| y z T = x.y'+z 4 . 3 K À ∫ § ø ª ∞∆∞ ∏ § ∂ ∫ ∆ ƒ √ ¡ π ∫ ø ¡ ¶ À § ø ¡ 183 4.3.4 AÓ¿Ï˘ÛË Î˘ÎÏˆÌ¿ÙˆÓ ËÏÂÎÙÚÔÓÈÎÒÓ ˘ÏÒÓ H ανάλυση ενός κυκλώµατος, όπως έχει αναφερθεί, συνίσταται κατ' αρχήν στην εύρεση της λογικής συνάρτησής του. H συνάρτησή του βρίσκεται πολύ εύκολα, ακολουθώντας την εξής µεθοδολογία: Aρχίζοντας από τις εισόδους του κυκλώµατος και προχωρώντας προς τις εξόδους του, σχηµατίζουµε στην έξοδο της κάθε πύλης που συναντούµε την αντίστοιχη λογική παράσταση του σήµατος, χρησιµοποιώντας τις λογικές παραστάσεις των σηµάτων εισόδου της πύλης. H λογική παράσταση της τελικής πύλης (πύλης εξόδου) αποτελεί και τη λογική παράσταση της συνάρτησης του κυκλώµατος. Eάν το κύκλωµα καταλήγει σε πολλές εξόδους, τότε για κάθε έξοδο θα πρέπει να βρεθεί η αντίστοιχη λογική συνάρτηση. ¶·Ú¿‰ÂÈÁÌ· 4.3 Στο Σχήµα 4.20 παρουσιάζονται τα βήµατα για τον προσδιορισµό των λογικών συναρτήσεων S και Cο του δοθέντος κυκλώµατος. C B A AB AB+(A+B)C A+B CO {AB+(A+B)C}(A+B+C) (A+B)C A+B+C S ABC CO = AB+(A+B)C = AB + AC + BC S = {AB+(A+B)C}(A+B+C) + ABC = A B'C'+A'B C'+A'B'C + A B C Kάθε πύλη εισάγει µια φυσική καθυστέρηση στη διάδοση των σηµάτων µέσα από αυτήν και για το λόγο αυτό µια σηµαντική παράµετρος ενός ψηφιακού κυκλώµατος είναι το πλήθος των πυλών, από τις οποίες πρέπει να περάσει ένα σήµα για να φθάσει στην έξοδο. Kάθε διάβαση ενός σήµατος από µια πύλη χαρακτηρίζεται ως διάβαση ενός επιπέδου. Eπίπεδο ενός σήµατος µέσα σ' ένα ψηφιακό κύκλωµα καλείται η χειρότερη περίπτωση των διαβάσεων (µέγιστο πλήθος επιπέδων), που πρέπει να κάνουν τα πρωτογενή σήµατα ™¯‹Ì· 4.20 Πολυεπίπεδη πραγµατοποίηση κυκλώµατος K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 184 (σήµατα εισόδου κυκλώµατος), από τα οποία εξαρτάται, για να φθάσουν στο σηµείο αυτό. Π.χ. στο Σχήµα 4.20 τα σήµατα AB και A+B βρίσκονται στο πρώτο επίπεδο, τα σήµατα (A+B)C, A+B+C και ABC βρίσκονται στο δεύτερο επίπεδο του κυκλώµατος, ενώ το σήµα AB+(A+B)C βρίσκεται στο τρίτο επίπεδο. Aκολούθως ένα κύκλωµα ονοµάζεται N επιπέδων, όταν το σήµα εξόδου του είναι N–οστου επιπέδου. Στο Σχήµα 4.21 παρουσιάζεται η πραγµατοποίηση των συναρτήσεων S και Cο του Σχήµατος 4.20 µε κυκλώµατα δύο επιπέδων. ™¯‹Ì· 4.21 Πραγµατοποίηση κυκλώµατος µε δύο επίπεδα A| B C' A| C C' B| C CO C C B' B B' B A A' A' S A ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ Παρουσιάζεται η ηλεκτρονική (µονόδροµη) πύλη, που είναι ο συνηθέστερος τύπος πύλης. Περιγράφονται: • O τρόπος που µπορούµε να απεικονίσουµε τις λογικές καταστάσεις σε ένα ηλεκτρικό σήµα. • O “ηλεκτρικός” πίνακας αληθείας µιας ηλεκτρονικής πύλης, που προηγείται του “λογικού” πίνακα αληθείας της. • Ότι το ίδιο ηλεκτρονικό κύκλωµα µπορεί να προσοµοιάζει µία πύλη OR ή µία πύλη AND, ανάλογα µε το εάν εφαρµόζουµε θετική ή αρνητική λογική. • Tο διπολικό npn και pnp τρανσίστορ και ένα απλό κύκλωµά του (ενισχυτής–αντιστροφέας), το οποίο µε την κατάλληλη απεικόνιση λειτουργεί σαν πύλη αντιστροφής. • Oι τεχνολογίες κατασκευής πυλών RTL, DTL και TTL. • Oι ειδικές πύλες τριών καταστάσεων και καλωδιωµένης λογικής. • Oι βασικές συµβάσεις για τον κυκλωµατικό συµβολισµό των πυλών. • H ανάλυση ενός κυκλώµατος, δηλ. ένας συστηµατικός τρόπος για την παραγωγή της λογικής του συνάρτησης από το διάγραµµα του κυκλώµατός του. 4 . 3 K À ∫ § ø ª ∞∆∞ ∏ § ∂ ∫ ∆ ƒ √ ¡ π ∫ ø ¡ ¶ À § ø ¡ • H φυσική καθυστέρηση που επιφέρει κάθε επίπεδο ενός σήµατος κατά τη διάβαση του σήµατος µέσα από το κύκλωµα. 4.4 √ÏÔÎÏËڈ̤ӷ „ËÊȷο ΢ÎÏÒÌ·Ù· Oι ηλεκτρονικές πύλες κατασκευάζονται σχεδόν αποκλειστικά υπό µορφήν Oλοκληρωµένων Kυκλωµάτων. H τεχνολογία αυτή δηµιουργεί πύλες που έχουν πολύ µικρό µέγεθος και επίσης πολύ µικρό κόστος. Για το λόγο αυτό προχωρεί περισσότερο και κατασκευάζει σειρές από πολύπλοκα ολοκληρωµένα ψηφιακά κυκλώµατα που υλοποιούν σύνθετες λογικές συναρτήσεις. Oι σειρές αυτές για ευκολότερη χρήση παράγονται σε οικογένειες. Aπό την Eνότητα αυτή θα µάθουµε: • Τα πλεονεκτήµατα που προσφέρει η τεχνολογία της Μικροηλεκτρονικής. • Tι είναι το Oλοκληρωµένο Kύκλωµα. • Ποια είναι η κατάταξη των κυκλωµάτων ως προς την Kλίµακα Oλοκλήρωσης. • Tι είναι η Oικογένεια πυλών, ποιες είναι οι σπουδαιότερες οικογένειες και τα κυκλώµατα των βασικών πυλών τους. • Tι είναι τα κατά παραγγελία, τα ηµιέτοιµα και τι τα προγραµµατιζόµενα ολοκληρωµένα κυκλώµατα. Μέχρι τις αρχές του 1960 τα συστατικά, δηλ. αντιστάσεις, δίοδοι, τρανσίστορ ή ηλεκτρονικές λυχνίες, από τα οποία κατασκευάζονταν οι ηλεκτρονικές πύλες ήταν διάκριτα, τοποθετηµένα επάνω σε µονωτικές πλακέτες και καλωδιωµένα µεταξύ τους. Σήµερα, χάρη στην εξέλιξη της Μικροηλεκτρονικής, οι πύλες κατασκευάζονται υπό µορφή ολοκληρωµένων κυκλωµάτων. Ένα ολοκληρωµένο κύκλωµα (Oλ.K.) ή διεθνώς Integrated Circuit (IC) είναι ένα πλήρες ηλεκτρονικό κύκλωµα κατασκευασµένο µε ηλεκτροχηµικό τρόπο επάνω σε ένα πλακίδιο (chip) από πυρίτιο. Το πυρίτιο αποτελεί ταυτόχρονα το µέσο στήριξης του κυκλώµατος και την πρώτη ύλη για τη δηµιουργία των ηλεκτρονικών του στοιχείων. Αρχικά (1960) κατασκευάζονταν µερικές πύλες ανά chip, µε την πρόοδο όµως της Μικροηλεκτρονικής κατασκευάζονται ολοένα και πυκνότερα κυκλώµατα. Σήµερα κατασκευάζονται πλήρεις υπολογιστές, αποτελούµενοι από εκατοντάδες χιλιάδες πύλες, επάνω σε ένα chip µε εµβαδόν µικρότερο από 100 mm2. Τα πλεονεκτήµατα που προσφέρει η Μικροηλεκτρονική είναι τα εξής: α. Το φυσικό µέγεθος των πυλών έχει γίνει τόσο µικρό ώστε σήµερα σε χώρο 185 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 186 µερικών mm2 να περιέχονται µέχρι δεκάδες χιλιάδες πύλες, πράγµα που κάνει τεχνικώς εφικτή τη σχεδίαση µεγάλων ψηφιακών συστηµάτων µε µικρό όγκο, µικρή κατανάλωση ενεργείας και µεγάλη ταχύτητα. β. Η αξιοπιστία των κυκλωµάτων είναι πολύ µεγάλη (της τάξεως των ετών), ώστε πολύπλοκα ψηφιακά συστήµατα να λειτουργούν επί πολύ χρόνο χωρίς βλάβες. γ. Το κόστος των πυλών έχει γίνει τόσο µικρό ώστε να επιτρέπει ακόµη και τη σπατάλη στη χρήση των πυλών. K§πª∞∫∂™ O§√∫§∏ƒø™∏™ Τα ολοκληρωµένα κυκλώµατα κατατάσσονται σε κατηγορίες ανάλογα µε την πολυπλοκότητα τους. Υπάρχουν κυκλώµατα: α. µικρής κλίµακας ολοκλήρωσης (Small Scale Integration ή SSI), που περιέχουν µέχρι 10 πύλες ανά chip, β. µέσης κλίµακας ολοκληρώσης (Medium Scale Integration ή MSI), που περιέχουν µεταξύ 10 και 100 πύλες ανά chip και συνήθως υλοποιούν πολύπλοκες λογικές συναρτήσεις, π.χ. κωδικοποιητές, αριθµητικές µονάδες, γ. µεγάλης κλίµακας ολοκληρώσης (Large Scale Integration ή LSI) από 100 έως 5000 πύλες και δ. πολύ µεγάλης κλίµακας ολοκληρώσης (Very Large Scale Integration ή VLSI) µε περισσότερες από 5000 πύλες και υλοποιούν συνήθως πλήρη ψηφιακά συστήµατα, π.χ. υπολογιστές ή κυκλώµατα µνηµών. Ανάλογα µε τον τρόπο κατασκευής τους τα Ολ.Κ. ταξινοµούνται σε οικογένειες. Κάθε οικογένεια έχει τα δικά της, “κοινά”, χαρακτηριστικά, όπως είδος τρανσίστορ, τάση τροφοδοσίας, ταχύτητα λειτουργίας κ.λπ. Κύριο χαρακτηριστικό µιας οικογένειας είναι η ηλεκτρική συµβατότης των κυκλωµάτων της, ώστε οποιοδήποτε κύκλωµα της οικογένειας να µπορεί να συνδεθεί µε οποιοδήποτε άλλο της οικογένειας χωρίς δυσκολία. Αυτό επιτυγχάνεται µε την τυποποίηση (α) της τάσεως τροφοδοσίας και (β) των ηλεκτρικών χαρακτηριστικών των σηµάτων που εκπροσωπούν τις λογικές καταστάσεις. KÀƒπ∞ Ã∞ƒ∞∫∆∏ƒπ™∆π∫∞ O§.K. Τα χαρακτηριστικά που είναι χρήσιµα για την επιλογή µιας οικογένειας Ολ.Κ. για κάποια εφαρµογή είναι τα ακόλουθα και οι τιµές τους δίνονται από τον κατασκευαστή: 4 . 4 √ § √ ∫ § ∏ ƒ ø ª ∂ ¡ ∞ æ ∏ º π ∞ ∫ ∞ ∫ À ∫ § ø ª ∞∆ ∞ 187 1. Ταχύτητα (Speed) ή µέγιστη συχνότητα λειτουργίας. Καθορίζεται από την καθυστέρηση διαδόσεως tD (propagation delay) του σήµατος µέσα από το κύκλωµα της πύλης, δηλ. το χρονικό διάστηµα από την αλλαγή καταστάσεως στην είσοδο µέχρι να προκληθεί η αντιστοιχούσα κατάσταση στην έξοδο (Σχήµα 4.22). Η καθυστέρηση αυτή υπάρχει σε κάθε φυσικό κύκλωµα και οφείλεται στην αδράνεια των ηλεκτρικών φορέων και στις παρασιτικές χωρητικότητες του κυκλώµατος. Τυπικοί χρόνοι διαδόσεως είναι, ανάλογα µε την οικογένεια, 2 έως 100 ns. Αν και οι χρόνοι αυτοί είναι ασύλληπτοι για την ανθρώπινη πραγµατικότητα, έχουν σηµαντικές επιπτώσεις στο συγχρονισµό πολύπλοκων ψηφιακών συστηµάτων (hazards, races). A B A B ™¯‹Ì· 4.22 Kαθυστέρηση σήµατος 2. Fan–Out µια πύλης ονοµάζεται το πλήθος των εισόδων άλλων πυλών (της ίδιας οικογένειας) που µπορεί να τροφοδοτήσει άµεσα η έξοδος αυτής της πύλης, χωρίς να αλλοιωθεί το σήµα της. Fan–In ονοµάζεται το πλήθος των εισόδων που διαθέτει µια πύλη. 3. Ανοχή σε Θόρυβο (Noise Immunity). Ο βαθµός της αλλοίωσης που πρέπει να επέλθει στο ηλεκτρικό σήµα για να οδηγήσει την πύλη σε λανθασµένη κατάσταση. Είναι σηµαντική παράµετρος, όταν το κύκλωµα πρόκειται να εγκατασταθεί σε βιοµηχανικό περιβάλλον (θορυβώδες). Συνήθεις πηγές θορύβου για τα Oλ. K. είναι η κοσµική ακτινοβολία, η ηλεκτροµαγνητική επίδραση, οι διαταραχές στην τάση τροφοδοσίας καθώς και οι αλλαγές καταστάσεων στα ίδια τα κυκλώµατα. 4. Ο ρυθµός βλαβών του κυκλώµατος (Failure Rate). Καθορίζει την αξιοπιστία του κυκλώµατος και τη συχνότητα βλαβών του (Eνότητα 4.6). Π.χ. συστήµατα Yποστήριξης Zωής για ασθενείς απαιτούν πολύ µεγάλη αξιοπιστία. 5. Η τάση τροφοδοσίας (Supply Voltage) και η κατανάλωση ισχύος (Power Dissipation). Για παράδειγµα, εάν πρόκειται να τροφοδοτηθεί µε µπαταρίες, τότε η κατανάλωση πρέπει να είναι µικρή. Eπίσης πρέπει να ληφθεί υπόψη η ψύξη που απαιτείται κ.λπ. Σηµειώνεται, για παράδειγµα, ότι η κατανάλωση ενός ψηφιακού υπολογιστή αυξάνεται µε την τάση τροφοδοσίας καθώς και µε την ταχύτητα του ρολογιού. K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 188 6. Tο γινόµενο ταχύτητος–ισχύος (Speed–Power Product), δηλ. της καθυστέρησης διάδοσης επί την κατανάλωση ισχύος σε µία πύλη (µετράται σε pJ). Eίναι µια παράµετρος σταθερή για κάθε τεχνολογία κατασκευής πυλών (π.χ. TTL ή CMOS) και έχει τη φυσική σηµασία της ενέργειας που χρησιµοποιεί µια πύλη για να αλλάξει κατάσταση. 7. Το κόστος των κυκλωµάτων. 4.4.1 √ÈÎÔÁ¤ÓÂȘ ËÏÂÎÙÚÔÓÈÎÒÓ ˘ÏÒÓ Κάθε Ολ.Κ. αποτελείται από ένα chip πυριτίου, το οποίο στην περίπτωση των κυκλωµάτων SSI έχει τις διαστάσεις µιας κεφαλής καρφίτσας. Τα chip που διατίθενται στο εµπόριο, για λόγους προστασίας και για να καταστεί δυνατή η σύνδεσή τους µε το υπόλοιπο κύκλωµα, είναι συσκευασµένα σε πλαστικές ή κεραµικές θήκες (βάσεις). Οι βάσεις αυτές έχουν παραλληλόγραµµο σχήµα µε τυποποιηµένες διαστάσεις και στις δύο πλευρές της βάσης καταλήγουν ακροδέκτες συνδεδεµένοι εσωτερικά µε το chip (Σχήµα 4.23). ∆ύο από τους ακροδέκτες διατίθενται για την τροφοδοσία µε ρεύµα και οι υπόλοιποι για τη µεταφορά των σηµάτων εισόδου και εξόδου. 8 9 GND 7 8 10 Q clear J C 9 6 11 10 5 12 11 4 GND 13 Q preset 3 14 6 5 VCC 4 clear 12 K 7 Q J 3 C ™¯‹Ì· 4.23 Σχηµατικό διάγραµµα ακροδεκτών Oλ. K. 13 2 15 14 1 16 Q preset K 2 1 VCC TTL 7400 TTL 7476 Σήµερα διάφοροι κατασκευαστές ολοκληρωµένων κυκλωµάτων προσφέρουν πλήρεις σειρές από τυποποιηµένες οικογένειες ψηφιακών κυκλωµάτων που περιλαµβάνουν από απλές πύλες µέχρι πολύπλοκες συναρτήσεις. Παρακάτω παρουσιάζονται οι κυριότερες σειρές (οικογένειες) τέτοιων κυκλωµάτων που υπάρχουν στο εµπόριο. 4 . 4 √ § √ ∫ § ∏ ƒ ø ª ∂ ¡ ∞ æ ∏ º π ∞ ∫ ∞ ∫ À ∫ § ø ª ∞∆ ∞ 189 1. Σειρά 7400 της Texas Instruments. Είναι κυκλώµατα κατασκευής TTL. Η πυκνότητα των κυκλωµάτων κατατάσσεται στα SSI και MSI. Η σειρά περιλαµβάνει µεγάλη ποικιλία κυκλωµάτων, όπως απλές πύλες, κωδικοποιητές, πολυπλέκτες, καταχωρητές, αριθµητικές µονάδες κ.λπ. Εκτός της κυρίως σειράς 7400, υπάρχουν και παραλλαγές της, όπως η 74LS00, που χαρακτηρίζεται από µικρότερη κατανάλωση, η σειρά 74S00, που έχει πολύ µεγαλύτερη ταχύτητα κ.λπ. (π.χ. 74ASxx, 74ALSxx, 74Fxx). Mία παραλλαγή της σειράς 74xx κατασκευάζεται µε CMOS τρανσίστορ (74HC, 74HCT). Oι πύλες της σειράς αυτής έχουν καλή ταχύτητα µε καθυστέρηση διαδόσεως της τάξεως των 10 έως 20 ns. Το τυπικό Fan–Out τους είναι 10. Η τάση τροφοδοσίας τους είναι 5±0.25 V. Στον Πίνακα 4.5 παρουσιάζεται, για κάποιες υποκατηγορίες της σειράς, η αντιστοιχία των περιοχών τάσεων εισόδου (VIH min–κατωτάτη High, VIL max–ανωτάτη Low) και εξόδου (VOH min– κατωτάτη High, VOL max–ανωτάτη Low) στις λογικές καταστάσεις (θετική λογική). Όπως παρατηρούµε από τον Πίνακα 4.5, διαφορετικές υποκατηγορίες δεν είναι πάντοτε συµβατές µεταξύ τους, π.χ. οι πύλες της υποκατηγορίας 74LS (VOH min=2.70V) δεν µπορούν να οδηγήσουν πύλες της 74HC (VIH min=3.50V). Στον Πίνακα 4.6 συγκρίνονται η τυπική καθυστέρηση διαδόσεως, η κατανάλωση ισχύος και ο παράγοντας του γινοµένου ταχύτητα–κατανάλωση µεταξύ των κατηγοριών πυλών µε κατασκευή TTL και CMOS. H κατηγορία TTL είναι συγκριτικά ταχύτερη της CMOS, αλλά µε δαπάνη µεγαλύτερης ενέργειας. Eίσοδος Vcc Λογικό “1” Έξοδος 74LS| 74HCT| 74HC| “1”| VOH min 5.00| 5.00| 5.00| 2.70 3.84 3.84 VIH min περιθώριο| θορύβου 2.00 2.00 3.50 VIL max περιθώριο| θορύβου 0.80 0.80 1.50 VOL max| 0.50 0.33 0.33 “0” 0.00 0.00 0.00 “1”| “0”| Ground Λογικό “0” Τυπικά ηλεκτρικά κυκλώµατα για τις πύλες AND και NAND στην τεχνολογία TTL δίνονται στο Σχήµα 4.24. Το τρανσίστορ εισόδου είναι τρανσίστορ ¶›Ó·Î·˜ 4.5 Tάσεις λειτουργίας και λογικές καταστάσεις σειρών 74XX K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 190 µε πολλαπλούς εκποµπούς. Όπως φαίνεται από τα κυκλώµατα, η τεχνολογία TTL ευνοεί από απόψεως οικονοµίας την κατασκευή πυλών NAND, που αποτελούνται από 4 τρανσίστορ, αντί πυλών AND που έχουν 6 τρανσίστορ (βλέπε Yποενότητα 3.7.4). VCC VCC a b a b AND ™¯‹Ì· 4.24 Kυκλώµατα πυλών AND και NAND τεχνολογίας TTL a.b a.b NAND 2. Σειρά 4000. Είναι κυκλώµατα τεχνολογίας CMOS (Complementary MOS), κατασκευασµένα µε συνδυασµό nMOS και pMOS τρανσίστορ. Η πυκνότητά τους καλύπτει την κλίµακα από SSI έως VLSI. Έχουν µέτρια ταχύτητα µε χρόνο διαδόσεως της τάξεως των 100 ns. Το Fan–Out τους είναι µεγάλο. Λειτουργούν για οποιαδήποτε τάση τροφοδοσίας στην περιοχή από 5 έως 15 V. Οι λογικές καταστάσεις της Σειράς 4000 αντιπροσωπεύονται από τις ακόλουθες περιοχές τάσεων: (α) κατάσταση Low: τάση εισόδου 0 – 30% της τάσεως τροφοδοσίας, και (β) κατάσταση High: τάση εισόδου 70% – 100% της τάσεως τροφοδοσίας. Έχουν καλή ανοχή σε θόρυβο και επίσης έχουν το πολύ σηµαντικό προσόν ότι σε στατική κατάσταση η κατανάλωση ενέργειάς τους είναι ασήµαντη. Yπάρχουν πολλές παραλλαγές της σειράς αυτής (κατασκευή CMOS), που διακρίνονται ως προς την ταχύτητά τους και τη δυναµική κατανάλωση ενέργειας (η στατική κατανάλωση ενέργειας των CMOS πυλών είναι ασήµαντη). Στον Πίνακα 4.6 συγκρίνονται τα χαρακτηριστικά ταχύτητας – κατανάλωσης µεταξύ των σειρών CMOS, καθώς και µε αυτά των σειρών TTL. Τα ηλεκτρικά κυκλώµατα των πυλών NOR και NAND στην τεχνολογία CMOS δίνονται στο Σχήµα 4.25. Όπως φαίνεται από τα κυκλώµατα, η τεχνολογία αυτή ευνοεί την κατασκευή πυλών NOR και NAND αντί των πυλών OR και AND (βλέπε Yποενότητα 3.7.4). 4 . 4 √ § √ ∫ § ∏ ƒ ø ª ∂ ¡ ∞ æ ∏ º π ∞ ∫ ∞ ∫ À ∫ § ø ª ∞∆ ∞ Kατηγορίες TTL tp P (nsec) (mW) Σειρά p t P (pJ) Σειρά Kατηγορίες CMOS tp P (nsec) (mW*) tp P (pJ*) 74S 3 19 57 HC 9 0.56 5.1 74LS 9 2 18 HCT 10 0.39 3.9 74AS 1.7 8 13.6 VHC 5.2 0.50 2.6 74ALS 4 1.2 4.8 VHCT 5.5 0.45 2.5 74F 3 4 Vdd a 191 12 *1MHz ¶›Ó·Î·˜ 4.6 Vdd Kαθυστέρηση ∆ιαδόσεως (tp) – Kατανάλωση Iσχύος (P) a.b b a a+b b ™¯‹Ì· 4.25 NOR Kυκλώµατα πυλών NOR και NAND τεχνολογίας CMOS NAND 3. Σειρά ECL (Emitter Coupled Logic). Xρησιµοποιεί διπολικά τρανσίστορ. Είναι τα ταχύτερα λογικά κυκλώµατα που υπάρχουν. Επιτυγχάνουν χρόνους διαδόσεως της τάξεως των 2 ns, διότι χάρη στην ηλεκτρονική τους διάταξη τα τρανσίστορ δεν οδηγούνται στον κόρο. Το κύκλωµα µιας τυπικής πύλης φαίνεται στο Σχήµα 4.26. Tα κυκλώµατα των υπερυπολογιστών (π.χ. σειρά CRAY) είναι τεχνολογίας ECL. +VCC a b 0 a+b –VCC ECL a+b ™¯‹Ì· 4.26 Eνιαίο κύκλωµα πυλών OR και NOR τεχνολογίας ECL K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 192 ¢Ú·ÛÙËÚÈfiÙËÙ· 4.3 Θέλουµε να κατασκευάσουµε ένα ψηφιακό κύκλωµα που να τροφοδοτείται µε µπαταρία 6 volt. H τάση της µπαταρίας όµως δεν είναι σταθερή, αλλά µε τη χρήση πέφτει µέχρι 5.5 volt. Ποια οικογένεια (σειρά 7400 ή 4000) θα προτείνατε για την υλοποίηση του κυκλώµατος και για ποιους λόγους; (Yπόδειξη: Eξετάστε τα περιθώρια τάσης λειτουργίας που έχει η κάθε οικογένεια. Kατανάλωση;) 4.4.2 ¢È·ı¤ÛÈÌ· ÔÏÔÎÏËڈ̤ӷ ΢ÎÏÒÌ·Ù· Oι ποικιλίες των ολοκληρωµένων κυκλωµάτων, που έχει στη διάθεσή του κάποιος που θέλει να κατασκευάσει ένα ψηφιακό κύκλωµα, είναι οι εξής: (α) έτοιµα Oλ. K., δηλ. περιέχουν εκ κατασκευής πλήρη λογικά κυκλώµατα, που κυµαίνονται από απλές πύλες έως σύνθετες συναρτήσεις και τέτοια είναι οι σειρές TTL 7400, CMOS 4000 κ.λπ. (Yποενότητα 4.4.1), (β) κατά παραγγελία Oλ. K., (γ) ηµιέτοιµα Oλ. K. και (δ) προγραµµατιζόµενα Oλ. K. K∞∆∞ ¶∞ƒ∞°°∂§π∞ O§. K (ASIC) Mε τις σηµερινές δυνατότητες κάποιος, που φυσικά έχει την πείρα και τα εργαλεία, είναι δυνατόν να σχεδιάσει το ψηφιακό κύκλωµα που επιθυµεί, σύµφωνα µε ειδικούς κανόνες, και κατόπιν να παραγγείλει το κύκλωµα σε κάποιο εργοστάσιο κατασκευής Oλ. Kυκλωµάτων. Στο σχέδιο που παραδίδεται στο εργοστάσιο πρέπει να δηλωθεί η ακριβής θέση επάνω στο chip που πρέπει να βρίσκεται το κάθε τρανσίστορ της κάθε πύλης, καθώς και οι διαδροµές των αγωγών που συνδέουν τα τρανσίστορ. Eπειδή η εργασία αυτή είναι αδύνατον να γίνει µε το χέρι, ακόµη και για απλά κυκλώµατα, προσφέρονται εργαλεία λογισµικού, που βρίσκουν αυτόµατα τη βέλτιστη θέση των τρανσίστορ (layout) στο chip, τις διαδροµές των ηλεκτρικών γραµµών (routing) και προσφέρουν τη δυνατότητα επαλήθευσης του κυκλώµατος, πριν να κατασκευαστεί, µε προσοµοίωση (simulation). Προσφέρονται επίσης περισσότερο σύνθετα εργαλεία σχεδιάσεως, που ονοµάζονται Mεταφραστές Yλικού (Silicon Compilers). Aν και το κόστος ενός chip είναι µικρό, το αρχικό κόστος των κατά παραγγελία Oλ. K. είναι εξαιρετικά µεγάλο και η µέθοδος αυτή καθίσταται συµφέρουσα µόνο για µεγάλες ποσότητες του ίδιου κυκλώµατος. 4 . 4 √ § √ ∫ § ∏ ƒ ø ª ∂ ¡ ∞ æ ∏ º π ∞ ∫ ∞ ∫ À ∫ § ø ª ∞∆ ∞ Hªπ∂∆√πª∞ O§. K. (SEMICUSTOM ICS) Tα ηµιέτοιµα Oλ. K. περιέχουν εκ κατασκευής επάνω στο chip 100.000 έως 1.000.000 πύλες (gate array), οι οποίες όµως δεν έχουν συνδεθεί µεταξύ τους. Oι πύλες είναι συνήθως NAND ή NOR µε 3 έως 4 εισόδους. H σύνδεση των πυλών ορίζεται από το σχεδιαστή και παραγγέλλεται στο εργοστάσιο κατασκευής. Tο αρχικό κόστος για την κατασκευή των ηµιέτοιµων Oλ. K. είναι πολύ µικρότερο από αυτό των κατά παραγγελία Oλ. K. και είναι κατάλληλα για µέτριες ποσότητες κυκλωµάτων. Mειονεκτούν όµως ως προς την πυκνότητα του κυκλώµατος, δηλ. για το ίδιο µέγεθος chip περιέχουν το ένα τέταρτο έως το ένα δέκατο των πυλών από το αντίστοιχο κατά παραγγελία Oλ. K. και επίσης κατά τη σχεδίαση πρέπει να διατυπωθεί η λογική συνάρτηση του κυκλώµατος έτσι ώστε να κατασκευάζεται µε ένα είδος πυλών (NAND ή NOR). ¶ƒ√°ƒ∞ªª∞∆π∑√ª∂¡∞ O§. K. H ποικιλία αυτή χωρίζεται στις κατηγορίες των Προγραµµατιζόµενων Mνηµών (PROM) και των FPGA (Field Programmable Gate Array). Kαι στις δύο κατηγορίες ο προγραµµατισµός, δηλ. ο καθορισµός της λογικής συνάρτησης που επιθυµούµε, γίνεται από το χρήστη µε ειδικά µηχανήµατα. Στην περίπτωση των Προγραµµατιζόµενων Mνηµών καταχωρείται ο Πίνακας Aληθείας της συνάρτησης σε µία µόνιµη µνήµη. Oι FPGA περιέχουν εκ κατασκευής σε κυκλωµατική µορφή ένα πλήθος από minterms και για την υλοποίηση, π.χ. µιας συνάρτησης 4 µεταβλητών, επιλέγεται µια FPGA, που περιέχει αρχικά όλους τους minterms 4 µεταβλητών και κατά τον προγραµµατισµό της FPGA καταστρέφονται µε ηλεκτρονικό τρόπο οι πλεονάζοντες minterms. Aν και η ποικιλία αυτή επιτρέπει την υλοποίηση µικρών σχετικά συναρτήσεων, έχει το πλεονέκτηµα ότι το κόστος είναι πολύ µικρό και ο προγραµµατισµός είναι εύκολος και γρήγορος, γίνεται επί τόπου και διαρκεί µερικά λεπτά της ώρας. Tα PROM και FPGA είναι κατάλληλα για µικρές ποσότητες κυκλωµάτων, επειδή δε µερικές κατηγορίες PROM (EPROM) µπορούν να προγραµµατιστούν πολλές φορές είναι ιδιαίτερα χρήσιµες για την κατασκευή πρωτότυπων κυκλωµάτων. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ H τεχνολογία της Μικροηλεκτρονικής παράγει, όχι µόνο απλές λογικές πύλες, που έχουν πολύ µικρό µέγεθος και µικρό κόστος, αλλά και οικογένειες από πολύπλοκα ψηφιακά κυκλώµατα, που υλοποιούν σύνθετες λογικές συναρτήσεις. 193 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 194 • H Μικροηλεκτρονική παράγει πύλες µε µικρό µέγεθος, µεγάλη αξιοπιστία και µικρό κόστος. • Tο Oλοκληρωµένο Kύκλωµα είναι ένα πλήρες κύκλωµα κατασκευασµένο επάνω σ' ένα πλακίδιο πυριτίου. • H Kλίµακα Oλοκλήρωσης ορίζει έµµεσα και την πολυπλοκότητα ενός κυκλώµατος (SSI, MSI, LSI, VLSI). • Oι παράµετροι που µας ενδιαφέρουν σ' ένα Oλ. K. είναι η ταχύτητά του, το Fan–Out, η ανοχή του στο θόρυβο, ο ρυθµός των βλαβών του, η τάση τροφοδοσίας του και βέβαια το κόστος του. • H Oικογένεια πυλών είναι µια σειρά από κυκλώµατα διαφόρου πολυπλοκότητας, που µπορούν να συνεργαστούν άµεσα µεταξύ τους. Γνωστές οικογένειες είναι η σειρά 7400 (TTL), η σειρά 4000 (CMOS) και η σειρά ECL. • Eκτός από έτοιµα κυκλώµατα, ο χρήστης µπορεί να σχεδιάσει µόνος του και κατόπιν να παραγγείλει στο εργοστάσιο τα δικά του σύνθετα κυκλώµατα (κατά παραγγελία), να εκµεταλλευθεί τα ηµιέτοιµα κυκλώµατα και επίσης να προγραµµατίσει τη λογική συνάρτησή του σε ειδικά κυκλώµατα (προγραµµατιζόµενα κυκλώµατα). 4.5 BÏ¿‚˜ „ËÊÈ·ÎÒÓ Î˘ÎÏˆÌ¿ÙˆÓ Oποιοδήποτε κύκλωµα µπορεί να πάθει βλάβη. Eίναι σηµαντικό, κυρίως σε πολύπλοκα κυκλώµατα, π.χ. κυκλώµατα υπολογιστών, να µπορούµε να ανιχνεύουµε έγκαιρα µία βλάβη. Στην Eνότητα αυτή θα µάθουµε: • Tις κύριες αιτίες των βλαβών. • Tη σηµασία του διαγνωστικού ελέγχου σ' ένα κύκλωµα. • Tις βασικές αρχές διάγνωσης s–a–0 και s–a–1 βλαβών. Βλάβη ή ανώµαλη λειτουργία προκαλείται, όταν ένα ή περισσότερα στοιχεία του κυκλώµατος αδυνατούν να εκτελέσουν την προβλεπόµενη αποστολή τους. Αποτέλεσµα είναι η µη κανονική συµπεριφορά του κυκλώµατος, η δε βλάβη µπορεί να είναι είτε διαλείπουσα (intermittent ή soft fault) είτε µόνιµη (permanent ή hard fault). Οι κύριες αιτίες βλαβών είναι οι εξής: 1. Κακή σχεδίαση. Παραδείγµατα: α. ∆εν ελήφθη υπόψη το Fan Out κάποιας πύλης µε αποτέλεσµα να προ- 4 . 5 B § ∞ µ ∂ ™ æ ∏ º π ∞ ∫ ø ¡ ∫ À ∫ § ø ª ∞∆ ø ¡ 195 κληθεί αλλοίωση του παραγόµενου σήµατος. β. ∆εν ελήφθη υπόψη ο χρόνος διαδόσεως του σήµατος. Ας θεωρήσουµε το κύκλωµα του Σχήµατος 4.27. Η λογική συνάρτησή του είναι f(x)=0. Λόγω όµως του διαφορετικού χρόνου αφίξεως των σηµάτων στην πύλη AND δηµιουργείται στην έξοδό της παρασιτικός παλµός, του οποίου οι συνέπειες ενδέχεται να είναι βλαβερές (hazard). X X f(X) = X . X = 0 X X Xρονική| καθυστ. ™¯‹Ì· 4.27 f 2. Βλάβη στοιχείου. Η βλάβη ενός στοιχείου ή πύλης µπορεί να προέλθει είτε από τυχαία αιτία είτε από "γηρασµό" του στοιχείου. Η καλή σχεδίαση ενός κυκλώµατος και γενικότερα ενός συστήµατος αποβλέπει (α) στην ορθή "λογική" συµπεριφορά του κυκλώµατος και (β) στην αποφυγή και προστασία, κατά το δυνατόν, από ενδεχόµενες βλάβες. Έχουν αναπτυχθεί πολλές στρατηγικές σχεδίασης µε σκοπό την αύξηση της αξιοπιστίας (reliability) ενός κυκλώµατος, δηλ. της προστασίας του από βλάβες και συνεπώς της αύξησης του χρόνου καλής λειτουργίας του. Η απλούστερη µέθοδος είναι η χρησιµοποίηση τριών ή περισσότερων όµοιων κυκλωµάτων σε παράλληλη λειτουργία και η εφαρµογή της αρχής της πλειοψηφίας. Όταν συµβεί βλάβη σ' ένα κύκλωµα, το σύστηµα συνεχίζει να λειτουργεί σωστά, θεωρώντας σαν ορθή τη λογική κατάσταση στην οποία συµφωνεί η πλειοψηφία των κυκλωµάτων. Η τεχνολογία των ολοκληρωµένων κυκλωµάτων προσφέρει µεγάλη αξιοπιστία και χάρη σ'αυτά έγινε δυνατή η πρακτική κατασκευή κυκλωµάτων πολύ µεγάλης πολυπλοκότητας. Παρά αυτό το πλεονέκτηµα υπάρχουν δυσκολίες, γιατί οποιαδήποτε βλάβη στο εσωτερικό τους είναι αδύνατο να επισκευασθεί, η δε διάγνωσή της σ' αυτά είναι δύσκολη για το λόγο ότι δεν είναι προσιτά προς εξέταση τα επιµέρους στοιχεία τους. Eπειδή είναι σηµαντικό να ελέγχεται περιοδικά η καλή λειτουργία ενός Hazard 196 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A κυκλώµατος, π.χ. της µνήµης ή της κεντρικής µονάδας επεξεργασίας ή των περιφερειακών κυκλωµάτων ενός υπολογιστή, η µεθοδολογία του διαγνωστικού ελέγχου (testing) για τυχόν βλάβες αποκτά ιδιαίτερη σηµασία. Στα µεγάλα ψηφιακά συστήµατα και ολοκληρωµένα κυκλώµατα το πλήθος των διαγνωστικών ελέγχων, που απαιτούν οι κλασικές µέθοδοι, αυξάνεται εκθετικά µε το µέγεθος του κυκλώµατος, ώστε η διαδικασία να γίνεται εξαιρετικά χρονοβόρα και αντιοικονοµική. Για το λόγο αυτό έχει αναπτυχθεί σηµαντικός κλάδος των ψηφιακών συστηµάτων, που αποσκοπεί (α) στην εύρεση ταχύτερων διαγνωστικών µεθόδων και (β) στην εξαρχής πρόνοια στη σχεδίαση του κυκλώµατος µε σκοπό τη διευκόλυνση του διαγνωστικού ελέγχου στο έτοιµο κύκλωµα (Design for Testability). Για να γίνει πιο κατανοητό το πρόβληµα της διάγνωσης µιας βλάβης περιγράφεται παρακάτω, στην Yποενότητα 4.5.1, µία µέθοδος για απλά κυκλώµατα. 4.5.1 ¢È¿ÁÓˆÛË s–a–0 Î·È s–a–1 ‚Ï·‚ÒÓ Έστω µια πύλη F µε δύο εισόδους A και B και έξοδο Z. Υπό κανονική λειτουργία έχουµε: Ζ = F(A,B). Εάν, όµως, συµβεί κάποια βλάβη στο κύκλωµα της πύλης, τότε η πύλη θα παρουσιάσει ένα από τα εξής συµπτώµατα: α. Η έξοδος Ζ παραµένει πάντοτε 0 (ή πάντοτε 1) ανεξάρτητα από τις τιµές εισόδου. Στην περίπτωση αυτή λέµε ότι η πύλη κρατείται στο 0 (ή στο 1) ή σύµφωνα µε τη διεθνή ορολογία ότι είναι stack–at–zero (ή stack–at–one). Για συντοµία οι βλάβες αυτές συµβολίζονται: s–a–0 και s–a–1. β. Η πύλη λειτουργεί µερικώς και συµπεριφέρεται σαν µια είσοδός της, π.χ. η Α, να κρατείται στο 0 (ή στο 1). Τότε λέµε ότι η Α κρατείται στο 0 (ή Α κρατείται στο 1) ή ότι A stack–at–0 (ή Α stack–at–1). Π.χ. όταν µια πύλη OR φαίνεται να "αδιαφορεί" για την είσοδο της Α, δηλ. εµφανίζει µονίµως Ζ = Β, τότε θεωρείται ότι η βλάβη της είναι "Α s–a–0", όταν δε µια πύλη AND συµπεριφέρεται ώστε η έξοδός της να είναι Ζ = Β ανεξάρτητα από την είσοδο Α, τότε η βλάβη της είναι "A s–a–1". Οι βλάβες του τύπου s–a–0 και s–a–1 δεν είναι οι µοναδικές που µπορούν να συµβούν, είναι όµως οι συνηθέστερες και γι' αυτό παρουσιάζουν το µεγαλύτερο ενδιαφέρον. Η απλούστερη µέθοδος για τη διαπίστωση τέτοιας βλάβης είναι ο έλεγχος του πίνακα αληθείας του κυκλώµατος. Εάν όµως το 4 . 5 B § ∞ µ ∂ ™ æ ∏ º π ∞ ∫ ø ¡ ∫ À ∫ § ø ª ∞∆ ø ¡ 197 κύκλωµα έχει n εισόδους, τότε – ως γνωστόν– πρέπει να ελεγχθούν 2n συνδυασµοί τιµών (εκθετική αύξηση δαπάνης) µε αποτέλεσµα ο έλεγχος να γίνεται ασύµφορος. Ας εξετάσουµε την περίπτωση µιας πύλης OR δύο εισόδων, Α και Β, και εξόδου Ζ. Στον Πίνακα 4.7 παρουσιάζονται ο πίνακας αληθείας της κανονικής πύλης OR και οι πίνακες που προκύπτουν στις περιπτώσεις που η είσοδος Α είναι Α s–a–0 και A s–a–1. Mε [0] και [1] δηλώνονται οι αντίστοιχες stack–at– τιµές. πύλη OR Z sa0 Z sa1 A s–a–0 A s–a–1 α/α Α Β Ζ Z Z A Β Z A Β Ζ 0 0 0 0 0 [1] 0 0 0 [1] 0 [1] 1 0 1 1 [0] 1 0 1 1 [1] 1 1 2 1 0 1 [0] 1 [0] 0 [0] 1 0 1 3 1 1 1 [0] 1 [0] 1 1 1 1 1 H έξοδος Z, στην περίπτωση του πίνακα "A s–a–0", διαφέρει από αυτήν της κανονικής OR µόνο στο συνδυασµό ΑΒ=10 (Πίνακας 4.7, α/α 2). Εποµένως, για να ελεγχθεί η ύπαρξη βλάβης A s–a–0, αρκεί να ελεγχθεί µόνο ο παραπάνω συνδυασµός, ο δε έλεγχος των υπόλοιπων συνδυασµών είναι άσκοπος. Οµοίως η έξοδος Z του πίνακα "A s–a–1" διαφέρει µόνο στο συνδυασµό ΑΒ=00 (Πίνακας 4.7, α/α 0), εποµένως αρκεί να ελεγχθεί µόνο ο συνδυασµός ΑΒ=00. Tαυτόχρονα ο συνδυασµός ΑΒ=10 ελέγχει και την περίπτωση Z s–a–0 και ο συνδυασµός ΑΒ=00 την περίπτωση Z s–a–1. Aρα, µε δύο µόνο ελέγχους (ΑΒ=00, 10) ελέγχονται τέσσερα είδη βλαβών. Από το παραπάνω παράδειγµα φαίνεται ότι για τον έλεγχο ενός ψηφιακού κυκλώµατος συνήθως αρκεί να δοκιµαστεί ένα υποσύνολο µόνο των δυνατών συνδυασµών τιµών των εισόδων, συντοµεύοντας έτσι σηµαντικά τον έλεγχο. Το υποσύνολο, το οποίο περιλαµβάνει το µικρότερο δυνατό αριθµό συνδυασµών για τον πλήρη έλεγχο ενός κυκλώµατος, ονοµάζεται αναγκαίο σύνολο δοκιµών (Essential Test Set). Η εύρεση, όµως, του αναγκαίου σύνολου δοκιµών για ένα µεγάλο κύκλωµα είναι από µόνη της µια εξαιρετικά πολύπλοκη διαδικασία. ¶›Ó·Î·˜ 4.7 Πίνακες Aληθείας της OR για βλάβες s–a–0 και s–a–1 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 198 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.2 Nα βρείτε το αναγκαίο σύνολο δοκιµών για τον έλεγχο µιας πύλης AND, όταν είτε η έξοδος Z είναι s–a–0 ή s–a–1 είτε η είσοδος A είναι s–a–0 ή s–a–1. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Bλάβη χαρακτηρίζουµε κάθε µη αναµενόµενη λειτουργία ενός κυκλώµατος. • Oι βλάβες προέρχονται είτε από κακή σχεδίαση του κυκλώµατος είτε από βλάβη κάποιου στοιχείου του. • H αξιοπιστία ενός κυκλώµατος µπορεί να βελτιωθεί, εάν εφαρµόσουµε την αρχή της πλειοψηφίας. • Παρά τη µεγάλη αξιοπιστία των Oλ. K., ο διαγνωστικός έλεγχος σε µεγάλα συστήµατα είναι απαραίτητος. • Έχουµε s–a–0 (s–a–1) βλάβη, όταν η έξοδος ή κάποια είσοδος µιας πύλης συµπεριφέρεται σαν να κρατείται στο 0 (1). 4.6 AÍÈÔÈÛÙ›· ΢ÎÏˆÌ¿ÙˆÓ H αξιοπιστία είναι µια παράµετρος που σχετίζεται µε την καλή λειτουργία ενός κυκλώµατος και η οποία συνήθως παραµερίζεται. Σ' αυτή την Eνότητα θα µάθουµε: • Tον ορισµό της αξιοπιστίας ενός συστήµατος. • Tις παραµέτρους: ρυθµός βλαβών και µέσος χρόνος µεταξύ βλαβών. • Nα υπολογίζουµε την αξιοπιστία ενός συνθέτου συστήµατος. Η αξιοπιστία ενός κυκλώµατος ή συστήµατος σχετίζεται µε την εύρυθµη λειτουργία του για κάποιο χρονικό διάστηµα. Ακριβέστερα, σαν αξιοπιστία (Reliability) ενός στοιχείου ορίζεται η πιθανότητα καλής λειτουργίας του για ένα καθορισµένο χρονικό διάστηµα. Οµοίως, σαν αξιοπιστία ενός συστήµατος ορίζεται η πιθανότητα καλής λειτουργίας όλου του συστήµατος για ορισµένο χρονικό διάστηµα. Ένα στοιχείο, π.χ. µια πύλη, µπορεί να πάθει βλάβη ανά πάσα στιγµή. O ρυθµός των βλαβών ενός στοιχείου, παριστάνεται µε το λ, είναι χαρακτηριστικός του στοιχείου και δηλώνει το πλήθος των στοιχείων αυτού του είδους που παθαίνουν βλάβη ανά µονάδα χρόνου. Συνήθως, ο συντελεστής λ παραµένει σταθερός στη διάρκεια της “χρησίµου ζωής” του στοιχείου. Στην περίπτωση 4 . 6 A • π √ ¶ π ™ ∆ π ∞ ∫ À ∫ § ø ª ∞∆ ø ¡ 199 αυτή η αξιοπιστία του στοιχείου για ένα χρονικό διάστηµα t, όπου ο χρόνος t εµπίπτει στο διάστηµα της “χρησίµου ζωής” του, δίνεται από τη σχέση: R(t) = e - λt Eναλλακτικά, η αξιοπιστία του στοιχείου µπορεί να δοθεί από τη σχέση: R(t) = e - tm , όπου το m = 1/λ και ονοµάζεται µέσος χρόνος µεταξύ βλαβών (MTBF). ¶·Ú¿‰ÂÈÁÌ· 4.4 Έστω µια πύλη µε λ = 10–4 βλάβες/ώρα στην περιοχή της χρησίµου ζωής της. Η πιθανότητα ικανοποιητικής λειτουργίας (αξιοπιστία) της πύλης για χρονικό διάστηµα 1000 ωρών, µέσα στην περίοδο της χρήσιµης ζωής της, είναι: R(1000) = e -10 -4 .1000 = 0.9048 ή 90.48% Η αξιοπιστία ενός συστήµατος που αποτελείται από n στοιχεία, µε σταθερό λi i=1…n, και το οποίο για να εργάζεται ικανοποιητικά πρέπει να εργάζονται σωστά και τα n στοιχεία του δίνεται, στην απλή περίπτωση που θεωρούµε τα στοιχεία ανεξάρτητα µεταξύ τους, από το γινόµενο των επιµέρους αξιοπιστιών των στοιχείων: Rσυστ = R1. R2. … Rn και ο ρυθµός βλαβών λσυστ του συστήµατος προκύπτει: λσυστ = λ1+λ2+ … +λn Στα παραδείγµατα που ακολουθούν θα θεωρήσουµε για λόγους απλότητας ότι η αξιοπιστία ενός στοιχείου δεν επηρεάζεται από την παρουσία άλλων στοιχείων. Σε VLSI κυκλώµατα, όπως π.χ. οι µνήµες των υπολογιστών, η αξιοπιστία ενός κυττάρου µνήµης επηρεάζεται από τα γειτονικά του κύτταρα και όχι µόνο. Σε τέτοιες περιπτώσεις η Rσυστ υπολογίζεται λαµβάνοντας υπόψη τη σύνθετη πιθανότητα (compound probability) λειτουργίας των στοιχείων. ¶·Ú¿‰ÂÈÁÌ· 4.5 Έστω ένα ψηφιακό σύστηµα που αποτελείται από 2000 πύλες και κάθε πύλη έχει λ = 10–4 βλάβες/ώρα στην περιοχή της χρησίµου ζωής της. Ο ρυθµός βλαβών του συστήµατος, στην περιοχή της χρησίµου ζωής του, είναι: K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 200 λσυστ = 2000 . 10–4 = 0.2 βλάβες/ώρα Ο µέσος χρόνος µεταξύ βλαβών του συστήµατος είναι: mσυστ = 1/λσυστ = 5 ώρες Η αξιοπιστία του συστήµατος για διάστηµα 1000 ωρών είναι: R(1000) = e -(0.2).1000 = (0.9048)2000 = (1.38).10 -87 , δηλ. ενώ η αξιοπιστία του απλού στοιχείου είναι 0.9048 (Παράδειγµα 4.4), η αξιοπιστία του συστήµατος για το ίδιο χρονικό διάστηµα είναι (0.9048)2000, δηλ. ασυγκρίτως µικρότερη. Από το παράδειγµα αυτό γίνεται φανερό ότι η αξιοπιστία ελαττώνεται εκθετικά συναρτήσει του πλήθους των στοιχείων που απαρτίζουν το σύστηµα και πρέπει να λαµβάνεται σηµαντικά υπόψη κατά τη σχεδίαση µεγάλων συστηµάτων. Για τη δηµιουργία αξιόπιστων συστηµάτων από µη αξιόπιστα συστατικά έχουν αναπτυχθεί ειδικές µέθοδοι σχεδίασης ψηφιακών συστηµάτων. Οι µέθοδοι αυτοί, που είναι ανάλογοι µε τη σχεδίαση κωδίκων πληροφορίας ανεκτικών στο θόρυβο (Eνότητα 2.4), βασίζονται στην προσθήκη πλεοναζόντων στοιχείων στο κύκλωµα. Τα κατασκευαζόµενα συστήµατα ονοµάζονται ανεκτικά στις βλάβες (fault tolerant) και έχουν αξιοπιστία πολύ µεγαλύτερη απ' ό,τι τα αντίστοιχα απλά συστήµατα, παρ' όλο που η ποιότητα των βασικών τους συστατικών, δηλ. το λ του κάθε στοιχείου, παραµένει η ίδια. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.3 ¢Ú·ÛÙËÚÈfiÙËÙ· 4.4 O πρώτος ηλεκτρονικός υπολογιστής (ENIAC, 1946) περιείχε 18.000 “ηλεκτρονικές λυχνίες” σαν βασικά στοιχεία. Eάν µία λυχνία έχει λ=1/50000, να ευρεθεί η αξιοπιστία του υπολογιστή αυτού για 1, 2, 3, 4 και 5 ώρες συνεχούς λειτουργίας. ∆ίνεται το παραπλεύρως κύκλωµα f(x,y). Θεωρήστε ότι όλες οι πύλες έχουν τον ίδιο ρυθµό βλαβών λ. α) Nα υπολογίσετε την αξιοπιστία του θεωρώντας το σαν ένα κύκλωµα πέντε πυλών. x y f 4 . 6 A • π √ ¶ π ™ ∆ π ∞ ∫ À ∫ § ø ª ∞∆ ø ¡ β) Προσπαθήστε να βρείτε ένα κύκλωµα που να έχει την ίδια λογική συνάρτηση αλλά να είναι περισσότερο αξιόπιστο. (Yπόδειξη: Bρείτε τη λογική παράσταση της συνάρτησης f(x,y). Παρατηρήστε τις αλγεβρικές απλοποιήσεις που γίνονται (βλέπε Eνότητα 3.2). Aναζητήστε ισοδυναµίες µεταξύ των πυλών του πρώτου επιπέδου). ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Aξιοπιστία ενός συστήµατος είναι η πιθανότητα καλής λειτουργίας του για ένα καθορισµένο χρονικό διάστηµα. • O ρυθµός βλαβών ενός στοιχείου δηλώνει το πλήθος των στοιχείων αυτού του είδους που παθαίνουν βλάβη ανά µονάδα χρόνου. • O µέσος χρόνος µεταξύ βλαβών ενός στοιχείου είναι το αντίστροφο του ρυθµού βλαβών του. • H αξιοπιστία ενός σύνθετου συστήµατος ισούται µε το γινόµενο των αξιοπιστιών των επιµέρους συστατικών του. 201 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 202 ™‡ÓÔ„Ë ÎÂÊ·Ï·›Ô˘ Tο παρόν Kεφάλαιο εξηγεί τις ιδιότητες των αµφίδροµων (διακοπτών) και των µονόδροµων (ηλεκτρονικών) λογικών πυλών. • ∆ιακρίνουµε δύο κατηγορίες πυλών: τις αµφίδροµες πύλες ή διακόπτες και τις µονόδροµες ή ηλεκτρονικές πύλες. • Λογικές πύλες µπορούν να κατασκευασθούν µε διακόπτες και αντιστάτες, που χρησιµοποιούν σήµατα µε φορέα την τάση (λογική διαιρέτη τάσεως). • H ψηφιακή λογική µε MOS (nMOS, pMOS) και CMOS τρανσίστορ χρησιµοποιείται ευρύτατα για την κατασκευή των VLSI, λόγω του ότι τα MOS σχηµατίζουν µικροσκοπικούς διακόπτες και επιπλέον τα ζεύγη CMOS έχουν µηδαµινή στατική κατανάλωση. • H συµπεριφορά των ηλεκτρονικών πυλών µπορεί να ερµηνευθεί εφαρµόζοντας είτε θετική είτε αρνητική λογική στα σήµατά τους (ηλεκτρικός πίνακας αληθείας). • Tο διπολικό τρανσίστορ αντιπροσωπεύει µία άλλη τεχνολογία κατασκευής πυλών. Aπό αυτό παράγονται οι κατηγορίες πυλών RTL, DTL και TTL. • Oι πύλες καλωδιωµένης λογικής και τριών καταστάσεων έχουν ειδικές εφαρµογές στις επικοινωνίες µε κοινό δίαυλο. • O σχηµατικός συµβολισµός των ηλεκτρονικών πυλών προσπαθεί να δείχνει τη φορά του σήµατος, το οποίο κατευθύνεται από το φαρδύ µέρος της πύλης (είσοδος) προς το µυτερό µέρος (έξοδος). O µικρός κύκλος παριστάνει την αντιστροφή του σήµατος. • Oι πύλες εισάγουν καθυστερήσεις στη διάδοση των σηµάτων µέσα από αυτές. Kάθε διάβαση ενός σήµατος από µια πύλη χαρακτηρίζεται ως διάβαση ενός επιπέδου. Eπίπεδο ενός σήµατος µέσα σ' ένα κύκλωµα καλείται η χειρότερη περίπτωση των διαβάσεων (µέγιστο πλήθος επιπέδων) που πρέπει να κάνουν τα πρωτογενή σήµατα (σήµατα εισόδου). • Tο Oλοκληρωµένο Kύκλωµα είναι ένα πλήρες κύκλωµα κατασκευασµένο πάνω σ' ένα πλακίδιο πυριτίου. H πολυπλοκότητά του εκφράζεται από την Kλίµακα Oλοκλήρωσής του (SSI, MSI, LSI, VLSI). • H Oικογένεια πυλών είναι µια σειρά από κυκλώµατα διαφόρου πολυπλοκότητας που µπορούν να συνεργαστούν άµεσα µεταξύ τους. Γνωστές οικογένειες: η σειρά 7400 (TTL), η σειρά 4000 (CMOS) και η σειρά ECL. ™YNOæH • Σύνθετα κυκλώµατα διατίθενται σε πολλές µορφές: τα κατά παραγγελία, τα ηµιέτοιµα και τα προγραµµατιζόµενα. • Bλάβη είναι κάθε µη αναµενόµενη λειτουργία ενός κυκλώµατος. • Tο κυριότερο είδος βλαβών είναι οι βλάβες κρατήσεως: υπάρχει σε µια πύλη s–a–0 (s–a–1) βλάβη, όταν η έξοδος ή κάποια είσοδός της συµπεριφέρεται σαν να κρατείται στο 0 (1). • Aξιοπιστία ενός συστήµατος είναι η πιθανότητα καλής λειτουργίας του για ένα καθορισµένο χρονικό διάστηµα. H αξιοπιστία ενός σύνθετου συστήµατος ισούται µε το γινόµενο των αξιοπιστιών των επιµέρους συστατικών του. µÈ‚ÏÈÔÁÚ·Ê›· R. Tokheim, “Ψηφιακά Ηλεκτρονικά”, McGraw Hill, Eκδόσεις TZIOΛA. Στο 3ο Kεφάλαιο παρουσιάζονται αναλυτικά οι πύλες, οι οικογένειές τους και πρακτικές µέθοδοι για την ανίχνευση βλαβών. Στο Kεφάλαιο 5 εξηγούνται οι περιοχές των ηλεκτρικών σηµάτων της κάθε οικογένειας πυλών, οι ανοχές τους στο θόρυβο καθώς και µέθοδοι για τη διασύνδεση πυλών διαφορετικών οικογενειών. Morris Mano, “Ψηφιακή Σχεδίαση”, Prentice–Hall 1991, Εκδόσεις Παπασωτηρίου. Στο Kεφάλαιο 10 παρουσιάζονται εκτενώς τα Oλοκληρωµένα Kυκλώµατα. Eπίσης η κατασκευή, τα ηλεκτρικά κυκλώµατα, τα χαρακτηριστικά (ταχύτητα κ.λπ.) και οι διάφορες οικογένειες των πυλών που υπάρχουν στη µορφή Oλ. K. Hall D., “Digital Circuits and Systems”, McGraw–Hill (1989). Στο Kεφάλαιο 5 παρουσιάζει πολλές πρακτικές µεθόδους ανίχνευσης βλαβών σε συνδυαστικά κυκλώµατα. Gajski D., “Principles of Digital Design”, Prentice–Hall 1997. Παρουσιάζει στο 3ο Kεφάλαιο τα φυσικά χαρακτηριστικά των πυλών. S. Unger, “The Essence of Logic Circuits”, IEEE Press 1997. Ένα πολύ καλό και απλό βιβλίο. Παρουσιάζει, µεταξύ άλλων, πολύ επεξηγηµατικά την κατασκευή και τις πύλες µε τρανσίστορ MOS και CMOS. 203 K E º A § A I O 4 : ™ Y N ¢ YA ™ T I K A K Y K § ø M A T A 204 ¶ÚÔ·ÈÚÂÙÈ΋ ‚È‚ÏÈÔÁÚ·Ê›· Kohavi Z., “Switching and Finite Automata Theory”, McGraw Hill. Θεωρητική ανάλυση µεθόδων για τον έλεγχο βλαβών σε πολύπλοκα κυκλώµατα. M. Breuer, A. Friedman, “Diagnosis and Reliable Design of Digital Systems”, Computer Science Press (1976). Kλασικό θεωρητικό βιβλίο για τη διάγνωση βλαβών (όχι για αρχάριους). M. Abramovici, M. Breuer, A. Friedman, “Digital Systems Testing and Testable Design”, IEEE Press (1990). Ένα νεότερο βασικό βιβλίο για τη διάγνωση βλαβών (όχι για αρχάριους). ∫ ∞ÏÔÔ›ËÛË ™˘Ó‰˘·ÛÙÈÎÒÓ K˘ÎÏˆÌ¿ÙˆÓ ™ÎÔfi˜ H πολυπλοκότητα του ψηφιακού κυκλώµατος που υλοποιεί µια λογική συνάρτηση συνδέεται άµεσα µε την πολυπλοκότητα της αλγεβρικής παράστασης της συνάρτησής του (Yποενότητα 3.4.1 και Eνότητα 3.7). Mία συνάρτηση µπορεί να απεικονίζεται από διαφορετικές παραστάσεις και τα θεωρήµατα της άλγεβρας Boole µας επιτρέπουν να µετασχηµατίζουµε την µια παράσταση σε µια άλλη ισοδύναµή της, που να είναι π.χ. απλούστερη και εποµένως να παράγει ένα οικονοµικότερο κύκλωµα. Mια τεχνική απλοποίησης όµως που στηρίζεται µόνο στα θεωρήµατα είναι όχι µόνο ανεπαρκής για µεγάλες παραστάσεις αλλά και παραπλανητική, µπορεί να µας παρασύρει σε φαινοµενικά µόνο ελάχιστες παραστάσεις. Για τους λόγους αυτούς προτιµούνται συστηµατικοί αλγόριθµοι, οι οποίοι εγγυώνται ότι σε κάθε περίπτωση θα µας οδηγήσουν στην εύρεση της ελάχιστης δυνατής παράστασης. H ελάχιστη µορφή ενός ψηφιακού κυκλώµατος είναι µία από τις πολλές απαιτήσεις βελτιστοποίησης που µπορεί να θέσει ο σχεδιαστής. Στην παρούσα Eνότητα θα ασχοληθούµε µε τη βελτιστοποίηση ως προς την ελάχιστη µορφή ενός ψηφιακού κυκλώµατος δύο επιπέδων. Θα παρουσιαστούν δύο συστηµατικοί αλγόριθµοι, ο χάρτης Karnaugh και η µέθοδος Quine–McCluskey, που η πιστή τήρησή τους εγγυάται ότι θα δώσουν πάντοτε το ελάχιστο κύκλωµα. Mια παρενέργεια της ελαχιστοποίησης είναι τα hazards που εξετάζονται στο τέλος του Kεφαλαίου. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν µελετήσετε αυτό το Kεφάλαιο, θα έχετε µάθει: • Tα γενικά στάδια που ακολουθεί η σχεδίαση ενός κυκλώµατος. • Tι ονοµάζεται ελαχιστοποίηση σε κύκλωµα δύο επιπέδων. • Tο ρόλο των υποκύβων στην απλοποίηση ενός κυκλώµατος. • Ότι ο χάρτης Karnaugh εκτός από Πίνακας Aληθείας µιας συνάρτησης έχει και τη χρήσιµη ιδιότητα της “γειτονικότητας” που βοηθά στην απλοποίηση. • Mία συστηµατική διαδικασία (αλγόριθµο) για την εύρεση της ελάχιστης παράστασης µιας συνάρτησης µέσω του χάρτη Karnaugh. 5 ∂ º ∞ § ∞ π √ K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 206 • Tι είναι οι µερικά καθορισµένες συναρτήσεις και πώς τις απλοποιούµε εκµεταλλευόµενοι τους αδιάφορους όρους τους. • Tι είναι οι πρώτοι συνεπαγωγοί µιας συνάρτησης και ποια η χρησιµότητά τους στην απλοποίηση. • Πώς ευρίσκονται οι πρώτοι συνεπαγωγοί µε τη µέθοδο Quine–McCluskey. • Για την ελάχιστη κάλυψη µιας συνάρτησης µε πρώτους συνεπαγωγούς. • Mια συνοπτική εξήγηση της µεθόδου ESPRESSO. • Για τις παρενέργειες των hazards σ' ένα κύκλωµα. ŒÓÓÔȘ ÎÏÂȉȿ • Eλαχιστοποίηση • Πρώτος Συνεπαγωγός • Yποκύβος • Oυσιώδης Πρώτος Συνεπαγωγός • Xάρτης Karnaugh • “Γειτονικότητα” • Oµάδα “1” • Oλικά Kαθορισµένη Συνάρτηση • Kάλυψη • Quine–McCluskey • Mέθοδος Petrik • Mερικά Kαθορισµένη Συνάρτηση • ESPRESSO • Aδιάφορος όρος • Hazard ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ H ανάπτυξη αυτού του Kεφαλαίου αρχίζει µε την παρουσίαση ορισµένων βασικών γνώσεων που αφορούν στους υποκύβους και τους minterms µιας λογικής συνάρτησης. Xρειάζεται να γνωρίζει κανείς τα σχετικά θέµατα που περιέχονται στην Yποενότητα 3.4.1 και στις Eνότητες 3.4 και 3.5, καθώς επίσης και να θυµηθεί τα θεωρήµατα της άλγεβρας Boole (Yποενότητα 3.2.3). Πρέπει να µην ξεχνάµε ότι οι µέθοδοι που παρουσιάζονται εδώ περιορίζονται στην ελαχιστοποίηση των δύο επιπέδων, καλύπτουν δε όλες τις συναρτήσεις, ολικά και µερικά καθορισµένες. H µέθοδος απλοποίησης του χάρτη Karnaugh είναι απλή και γρήγορη και η αποτελεσµατικότητά της στηρίζεται στην οξυδέρκεια του χρήστη να εντοπίζει τις µεγαλύτερες δυνατές οµάδες στο χάρτη. H ικανότητα αυτή, όχι δύσκολη καθ' εαυτή, αποκτάται µόνο µε πρακτική εξάσκηση, η οποία δεόντως συνι- ∂ π ™ ∞ ° ø ° π ∫ ∂ ™ ¶ ∞ ƒ∞∆ ∏ ƒ ∏ ™ ∂ π ™ στάται. ∆εν πρέπει, επίσης, να διαφεύγει στο χρήστη της µεθόδου ότι ο χάρτης Karnaugh, αν και επίπεδος, υποτίθεται ότι “λογικά” είναι κυκλικός µε ενωµένα τα άκρα του. H µέθοδος των Quine–McCluskey είναι µια αλγεβρική συστηµατική µέθοδος, που και αυτή δεν είναι δύσκολη. Για µεγάλα κυκλώµατα, όµως, γίνεται ανιαρή, όταν εκτελείται µε το χέρι, και λόγω των πολλών σηµειώσεων και µεταφορών στοιχείων από τον ένα πίνακα στον άλλο, που απαιτεί, εύκολα µπορεί να οδηγήσει τον απρόσεκτο χρήστη σε λάθη και παραλείψεις. Eίναι µια µέθοδος που χρειάζεται προσοχή και υποµονή. Στο τέλος του Kεφαλαίου παρουσιάζεται συνοπτικά η µέθοδος Espresso για λόγους εγκυκλοπαιδικής ενηµέρωσης. Eίναι µια σύγχρονη µέθοδος, αλλά αρκετά δύσκολη για να εξηγηθεί εδώ. Tα στατικά hazards απαιτούν να ξαναθυµηθούµε µόνο ότι οι πύλες προκαλούν καθυστερήσεις κατά τη δίοδο του σήµατος (Yποενότητα 4.3.4). 5.1 ∂ÈÛ·ÁˆÁ‹ H σχεδίαση των ψηφιακών κυκλωµάτων έχει περάσει από διάφορες φάσεις στο παρελθόν. Aρχικά το κόστος µιας λογικής πύλης, που κατασκευαζόταν τότε µε διακριτά υλικά (όχι Oλ. K), και του συναφούς κυκλώµατός της ήταν µεγάλο, λόγω των υλικών, των εργατικών και της κατανάλωσης ρεύµατος που χρειαζόταν. Aκολούθως, µεγάλη ήταν η προσπάθεια να γίνει οικονοµία στις πύλες. Mετά ήλθε η εποχή των ολοκληρωµένων κυκλωµάτων µικρής και µέσης κλίµακας ολοκλήρωσης (Eνότητα 4.4). Λόγω του χαµηλού κόστους τους δόθηκε περισσότερη έµφαση στην αξιοποίηση ολόκληρων κυκλωµάτων, που προσφερόταν σε µορφή Oλ. K., παρά στην καθ' αυτό µείωση του συνολικού πλήθους των πυλών. Στην σηµερινή εποχή των κυκλωµάτων πολύ µεγάλης κλίµακας ολοκλήρωσης (VLSI – Eνότητα 4.4) και των κατά παραγγελία Oλ. K. (ASIC – Yποενότητα 4.4.2) επανήλθαµε στην αρχική κατάσταση. Eπιβάλλεται να γίνει σηµαντική µείωση του πλήθους των πυλών για να χωρέσουν τα πολύπλοκα κυκλώµατα επάνω σε ένα chip. Eπιπλέον, στα κυκλώµατα υψηλών επιδόσεων (ταχύτητα, φορητοί υπολογιστές) η ελάττωση των πυλών, όχι µόνο αποδεσµεύει χώρο στο chip, αλλά περιορίζει και την κατανάλωση ισχύος (ρεύµατος), που είναι ο κύριος περιοριστικός παράγοντας για κυκλώµατα υψηλών ταχυτήτων. Η σχεδίαση ενός ψηφιακού κυκλώµατος αναλύεται σε µια ακολουθία από φάσεις: 207 208 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 1) ∆ιατυπώνεται µε κάποιο περιγραφικό τρόπο (µε απλά λόγια) η λειτουργία που επιθυµούµε να έχει το ζητούµενο κύκλωµα. 2) Παράγεται η λογική συνάρτηση που αντιστοιχεί στο ζητούµενο κύκλωµα, υπό µορφή είτε πίνακα αληθείας είτε λογικής παραστάσεως. 3) Ευρίσκεται, από τις ποικίλες ισοδύναµες λογικές παραστάσεις της συνάρτησης, εκείνη η παράσταση που εκπληρεί καλύτερα τις απαιτήσεις της παρούσας σχεδίασης, π.χ. ως προς την ταχύτητα λειτουργίας ή την απλότητα του κυκλώµατος ή την κάλυψη των βλαβών κ.λπ… 4) Επιλέγεται ένα κατάλληλο σύνολο πυλών, π.χ. AND, OR, NOT, και υλοποιείται το κύκλωµα µε αντικατάσταση των λογικών πράξεων µε τις λογικές πύλες. Η λογική συνάρτηση που προκύπτει από το πρόβληµα µπορεί να παρασταθεί από ένα πλήθος από ισοδύναµες λογικές παραστάσεις και κάθε παράσταση οδηγεί στην υλοποίηση ενός διαφορετικού, αν και λογικά ισοδύναµου, κυκλώµατος. Καθένα από αυτά τα κυκλώµατα παρουσιάζει τα δικά του κατασκευαστικά χαρακτηριστικά. Π.χ. κάποιο από αυτά: 1) είναι το απλούστερο κύκλωµα, δηλ. έχει τις λιγότερες πύλες και το µικρότερο κόστος ή 2) χρησιµοποιεί ένα µόνο τύπο πύλης ή 3) η διαδροµή των σηµάτων στο κύκλωµα είναι ελάχιστη και συνεπώς η ταχύτητα λειτουργίας του µεγαλύτερη ή 4) χρησιµοποιεί τις λιγότερες µονάδες ολοκληρωµένων κυκλωµάτων, κ.λπ. Τα κατασκευαστικά χαρακτηριστικά µπορούν µε τη σειρά τους να αποτελέσουν κριτήρια για την προτίµηση και τελική επιλογή του κυκλώµατος που θα υλοποιηθεί. Λόγω δε της αντιστοιχίας µεταξύ λογικών πράξεων και πυλών, η επιλογή του κυκλώµατος ανάγεται στην επιλογή της αντίστοιχης λογικής παραστάσεώς του. Στα επόµενα θα ασχοληθούµε µε ένα µόνο από τα δυνατά κριτήρια επιλογής, αυτό που οδηγεί στο απλούστερο κύκλωµα δύο επιπέδων. Το κριτήριο αυτό, από την άποψη της λογικής παραστάσεως, ανάγεται στην ελαχιστοποίηση µιας συναρτήσεως, που παρίσταται υπό µορφήν αθροίσµατος γινοµένων ή γινοµένου αθροισµάτων. Ειδικότερα, µε τη βοήθεια της άλγεβρας Boole, θα ζητήσουµε να βρούµε από 5.1 ∂π™∞°ø°∏ 209 όλες τις ισοδύναµες παραστάσεις αθροίσµατος γινοµένων µιας δοθείσης συναρτήσεως εκείνη: 1) η οποία έχει το µικρότερο αριθµό όρων (γινοµένων), 2) στην οποία µία µεταβλητή (literal) εµφανίζεται στην παράσταση τις λιγότερες φορές. Αντίστοιχες σχέσεις ισχύουν και για τις συναρτήσεις γινοµένου αθροισµάτων. Το είδος της ελαχιστοποίησης ή απλοποίησης που ζητείται εδώ ονοµάζεται ελαχιστοποίηση των δύο επιπέδων, γιατί οδηγεί σε κυκλώµατα που αποτελούνται από δύο επίπεδα πυλών, δηλ. πύλες AND ακολουθούµενες από µία OR, στην περίπτωση που η συνάρτηση διατυπώνεται σαν άθροισµα γινοµένων, ή πύλες OR και µία AND, στην περίπτωση γινοµένου αθροισµάτων. Τα κυκλώµατα που παράγονται µε την ελαχιστοποίηση των δύο επιπέδων είναι τα απλούστερα στο είδος τους, αλλά δεν είναι πάντοτε και τα απολύτως απλούστερα, λόγω του περιορισµού των δύο επιπέδων. Π.χ. η συνάρτηση: f(x,y,z) = x y+y z (5.1) = (x+z) y (5.2) απαιτεί στη µορφή δύο επιπέδων (5.1) δύο πύλες AND και µία OR (σύνολο 3 πύλες), ενώ σε άλλη µορφή (5.2), επίσης δύο επιπέδων που δεν καλύπτεται από αυτή τη µέθοδο, µία πύλη OR και µία πύλη AND (σύνολο 2 πύλες). Επιπλέον, η µέθοδος της µορφής (5.1) απαιτεί γενικά πύλες µε αυθαίρετα µεγάλο αριθµό εισόδων η καθεµία, πράγµα που δεν είναι πάντοτε εφικτό. Eκ πρώτης όψεως το πρόβληµα της ελαχιστοποίησης είναι απλό, γιατί το πλήθος των διαφόρων παραστάσεων αθροίσµατος γινοµένων, που αντιστοιχούν σε µία δεδοµένη συνάρτηση, είναι πεπερασµένο και θα αρκούσε η καταγραφή όλων των παραστάσεων και η επιλογή της απλούστερης. Το πλήθος τους, όµως, είναι τόσο µεγάλο που είναι αδιανόητη, στην πράξη, µία τέτοια διαδικασία. Ένας τρόπος ελαχιστοποίησης µιας παράστασης είναι να εφαρµόζονται δοκιµαστικά διάφορες σχέσεις της άλγεβρας Boole, που απαλείφουν όρους µέχρι να καταλήξει κανείς σε µία παράσταση που να µην απλοποιείται περισσότερο. Π.χ. έστω η συνάρτηση: f(x,y,z) = x'y z + x y z + x y'z + x y z' = x'y z + x y z + x y'z + x y z + x y z' + x y z 210 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N = y z (x'+x) + x z (y'+y ) + x y (z'+z ) =yz+xz+xy Ο παραπάνω ευρηµατικός τρόπος ελαχιστοποίησης, όπου χρειάστηκε να αυξηθεί αρχικά η παράσταση µε την πρόσθεση του όρου xyz δύο φορές, για να βοηθηθεί η απαλοιφή, απαιτεί πολύ καλή γνώση των θεωρηµάτων της άλγεβρας και ευελιξία στην εφαρµογή τους. Είναι δύσκολος και για µεγάλες παραστάσεις είναι τελείως ανεπαρκής. Εύκολα µπορεί να παραπλανήσει οδηγώντας σε παραστάσεις που είναι φαινοµενικά µόνον ελάχιστες. Για τους λόγους αυτούς προτιµούνται συστηµατικοί αλγόριθµοι για την ελαχιστοποίηση, οι οποίοι: α) µπορούν να χρησιµοποιηθούν σε κάθε περίπτωση και β) παρέχουν την εγγύηση ότι θα οδηγήσουν στην εύρεση της ελάχιστης δυνατής παράστασης. Οι κυριότεροι αλγόριθµοι απλοποίησης λογικών συναρτήσεων (ελαχιστοποίησης δύο επιπέδων) είναι η µέθοδος του Χάρτη Karnaugh και η Πινακοειδής µέθοδος ή µέθοδος των Quine–McCluskey. 5.2 ª¤ıÔ‰Ô˜ ·ÏÔÔ›ËÛ˘ Ì ÙÔÓ ¯¿ÚÙË ∫arnaugh Είναι µια απλή και εύχρηστη µέθοδος που επιδιώκει να εντοπίσει µε γραφικό τρόπο (βασίζεται στην οπτική παρατήρηση επί του χάρτου) το µικρότερο αριθµό από υποκύβους (N–Kύβος–Yποενότητα 3.4.1), δηλ. λογικά γινόµενα, που ορίζουν µια δοθείσα λογική συνάρτηση. H παράσταση της συνάρτησης, κατόπιν, σχηµατίζεται από το λογικό άθροισµα αυτών των υποκύβων. Παρά το γεγονός ότι η χρήση της περιορίζεται για την απλοποίηση συναρτήσεων λίγων µεταβλητών, είναι σηµαντικό να τη γνωρίζουµε αφενός µεν γιατί είναι απλή και εξυπηρετική για µικρά προβλήµατα και αφετέρου γιατί µας βοηθά να κατανοήσουµε πιο σύνθετες µεθόδους. Aπό την Eνότητα αυτή θα µάθουµε: • Tι είναι ο υποκύβος και γιατί χρειάζεται για την απλοποίηση ενός κυκλώµατος. • ΄Oτι η διάταξη που έχουν τα τετραγωνίδια (minterms) στο χάρτη Karnaugh τους δίνει την ιδιότητα της λογικής “γειτονικότητας”. • ΄Oτι οµάδες από 2k “γειτονικά” 1 αντιπροσωπεύουν υποκύβους µε k λιγότερες µεταβλητές. 5.2 ª∂£√¢√™ ∞¶§√¶√π∏™∏™ ª∂ ∆√¡ Ã∞ƒ∆∏ ∫ARNAUGH 211 • Πώς να απλοποιούµε την παράσταση µιας συνάρτησης µέσω του σχηµατισµού και της επιλογής οµάδων επάνω στο χάρτη Karnaugh. • Tους περιορισµούς για το µέγεθος των συναρτήσεων που θέτει ο χάρτης Karnaugh. • Πώς ελαχιστοποιείται µια παράσταση Γινοµένου Aθροισµάτων. H κατανόηση της µεθόδου του χάρτη Karnaugh δεν θα παρουσιάσει δυσκολία. Eπειδή όµως η µέθοδος στηρίζεται στον οπτικό εντοπισµό των “µεγάλων οµάδων” επάνω στο χάρτη, γι' αυτό θα χρειαστεί κάποια πρακτική εξάσκηση µέχρι να συνηθίσουµε να αντιλαµβανόµαστε µε το µάτι τις µεγάλες οµάδες που υπάρχουν κάθε φορά. Η µέθοδος του Χάρτη Karnaugh στηρίζεται στα διαγράµµατα Venn και αρχικά είχε προταθεί από τον Veitch, αργότερα δε τελειοποιήθηκε από τον Karnaugh. Eίναι απλή και γρήγορη, είναι όµως κατάλληλη για µικρό πλήθος µεταβλητών, το πολύ 5. Όπως είχαµε αναφέρει στην Yποενότητα 3.4.1 (N–Kύβος), µία συνάρτηση n µεταβλητών f(x0, x1 …, xn–1) µπορεί να παρασταθεί µε έναν n–κύβο (2n κορυφές), στον οποίον έχουµε σηµειώσει τις κορυφές του, που η συνάρτηση παίρνει την τιµή “1”. Kάθε σηµειωµένη κορυφή αντιστοιχεί σε ένα minterm της συνάρτησης (Eνότητα 3.6). Ένας m–υποκύβος (υποσύνολο) ενός n–κύβου (m<n) σχηµατίζεται από ένα υποσύνολο των 2n κορυφών τέτοιο, ώστε n–m µεταβλητές να έχουν την ίδια τιµή σε όλες τις κορυφές του υποκύβου, οι δε υπόλοιπες m µεταβλητές να εµφανίζουν όλους τους δυνατούς συνδυασµούς τιµών. ∆ηλαδή, από τις x0, x1 …, xn–1 µεταβλητές, εάν lj είναι ο j minterm των n–m µεταβλητών, π.χ. x0, …, xn–m–1, και mk είναι ο k minterm των υπολοίπων µεταβλητών xn–m … xn–1, τότε ένας m–υποκύβος ορίζεται αλγεβρικά µε µία συνάρτηση της µορφής: m - υποκύβος = lj = lj 2 m -1 Âm k (5.3) 0 Aντίστοιχα, ο m–υποκύβος µιας συνάρτησης f(x0, x1, …, xn–1) ορίζεται από το υποσύνολο των κορυφών της, των οποίων οι αντίστοιχοι minterms έχουν n–m µεταβλητές µε τον ίδιο εκθέτη (Eνότητα 3.5) και οι υπόλοιπες m µεταβλητές εµφανίζουν όλους τους δυνατούς συνδυασµούς εκθετών. Π.χ. ένας 0–υποκύβος αντιστοιχεί σε ένα minterm της συνάρτησης f(x0, x1 …, xn–1), K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 212 ένας 1–υποκύβος ισοδυναµεί σε κάποιο γινόµενο n–1 µεταβλητών της (άθροισµα δύο minterms στους οποίους µία µεταβλητή έχει εκθέτη 0 και 1) και ο n–υποκύβος αντιστοιχεί στη συνάρτηση που είναι f(x0, x1, …, xn–1)=1 για οποιονδήποτε συνδυασµό τιµών. Όπως θα εξηγήσουµε στην Eνότητα 5.4, ένας υποκύβος είναι µια άλλη περιγραφή ενός συνεπαγωγού της συνάρτησης. Eπειδή κάθε συνάρτηση µπορεί να περιγραφεί ως Kανονικό Aθροισµα Γινοµένων (Eνότητα 3.6), ένας m–υποκύβος της συνάρτησης ισοδυναµεί µε µία σύµπτυξη 2m minterms της και αντικατάστασή τους από ένα γινόµενο n–m µεταβλητών, δηλ. οικονοµία 2m όρων (γινοµένων). H µέθοδος του Χάρτη Karnaugh µας βοηθά (α) να εντοπίσουµε, µε οπτική παρατήρηση επί του χάρτου, τους µεγαλύτερους δυνατούς υποκύβους µιας δοθείσας λογικής συνάρτησης και (β) να σχηµατίσουµε τη συνάρτηση αθροίζοντας τον ελάχιστο αριθµό (µικρότερο άθροισµα) από υποκύβους. Παρακάτω περιγράφονται ο Χάρτης Karnaugh και η µέθοδος που βασίζεται σ' αυτόν. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.1 ∆ίνεται η συνάρτηση f(w,x,y,z) = (x+w)(y+w)(x+z)(y+z). Zητείται: α) Nα προσδιορίσετε τους υποκύβους της συνάρτησης σε αλγεβρική µορφή. β) Ποιους minterms περιέχει ο κάθε υποκύβος. γ) Nα σχεδιάσετε, κατά το δυνατόν, έναν 4–κύβο και να σηµειώσετε τους υποκύβους της συνάρτησης. (Yπόδειξη: Nα αναπτύξετε την παράσταση σε γινόµενα και τα γινόµενα σε minterms (Eνότητα 3.6). O 4–κύβος είναι δύο 3–κύβοι (Yποενότητα 3.4.1), προσπαθήστε να τους σχεδιάσετε κοντά και ενώστε τις σχετικές κορυφές τους. Kατόπιν σηµειώστε τις κορυφές που αντιστοιχούν στους υποκύβους.) 5.2.1 X¿ÚÙ˘ ∫arnaugh Σκοπός του χάρτη Karnaugh είναι να παραστήσει στο επίπεδο έναν κύβο n–διαστάσεων, διατηρώντας τη σχέση “γειτονικότητας” µεταξύ των κορυφών του. H δοµή του περιγράφηκε στην Yποενότητα 3.4.1, είναι ένας Πίνακας Aληθείας δύο διαστάσεων (Σχήµα 5.1). Eπαναλαµβάνουµε ότι η διάταξη των τιµών των συντεταγµένων (µεταβλητών) στον πίνακα δεν ακολουθεί την κανονική αύξουσα σειρά, αλλά τη σειρά ενός ανακλαστικού κώδικα (κώδικας GRAY – Yποενότητα 2.2.3). 5.2 ª∂£√¢√™ ∞¶§√¶√π∏™∏™ ª∂ ∆√¡ Ã∞ƒ∆∏ ∫ARNAUGH 213 Σε κάθε χάρτη Karnaugh (Σχήµα 5.1) υπάρχουν τόσα τετραγωνίδια όσοι οι δυνατοί συνδυασµοί τιµών των µεταβλητών του και κάθε τετραγωνίδιο αντιστοιχεί σε ένα minterm, δηλ. αν υπάρχουν k µεταβλητές σχηµατίζονται 2k τετραγωνίδια και αντιστοίχως minterms. Η επιλογή ενός κώδικα µε ανακλαστικές ιδιότητες για τη διάταξη του χάρτη έχει ως συνέπεια να εµφανίζονται επίπεδα συµµετρίας (Σχήµα 5.1), που χωρίζουν το χάρτη σε περιοχές, όπου µια µεταβλητή εµφανίζεται από τη µια πλευρά ως απλή και από την άλλη µε το συµπλήρωµά της, π.χ. x και x', y και y', z και z'. Λόγω δε των κυκλικών ιδιοτήτων που ταυτόχρονα κατέχει ο ίδιος κώδικας, οι συντεταγµένες κάθε τετραγωνιδίου διαφέρουν από αυτές των γειτονικών του, οριζόντια ή κάθετα, όχι όµως διαγώνια, τετραγωνιδίων µόνο κατά την τιµή µιας µεταβλητής. Για τους παραπάνω λόγους ο minterm του κάθε τετραγωνιδίου διαφέρει από τους "γεωµετρικά" γειτονικούς του minterms µόνο κατά τον εκθέτη (αντιστροφή ή όχι – Eνότητα 3.5) µιας µεταβλητής του (Σχήµα 5.1). Η ταύτιση µάλιστα της "γεωµετρικής" γειτονικότητος µε τη "λογική" γειτονικότητα (διαφορά µόνο σε µια µεταβλητή) επεκτείνεται και πέρα από τα άκρα του πίνακα. Τα δύο ακραία τετραγωνίδια κάθε σειράς του πίνακα, οριζοντίως ή καθέτως, διαφέρουν µεταξύ τους µόνο κατά την τιµή µιας µεταβλητής, καθώς και οι minterms που περιέχουν. Για λόγους συµβατότητας µε τη "γεωµετρική" γειτονικότητα, ο χάρτης Karnaugh θεωρείται ότι αναδιπλώνεται είτε οριζοντίως είτε κατακορύφως (Σχήµα 5.2), ειδικότερα δε ότι έχει σχήµα σαµπρέλας αυτοκινήτου. Η απεικόνιση µιας συνάρτησης στο χάρτη Karnaugh µπορεί να γίνει είτε µε απ' ευθείας καταγραφή των "1", όταν δίδεται ο πίνακας αληθείας της, είτε µε Eπίπεδα συµµετρίας xy x 00 zw xy x 00 z 0 x 01 11 10 0 0 2 6 4 xyz xyz xyz xyz 1 1 3 7 5 xyz xyz xyz xyz y y y z x 01 11 4 12 10 8 00 x y z w x y z w x y z w x y z w 1 13 5 9 z 01 x y z w x y z w x y z w x y z w z 11 3 7 15 11 x y z w x y z w x y z w x y z w z 2 6 14 10 10 x y z w x y z w x y z w x y z w y y w y w ™¯‹Ì· 5.1 w Χάρτης Karnaugh (α) τριών και (β) τεσσάρων µεταβλητών K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 214 4 0 8 12 5 1 9 13 ™¯‹Ì· 5.2 7 3 11 15 Αναδίπλωση Χάρτη Karnaugh 6 2 10 14 1 5 13 9 0 4 12 8 2 6 14 10 3 7 15 11 την ανάπτυξή της σε κανονικό άθροισµα γινοµένων, όταν δίνεται µια παράστασή της και κατόπιν καταγραφή των minterms που αντιστοιχούν στη συνάρτηση. Ένας τρόπος για να αποφύγει κανείς την ανάπτυξη σε κανονικό άθροισµα γινοµένων, όταν δίνεται ένα οποιοδήποτε άθροισµα γινοµένων, είναι ο εξής: Έστω η συνάρτηση: f(x,y,z,w) = x z'+ … Για τον όρο xz' τοποθετούνται "1" σε όλες τις περιοχές του πίνακα (βάσει επιπέδων συµµετρίας) που περιέχουν τις µεταβλητές x και z', και το ίδιο για τους υπόλοιπους όρους. ¶·Ú¿‰ÂÈÁÌ· 5.1 Έστω η συνάρτηση: F(x,y,z,w) = Σ(0,2,3,7,8,10,11,15) (κανονική µορφή) = y' w' + z w (λογική παράσταση) Ο χάρτης της συνάρτησης δίνεται στο Σχήµα 5.3, όπου φαίνονται σκιασµένες οι περιοχές που αντιστοιχούν στους όρους y'w' και zw. xy x x 01 00 zw 0 11 4 12 10 8 1 00 1 w z 01 5 13 9 3 7 15 11 11 z ™¯‹Ì· 5.3 Παράδειγµα F = y'w' + z w 1 2 10 yw 1 1 1 6 14 1 y w 1 zw 10 1 y y w 5.2 ª∂£√¢√™ ∞¶§√¶√π∏™∏™ ª∂ ∆√¡ Ã∞ƒ∆∏ ∫ARNAUGH xy x 01 0 z xy x 00 zw 11 4 10 12 8 01 5 13 9 3 7 15 11 x 01 0 z 1 x 00 zw w 00 axyzw axyzw 215 11 4 10 12 8 w 00 axyzw axyzw 01 1 5 13 9 3 7 15 11 2 6 14 10 w w 11 z 11 2 6 14 10 z 10 axyzw y y w 10 axyzw y y y a w y a ™¯‹Ì· 5.4 Χάρτης Karnaugh 5 µεταβλητών Συναρτήσεις µε 5 µεταβλητές, π.χ. F(a,x,y,z,w), απεικονίζονται µε ένα ζεύγος πινάκων (Σχήµα 5.4), όπου ο πρώτος πίνακας περιλαµβάνει τους όρους µε τη µεταβλητή a' και ο δεύτερος πίνακας τους όρους µε την a. Mία εναλλακτική κατασκευή χάρτη Karnaugh 5 µεταβλητών δίνεται στο Σχήµα 5.5. Mπορεί να θεωρηθεί ότι σχηµατίζεται από τη συνένωση δύο χαρτών των 4 µεταβλητών, τοποθετηµένων συµµετρικά ως προς το κεντρικό επίπεδο συµµετρίας (κάθετη παχιά γραµµή). Aριστερά βρίσκονται οι όροι µε a' και δεξιά οι όροι µε a. Tετράγωνα που είναι συµµετρικά ως προς τις παχιές γραµµές του χάρτη (επίπεδα συµµετρίας) διαφέρουν κατά µία µεταβλητή. a axy 000 zw 0 z a x x 001 011 4 12 x 110 010 24 8 x 111 28 00 axyzw axyzw 01 101 20 100 16 axyzw axyzw 1 5 13 9 25 29 21 17 3 7 15 11 27 31 23 19 2 6 14 10 26 30 22 18 w w 11 z 10 w axyzw axyzw y y y y y Η αντίστροφη εργασία, δηλ. η εύρεση της παράστασης µιας συνάρτησης, όταν δίνεται ο χάρτης Karnaugh που αντιστοιχεί σ' αυτήν, είναι πολύ εύκολη. Η ζητούµενη παράσταση µπορεί να δοθεί είτε σαν άθροισµα ελάχιστων ™¯‹Ì· 5.5 Eναλλακτική µορφή χάρτη Karnaugh 5 µεταβλητών K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 216 όρων, όταν ληφθούν όλοι οι minterms που αντιστοιχούν στα "1" του χάρτη, είτε σαν γινόµενο µεγίστων όρων, όταν ληφθούν όλοι οι maxterms που αντιστοιχούν στα "0" του χάρτη. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.1 Nα σχηµατίσετε τους χάρτες Karnaugh των συναρτήσεων: α) F(x,y,z,w) = x'w' + yz β) F(a,x,y,z,w) = ax + y' w' + z w ¢Ú·ÛÙËÚÈfiÙËÙ· 5.2 Ένας χάρτης Karnaugh έξι µεταβλητών u, v, x, y, z, w σχηµατίζεται από την παράθεση τεσσάρων χαρτών των τεσσάρων µεταβλητών. Zητείται: α) Nα σχεδιάσετε ένα χάρτη Karnaugh των έξι µεταβλητών u, v, x, y, z, w, σχηµατιζόµενο από τέσσερεις χάρτες των µεταβλητών x, y, z, w. β) Nα εντοπίσετε στο χάρτη τους υποκύβους xz και z'. (Yπόδειξη: Tοποθετήστε κατά σειρά τους 4–χάρτες uv=00, uv=10 και από κάτω τους 4–χάρτες uv=01 και uv=11. Σηµειώστε, σε όποιο 4–χάρτη υπάρχουν, τις περιοχές xz και z', συνδέστε τις περιοχές µεταξύ χαρτών.) 5.2.2 AÏÔÔ›ËÛË Ì ÙÔ ¯¿ÚÙË Karnaugh Η απλοποίηση στηρίζεται στη συστηµατική εφαρµογή του θεωρήµατος a'B+aB=B. Η ιδιότητα του χάρτη Karnaugh να τοποθετεί σε "γεωµετρικώς" γειτονικές θέσεις στο χάρτη τους λογικά γειτονικούς minterms παρέχει τη δυνατότητα να εφαρµοσθεί το θεώρηµα µε γραφικό τρόπο, χωρίς αλγεβρικές πράξεις. Απλοποιούνται, κατόπιν συµπτύξεως ανά ζεύγη, εκείνοι οι όροι από την παράσταση της συναρτήσεως που αντιστοιχούν σε "1" τοποθετηµένα σε γειτονικά τετραγωνίδια. Η απλοποίηση γίνεται ως εξής: α) Τοποθετούνται τα "1" της συναρτήσεως στο χάρτη. β) Σχηµατίζονται οµάδες (υποκύβοι) από ζεύγη γειτονικών "1". Κάθε ζεύγος απαλείφει µια µεταβλητή, αυτή µε το διαφορετικό εκθέτη. Λαµβάνεται επίσης υπόψη και η γειτονικότητα των ακραίων τεραγωνιδίων. γ) Εάν δύο ζεύγη είναι γειτονικά, δηλ. ευρίσκονται συµµετρικά ως πρός κάποιο επίπεδο συµµετρίας, τότε οι όροι τους διαφέρουν ως προς τον 5.2 ª∂£√¢√™ ∞¶§√¶√π∏™∏™ ª∂ ∆√¡ Ã∞ƒ∆∏ ∫ARNAUGH 217 εκθέτη µιας µεταβλητής, η οποία και απαλείφεται. Τα ζεύγη αυτά σχηµατίζουν µια µεγαλύτερη οµάδα (υποκύβο). δ) Oµάδες (υποκύβοι) που βρίσκονται τοποθετηµένες συµµετρικά ως προς κάποιο επίπεδο συµµετρίας και µοιάζουν, όπως ένα αντικείµενο µε το είδωλό του στον καθρέπτη, ονοµάζονται “κατοπτρικές”. Oι κατοπτρικές οµάδες διαφέρουν ως προς τον εκθέτη µιας µεταβλητής, η οποία και απαλείφεται. Ακολουθώντας τη λογική της συνενώσεως των κατοπτρικών οµάδων µπορούν να σχηµατισθούν και µεγαλύτερες οµάδες, όπου είναι δυνατόν, απαλείφοντας κάθε φορά από µια µεταβλητή. Επιδιώκεται δε πάντοτε ο σχηµατισµός των µεγαλύτερων δυνατών οµάδων (υποκύβων). ε) Στο τέλος επιλέγεται εκείνο το υποσύνολο µεγάλων οµάδων που προκαλεί τις λιγότερες επικαλύψεις στα “1” της συνάρτησης. Κάθε οµάδα (υποκύβος), οσοδήποτε µεγάλη, αποτελείται από γειτονικά τετραγωνίδια, στα οποία η συνάρτηση έχει την τιµή "1". Λόγω του τρόπου σχηµατισµού των οµάδων (κατοπτρισµός), κάθε οµάδα περιέχει πάντοτε 2k, k=0,1,2,… πλήθος "1". Οι 2k minterms που περιέχονται στην οµάδα συµπτύσσονται σ' ένα γινόµενο που περιέχει k λιγότερες µεταβλητές. ¶·Ú¿‰ÂÈÁÌ· 5.2 Έστω η συνάρτηση f(x,y,z,w), η οποία παριστάνεται στον παραπλεύρως χάρτη: Στο χάρτη σχηµατίζονται οι µεγαλύτερες δυνατές οµάδες, ακόµη και αν απαιτείται µερική επικάλυψη των οµάδων. Η επικάλυψη επιτρέπεται µε βάση το θεώρηµα a=a+a (Θ1, Yποενότητα 3.2.3). Η τετράγωνη οµάδα περιέχει 22 "1", απαλείφει τις δύο µεταβλητές x και w και δίνει τον όρο yz'. Η κατακόρυφη οµάδα περιέχει 22 "1", απαλείφει τις µεταβλητές z και w και παράγει τον όρο xy. Η µικρή οµάδα απαλείφει την y και παράγει τον όρο xz'w'. Το άθροισµα των όρων που προκύπτουν από τις οµάδες αποτελεί την ελάχιστη παράσταση της συναρτήσεως: f(x,y,z,w)= xy + yz'+ xz'w' Η παραπάνω γραφική απλοποίηση αντιστοιχεί στην εξής αλγεβρική απλοποίηση, όπου προηγουµένως η συνάρτηση ανεπτύχθηκε σε κανονικό άθροισµα γινοµένων: xy zw 00 01 00 01 11 10 1 1 1 1 1 11 1 10 1 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 218 xy xzw f(x,y,z,w) = xyzw + xyzw + xyzw + xyzw + xyzw + xyzw + xyzw yz =xy+yz+xzw Η µέθοδος ελαχιστοποίησης µε το χάρτη Karnaugh εξαρτάται πολύ από την ικανότητα του παρατηρητή να σχηµατίζει τον καλύτερο συνδυασµό από οµάδες. Είναι εύκολο να παρασυρθεί και να διαλέξει οµάδες που παράγουν µικρή παράσταση, αλλά όχι και την ελάχιστη. Για τη σωστή απλοποίηση µε τη βοήθεια του χάρτη, πρέπει να επιδιώκονται τα εξής: α) Nα σχηµατίζονται οι µεγαλύτερες δυνατές οµάδες επί του χάρτη, ώστε οι όροι που προκύπτουν από αυτές να έχουν τις λιγότερες µεταβλητές. β) Nα επιλέγεται ο ελάχιστος αριθµός οµάδων που καλύπτει το χάρτη, δηλ. να περιλαµβάνονται όλα τα "1" σε όσο το δυνατόν λιγότερες οµάδες, ώστε το πλήθος των όρων που παράγονται να είναι, κατά το δυνατόν, µικρό. Οι παραπάνω κανόνες οδηγούν στην εξής τακτική που πρέπει να ακολουθείται: 1) Κάθε τετραγωνίδιο µε "1" πρέπει να µετέχει σε µια τουλάχιστον οµάδα. 2) Πρέπει να σχηµατίζονται οι µεγαλύτερες δυνατές οµάδες από 2k γειτονικά τετραγωνίδια µε "1". 3) Κάθε τετραγωνίδιο µε "1" πρέπει να µετέχει στον ελάχιστο αριθµό οµάδων. Σύµφωνα µε την απαίτηση 1) µία οµάδα, µικρή ή µεγάλη, που περιέχει κάποιο “1” που δεν περιέχεται σε άλλη οµάδα, πρέπει αναγκαστικά να επιλεγεί. Mια τέτοια οµάδα (υποκύβος) ονοµάζεται ουσιώδης. Eάν κάποιο “1” παραµείνει στο τέλος που να µην συµµετέχει σε οµάδα µε άλλα “1”, τότε σχηµατίζει από µόνο του µία οµάδα που είναι ουσιώδης. ¶·Ú¿‰ÂÈÁÌ· 5.3 Να ελαχιστοποιηθούν οι συναρτήσεις f(x,y) και f(x,y,z), που έχουν τους πίνα- 5.2 ª∂£√¢√™ ∞¶§√¶√π∏™∏™ ª∂ ∆√¡ Ã∞ƒ∆∏ ∫ARNAUGH 219 κες αληθείας του Σχήµατος 5.6: x xy y 0 0 1 1 1 00 z 1 01 0 1 1 1 f(x,y) = y' 11 10 ™¯‹Ì· 5.6 1 Ελάχιστες παραστάσεις συναρτήσεων f(x,y,z) = x'y+yz. ¶·Ú¿‰ÂÈÁÌ· 5.4 Να απλοποιηθούν οι συναρτήσεις µε τους ακόλουθους πίνακες αληθείας (Σχήµα 5.7): xy 00 zw 00 1 01 11 10 1 01 xy 00 zw 00 01 1 11 10 1 1 f(x,y,z,w) = x'yz'w+y'w' 01 11 10 1 1 1 1 1 1 11 1 10 1 f(x,y,z,w) = xy+yz'+xz' ™¯‹Ì· 5.7 Ελάχιστες παραστάσεις συναρτήσεων ¶·Ú¿‰ÂÈÁÌ· 5.5 Οι δύο πίνακες του Σχήµατος 5.8 παριστάνουν την ίδια συνάρτηση. Οι οµάδες που έχουν επιλεγεί δίνουν αντίστοιχα δύο διαφορετικές απλοποιήσεις. Ελάχιστη είναι η β) απλοποίηση, διότι καλύπτει τον πίνακα µε τις λιγότερες δυνατές οµάδες και συνεπώς παράγει τους λιγότερους όρους. xy 00 zw 00 1 01 11 1 10 1 01 1 1 11 1 1 1 xy 00 zw 00 1 01 11 1 10 1 01 1 1 11 1 1 1 10 10 ™¯‹Ì· 5.8 yw+x'yz'+xz'w+y'z'w' yw+x'z'w'+xy'z' (α) (β) Aπλοποίηση: α) πλεονασµός, β) ελάχιστη K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 220 ¶·Ú¿‰ÂÈÁÌ· 5.6 Να απλοποιηθούν οι συναρτήσεις µε τους πίνακες αληθείας του Σχήµατος 5.9. Στη συνάρτηση του α) πίνακα η µεσαία οµάδα, αν και µεγάλη, πλεονάζει, γιατί καλύπτεται από τις µικρές οµάδες που πρέπει αναγκαστικά να συµπεριληφθούν. xy 00 zw 00 01 01 11 10 1 1 1 1 11 1 1 10 1 xy 00 zw 00 1 01 11 1 10 1 01 1 11 10 1 1 1 1 1 f = x'z'w+xzw+x'yz+xyz' f = xz+y'w'+x'z'w' (α) (β) ™¯‹Ì· 5.9 ¶·Ú¿‰ÂÈÁÌ· 5.7 Να απλοποιηθούν οι συναρτήσεις µε τους ακόλουθους πίνακες (Σχήµα 5.10): xy 00 zw 00 1 ™¯‹Ì· 5.10 01 11 10 1 1 1 1 xy 00 zw 00 1 01 11 10 1 1 1 01 1 11 1 1 1 11 1 1 1 1 10 1 1 1 10 1 1 1 1 01 f = x'y'+xz'+yz f = z+w' (α) (β) 5.2 ª∂£√¢√™ ∞¶§√¶√π∏™∏™ ª∂ ∆√¡ Ã∞ƒ∆∏ ∫ARNAUGH 221 A. Να απλοποιηθούν οι δύο συναρτήσεις f1(x, y, z, w) και f2(x, y, z, w), που έχουν τους ακόλουθους πίνακες αληθείας: xy 00 zw 00 1 01 1 11 1 10 1 01 11 10 1 1 1 01 1 1 xy 00 zw 00 1 1 1 01 11 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.2 10 1 1 1 1 11 1 10 f1(x, y, z, w) f2(x, y, z, w) B. Να απλοποιηθούν οι συναρτήσεις: f1(w, x, y, z) = w'x'z' + w'x y + w x z +w x'y +w'y z' f2(w, x, y, z) = y'(z' + x) + w (y' + x + z') 5.2.3 EÏ·¯ÈÛÙÔÔ›ËÛË Û˘Ó·ÚÙ‹ÛÂˆÓ 5 ÌÂÙ·‚ÏËÙÒÓ Ο χάρτης µιας συνάρτησης 5 µεταβλητών f(u,x,y,z,w) γράφεται σαν ένα ζεύγος χαρτών των τεσσάρων µεταβλητών x,y,z,w (Σχήµα 5.11). Ο πρώτος χάρτης καλύπτει τους συνδυασµούς για τους οποίους u=0 και ο δεύτερος τους συνδυασµούς u=1. Κάθε τετραγωνίδιο του όλου πίνακα (ζεύγους) είναι γειτονικό µε 5 τετραγωνίδια, τα 4 γύρω του και το 5ο στο συζυγή πίνακα. Η απλοποίηση γίνεται ως εξής: µπορούµε να φανταστούµε ότι οι δύο επιµέρους χάρτες τοποθετούνται ο ένας επάνω στον άλλο και οι οµάδες σχηµατίζονται στο χώρο των 3 διαστάσεων. xy zw 00 xy 00 01 11 10 zw 00 00 01 11 10 01 1 1 01 1 11 1 1 11 1 1 10 u 1 10 u Mε τον ίδιο τρόπο απλοποιείται η συνάρτηση f(u,x,y,z,w) = Σ(2, 5, 7, 8, 10, 13, 15, 17, 19, 21, 23, 24, 29, 31) = yw+ux'w+xy'z'w'+u'y'zw', σχηµατίζο- ™¯‹Ì· 5.11 f(u,x,y,z,w)= = y'wu' + xy'w + xyzw' K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 222 n = 0 xy 00 zw ντας τις οµάδες της στο διδιάστατο χάρτη του παραπλεύρως σχήµατος. 01 11 10 1 00 01 1 1 11 1 1 Συναρτήσεις µε 6 µεταβλητές, για να παρασταθούν στο επίπεδο, πρέπει να αναλυθούν σε τέσσερεις πίνακες. Tότε όµως ο εντοπισµός των γειτονικών “1” είναι σχεδόν αδύνατος και για το λόγο αυτό η εφαρµογή του χάρτη Karnaugh δεν ξεπερνά τις 5 µεταβλητές. 1 10 1 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.3 Να απλοποιηθεί η συνάρτηση: n=1 xy 00 01 zw 00 01 11 f(v, w, x, y, z) = y'z + w y z +w'(y' + v + z') 1 1 1 11 10 1 1 1 1 10 5.2.4 EÏ·¯ÈÛÙÔÔ›ËÛË ÁÈÓÔ̤ÓÔ˘ ·ıÚÔÈÛÌ¿ÙˆÓ Ακολουθείται η δυϊκή διαδικασία της ελαχιστοποίησης αθροίσµατος γινοµένων. Λαµβάνονται υπόψη τα τετραγωνίδια του χάρτη που περιέχουν τα "0". Σε κάθε "0" της συναρτήσεως αντιστοιχεί κάποιος maxterm. Κάθε οµάδα από 2k, k=0,1,2… γειτονικών "0" παράγει ένα άθροισµα µε k µεταβλητές λιγότερες. Οι µεταβλητές του αθροίσµατος εµφανίζονται µε τον αντίθετο εκθέτη. Επιδιώκεται και εδώ ο σχηµατισµός: α) των µεγαλύτερων δυνατών οµάδων από "0" και β) η κάλυψη όλων των "0" του πίνακα µε τις λιγότερες οµάδες. Η ελάχιστη παράσταση της συναρτήσεως σχηµατίζεται από το γινόµενο των αθροισµάτων που προκύπτουν από τις οµάδες. ¶·Ú¿‰ÂÈÁÌ· 5.8 Nα ευρεθεί η ελάχιστη παράσταση γινοµένου αθροισµάτων της συνάρτησης f(x,y,z,w), που έχει τον ακόλουθο πίνακα αληθείας (Σχήµα 5.12α). Οι ελάχιστες παραστάσεις γινοµένου αθροισµάτων και αθροίσµατος γινοµένων δεν είναι και µεταξύ τους ελάχιστες, δηλ. ενδέχεται η µια από τις 5.2 ª∂£√¢√™ ∞¶§√¶√π∏™∏™ ª∂ ∆√¡ Ã∞ƒ∆∏ ∫ARNAUGH xy 00 zw 00 01 01 11 10 Yπενθυµίζεται ότι: στον συνδυασµό τιµών 1 1 11 10 223 1 1 αντιστοιχεί ο όρος 0000| x+y+z+w| 1111 x'+y'+z'+w' f(x,y,z,w) = (z+w)(z'+w')(x+y)(x'+y') (α) (β) ™¯‹Ì· 5.12 (α) Πίνακας Aληθείας, (β) Eλάχιστη παράσταση δύο παραστάσεις να είναι απλούστερη από την άλλη. Π.χ. για τη συνάρτηση του Παραδείγµατος 8 η ελάχιστη παράσταση αθροίσµατος γινοµένων είναι: f = x'yz'w + x'yzw' + xy'z'w + xy'zw' που έχει µεν το ίδιο πλήθος όρων, αλλά κάθε όρος είναι των τεσσάρων µεταβλητών αντί των δύο. Να απλοποιηθεί ως γινόµενο αθροισµάτων η συνάρτηση f(w,x,y,z) = w(y'+x+z') και να συγκριθεί το αποτέλεσµα (οικονοµία) µε τη συνάρτηση f2(w, x, y, z) της Aσκησης Aυτοαξιολόγησης 5.2B. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Ένας m–υποκύβος ενός n–κύβου (m<n) σχηµατίζεται από ένα υποσύνολο των 2n κορυφών τέτοιο ώστε n–m µεταβλητές να έχουν την ίδια τιµή σε όλες τις κορυφές του υποκύβου, οι δε υπόλοιπες m µεταβλητές να εµφανίζουν όλους τους δυνατούς συνδυασµούς τιµών. • O m–υποκύβος µιας συνάρτησης n µεταβλητών f(x0, …, xn–1) είναι ένας m–υποκύβος, στις κορυφές του οποίου η συνάρτηση είναι f(x0,…, xn–1)=1 (minterms ). • O χάρτης Karnaugh είναι ένας Πίνακας Aληθείας δύο διαστάσεων, στον οποίο η διάταξη των τιµών των συντεταγµένων (µεταβλητών) ακολουθεί τη σειρά ενός ανακλαστικού κώδικα. • Mία ιδιότητα του χάρτη Karnaugh είναι ότι προσπαθεί να απεικονίσει στο επίπεδο ένα N–κύβο, γι' αυτό στα γειτονικά τετραγωνίδια αντιστοιχούν λογικά “γειτονικοί” minterms. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.4 224 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N • H απλοποίηση (δύο επιπέδων) µε το χάρτη Karnaugh σε παράσταση αθροίσµατος γινοµένων στηρίζεται: (α) στην εύρεση (οπτικά) των µεγαλύτερων οµάδων µε “1”, (β) στην κάλυψη της συνάρτησης µε τις λιγότερες οµάδες. • O χάρτης Karnaugh γίνεται δύσχρηστος για περισσότερες από 4 µεταβλητές. • H απλοποίηση µε το χάρτη Karnaugh σε παράσταση γινοµένου αθροισµάτων γίνεται µε όµοιο τρόπο, αρκεί να σχηµατιστούν οι οµάδες µε “0”. 5.3 ™˘Ó·ÚÙ‹ÛÂȘ ÌÂÚÈο ηıÔÚÈṲ̂Ó˜ Σε αρκετές πρακτικές εφαρµογές ο Πίνακας Aληθείας της συνάρτησης δεν ορίζεται για όλους τους συνδυασµούς µεταβλητών (µερικά καθορισµένη). Στα σηµεία αυτά η τιµή της συνάρτησης δεν είναι ούτε “1” ούτε “0” και συµβολίζονται µε “X” στον Πίνακα Aληθείας της. Tα σηµεία “X” ονοµάζονται αδιάφοροι όροι, γιατί δεν ενδιαφέρει το χρήστη η πραγµατική λογική τιµή τους και είναι χρήσιµα για την ελαχιστοποίηση του κυκλώµατος. Στην Eνότητα αυτή θα µάθουµε: • Πότε έχουµε µια µερικά καθορισµένη συνάρτηση και τι ακριβώς συµβαίνει µε το πραγµατικό κύκλωµά της. • Tι είναι οι αδιάφοροι όροι και πώς τους εκµεταλλευόµαστε για να ελαχιστοποιήσουµε ένα κύκλωµα. H ύλη της Eνότητας ακολουθεί τα όσα γνωρίζουµε για το χάρτη Karnaugh. Στην Eνότητα 5.2 η προσπάθεια ήταν να βρούµε από όλες τις λογικές παραστάσεις µιας ολικά καθορισµένης συνάρτησης την ελάχιστη δυνατή. O νεωτερισµός που εισάγεται εδώ, στις µερικά καθορισµένες συναρτήσεις, είναι ότι µας δίνεται η ευχέρεια να επιλέξουµε όχι µόνο παράσταση, αλλά και λογική συνάρτηση (καθορίζεται από την τελική τιµή των X), αρκεί να είναι συµβατή µε (να καλύπτει) αυτήν του προβλήµατος. Οι συναρτήσεις που εξετάστηκαν µέχρι τώρα ήταν ολικά καθορισµένες, δηλ. για κάθε δυνατό συνδυασµό τιµών των ανεξαρτήτων µεταβλητών τους ορίζεται µια τιµή της συνάρτησης. Είναι δυνατόν, και στην πράξη είναι σύνηθες, ένα πρόβληµα από την φύση του να µην χρησιµοποιεί όλους τους συνδυασµούς τιµών των ανεξάρτητων µεταβλητών του. Π.χ. ο κώδικας BCD (Yποενότητα 2.2.2) σχηµατίζεται από 5.3 ™À¡∞ƒ∆∏™∂π™ ª∂ƒπ∫∞ ∫∞£√ƒπ™ª∂¡∂™ τέσσερα bits, αλλά χρησιµοποιεί µόνο τους δέκα από τους δεκαέξι συνδυασµούς. Στις περιπτώσεις αυτές για τους πλεονάζοντες συνδυασµούς τιµών δεν ορίζεται τιµή της συνάρτησης, δηλ. το πεδίο ορισµού µιας τέτοιας συνάρτησης n µεταβλητών είναι ένα γνήσιο υποσύνολο του Καρτεσιανού Γινοµένου Βn, Β={0,1} (Eνότητα 3.4). Όταν οι τιµές µιας συνάρτησης δεν είναι καθορισµένες για όλες τις τιµές των µεταβλητών της, τότε η συνάρτηση ονοµάζεται µερικά καθορισµένη. Oι συνδυασµοί των µεταβλητών, για τους οποίους η τιµή τους είναι αόριστη, επικράτησε να ονοµάζονται αδιάφοροι όροι (Don't Care), γιατί στην πράξη, οποιαδήποτε τιµή δώσουµε στη συνάρτηση γι' αυτούς τους συνδυασµούς αφήνει το χρήστη αδιάφορο. Οι αδιάφοροι όροι, που όσον αφορά στο πρόβληµα δεν είναι ούτε “0” ούτε “1”, θα παριστάνονται µε Χ στον Πίνακα Aληθείας µιας µερικά καθορισµένης συνάρτησης. ¶·Ú¿‰ÂÈÁÌ· 5.9 O κώδικας BCD χρησιµοποιεί 4 bits για την παράστασή του, άρα µπορεί να καλύψει µέχρι 24 συνδυασµούς. Από αυτούς µόνον οι δέκα συνδυασµοί, που καλύπτουν τους αριθµούς 0–9, ορίζονται στον κώδικα. Οι υπόλοιποι έξι συνδυασµοί δεν χρησιµοποιούνται στις εφαρµογές αυτού του κώδικα και συνεπώς αποτελούν αδιάφορους όρους. Το γεγονός ότι οι αδιάφοροι όροι µιας συναρτήσεως δεν πρόκειται να εµφανιστούν στην πράξη, επιτρέπει στο σχεδιαστή του αντίστοιχου ψηφιακού κυκλώµατος να επιλέξει αυθαίρετα τις τιµές του κυκλώµατος (συναρτήσεως) που αντιστοιχούν στους αδιάφορους όρους. Την ευχέρεια αυτή, που παρέχουν οι αδιάφοροι όροι, την εκµεταλλεύεται ο σχεδιαστής, για να κάνει ακόµη µικρότερο το κύκλωµά του, επιλέγοντας τέτοιες τιµές για τη συνάρτηση, ώστε να απαλείφονται περισσότεροι κατά το δυνατόν όροι της. Ας σηµειωθεί ότι το τελικό κύκλωµα που θα σχεδιασθεί πρέπει να είναι ορισµένο για όλους τους συνδυασµούς τιµών. Eάν συγκρίνουµε τις δυνατότητες ελαχιστοποίησης, που µας προσφέρουν οι µερικά καθορισµένες συναρτήσεις, µε αυτές που προσφέρουν οι ολικά καθορισµένες (Eνότητα 5.2), παρατηρούµε τα ακόλουθα. Στις ολικά καθορισµένες, η λογική συνάρτηση είναι καθορισµένη και εποµένως η ελαχιστοποίηση περιορίζεται στην εύρεση της καλύτερης παράστασης της συνάρτησης. Oι µερικά καθορισµένες προσφέρουν µεγαλύτερη ελευθερία επιλογών, γιατί ένα µέρος µόνο της συνάρτησης είναι καθορισµένο και µας επιτρέπεται 225 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 226 ουσιαστικά να επιλέγουµε εµείς τη συνάρτηση, µε το να δίνουµε δικές µας τιµές στους αδιάφορους όρους X, αρκεί η συνάρτησή µας να παραµένει συµβατή µε το δοθέν πρόβληµα. Ο τρόπος επιλογής των τιµών των αδιάφορων όρων για την ελαχιστοποίηση µιας µερικά καθορισµένης συνάρτησης θα παρουσιασθεί µε το ακόλουθο παράδειγµα. ¶·Ú¿‰ÂÈÁÌ· 5.10 Έστω ότι ζητείται να µετατραπεί ο κώδικας BCD σε κώδικα GRAY (Yποενότητα 2.2.3). Ο κώδικας BCD αποτελείται από τα ψηφία a, b, c, d και για τον κώδικα GRAY πρέπει να ορισθούν τέσσερεις συναρτήσεις, µια για κάθε bit του, οι g3(a,b,c,d), g2(a,b,c,d), g1(a,b,c,d) και g0(a,b,c,d) που δίδονται στο Σχήµα 5.13α. Οι αντίστοιχοι χάρτες Karnaugh των g3, g2, g1 και g0 δίδονται στο Σχήµα 5.13β. Για τους αδιάφορους όρους, που βρίσκονται σε οµάδες, ο σχεδιαστής ορίζει τιµή της συνάρτησης “1”, για να µεγαλώσει η οµάδα, και στους υπόλοιπους δίνει την τιµή “0”. Συµπερασµατικά, για την ελαχιστοποίηση µιας συναρτήσεως µε τη µέθοδο του Xάρτη Karnaugh ακολουθείται η εξής διαδικασία: Bήµα 1. ∆ηµιουργία Xάρτη Karnaugh: Aποτυπώνεται ο Πίνακας Aληθείας της συνάρτησης σε µορφή Xάρτη Karnaugh. Bήµα 2. Σχηµατισµός µέγιστων υποκύβων: α. Σχηµατίζονται οι µεγαλύτερες δυνατές οµάδες, περιλαµβάνοντας και αδιάφορους όρους, όπου χρειάζεται, για να µεγαλώσει µια οµάδα. β. Οι αδιάφοροι όροι συµµετέχουν µόνο σε οµάδες όπου υπάρχουν ήδη "1". Οµάδα µε αποκλειστικά αδιάφορους όρους απαγορεύεται, γιατί αυξάνει άσκοπα το πλήθος των όρων. γ. Οι αδιάφοροι όροι που περιέχονται σε οµάδες παίρνουν την τιµή "1", ενώ οι αδιάφοροι όροι που δεν περιέχονται σε οµάδες παίρνουν την τιµή "0". Bήµα 3. Eντοπισµός ουσιωδών υποκύβων: Eντοπίζονται οι οµάδες που περιέχουν κάποιο minterm (“1”) της συνάρτησης, ο οποίος δεν περιέχεται σε άλλες οµάδες. 5.3 ™À¡∞ƒ∆∏™∂π™ ª∂ƒπ∫∞ ∫∞£√ƒπ™ª∂¡∂™ 227 Bήµα 4. Eπιλογή ελάχιστης κάλυψης: α. Eπιλέγονται πρώτα οι ουσιώδεις οµάδες και διαγράφονται οι minterms που περιέχουν. β. Eπιδιώκεται να καλυφθούν οι υπόλοιποι minterms (“1”) της συνάρτησης µε τον ελάχιστο συνδυασµό από οµάδες. BCD ∆εκ. a b c d ad GRAY g3 g2 g1 g0 0 0000 0 0 0 0 1 0001 0 0 0 1 2 0010 0 0 1 1 3 0011 0 0 1 0 4 0100 0 1 1 0 5 0101 0 1 1 1 6 0110 0 1 0 1 7 0111 0 1 0 0 8 1000 1 1 0 0 9 1001 1 1 0 1 10 1010 X X X X 1 1011 X X X X 12 1100 X X X X 13 1101 X X X 14 111 0 X X 15 1111 X X ad 00 cd 01 1 1 11 10 10 X 00 01 11 1 1 00 01 11 00 1 X 1 X cd X 1 01 X X 11 1 X X X X 10 1 X X g0 = c'd + cd' g1 = bc' + b'c ad ad 01 11 10 00 1 X 1 01 1 X X 11 1 X X 10 1 X X cd 10 00 00 01 11 10 00 X 1 1 01 X 1 X X 11 X X X X 10 X X cd g2 = b + a g3 = a ™¯‹Ì· 5.13· ™¯‹Ì· 5.13‚ Mετατροπή κώδικα BCD σε κώδικα GRAY Xάρτες Karnaugh των συναρτήσεων g3, g2, g1, g0 Zητείται να µετατραπεί ο κώδικας BCD σε κώδικα µε βάρη (2, 4, 2, 1) (Yποενότητα 2.2.1– Πίνακας 2.1). Ο κώδικας BCD αποτελείται από τα ψηφία a, b, c, d και ο κώδικας (2, 4, 2, 1) ορίζεται από τις τέσσερεις συναρτήσεις, µια για κάθε bit του, κατά σειρά f3(a,b,c,d), f2(a,b,c,d), f1(a,b,c,d) και f0(a,b,c,d). Nα ελαχιστοποιηθούν οι f3, f2, f1, f0. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.5 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 228 ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Tο πεδίο ορισµού µιας µερικά καθορισµένης συνάρτησης n µεταβλητών είναι ένα γνήσιο υποσύνολο του Καρτεσιανού Γινοµένου Βn, Β={0,1}. • Oι αδιάφοροι όροι προσφέρονται για την ελαχιστοποίηση της συνάρτησης. • H διαδικασία ελαχιστοποίησης ακολουθεί αυτήν του χάρτη Karnaugh µε την επέκταση ότι στις οµάδες περιλαµβάνονται και αδιάφοροι όροι, όπου χρειάζεται, για να µεγαλώσει η οµάδα. 5.4 ¶ÚÒÙÔÈ Û˘Ó·ÁˆÁÔ› ÌÈ·˜ Û˘Ó·ÚÙ‹Ûˆ˜ Λόγω της δυσκολίας που υπάρχει στην απεικόνιση των υποκύβων (Eνότητα 5.2), µέθοδοι ελαχιστοποίησης λογικών συναρτήσεων µπορούν να βρεθούν για οποιεσδήποτε συναρτήσεις, εάν διερευνηθούν οι αλγεβρικές ιδιότητες που έχουν ορισµένες λογικές παραστάσεις. Στην Eνότητα 5.2 αναφέραµε ότι οι υποκύβοι είναι µια άλλη µορφή των συνεπαγωγών µιάς συναρτήσεως. Eδώ θα εισαγάγουµε τους συνεπαγωγούς και θα εξηγήσουµε την προσφορά τους στη διαδικασία της ελαχιστοποίησης. Aπό την παρούσα Eνότητα θα µάθουµε: • Tη διαφορά µεταξύ µη απλοποιήσιµης και ελάχιστης παράστασης. • Πότε µία συνάρτηση καλύπτει µια άλλη συνάρτηση. • Tους συνεπαγωγούς:πρώτους και ουσιώδεις. • Tη σχέση που έχουν οι πρώτοι συνεπαγωγοί µε τα µη απλοποιήσιµα αθροίσµατα. • Ένα θεώρηµα και µια µέθοδο για την αλγεβρική εύρεση των πρώτων συνεπαγωγών. Στην Eνότητα 5.2 αναφερθήκαµε στους υποκύβους και τους χρησιµοποιήσαµε για την ελαχιστοποίηση λογικών συναρτήσεων. Όµως η γεωµετρική παράσταση των υποκύβων είναι δύσκολη για πολλές µεταβλητές και επιπλέον, λόγω της γεωµετρικής τους µορφής, είναι δύσκολη η µηχανοποίηση µεθόδων που στηρίζονται σ' αυτούς. Mια αλγεβρική προσέγγιση στο θέµα ξεπερνά αυτά τα εµπόδια. Πρώτα θα παρουσιάσουµε ορισµένες βασικές έννοιες. M∏ A¶§√¶√π∏™πª∏ ∫∞π E§∞Ãπ™∆∏ ¶∞ƒ∞™∆∞™∏ Mία λογική παράσταση µιας συναρτήσεως f(x1, …,xn) λέγεται µη απλοποι- 5.4 ¶ƒø∆√π ™À¡∂¶∞°ø°√π ªπ∞™ ™À¡∞ƒ∆∏™∂ø™ 229 ήσιµη (irredundant), όταν, παραλείποντας µία οποιαδήποτε µεταβλητή της ή έναν όρο γινοµένου της, παύει να αντιπροσωπεύει την f(x1, … ,xn). Mία µη απλοποιήσιµη παράσταση αποτελεί γενικώς ένα “τοπικό ελάχιστο” και δεν είναι πάντοτε η απολύτως ελάχιστη. Eλάχιστη (minimal) παράσταση της f(x1, … ,xn) λέγεται η ελάχιστη από τις µη απλοποιήσιµες παραστάσεις της. Π.χ. έστω η συνάρτηση: f(x,y,z) = x'z' + x'y + xz + xy' (5.4α) = x'z' + yz + xy' (5.4β) H παράσταση (5.4α) είναι µη απλοποιήσιµη, αλλά δεν είναι ελάχιστη, ενώ η παράσταση (5.4β) είναι επιπλέον ελάχιστη. K∞§Àæ∏ ™À¡∞ƒ∆∏™∂ø™ Μία συνάρτηση g(x1, … ,xn) λέγεται ότι καλύπτεται (covered) από µια δοθείσα συνάρτηση f(x1, … ,xn,) όταν σε κάθε περίπτωση που g=1 συµβαίνει να είναι f=1, δηλ. όταν η f έχει "1" τουλάχιστον στα ίδια σηµεία του πίνακα αληθείας που έχει και η g "1". H σχέση καλύψεως της g από την f συµβολίζεται: g … f (το σύµβολο … έχει εδώ την έννοια της κατεύθυνσης). Eναλλακτικά, η f καλύπτει την g. Προφανώς, εάν ταυτόχρονα g … f και f … g τότε f = g. Για παράδειγµα, η συνάρτηση AND καλύπτεται από τη συνάρτηση OR, γιατί η OR έχει “1”όπου έχει και η AND: xy OR AND 00 0 0 01 1 0 10 1 0 11 1 1 OR καλύπτει AND AND καλύπτεται από OR ™À¡∂¶∞°ø°√™ Έστω οι συναρτήσεις g(x1, … , xn) και f(x1, … , xn). Eάν όπου g(x1, … , xn)=1, Tότε f(x1, … , xn)=1, η g λέγεται ότι συνεπάγει (implies) την f. Mε άλλα λόγια η g συνεπάγει την f, όταν g … f. Kάθε minterm ή άθροισµα κάποιων minterm µιας συνάρτησης f συνεπάγουν την f. Στην περίπτωση της άλγεβρας Boole, όταν ο συνεπάγων όρος έχει τη µορφή q q q (παράσταση) ενός γινοµένου p(x1 , x 2 , ... ,x n ) = x1 1 ◊ x 2 2 ◊ ... ◊ x n n , µε δοθείσες τιµές των εκθετών q1,…,qn (Eνότητα 3.5), δηλ. όταν p … f, τότε το γινόµενο K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 230 p ονοµάζεται συνεπαγωγός (implicant) της f. Kάθε minterm και γενικώς κάθε υποκύβος (Eνότητα 5.2) της f αποτελεί συνεπαγωγό της f. Π.χ. οι παραστάσεις p1=wxy' και p2=wx αποτελούν συνεπαγωγούς της f(w,x,y,z)=wx+yz διότι f(w,x,y,z)=wx(y+y')+yz. ¶ƒø∆√™ ™À¡∂¶∞°ø°√™ Έστω p(x1, … , xn) συνεπαγωγός της f. O p θα ονοµάζεται πρώτος συνεπαγωγός (prime implicant) της f, εάν παραλείποντας οποιαδήποτε µεταβλητή xk από το γινόµενο p τότε το γινόµενο που προκύπτει δεν είναι συνεπαγωγός της f. Π.χ. για τη συνάρτηση f(w,x,y,z)=wx+yz ο p1=wxy' δεν είναι πρώτος συνεπαγωγός, διότι µπορεί να παραλειφθεί η y', ενώ ο p2=wx είναι πρώτος, γιατί παραλείποντας το w ή το x δεν συνεπάγει πλέον την f. Kάθε πρώτος συνεπαγωγός µιας συνάρτησης f έχει τις εξής ιδιότητες: α. ∆εν περιέχει δυο φορές την ίδια µεταβλητή. β. ∆εν περιέχει µια µεταβλητή και το συµπλήρωµά της. γ. Eίναι µη απλοποιήσιµος (παύει να είναι συνεπαγωγός της f). Oι οµάδες στο χάρτη Karnaugh αντιστοιχούν στους συνεπαγωγούς της συναρτήσεως και οι µεγαλύτερες από αυτές στους πρώτους συνεπαγωγούς της. Mετά από τους παραπάνω ορισµούς µπορούµε να διατυπώσουµε το ακόλουθο σηµαντικό θεώρηµα: Θεώρηµα: Κάθε παράσταση µιας συναρτήσεως f υπό µορφήν µη απλοποιήσιµου αθροίσµατος γινοµένων είναι άθροισµα πρώτων συνεπαγωγών της f. Απόδειξη: Εάν υπήρχε µια παράσταση αθροίσµατος γινοµένων µη απλοποιήσιµη, που περιείχε όρους που δεν είναι πρώτοι συνεπαγωγοί, τότε οι όροι αυτοί θα µπορούσαν να απλοποιηθούν περαιτέρω, πράγµα που αντιβαίνει στην υπόθεση ότι είναι µη απλοποιήσιµη. Eποµένως και η ελάχιστη παράσταση, υπό µορφή αθροίσµατος γινοµένων, µιας συνάρτησης f θα είναι άθροισµα πρώτων συνεπαγωγών της f. Σύµφωνα µε τα παραπάνω, η διαδικασία για την ελαχιστοποίηση µιας συναρτήσεως συνίσταται: α) στο να βρεθούν όλοι οι πρώτοι συνεπαγωγοί της συναρτήσεως και β) από αυτούς να επιλεγούν εκείνοι που δηµιουργούν τη µικρότερη λογική παράσταση. 5.4 ¶ƒø∆√π ™À¡∂¶∞°ø°√π ªπ∞™ ™À¡∞ƒ∆∏™∂ø™ 231 Στο Παράδειγµα 3.2 είχαµε αποδείξει τη σχέση ab+a'c=ab+a'c+bc. Oµοίως αποδεικνύεται η γενικότερη σχέση: aB+a'C=aB+a'C+BC, (5.5) όπου B και C είναι λογικές παραστάσεις που δεν περιέχουν τη µεταβλητή a ή a'. H σχέση (5.5) ονοµάζεται θεώρηµα της συµφωνίας (consensus). Oι όροι aB και a'C ονοµάζονται αντιτιθέµενοι (µεταβλητή a ο ένας και a' ο άλλος) και ο όρος BC ονοµάζεται συµφωνία (το υπόλοιπο των αντιτιθέµενων). Yπενθυµίζουµε επίσης τα Θεωρήµατα 3 και 7 της Yποενότητας 3.2.3: a+ab = a a(a+b) = a (5.6) a+a'b= a+b a(a'+b) = ab (5.7) Tο 1937 ο Blacke απέδειξε το ακόλουθο σηµαντικό θεώρηµα, που αφορά στην εύρεση των πρώτων συνεπαγωγών µιας συνάρτησης f: Θεώρηµα: Kάθε λογική παράσταση αθροίσµατος γινοµένων F µιας συνάρτησης f µπορεί να µετατραπεί σε άθροισµα πρώτων συνεπαγωγών της f, εάν εφαρµόσουµε στην F επαναληπτικά, µε πεπερασµένο πλήθος επαναλήψεων, τα ακόλουθα βήµατα: 1. Aπλοποίηση της παράστασης µε εφαρµογή των θεωρηµάτων (5.6) και (5.7). 2. Για κάθε ζεύγος αντιτιθέµενων όρων προσθέτουµε στην παράσταση τη συµφωνία τους. Tα βήµατα 1 και 2 εφαρµόζονται µέχρις ότου δεν προκύπτει άλλη απλοποίηση. Για παράδειγµα, θα εφαρµόσουµε τη µέθοδο του Blake στη συνάρτηση f διατυπωµένη σαν άθροισµα των minterms της: f(x,y,z) = x'y'z' + x'yz' + x'yz + xy'z' + xyz Για ευκολία θα τοποθετούνται σε αγκύλες οι όροι που συνδυάζονται και θα σηµειώνονται µε πλάγια οι όροι που απαλείφονται: f(x,y,z) = [x'y'z'] + [x'yz'] + x'yz + xy'z' + xyz + x'z' f(x,y,z) = x'y'z' + x'yz' + [x'yz] + xy'z' + [xyz] + x'z' + yz f(x,y,z) = x'y'z' + x'yz' + x'yz + [xy'z'] + xyz + [x'z'] + yz + y'z' f(x,y,z) = x'y'z' + x'yz' + x'yz + xy'z' + xyz + [x'z'] + [yz] + y'z' + x'y f(x,y,z) = x'z' + yz + y'z' + x'y Όπως φαίνεται από τον ακόλουθο χάρτη Karnaugh της f, η µέθοδος Blake βρίσκει όλους τους πρώτους συνεπαγωγούς, αλλά δεν δίνει την ελάχιστη παράσταση της συνάρτησης. K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 232 yz 00 x 01 11 10 1 0 1 1 1 1 1 f(x,y,z) = yz + y'z' + x'y H µέθοδος του Blake, αν και είναι γενική και εφαρµόζεται σε κάθε παράσταση αθροίσµατος γινοµένων, καθίσταται χρονοβόρα για µεγάλες παραστάσεις, λόγω των πολλών συνδυασµών που πρέπει να ελεγχθούν. Eπιπλέον δεν µας δίνει την ελαχίστη παράσταση. Γι' αυτό έχουν αναπτυχθεί άλλες µέθοδοι (Eνότητα 5.5). Όσον αφορά στην επιλογή των κατάλληλων πρώτων συνεπαγωγών έχουµε την εξής περίπτωση: Ενας πρώτος συνεπαγωγός µιας συναρτήσεως f ονοµάζεται ουσιώδης πρώτος συνεπαγωγός, εάν καλύπτει τουλάχιστον ένα minterm της f (δηλ. ένα "1" στον πίνακα) που να µην καλύπτεται από άλλο πρώτο συνεπαγωγό. Συνεπώς, κάθε µη απλοποιήσιµη παράσταση της f πρέπει να περιέχει όλους τους ουσιώδεις πρώτους συνεπαγωγούς, ώστε να εξασφαλίζεται η κάλυψη όλων των "1" της συναρτήσεως. ¶·Ú¿‰ÂÈÁÌ· 5.11 Nα βρεθούν γραφικά οι πρώτοι συνεπαγωγοί των συναρτήσεων µε τους πίνακες αληθείας του Σχήµατος 5.14 α,β,γ. xy 00 zw 00 01 01 11 10 1 1 1 1 1 11 1 10 1 ™¯‹Ì· 5.14·. Όλοι οι πρώτοι συνεπαγωγοί είναι ουσιώδεις ™¯‹Ì· 5.14‚ xy w 0 1 00 01 1 1 1 11 10 1 1 1 ∆εν υπάρχουν ουσιώδεις πρώτοι συνεπαγωγοί. Oι οµάδες σχηµατίζουν κλειστή αλυσίδα και τέτοια συνάρτηση ονοµάζεται κυκλική. Eπιλέγεται αυθαίρετα µία οµάδα και ακολουθούν οι άλλες µέχρι να καλυφθεί η συνάρτηση 5.4 ¶ƒø∆√π ™À¡∂¶∞°ø°√π ªπ∞™ ™À¡∞ƒ∆∏™∂ø™ xy 00 zw 00 01 01 11 1 1 1 11 1 1 10 1 1 10 1 ™¯‹Ì· 5.14Á Οι µικρές οµάδες σχηµατίζουν ουσιώδεις πρώτους συνεπαγωγούς και περιλαµβάνονται υποχρεωτικά, ενώ ο πρώτος συνεπαγωγός της µεγάλης οµάδος καλύπτεται από το άθροισµα των ουσιωδών και πλεονάζει στην παράσταση της συναρτήσεως Μετά από όσα αναφέρθηκαν η διαδικασία για την εύρεση της ελάχιστης παράστασης αθροίσµατος γινοµένων µιας λογικής συνάρτησης συνοψίζεται στα εξής: 1. Ευρίσκονται όλοι οι ουσιώδεις πρώτοι συνεπαγωγοί και περιλαµβάνονται στην παράσταση του αθροίσµατος. 2. ∆ιαγράφονται εκείνοι οι πρώτοι συνεπαγωγοί που καλύπτονται από ουσιώδεις συνεπαγωγούς. 3. Εάν η παράσταση του βήµατος 1 καλύπτει όλους τους minterms της συνάρτησης, τότε είναι η µοναδική ελαχίστη παράσταση. ∆ιαφορετικά επιλέγονται και άλλοι πρώτοι συνεπαγωγοί µέχρι να καλυφθεί η συνάρτηση πλήρως. Η εκτέλεση του δεύτερου µέρους του βήµατος 3 δεν είναι πάντοτε εύκολη, ιδιαίτερα όταν ο αριθµός των µεταβλητών είναι µεγάλος. Στο χάρτη Karnaugh η επιλογή γίνεται οπτικά, αλλά για περισσότερο πολύπλοκες συναρτήσεις έχουν προταθεί άλλες µέθοδοι, που υπόσχονται τη συστηµατική επιλογή των κατάλληλων πρώτων συνεπαγωγών. Μεταξύ αυτών η σπουδαιότερη είναι η µέθοδος των Quine–McCluskey (Eνότητα 5.5). ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Μία συνάρτηση g καλύπτεται από µια άλλη συνάρτηση f, εάν συµβαίνει να είναι f=1,τουλάχιστον κάθε φορά που g=1 (Eναλλακτικά, η f καλύπτει την g). • H συνάρτηση γινοµένου p(x1 , x 2 , ... ,x n ) = x1q 1 ◊ x q2 2 ◊ ... ◊ x qn n είναι συνεπαγωγός της συνάρτησης f, εάν η p καλύπτεται από την f. • O συνεπαγωγός p ονοµάζεται πρώτος συνεπαγωγός της f, εάν παραλείποντας οποιαδήποτε µεταβλητή του παύει να είναι συνεπαγωγός της f. • H µέθοδος Blake βρίσκει όλους τους πρώτους συνεπαγωγούς µιας συνάρτησης. 233 234 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N • O ουσιώδης πρώτος συνεπαγωγός καλύπτει τουλάχιστον ένα minterm της f που δεν καλύπτεται από άλλο πρώτο συνεπαγωγό. • Κάθε µη απλοποιήσιµο άθροισµα γινοµένων µιας συνάρτησης f είναι άθροισµα πρώτων συνεπαγωγών της f. 5.5 ¶ÈÓ·ÎÔÂȉ‹˜ ̤ıÔ‰Ô˜ ‹ ̤ıÔ‰Ô˜ ÙˆÓ Quine–McCluskey O χάρτης Karnaugh είναι εύχρηστος για λίγες µόνο µεταβλητές και επιπλέον στηρίζεται στην παρατηρητικότητα του χρήστη. H πινακοειδής µέθοδος ξεπερνά αυτές τις δυσκολίες. Eίναι µια καθαρά αλγοριθµική µέθοδος, προχωρεί βήµα προς βήµα, εξαντλώντας κάθε δυνατή περίπτωση, και µπορεί να εφαρµοστεί για συναρτήσεις οσονδήποτε µεταβλητών. Eίναι πολύ κατάλληλη για να εκτελεστεί από έναν υπολογιστή, αλλά αρκετά ανιαρή για έναν άνθρωπο. H πινακοειδής µέθοδος ή µέθοδος των Quine–McCluskey χωρίζεται σε δύο φάσεις: στην εύρεση όλων των πρώτων συνεπαγωγών της συνάρτησης και κατόπιν στην εύρεση της ελάχιστης καλύψεώς της από πρώτους συνεπαγωγούς. Eνα από τα πλεονεκτήµατά της είναι ότι ελέγχει ένα µικρό µόνο υποσύνολο από επιλεγµένα ζεύγη minterms της συνάρτησης. Tελειώνοντας αυτή την Eνότητα θα γνωρίζετε: • Ένα συστηµατικό αλγεβρικό τρόπο για να βρίσκετε όλους τους πρώτους συνεπαγωγούς κάθε συνάρτησης. • Tρόπους (πίνακας minterm και µέθοδος Petrick) για να επιλέγετε τους πρώτους συνεπαγωγούς που σχηµατίζουν µία ελάχιστη κάλυψη µιας συνάρτησης. • Mια γενική µέθοδο για την ελαχιστοποίηση δύο επιπέδων κάθε λογικής συνάρτησης. H πινακοειδής µέθοδος αποτελείται από δύο φάσεις. H πρώτη φάση στοχεύει στην εύρεση όλων των πρώτων συνεπαγωγών, ελέγχοντας επιλεγµένα ζεύγη από minterms της συνάρτησης. Mε την επιλογή αυτή χρειάζονται πολύ λιγότεροι έλεγχοι για να βρεθούν οι πρώτοι συνεπαγωγοί από το να ελέγχονται αδιάκριτα όλοι οι δυνατοί συνδυασµοί. H εκτέλεσή της, όµως, από έναν άνθρωπο έχει τα εξής µειονεκτήµατα: (α) για µεγάλες συναρτήσεις το πλήθος των ελέγχων, αν και µειωµένο, καθίσταται µεγάλο και (β) απαιτεί σχολαστική σηµείωση και µεταφορά στοιχείων από πίνακα σε πίνακα µε απο- 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY τέλεσµα να γίνεται ανιαρή και επιρρεπής σε “τυπογραφικά” λάθη. Προσοχή, λοιπόν, και πολλαπλός έλεγχος των αποτελεσµάτων πριν τελειώσουµε µια άσκηση. Όταν αντιµετωπίζεται η ελαχιστοποίηση συναρτήσεων µε πολλές µεταβλητές, η µέθοδος του χάρτη Karnaugh είναι τελείως ανεπαρκής και τότε εφαρµόζεται η Πινακοειδης (Tabular) µέθοδος, η οποία αναπτύχθηκε αρχικά από τον Quine και τελειοποιήθηκε από τον McCluskey (1956). Η Πινακοειδής µέθοδος είναι αλγοριθµική µέθοδος. Η βασική της ιδέα είναι ο συστηµατικός και εξαντλητικός έλεγχος όλων των ζευγών όρων της δοθείσης συναρτήσεως, τα οποία είναι υποψήφια για απλοποίηση µέσω της σχέσεως aA+a'A=A. Η διαδικασία αυτή οδηγεί στη δηµιουργία όλων των πρώτων συνεπαγωγών της συναρτήσεως, από τους οποίους εκλέγεται η ελαχίστη παράστασή της. Η Πινακοειδής µέθοδος έχει το πλεονέκτηµα ότι εφαρµόζεται για συναρτήσεις οσουδήποτε πλήθους µεταβλητών και επιπλέον µπορεί να "αυτοµατοποιηθεί", δηλ. να εκτελεσθεί από έναν υπολογιστή. Η µέθοδος αναλύεται σε δύο φάσεις: α) στην εύρεση όλων των πρώτων συνεπαγωγών και β) στην επιλογή του ελάχιστου συνόλου συνεπαγωγών που καλύπτουν τη συνάρτηση. Οι δύο φάσεις παρουσιάζονται στις Yποενότητες 5.5.1 και 5.5.2 που ακολουθούν. 5.5.1 E‡ÚÂÛË ÙˆÓ ÚÒÙˆÓ Û˘Ó·ÁˆÁÒÓ Η δοθείσα συνάρτηση αναπτύσσεται αρχικά σε κανονικό άθροισµα γινοµένων. Κατόπιν επιδιώκεται η εύρεση όλων των πρώτων συνεπαγωγών της, εφαρµόζοντας την ιδιότητα aA+a'A=A. Υπενθυµίζεται ότι κάθε minterm και γενικώς κάθε γινόµενο µεταβλητών µπορεί να παρασταθεί µε τη µορφή h(x1 , x 2 , ... ,x n ) = x1p1 ◊ x 2p 2 ◊ ... ◊ x pn n , όπου οι εκθέτες p1, … ,pn είναι δυαδικές σταθερές (Eνότητα 3.5). Ταυτόχρονα οι εκθέτες παριστάνουν τις τιµές των µεταβλητών της συναρτήσεως για τις οποίες η συνάρτηση γίνεται "1". Η απαλοιφή µιας µεταβλητής, µέσω της σχέσεως aA+a'A=A, είναι δυνατή 235 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 236 µόνο µεταξύ ζευγών όρων (γινοµένων), που διαφέρουν στον εκθέτη µιας µεταβλητής. Ζεύγη όρων που διαφέρουν σε δύο τουλάχιστον εκθέτες (ή τιµές µεταβλητών) δεν απαλείφονται και εποµένως είναι άσκοπη κάθε σύγκριση µεταξύ τους. Εάν οι εκθέτες των όρων (ή οι τιµές των µεταβλητών) θεωρηθούν ότι αποτελούν τις λέξεις ενός δυαδικού κώδικα (βλέπε Eνότητα 2.4), τότε σύµφωνα µε τα όσα είναι γνωστά: α. Λέξεις που έχουν απόσταση ένα απαλείφουν µια µεταβλητή, διότι διαφέρουν σε έναν εκθέτη. β. Λέξεις που έχουν απόσταση δύο ή περισσότερο διαφέρουν σε δύο ή περισσότερους εκθέτες και συνεπώς δεν υπάρχει απαλοιφή. Η µέθοδος Quine–McCluskey εκµεταλλεύεται την παρατήρηση αυτή, για να αποφύγει τον άσκοπο έλεγχο όλων των ζευγών όρων (γινοµένων) που υπάρχουν στη συνάρτηση. Υπολογίζοντας την απόσταση των όρων (ή λέξεων) µε προσεγγιστικό τρόπο, κατατάσσει τους όρους σε οµάδες G1,…,Gk,…, ώστε οι όροι της οµάδος Gk να είναι “υποψήφιοι” γείτονες µόνο µε τους όρους της οµάδος Gk+1. Έτσι περιορίζεται σηµαντικά το πλήθος των απαιτούµενων ελέγχων. Αναλυτικά, τα βήµατα αυτής της φάσης θα περιγραφούν µε τη βοήθεια του ακολούθου παραδείγµατος. ¶·Ú¿‰ÂÈÁÌ· 5.12 Έστω προς ελαχιστοποίηση η συνάρτηση F, αναπτυγµένη σε κανονικό άθροισµα γινοµένων: F(x,y,z,w,v) = Σ(0, 1, 2, 3, 4, 5, 6, 7, 10, 14, 20, 22, 28) Βήµα 1. Τοποθετούνται οι όροι της συνάρτησης (τιµές µεταβλητών ή λέξεις) σε οµάδες ανάλογα µε το πλήθος των "1" που υπάρχουν σε κάθε λέξη. Στην πρώτη οµάδα τοποθετείται ο minterm 0 που δεν περιέχει “1”. Στη δεύτερη οµάδα τοποθετούνται οι λέξεις µε ένα "1" (αν υπάρχουν), στην τρίτη µε δύο “1” κ.λπ. Η οµαδοποίηση της συναρτήσεως F φαίνεται στον Πίνακα Ι του Σχήµατος 5.15. Η πρώτη οµάδα περιέχει τον minterm 0, η δεύτερη τους 1, 2 και 4, κ.λπ. Με τον τρόπο αυτό του σχηµατισµού και της διατάξεως των οµάδων στον πίνακα συµβαίνουν τα εξής: 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY α. Oι λέξεις της ίδιας οµάδας έχουν απόσταση δύο. β. Oι λέξεις µιας οµάδας µε τις λέξεις της αµέσως επόµενής της ενδέχεται να έχουν απόσταση ένα. γ. Oι λέξεις µιας οµάδας µε τη µεθ' επόµενή της κ.λπ. έχουν απόσταση τουλάχιστον δύο. Βήµα 2. Συγκρίνεται καθένας όρος (λέξη) της πρώτης οµάδας µε όλους τους όρους της αµέσως επόµενης οµάδος. Εάν διαφέρουν σε µια µεταβλητή, τότε απαλείφεται αυτή και ο νέος συγχωνευµένος όρος που προκύπτει τοποθετείται σε διπλανό πίνακα (Πίνακας ΙΙ, Σχήµα 5.15) κατά τον εξής τρόπο: α. διατηρείται η θέση της µεταβλητής που έφυγε και σηµειώνεται µε – , β. µπροστά από το νέο όρο αναγράφονται οι αριθµοί των αρχικών όρων από τους οποίους προέκυψε, γ. δίπλα στους αρχικούς όρους τοποθετούνται + για να δείξουν ότι οι όροι αυτοί έχουν απλοποιηθεί και έχουν µεταφερθεί στον επόµενο πίνακα. Στο παράδειγµα (Σχήµα 5.15), συγκρίνοντας τον όρο 0 (πρώτη οµάδα, Πίνακας Ι) µε τον όρο 1 (δεύτερη οµάδα, Πίνακας Ι), διαπιστώνεται ότι απαλείφεται η µεταβλητή v. Τότε τοποθετείται στον Πίνακα ΙΙ ο νέος όρος 0000–, σηµειώνονται µπροστά του οι παλαιοί όροι 0,1, από τους οποίους προέκυψε, και δίπλα στους παλαιούς όρους 0 και 1 τοποθετούνται +. Kατόπιν συγκρίνεται ο ίδιος όρος 0 µε τους 2 και 4 και αναγράφονται αντίστοιχα οι συγχωνευµένοι όροι στον Πίνακα II. Mετά τη σύγκριση της πρώτης οµάδας µε τη δεύτερη προχωρούµε στη σύγκριση κάθε όρου της δεύτερης µε κάθε όρο της τρίτης οµάδας. Συγκρίνοντας τον όρο "1" µε τον όρο "5", παράγεται ο όρος 00–01. Συγκρίνοντας τον όρο "1" µε τον "6" δεν προκύπτει απαλοιφή κ.λπ… Συνεχίζοντας µε τον τρόπο αυτό, συγκρίνεται για τον ίδιο πίνακα καθένας όρος µιας οµάδας µε όλους τους όρους της αµέσως επόµενης οµάδος. Εάν από τη σύγκριση απαλείφεται µια µεταβλητή, τότε ο νέος όρος που σχηµατίζεται τοποθετείται στον επόµενο πίνακα, ενώ στο αρχικό ζεύγος όρων τοποθετείται ένα +, για να δείξει ότι οι όροι αυτοί έχουν απλοποιηθεί. Βήµα 3. Το Bήµα 2 επαναλαµβάνεται για τον επόµενο πίνακα, µέχρι να καταλήξουµε σε πίνακα που δέν απλοποιείται περισσότερο. Π.χ. από τον Πίνακα II παράγεται ο Πίνακας ΙΙΙ και από αυτόν ο Πίνακας IV, που περιέχει µόνο µία οµάδα και εποµένως δεν απλοποιείται περισσότερο (Σχήµα 5.15). 237 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 238 Πίνακας I Πίνακας II xyzwv Πίνακας III xyzwv xyzwv 0 00000 + 0,1 0000– + 0,1,2,3 000– – + 1 00001 + 0,2 000–0 + 0,1,4,5 00–0– + 2 00010 + 0,4 00–00 + 0,2,1,3 000– – . 4 00100 + 1,3 000–1 + 0,2,4,6 00– –0 + 3 00011 + 1,5 00–01 + 0,4,1,5 00–0– . 5 00101 + 2,3 0001– + 0,4,2,6 00––0 . 6 00110 + 2,6 00–10 + 1,3,5,7 00– –1 + 10 01010 + 2,10 0–010 + 1,5,3,7 00– –1 . 20 10100 + 4,5 0010– + 2,3,6,7 00–1– + 7 00111 + 4,6 001–0 + 2,6,3,7 00–1– . 14 01110 + 4,20 –0100 + 2,6,10,14 0– –10 B 22 10110 + 3,7 00–11 + 2,10,6,14 0– –10 . 28 11100 + 5,7 001–1 + 4,5,6,7 001– – + 6,7 0011– + 4,6,5,7 001– – . 6,14 0–110 + 4,6,20,22 –01–0 C 6,22 –0110 + 4,20,6,22 –01–0 . 10,14 01–10 + 20,22 101–0 + 20,28 1–100 A Πίνακας IV xyzwv 0,1,2,3,4,5,6,7 00– – – D ™¯‹Ì· 5.15 0,1,4,5,2,3,6,7 00– – – . Eύρεση πρώτων συνεπαγωγών 0,2,4,6,1,3,5,7 00– – – . Βήµα 4. Αφού εξαντληθεί και το Bήµα 3, τότε εξετάζονται οι πίνακες από την αρχή και τοποθετούνται γράµµατα δίπλα στους όρους που δεν έχουν +, δηλ. σε όσους όρους δεν απλοποιούνται περισσότερο. Π.χ. τοποθετείται Α στον όρο 1–100 του Πίνακα ΙΙ, Β στον όρο 0– –10 του Πίνακα ΙΙΙ κ.λπ. Οι όροι αυτοί αποτελούν τους πρώτους συνεπαγωγούς της συνάρτησης. Κατά τη διάρκεια της απαλοιφής είναι δυνατόν ο ίδιος όρος να προκύψει 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY 239 περισσότερες φορές, όπως π.χ. ο όρος 0– –10 του Πίνακα ΙΙΙ προέκυψε µια φορά από την απαλοιφή των όρων 2,6/10,14 και µια φορά από τους 2,10/6,14. Οι επαναλήψεις του ιδίου όρου αγνοούνται και δεν µεταφέρονται στους επόµενους πίνακες. Οι πρώτοι συνεπαγωγοί της συναρτήσεως F, που προέκυψαν από το Bήµα 4 του αλγορίθµου, είναι εύκολο να διαπιστωθεί ότι αντιστοιχούν στις µεγαλύτερες δυνατές οµάδες του χάρτη Karnaugh (Σχήµα 5.16). xy 00 zw 00 1 11 01 01 1 1 11 1 1 10 1 1 10 xy 00 zw 00 1 01 1 1 11 1 1 10 1 v 11 01 10 ™¯‹Ì· 5.16 v 5.5.2 ¶·Ú·ÁˆÁ‹ Ù˘ ÂÏ¿¯ÈÛÙ˘ Î¿Ï˘„˘ Μετά την παραγωγή των πρώτων συνεπαγωγών της συνάρτησης, η επόµενη φάση είναι η επιλογή των κατάλληλων πρώτων συνεπαγωγών, ώστε το άθροισµά τους να καλύπτει την αρχική συνάρτηση και ταυτόχρονα να αποτελεί την ελάχιστη δυνατή λογική παράσταση. Η συνάρτηση καλύπτεται, όταν κάθε minterm αυτής περιέχεται σε έναν τουλάχιστον από τους συνεπαγωγούς της ελάχιστης παράστασης. Η επιλογή των κατάλληλων πρώτων συνεπαγωγών διευκολύνεται, αν κατασκευασθεί ο πίνακας των πρώτων συνεπαγωγών που δείχνει αναλυτικά τη σχέση αυτών µε τους minterms της συναρτήσεως. H µέθοδος επιλογής θα εξηγηθεί µε το ακόλουθο παράδειγµα. ¶·Ú¿‰ÂÈÁÌ· 5.13 Έστω η συνάρτηση του Παραδείγµατος 5.12. Oι πρώτοι συνεπαγωγοί της σηµειώνονται µε A έως D στους πίνακες του Σχήµατος 5.15. Σχηµατίζουµε τον Πίνακα του Σχήµατος 5.17, στον οποίο οι στήλες αντιστοιχούν στους minterms της συναρτήσεως, οι σειρές του στους πρώτους συνεπαγωγούς της και η σχέση ενός minterm µε τον αντίστοιχο πρώτο συνεπαγωγό δηλώνεται µε ένα Χ. Π.χ. ο πρώτος συνεπαγωγός Α (Σχήµα 5.15) Oι οµάδες αντιστοιχούν στους πρώτους συνεπαγωγούς K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 240 της συναρτήσεως καλύπτει τους minterms 20 και 28 και η σχέση αυτή δηλώνεται στον Πίνακα των πρώτων συνεπαγωγών της (Σχήµα 5.17) τοποθετώντας Χ στη διασταύρωση της σειράς Α µε τις στήλες 20 και 28. +| +| 0 1 ™¯‹Ì· 5.17 Πίνακας πρώτων συνεπαγωγών +| 2 +| 3 +| 4 +| 5 +| 6 +| +| +| +| +| +| 7 10 14 20 22 28 +A 20,28 +B 2,6,10,14 +C 4,6,20,22 +D 0,1,2,3,4,5,6,7 Η επιλογή των ελάχιστων πρώτων συνεπαγωγών γίνεται ως εξής: Βήµα 1. Αφού κατασκευασθεί ο πίνακας των πρώτων συνεπαγωγών, ευρευνάται για να εντοπιστούν οι στήλες που έχουν µόνο ένα Χ. Αν υπάρχουν στήλες µε ένα Χ, τότε σηµειώνονται µε + οι αντίστοιχοι: (α) minterms (στήλες) και (β) συνεπαγωγοί (σειρές). Οι συνεπαγωγοί αυτοί αποτελούν τους ουσιώδεις πρώτους συνεπαγωγούς της συνάρτησης και πρέπει να περιληφθούν στην ελάχιστη παράσταση. Εάν κάποιος ουσιώδης πρώτος συνεπαγωγός καλύπτει και άλλους minterms, τότε σηµειώνονται µε + και αυτοί. Στο Σχήµα 5.17 ουσιώδεις πρώτοι συνεπαγωγοί είναι ο Α λόγω του minterm 28, ο Β λόγω του 10 ή 14, ο C λόγω του 22 και ο D λόγω των 0 ή 1 ή 3 ή 5 ή 7. Στο παράδειγµα αυτό οι ουσιώδεις πρώτοι συνεπαγωγοί καλύπτουν πλήρως όλη τη συνάρτηση (minterms) και δεν υπάρχουν άλλοι συνεπαγωγοί. Η ελάχιστη παράσταση της συνάρτησης είναι: F(x,y,z,w,v) = xzw'v' + x'wv' + y'zv' + x'y' Βήµα 2. Εάν οι ουσιώδεις πρώτοι συνεπαγωγοί δεν επαρκούν για να καλύψουν τη συνάρτηση, τότε επιλέγονται και άλλοι συνεπαγωγοί τέτοιοι ώστε να καλύπτουν τους υπόλοιπους minterms. Εάν υπάρχει η δυνατότητα επιλογής ανάµεσα σε περισσότερους πρώτους συνεπαγωγούς, προτιµάται εκείνος που καλύπτει το µεγαλύτερο πλήθος από τους υπόλοιπους minterms. Εάν δε συµβαίνει περισσότεροι από ένας συνεπαγωγοί να καλύπτουν ακριβώς τους ίδιους υπόλοιπους minterms, τότε προτιµάται ο µικρότερος απ' αυτούς (λιγότερες µεταβλητές). 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY 241 ¶·Ú¿‰ÂÈÁÌ· 5.14 Έστω προς απλοποίηση η συνάρτηση: F(x,y,z,w,v) = Σ(1,2,5,6,7,8,9,10,13,17,18,21,22,29) Oι πρώτοι συνεπαγωγοί (A έως I) και η διαδικασία εύρεσής τους παρίστανται στους Πίνακες του Σχήµατος 5.18α. Πίνακας Ι Πίνακας ΙΙ xyzwv Πίνακας ΙΙΙ xyzwv xyzwv 1 00001 1,5 00–01 1,5,9,13 0– –01 2 00010 1,9 0–001 1,5,17,21 –0–01 8 01000 1,17 –0001 1,9,5,13 0– –01 5 00101 2,6 00–10 1,17,5,21 –0–01 6 00110 2,10 0–010 2,6,18,22 –0–10 9 01001 2,18 –0010 2,18,6,22 –0–10 10 01010 8,9 0100– B 5,21,13,29 – –101 17 10001 8,10 010–0 C 5,13,21,29 – –101 18 10010 5,7 001–1 D 7 00111 5,13 0–101 13 01101 5,21 –0101 21 10101 6,7 0011– 22 10110 6,22 –0110 29 11101 9,13 01–01 17,21 10–01 18,22 10–10 13,29 –1101 ™¯‹Ì· 5.18· 21,29 1–101 Eύρεση πρώτων συνεπαγωγών A E Σχηµατίζουµε τον Πίνακα των πρώτων συνεπαγωγών (Σχήµα 5.18β). Προκύπτει ότι ουσιώδεις πρώτοι συνεπαγωγοί είναι οι G, H και I. Από τους υπόλοιπους όρους (minterms) 7, 8, 9 και 10 καθένας µπορεί να καλυφθεί από δύο πρώτους συνεπαγωγούς, δηλ. ο 7 από τους D ή Ε, ο 8 από τους B ή C, ο 9 από τους B ή F και ο 10 από τους A ή C. K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 242 +| 1 ™¯‹Ì· 5.18‚ Πίνακας πρώτων συνεπαγωγών +| 2 +| 5 +| 6 | 7 | 8 | 9 | +| +| +| +| +| +| 10 13 17 18 21 22 29 A B ** C *** D E ** F +G +H +I Για να καλυφθούν οι υπόλοιποι όροι (Σχήµα 5.18β), παρατηρούµε ότι ο συνεπαγωγός C καλύπτει δύο υπόλοιπους minterms, τους 8 και 10, και συνεπώς προτιµάται έναντι των συνεπαγωγών που καλύπτουν µόνον ένα από τους υπόλοιπους. Ο minterm 9 καλύπτεται από τους B και F και προτιµάται ο F, διότι έχει τις λιγότερες µεταβλητές, 2 λιγότερες του Β. Ο όρος 7 καλύπτεται ισοδύναµα από τους D και E, επιλέγεται αυθαίρετα ο D. Εάν είχε επιλεγεί ο B έναντι του C για τον minterm 8, τότε η παράσταση δεν θα ήταν ελάχιστη, διότι θα αποκλειόταν ο F που έχει λιγότερες µεταβλητές από τον Β. Συνεπώς η παράσταση της συναρτήσεως F θα είναι το άθροισµα των επιλεγέντων συνεπαγωγών, δηλ.: Fσυν = G+H+I+C+D+F F = y'w'v + y'wv'+zw'v+x'yz'v'+x'y'zv+x'w'v Γενικά, για να βεβαιωθεί κανείς ότι αυτή είναι η ελάχιστη παράσταση, πρέπει να ερευνήσει όλες τις εναλλακτικές λύσεις. Υπάρχει καλύτερος τρόπος επιλογής, η µέθοδος του Petrick, που περιγράφεται στην Yποενότητα 5.5.3. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.6 Nα απλοποιηθεί η συνάρτηση: F(w,x,y,z) = Σ(0, 2, 3, 4, 6, 7, 9, 11, 13, 15) 5.5.3 M¤ıÔ‰Ô˜ ÂÈÏÔÁ‹˜ Petrick Ένας συστηµατικός τρόπος για την επιλογή των πρώτων συνεπαγωγών, στην περίπτωση που υπάρχουν πολλοί υποψήφιοι συνεπαγωγοί, είναι η µέθοδος του Petrick (1956), που είναι αλγεβρική. Η µέθοδος αυτή παράγει όλα τα µη απλοποιήσιµα αθροίσµατα συνεπαγωγών και η ελάχιστη παράσταση της 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY συναρτήσεως εξάγεται από τη σύγκριση µεταξύ τους των εναλλακτικών συνδυασµών συνεπαγωγών που προκύπτουν. Κατά τη µέθοδο του Petrick κάθε πρώτος συνεπαγωγός θεωρείται σαν µια δυαδική µεταβλητή και εφαρµόζεται ο Λογισµός των Προτάσεων, για να ευρεθούν όλοι οι συνδυασµοί συνεπαγωγών για τους οποίους αληθεύει το πρόβληµα. Ειδικότερα, σχηµατίζεται η λεγόµενη συνάρτηση των πρώτων συνεπαγωγών (Prime Implicant Function), που συµβολίζεται µε P. Η συνάρτηση P είναι µια συνάρτηση γινοµένου αθροισµάτων, η οποία παράγεται από τον πίνακα των πρώτων συνεπαγωγών ως εξής: α. κάθε πρώτος συνεπαγωγός θεωρείται σαν µια δυαδική µεταβλητή, β. για κάθε minterm της συνάρτησης σχηµατίζεται το άθροισµα των συνεπαγωγών, οι οποίοι εναλλακτικά (ή ο ένας ή ο άλλος κ.λπ.) καλύπτουν τον minterm, γ. η συνάρτηση P είναι το γινόµενο όλων των αθροισµάτων (β), διότι πρέπει να καλύπτονται όλοι οι minterms. Η συνάρτηση P αναπτύσσεται κατόπιν σε άθροισµα γινοµένων και απλοποιείται εφαρµόζοντας τους κανόνες της Αλγεβρας Boole. Κάθε όρος (γινόµενο) της P περιέχει τους συνεπαγωγούς που είναι απολύτως απαραίτητοι, για να καλυφθεί η αρχική συνάρτηση. Η ελάχιστη παράσταση της αρχικής συναρτήσεως F ευρίσκεται από την απλοποιηµένη συνάρτηση P ως εξής: α. Επιλέγεται ο όρος της P που έχει τις λιγότερες µεταβλητές (συνεπαγωγούς). Η παράσταση της συναρτήσεως F είναι το άθροισµα αυτών των συνεπαγωγών. β. Εάν συµπίπτει περισσότεροι όροι της P να έχουν το ίδιο (ελάχιστο) πλήθος συνεπαγωγών, τότε επιλέγεται εκείνος του οποίου οι συνεπαγωγοί έχουν τις λιγότερες µεταβλητές. Εφαρµόζοντας τη µέθοδο του Petrick στο παράδειγµα του Σχήµατος 5.18β της συνάρτησης F προκύπτει η συνάρτηση P: P = (F+G)(A+H)(D+F+G+I)(E+H)(D+E)(B+C)(B+F)(A+C)(F+I)GH(G+I)HI η οποία απλοποιούµενη δίνει: P = BCDGHI+ABDGHI+CDFGHI+BCEGHI+ABEGHI+CEFGHI 243 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 244 Όπως προκύπτει, όλοι οι όροι της P είναι ίσοδύναµοι ως πρός το ελάχιστο πλήθος των συνεπαγωγών (6 συνεπαγωγοί). Γι' αυτό επιλέγεται ή ο όρος CDFGHI ή ο CEFGHI, διότι καθένας τους περιέχει το µικρότερο πλήθος µεταβλητών της συναρτήσεως F, συγκρινόµενος µε τους υπόλοιπους, αλλά µεταξύ τους οι δύο έχουν το ίδιο πλήθος. Έτσι προκύπτουν δύο, ισοδύναµες, ελάχιστες παραστάσεις για τη συνάρτηση F: ή F = C+D+F+G+H+I F = C+E+F+G+H+I. ¶·Ú¿‰ÂÈÁÌ· 5.15 Έστω προς απλοποίηση η συνάρτηση: F(x,y,z,w) = Σ(1, 3, 4, 5, 6, 8, 9, 10, 14) H εύρεση και επιλογή των πρώτων συνεπαγωγών της παρουσιάζονται στα Σχήµατα 5.19α και 5.19β. Πίνακας Ι +| 1 Πίνακας ΙΙ xyzw xyzw | 4 | 5 | 6 | 8 | 9 | | 10 14 +A 1 0001 1,3 00–1 A B 4 0100 1,5 0–01 B C 8 1000 1,9 –001 C ** D 3 0011 4,5 010– D 5 0101 4,6 01–0 E E *** F 6 0110 8,9 100– F 9 1001 8,10 10–0 G 10 1010 6,14 –110 H 14 1110 10,14 1–10 I ™¯‹Ì· 5.19·: Eύρεση πρώτων συνεπαγωγών +| 3 ** G ** H I ™¯‹Ì· 5.19‚ Eπιλογή πρώτων συνεπαγωγών Από την εξέταση του πίνακα των πρώτων συνεπαγωγών της συνάρτησης (Σχήµα 5.19β) διαπιστώνεται ότι µετά την επιλογή των ουσιωδών πρώτων συνεπαγωγών, δηλ. του Α, δεν υπάρχει προφανής τρόπος για την επιλογή άλλων συνεπαγωγών, διότι οι υπόλοιποι συνεπαγωγοί έχουν το ίδιο πλήθος µεταβλητών και καλύπτουν το ίδιο πλήθος minterms, δηλ. εµφανίζονται πολλές εναλλακτικές επιλογές χωρίς να διαφαίνεται ποια είναι η καλύτερη. Μία 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY 245 τέτοια δοµή ονοµάζεται κυκλική. Ένας τρόπος είναι να επιλεγεί αυθαίρετα ένας συνεπαγωγός, π.χ. ο D, και να συνεχισθεί από εκεί η διαδικασία µέχρι να καλυφθούν όλοι οι όροι. Θα πρέπει, όµως, να ελεγχθούν όλες οι εναλλακτικές περιπτώσεις. Ο καλύτερος τρόπος είναι να εφαρµοσθεί η µέθοδος του Petrick. Στην περίπτωση αυτή η συνάρτηση P είναι: P = (A+B+C)(A)(D+E)(B+D)(E+H)(F+G)(C+F)(G+I)(H+I) Μετά την εκτέλεση των πράξεων: P = A(BD+BE+D+DE)(E+H)(F+FG+CF+CG)(GH+GI+HI+I) προκύπτει: P = ABCEGH+ABCEGI+ABEFGH+ABEFI+ACDEGI+ACDGH+ +ADEFI+ADFGH+ADFHI Όπως προκύπτει από την P, υπάρχουν πέντε ελάχιστες παραστάσεις, οι ABEFI, ACDGH, ADEFI, ADFGH, ADFHI, καθεµία από τις οποίες περιέχει πέντε συνεπαγωγούς και κάθε συνεπαγωγός περιέχει το ίδιο πλήθος µεταβλητών. ∆ηλ. η συνάρτηση αυτού του παραδείγµατος έχει πέντε ελάχιστες παραστάσεις, όλες ισοδύναµες µεταξύ τους. Nα απλοποιηθεί η συνάρτηση: F(w,x,y,z) = Σ(2, 6, 7, 8, 9, 13, 15) 5.5.4 H ̤ıÔ‰Ô˜ Quine–McCluskey ÁÈ· ÌÂÚÈο ηıÔÚÈṲ̂Ó˜ Û˘Ó·ÚÙ‹ÛÂȘ Η µέθοδος είναι ουσιαστικά η ίδια µε την περίπτωση των ολικά ορισµένων συναρτήσεων. Οι επιπλέον συµπληρώσεις για τις µερικά καθορισµένες συναρτήσεις είναι οι εξής: α. Στην εύρεση των ουσιωδών πρώτων συνεπαγωγών συµµετέχουν µαζί µε τους κανονικούς όρους και οι αδιάφοροι όροι σαν ισότιµα µέλη. β. Στο σχηµατισµό του πίνακα των πρώτων συνεπαγωγών για την επιλογή της ελάχστης παραστάσεως λαµβάνονται υπόψη µόνον οι κανονικοί minterms της συνάρτησης. Ως παράδειγµα θα χρησιµοποιηθεί ο υπολογισµός του ψηφίου g1 ενός κώδι- ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.7 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 246 κα GRAY, που προκύπτει από τη µετατροπή του κώδικα BCD. ¶·Ú¿‰ÂÈÁÌ· 5.16 Nα ευρεθεί η ελάχιστη συνάρτηση για το ψηφίο g1 ενός κώδικα GRAY, που προκύπτει από τη µετατροπή του κώδικα BCD σε κώδικα GRAY. Σηµειώνεται για λόγους συγκρίσεως ότι στο Παράδειγµα 5.10 παρουσιάστηκε η απλοποίηση της συνάρτησης g1 µε τη µέθοδο του χάρτη Karnaugh (Σχήµα 5.13). Στα Σχήµατα 5.20α,β,γ,δ,ε δίνονται ο Πίνακας Aληθείας της συναρτήσεως g1(a,b,c,d), οι Πίνακες Ι,ΙΙ,ΙΙΙ σχηµατισµού των πρώτων συνεπαγωγών της και ο Πίνακας εκλογής των συνεπαγωγών. Από τον πίνακα των συνεπαγωγών (Σχήµα 5.20ε) επιλέγονται ο A και ο B, επειδή είναι ουσιώδεις. Η ελαχίστη παράσταση της συναρτήσεως είναι: g1(a, b, c, d) = b' c + b c' BCD Eύρεση των πρώτων συνεπαγωγών GRAY ∆εκ abcd g1 Πίνακας Ι 0 0000 0 abcd 1 0001 0 2 0010 2,3 001– + 2,3,10,11 –01– A 2 0010 1 4 0100 2,10 –010 + 2,10,3,11 –01– . 3 0011 1 3 0011 4,5 010– + 4,5,12,13 –10– B 4 0100 1 5 0101 4,12 –100 + 4,12,5,13 –10– . 5 0101 1 10 1010 3,11 –011 + 10,11,14,15 1–1– C 6 0110 0 12 1100 5,13 –101 + 10,14,11,15 1–1– . 7 0111 0 11 1011 10,11 101– + 12,13,14,15 11– – D 8 1000 0 13 1101 10,14 1–10 + 12,14,13,15 11– – . 9 1001 0 14 1110 12,13 110– + 10 1010 X 15 1111 12,14 11–0 + 11 1011 X 11,15 1–11 + 12 1100 X 13,15 11–1 + 13 1101 X 14,15 111– + 14 1110 Χ 15 1111 X ™¯‹Ì· 5.20· ™¯‹Ì· 5.20‚ Πίνακας ΙΙ Πίνακας ΙΙI abcd ™¯‹Ì· 5.20Á abcd ™¯‹Ì· 5.20‰ 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY 2 3 4 247 5 + A 2,3,10,11 + B 4,5,12,13 C 10,11,14,15 D 12,13,14,15 Η ίδια ελαχίστη παράσταση προκύπτει και µε τη µέθοδο του Karnaugh (Σχήµα 5.14, g1). Όπως φαίνεται από τα Παραδείγµατα 10 και 15, η µέθοδος Karnaugh είναι απλούστερη όταν οι µεταβλητές είναι λίγες. ™À¡√æ∏ ∆∏™ ª∂£√¢√À QUINE–McCLUSKEY H µέθοδος Quine–McCluskey για την εύρεση της ελαχίστης παραστάσεως µιας λογικής συναρτήσεως, µε ή χωρίς αδιάφορους όρους, ακολουθεί τα εξής βήµατα: Bήµα 1. Αναπτύσσεται η δοθείσα συνάρτηση σε Κανονικό Άθροισµα Γινοµένων. Bήµα 2. Ευρίσκονται οι πρώτοι συνεπαγωγοί της συναρτήσεως: α. Οµαδοποιούνται οι minterms (όροι) της συναρτήσεως ανάλογα µε το πλήθος των "1" που περιέχει ο καθένας. Εάν υπάρχουν αδιάφοροι όροι, συµµετέχουν κανονικά στις οµάδες. β. Οι οµάδες διατάσσονται σε πίνακα, κατά αύξουσα σειρά του πλήθους των "1" που τις χαρακτηρίζουν. γ. Συγκρίνονται οι όροι της κάθε οµάδας µε τους όρους της αµέσως εποµένης της (γειτονικής) για την απαλοιφή µιας µεταβλητής. Εάν προκύψει απλοποιηµένος όρος, τοποθετείται σε νέο πίνακα και σηµειώνονται ταυτόχρονα οι παλαιοί όροι (minterms) από όπου προέκυψε. δ. Η διαδικασία (γ) επαναλαµβάνεται µέχρι να εξαντληθούν οι απλοποιήσιµοι όροι. ε. Οι όροι που δεν απλοποιούνται περισσότερο αποτελούν τους πρώτους συνεπαγωγούς της συναρτήσεως. Bήµα 3. Σχηµατίζεται ο πίνακας των πρώτων συνεπαγωγών. Εάν υπάρχουν αδιάφοροι όροι, αυτοί δεν συµµετέχουν στον πίνακα. ™¯‹Ì· 5.20 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 248 Bήµα 4. Επιλέγεται από τον πίνακα ο κατάλληλος συνδυασµός πρώτων συνεπαγωγών: α. Επιλέγονται οι ουσιώδεις πρώτοι συνεπαγωγοί. β. Από τους υπόλοιπους συνεπαγωγούς όσοι χρειάζονται για να καλύψουν τη συνάρτηση. Το κριτήριο επιλογής τους είναι: 1. Ο µικρότερος συνδυασµός συνεπαγωγών που καλύπτουν τη συνάρτηση. 2. Από όλους τους ισοδύναµους ελάχιστους συνδυασµούς συνεπαγωγών επιλέγεται αυτός που έχει συνεπαγωγούς µε τις λιγότερες µεταβλητές. Ένας συστηµατικός τρόπος επιλογής είναι η µέθοδος Petrick. Bήµα 5. Το άθροισµα των πρώτων συνεπαγωγών που επιλέγησαν αποτελεί την ελάχιστη παράσταση της συναρτήσεως. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.8 Nα απλοποιηθεί µε τη µέθοδο Quine–McCluskey η συνάρτηση g2 που ορίζεται στο Παράδειγµα 5.10. ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Η Πινακοειδής µέθοδος ή µέθοδος Quine–McCluskey είναι µια γενική µέθοδος για την ελαχιστοποίηση δύο επιπέδων κάθε λογικής συνάρτησης. Eίναι καθαρά αλγοριθµική µέθοδος, προχωρεί βήµα προς βήµα εξαντλώντας κάθε δυνατή περίπτωση. Eίναι πολύ κατάλληλη για να εκτελεστεί από έναν υπολογιστή, αλλά αρκετά ανιαρή για έναν άνθρωπο. • H µέθοδος Quine–McCluskey αναλύεται σε δύο φάσεις: στην εύρεση όλων των πρώτων συνεπαγωγών της συνάρτησης και κατόπιν στην εύρεση της ελάχιστης κάλυψής της από πρώτους συνεπαγωγούς. • Στην πρώτη φάση της µεθόδου Quine–McCluskey διενεργείται συστηµατικός και εξαντλητικός έλεγχος επιλεγµένων ζευγών όρων της συναρτήσεως, τα οποία είναι υποψήφια για απλοποίηση, µέχρι να καταλήξουµε σε µη απλοποιήσιµους όρους, που είναι οι πρώτοι συνεπαγωγοί. • H βασική αλγεβρική σχέση για την απλοποίηση, στην πρώτη φάση, είναι η aA+a'A=A. H σχέση αυτή µας οδηγεί στο εξής κριτήριο για την επιλογή 5.5 ¶π¡∞∫√∂π¢∏™ ª∂£√¢√™ ∏ ª∂£√¢√™ ∆ø¡ QUINE–MCCLUSKEY των υποψήφιων ζευγών: (α) ζεύγη όρων µε απόσταση ένα απαλείφουν µια µεταβλητή, (β) ζεύγη όρων µε απόσταση µεγαλύτερη του ένα αποκλείεται να απαλείψουν µεταβλητή. • Tο κριτήριο για την επιλογή των υποψήφιων ζευγών εφαρµόζεται ως εξής: ταξινοµούνται οι όροι σε οµάδες σύµφωνα µε το πλήθος των “1” που περιέχουν. Kατόπιν συνδυάζονται όροι από γειτονικές οµάδες. • Στη δεύτερη φάση της µεθόδου Quine–McCluskey σχηµατίζεται ο πίνακας πρώτων συνεπαγωγών/minterms και διενεργείται ένας συστηµατικός έλεγχος για να επιλεγούν οι πρώτοι συνεπαγωγοί που σχηµατίζουν µία ελάχιστη κάλυψη της συνάρτησης. • Eάν η εύρεση της ελάχιστης κάλυψης στη δεύτερη φάση είναι περίπλοκη, µπορεί να εφαρµοστεί η µέθοδος Petrick. • Η µέθοδος είναι ουσιαστικά η ίδια για την περίπτωση µερικά καθορισµένων συναρτήσεων. Οι επιπλέον επεκτάσεις είναι ότι: (α) στην εύρεση των ουσιωδών πρώτων συνεπαγωγών συµµετέχουν και οι αδιάφοροι όροι, (β) για την επιλογή της ελάχιστης κάλυψης λαµβάνονται υπόψη µόνο οι κανονικοί minterms της συνάρτησης. 5.6 M¤ıÔ‰Ô˜ Espresso Έχουν αναπτυχθεί µέθοδοι ταχύτερες από την Quine–McCluskey για την ελαχιστοποίηση (α) συναρτήσεων µε πάρα πολλούς minterms και (β) σε πολλαπλά επίπεδα. Eδώ σκιαγραφείται η µέθοδος ESPRESSO. Θα µάθουµε στοιχειωδώς τα κύρια βήµατα που περιέχει η µέθοδος ESPRESSO. H µέθοδος Quine–McCluskey, αν και πολύ καλή, αρχίζει να γίνεται χρονοβόρα, όταν έχουµε να αντιµετωπίσουµε κυκλώµατα που έχουν µεγάλη πολυπλοκότητα, π.χ. 10 εισόδους, περισσότερους από 100 minterms και πολλαπλές εξόδους. Για ένα κύκλωµα n εισόδων µπορεί να απαιτηθούν µέχρι 3n/n συνδυασµοί για την εύρεση των πρώτων συνεπαγωγών. Eπίσης, όσο το πλήθος των συνεπαγωγών αυξάνει, το πρόβληµα που δηµιουργείται για την εύρεση των ελάχιστων πρώτων συνεπαγωγών αυξάνει µε πολύ ταχύτερο ρυθµό και καθιστά αναποτελεσµατική τη µέθοδο ακόµη και για εργαλεία CAD που τρέχουν σε ταχείς υπολογιστές. Tα προβλήµατα αυτά σε συνδυασµό µε το γεγονός ότι το κόστος των λογι- 249 250 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N κών πυλών σε µορφή Oλοκληρωµένου Kυκλώµατος είναι σχετικά µικρό, οδήγησαν σε συµβιβαστικές λύσεις, όπου δεν επιζητείται το απολύτως ελάχιστο κύκλωµα, αρκεί ο υπολογισµός του να γίνει σχετικά γρήγορα. H µέθοδος ESPRESSO, που επιπλέον έχει τη δυνατότητα ελαχιστοποίησης πολλαπλών επιπέδων, προσπαθεί να συµβιβάσει την ταχύτητα µε την οποία γίνεται η ελαχιστοποίηση µε την παραγωγή ενός κυκλώµατος σχετικά ελαχίστου. Kύριο χαρακτηριστικό της είναι ότι για να επιταχύνει τη διαδικασία της ελαχιστοποίησης δεν παράγει ταυτόχρονα όλους τους πρώτους συνεπαγωγούς, όπως κάνει η µέθοδος Quine–McCuskey, αλλά ένα εµπειρικά επιλεγµένο υποσύνολο τους που να καλύπτει τη συνάρτηση και κατόπιν τους επεξεργάζεται διαδοχικά, δηµιουργώντας άλλους συνεπαγωγούς εάν χρειάζεται, µέχρι που να επιτύχει ένα ελάχιστο κάλυµµα. Yπάρχουν διάφορες παραλλαγές της µεθόδου ESPRESSO, όπως η ESPRESSO–EXACT, που βρίσκει ακριβώς την ελάχιστη παράσταση µιας συνάρτησης και η µέθοδος ESPRESSO II, που βρίσκει µια σχεδόν ελάχιστη παράσταση. Eπιπλέον η µέθοδος είναι κατάλληλη για την ελαχιστοποίηση συναρτήσεων µε πολλές εξόδους (σύνολο συναρτήσεων), εντοπίζοντας κοινά υποκυκλώµατά τους. H µέθοδος ESPRESSO, πάρα πολύ συνοπτικά, περιγράφεται από τον ακόλουθο αλγόριθµο: ESPRESSO(FON, FDC) { FOFF = complement(FON U FDC); F = expand(FON, FOFF); F = irredundant(F, FDC); E = essentials(F, FDC); F = F – E; FDC = FDC U E); repeat { c = cost(F); F = reduce(F, FDC); F = expand(F, FOFF); F = irredundant(F, FDC); } until (cost(F) < c); F = F U E; FDC = FDC – E; } 5.6 M∂£√¢√™ ESPRESSO 251 όπου: 1. FON, FDC και FOFF είναι, αντίστοιχα, σύνολα συνεπαγωγών της συνάρτησης f που αντιστοιχούν στις τιµές που f=1, στους αδιάφορους όρους της f και στις τιµές f=0. 2. Complement είναι διεργασία που παράγει το σύνολο των υπολοίπων συνεπαγωγών. 3. Expand είναι διεργασία που παράγει πρώτους συνεπαγωγούς. Oι συνεπαγωγοί εξετάζονται διαδοχικά. Kάθε συνεπαγωγός που δεν είναι πρώτος γίνεται προσπάθεια να αναχθεί σε πρώτο απαλείφοντας µια µεταβλητή. Όσοι συνεπαγωγοί καλύπτονται από το νέο πρώτο συνεπαγωγό απαλείφονται. 4. Irredundant είναι διεργασία που µετατρέπει ένα κάλυµµα σε µη απλοποιήσιµο. Eπιλέγεται ένα ελάχιστο υποσύνολο συνεπαγωγών, ώστε κανένας τους να µην καλύπτεται από τους υπόλοιπους. 5. Essentials είναι διεργασία που επιλέγει τους ουσιώδεις πρώτους συνεπαγωγούς. 6. Reduce είναι διεργασία που µετατρέπει ένα δοθέν κάλυµµα σε κάλυµµα µη πρώτων συνεπαγωγών. H διεργασία προσπαθεί να διασπάσει ένα συνεπαγωγό των n µεταβλητών σε ένα ζεύγος συνεπαγωγών, που έχουν n+1 µεταβλητές και καλύπτουν τον προηγούµενο. ¶·Ú¿‰ÂÈÁÌ· 5.17 ™¯‹Ì· 5.21 Θα απλοποιηθεί µε τη µέθοδο ESPRESSO η συνάρτηση µε τον Πίνακα Aληθείας του Σχήµατος 5.21α xy 00 zw 00 1 01 1 1 01 11 1 11 10 1 10 1 (α) xy 00 zw 00 1 01 1 1 1 1 01 1 1 11 1 1 10 1 11 10 1 1 (β) xy 00 zw 00 1 01 1 1 1 1 01 1 1 11 1 1 10 1 11 10 1 1 Eλαχιστοποίηση µε τη µέθοδο ESPRESSO xy 00 zw 00 1 01 1 1 1 1 01 1 1 11 1 1 10 (γ) Tο Σχήµα 5.21α δείχνει ένα στάδιο της µεθόδου, όπου η συνάρτηση παριστάνεται µε 4 πρώτους συνεπαγωγούς, που δεν αποτελούν την καλύτερη επι- 1 11 10 1 1 1 1 1 1 1 1 (δ) K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 252 λογή. Tο Σχήµα 5.21β δείχνει τη διάσπαση (διαδικασία reduce) των υπαρχόντων συνεπαγωγών. Στο Σχήµα 5.21γ επιχειρείται νέος σχηµατισµός συνεπαγωγών (διαδικασία expand). Tο Σχήµα 5.21.δ δείχνει µια επιλογή καλύµµατος, που αποτελεί και την καλύτερη λύση (διαδικασία irredundant). ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • H µέθοδος ESPRESSO, σε αντίθεση µε την Quine–McCuskey, δεν ερευνά εξαντλητικά όλους τους υποψήφιους συνδυασµούς όρων, µε σκοπό να επιταχύνει τη διαδικασία. Eίναι συµβιβαστική µέθοδος, προσπαθεί να επιτύχει µεγάλη ταχύτητα ελαχιστοποίησης, παράγοντας ένα κύκλωµα το οποίο είναι σχετικά µόνο ελάχιστο. • H µέθοδος είναι εµπειρική και κατάλληλη για την ελαχιστοποίηση συναρτήσεων (α) που η πολυπλοκότητά τους δυσκολεύει τη µέθοδο Quine–McCuskey και (β) η µέθοδος παρέχει τη δυνατότητα δηµιουργίας συναρτήσεων πολλών επιπέδων. 5.7 ™¯Â‰›·ÛË ¯ˆÚ›˜ ∏azards Mέχρι τώρα ασχοληθήκαµε µε τη σχεδίαση στο επίπεδο της λογικής, θεωρώντας το κύκλωµα ιδανικό και αγνοώντας τυχόν “φυσικές” επιδράσεις που µπορεί να υφίστανται τα σήµατα που διατρέχουν το πραγµατικό κύκλωµα. Mια τέτοια επίδραση είναι η χρονική καθυστέρηση που προκαλείται, καθώς ένα σήµα περνά από µία πύλη. H καθυστέρηση αυτή µπορεί στιγµιαία να προκαλέσει διαφορετική λογική τιµή στην έξοδο του κυκλώµατος. H διαταραχή αυτή, που ονοµάζεται Hazard, αν και δεν αλλάζει µακροπρόθεσµα τη λογική ενός συνδυαστικού κυκλώµατος, µπορεί να είναι επιζήµια σε ακολουθιακά κυκλώµατα. Στην παρούσα Eνότητα θα εξετάσουµε σύντοµα και θα µάθουµε τις αιτίες δηµιουργίας των hazards και τρόπους για να τα αποφεύγουµε. Kατά τη σχεδίαση ενός κυκλώµατος, εκτός από την παραγωγή του ελαχίστου µεγέθους του, πρέπει να λαµβάνονται υπόψη και άλλοι παράγοντες, ώστε να εξασφαλίζεται η προβλεπόµενη λειτουργία του κυκλώµατος κάτω από όλες τις περιστάσεις. Ένας παράγοντας που µπορεί να προκαλέσει ανωµαλία στη συµπεριφορά ενός κυκλώµατος κάτω από ορισµένες συνθήκες είναι το λεγόµενο hazard. Tα σήµατα, καθώς περνούν µέσα από τις λογικές πύλες σε κάθε φυσικό 5.7 ™Ã∂¢π∞™∏ Ãøƒπ™ ∏AZARDS 253 κύκλωµα, υφίστανται αναπόφευκτες καθυστερήσεις (Yποενότητα 4.3.4). Tα hazards προκαλούνται όταν ένα σήµα διχάζεται σε κάποιο σηµείο του κυκλώµατος και κατόπιν, ακολουθώντας διαφορετικές διαδροµές, τα δύο παράγωγα σήµατά του καταλήγουν στην ίδια πύλη. Θα εξηγήσουµε τη δηµιουργία ενός hazard µε το ακόλουθο παράδειγµα. ¶·Ú¿‰ÂÈÁÌ· 5.18 Έστω το κύκλωµα του Σχήµατος 5.22β, του οποίου η ελάχιστη λογική συνάρτηση είναι F(x, y, z) = xy'+yz. Tότε λογικά η συνάρτηση στην περίπτωση F(1, y, 1) = y'+y = 1 είναι ανεξάρτητη από την τιµή της y. Σ' ένα πραγµατικό κύκλωµα όµως πρέπει να λάβουµε υπόψη και τις καθυστερήσεις των σηµάτων. Tο σήµα y (Σχήµα 5.22β), στη διαδροµή a καθυστερεί δύο µονάδες χρόνου (Σχήµα 5.22γ) ενώ στη διαδροµή b καθυστερεί µία µονάδα χρόνου. Όταν τα σήµατα a και b ξανασυναντώνται στην πύλη OR, τότε λόγω των διαφορετικών καθυστερήσεων µεταξύ τους παραβιάζεται για ένα σύντοµο χρονικό διάστηµα, ίσο µε τη διαφορά των καθυστερήσεων, η αναµενόµενη λογική σχέση F(1, y, 1) = 1 και προκύπτει για το διάστηµα αυτό F(1, y, 1) = 0 (Σχήµα 5.22γ). H εκτροπή F(1, y, 1)=0 αποτελεί ένα hazard. ∆ηµιουργία hazard στο κύκλωµα x yz 00 x 0 01 2 11 6 0 1 1 ™¯‹Ì· 5.22 1 3 1 7 1 1 10 x 4 F y 1 0 y a z 1 5 b z a b 1 0 F 1 (α) (β) O απρόβλεπτος παλµός 101 που δηµιουργείται στην έξοδο F, όταν λογικά (στατική κατάσταση) η F πρέπει να είναι συνεχώς 111, ονοµάζεται στατικό 1–hazard. Στο Xάρτη Karnaugh του κυκλώµατος (Σχήµα 5.22α) παρατηρούµε ότι το hazard αυτό εµφανίζεται κατά τη µετάβαση από τον minterm m3 στον m7 και αντίστροφα, οφείλεται δε στον τρόπο που σχεδιάστηκε το κύκλωµα, δηλ. στο ότι δεν υπάρχει κοινή οµάδα που να καλύπτει τη µετάβαση ανάµεσα στους minterms m3 και m7. Γενικώς εµφανίζεται στατικό 1–hazard, όταν το κύκλωµα µεταβαίνει από ένα minterm σε γειτονικό του, που όµως ανήκει σε διαφορετική οµάδα. (γ) K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 254 Όµοια µε τα παραπάνω, ορίζουµε το στατικό 0–hazard, όταν εµφανίζεται στην έξοδο ο παλµός 010, ενώ η στατική κατάσταση πρέπει να είναι 000. Oφείλεται στη µετάβαση του κυκλώµατος από κάποιο maxterm σε γειτονικό του, που όµως δεν καλύπτεται από κοινή οµάδα. H εξήγηση της αιτίας των hazards υποδεικνύει και τον τρόπο για την εξουδετέρωσή τους. Για να αποφύγουµε ένα πιθανό hazard, αρκεί να προσθέσουµε στην παράσταση της συνάρτησης επιπλέον πρώτους συνεπαγωγούς, όσοι και όποιοι χρειάζονται για να καλυφθεί κάθε µετάβαση από µία οµάδα στη γειτονική της. ¶·Ú¿‰ÂÈÁÌ· 5.19 Θα διορθώσουµε τα hazards του κυκλώµατος του Παραδείγµατος 18 (Σχήµα 5.22). Aπάντηση: Στο Σχήµα 5.23β παρουσιάζεται το διορθωµένο κύκλωµα. H λογική συνάρτηση του νέου κυκλώµατος είναι F(x, y, z) = xy'+yz+xz (Σχήµα 5.23α). Mε την προσθήκη του πλεονάζοντος πρώτου συνεπαγωγού xz καλύπτεται η µετάβαση µεταξύ m3 και m7 και αποφεύγεται το στατικό 1–hazard. H χρονική συµπεριφορά του νέου κυκλώµατος (έξοδος F) φαίνεται από την ανάλυση των κυµατοµορφών του Σχήµατος 5.23γ. ™¯‹Ì· 5.23 Kύκλωµα χωρίς hazard yz x 01 11 0 2 6 1 3 7 0 1 x x 00 1 1 1 1 10 4 1 0 y a y z b 5 F z c 1 a b 1 0 c 1 F 1 (α) (β) (γ) Mε την προσθήκη πλεοναζόντων όρων δηµιουργείται ένα λογικά ισοδύναµο κύκλωµα, που δεν είναι µεν το ελάχιστο δυνατό, συµπεριφέρεται όµως καλύτερα. Γενικώς, τα hazards στα συνδυαστικά κυκλώµατα δεν είναι τόσο κρίσιµα ως προς την λειτουργία του κυκλώµατος, γιατί το κύκλωµα µε την πάροδο µικρού χρόνου θα σταθεροποιηθεί στη σωστή κατάστασή του. Aποτελούν, όµως, σοβαρό πρόβληµα για τα ακολουθιακά κυκλώµατα, στα οποία 5.7 ™Ã∂¢π∞™∏ Ãøƒπ™ ∏AZARDS 255 λανθασµένοι παλµοί µπορεί να τα οδηγήσουν σε λανθασµένες καταστάσεις, από τις οποίες είναι αδύνατον να επανέλθουν στην ορθή πορεία τους. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.9 Zητείται να διορθωθούν τα τυχόν hazards της συνάρτησης f(w,x,y,z) = x'z'w+xzw+x'yz+xyz'. Nα διερευνηθεί αν το παραπλεύρως κύκλωµα περιέχει hazards και, εάν υπάρχουν, να διορθωθούν και να σχηµατισθεί το διορθωµένο κύκλωµα. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.3 x y z w f (Yπόδειξη: Θα σχηµατίσουµε το χάρτη Karnaugh του κυκλώµατος. Θα σηµειώσουµε τις οµάδες που αντιπροσωπεύουν οι πύλες των γινοµένων του, όπως είναι σχεδιασµένες. Kατόπιν θα καλύψουµε όσες µεταβάσεις µεταξύ γειτονικών οµάδων δεν καλύπτονται.) ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • Tα hazards είναι στιγµιαίες ανωµαλίες στη λογική συµπεριφορά του κυκλώµατος και οφείλονται σε διαφορετικές καθυστερήσεις µεταξύ των σηµάτων. • ∆ιακρίνουµε το στατικό 0–hazard (010) και το στατικό 1–hazard (101). • H δηµιουργία ενός hazard µπορεί να προβλεφθεί από το χάρτη Karnaugh. Oφείλεται στη µετάβαση του κυκλώµατος από κάποιο minterm (maxterm) σε γειτονικό του, που όµως δεν καλύπτεται από κοινή οµάδα. • Mπορούµε να αποφύγουµε ένα πιθανό hazard, αρκεί να προσθέσουµε επιπλέον πρώτους συνεπαγωγούς, όσους και όποιους χρειάζονται, για να καλυφθεί κάθε µετάβαση από µία οµάδα στη γειτονική της. ™‡ÓÔ„Ë ÎÂÊ·Ï·›Ô˘ Στο παρόν Kεφάλαιο παρουσιάζονται δύο βασικές µέθοδοι ελαχιστοποίησης συνδυαστικών κυκλωµάτων. Oι µέθοδοι είναι κατάλληλες για ελαχιστοποίηση δύο επιπέδων. 256 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N • O m–υποκύβος µιας συνάρτησης f(x0, x1, …, xn–1) είναι το υποσύνολο των κορυφών της, των οποίων οι αντίστοιχοι minterms έχουν n–m µεταβλητές µε τον ίδιο εκθέτη και οι υπόλοιπες m µεταβλητές εµφανίζουν όλους τους δυνατούς συνδυασµούς εκθετών. • O χάρτης Karnaugh είναι ένας Πίνακας Aληθείας στον οποίο ο minterm του κάθε τετραγωνιδίου του διαφέρει από τους "γεωµετρικά" γειτονικούς του minterms µόνον κατά έναν εκθέτη. Η ταύτιση της "γεωµετρικής" γειτονικότητας των minterms µε τη "λογική" γειτονικότητα επεκτείνεται και πέρα από τα άκρα του πίνακα. • H απλοποίηση (δύο επιπέδων) µε το χάρτη Karnaugh σε παράσταση αθροίσµατος γινοµένων στηρίζεται: (α) στην εύρεση (οπτικά) των µεγαλύτερων δυνατών οµάδων µε “1”, (β) στην κάλυψη της συνάρτησης µε τις λιγότερες δυνατές οµάδες. • H απλοποίηση µε το χάρτη Karnaugh σε παράσταση γινοµένου αθροισµάτων γίνεται µε όµοιο τρόπο, αρκεί να σχηµατιστούν οι οµάδες µε “0”. • H ελαχιστοποίηση µε το χάρτη Karnaugh είναι εύχρηστη για συναρτήσεις µέχρι 5 µεταβλητών. • Tο πεδίο ορισµού µιας µερικά καθορισµένης συνάρτησης n µεταβλητών είναι ένα γνήσιο υποσύνολο του Καρτεσιανού Γινοµένου Βn, Β={0,1}. Oι αδιάφοροι όροι προσφέρονται για την ελαχιστοποίηση της συνάρτησης. • H ελαχιστοποίηση µερικά καθορισµένων συναρτήσεων ακολουθεί αυτήν του χάρτη Karnaugh για ολικά καθορισµένες συναρτήσεις, µε την επέκταση ότι στις οµάδες περιλαµβάνονται και αδιάφοροι όροι, όπου χρειάζεται, για να µεγαλώσει η οµάδα. q q q • H συνάρτηση γινοµένου p(x1 , x 2 , ... ,x n ) = x1 1 ◊ x 2 2 ◊ ... ◊ x n n καλείται πρώ- τος συνεπαγωγός της συνάρτησης f, εάν η p καλύπτεται από την f, αλλά παραλείποντας οποιαδήποτε µεταβλητή της p παύει να καλύπτεται από την f. • O ουσιώδης πρώτος συνεπαγωγός καλύπτει τουλάχιστον ένα minterm της f, που δεν καλύπτεται από άλλο πρώτο συνεπαγωγό. • Κάθε µη απλοποιήσιµο άθροισµα γινοµένων µιας συνάρτησης f είναι άθροισµα πρώτων συνεπαγωγών της f. • Η Πινακοειδής µέθοδος ή µέθοδος Quine–McCluskey είναι µια γενική ™YNOæH µέθοδος για την ελαχιστοποίηση δύο επιπέδων κάθε λογικής συνάρτησης. Προχωρεί βήµα προς βήµα συνδυάζοντας όρους “υποψήφιους” για απαλειφή. Eίναι πολύ κατάλληλη για να εκτελεστεί από έναν υπολογιστή. • H µέθοδος Quine–McCluskey βρίσκει πρώτα όλους τους πρώτους συνεπαγωγούς της συνάρτησης και κατόπιν βρίσκει την ελάχιστη κάλυψή της από πρώτους συνεπαγωγούς. • H επιλογή των υποψήφιων ζευγών στη µέθοδο Quine–McCluskey γίνεται ως εξής: ταξινοµούνται οι όροι σε οµάδες σύµφωνα µε το πλήθος των “1” που περιέχουν. Kατόπιν συνδυάζονται όροι από γειτονικές οµάδες. • Για την εύρεση της ελάχιστης κάλυψης σε δύσκολες περιπτώσεις µπορεί να εφαρµοστεί η µέθοδος Petrick. • Η µέθοδος Quine–McCluskey εφαρµόζεται και σε µερικά καθορισµένες συναρτήσεις. Οι επιπλέον επεκτάσεις είναι ότι: (α) στην εύρεση των ουσιωδών πρώτων συνεπαγωγών συµµετέχουν και οι αδιάφοροι όροι, (β) για την επιλογή της ελαχίστης κάλυψης λαµβάνονται υπόψη µόνον οι κανονικοί minterms της συνάρτησης. • H µέθοδος ESPRESSO είναι µια εµπειρική µέθοδος, η οποία, σε αντίθεση µε την Quine–McCluskey, δεν ερευνά εξαντλητικά όλους τους υποψήφιους συνδυασµούς όρων µε σκοπό να επιταχύνει τη διαδικασία. Eίναι συµβιβαστική µέθοδος, προσπαθεί να επιτύχει µεγάλη ταχύτητα ελαχιστοποίησης, παράγοντας ένα κύκλωµα, το οποίο είναι σχετικά µόνο ελάχιστο. Eίναι κατάλληλη για την ελαχιστοποίηση συναρτήσεων (α) που η πολυπλοκότητά τους δυσκολεύει τη µέθοδο Quine–McCluskey και (β) παρέχει τη δυνατότητα δηµιουργίας συναρτήσεων πολλών επιπέδων. • Tα hazards είναι στιγµιαίες ανωµαλίες στη λογική συµπεριφορά του κυκλώµατος και οφείλονται σε διαφορετικές καθυστερήσεις µεταξύ των σηµάτων. ∆ιακρίνουµε το στατικό 0–hazard (010) και το στατικό 1–hazard (101). • H δηµιουργία ενός hazard οφείλεται στη µετάβαση του κυκλώµατος, όπως παρουσιάζεται στον χάρτη Karnaugh, από κάποιο minterm (maxterm) σε γειτονικό του, που όµως δεν καλύπτεται από κοινή οµάδα. Mπορούµε να αποφύγουµε ένα πιθανό hazard, προσθέτοντας επιπλέον πρώτους συνεπαγωγούς, όσους και όποιους χρειάζονται, για να καλυφθεί κάθε µετάβαση από µία οµάδα στη γειτονική της. 257 K E º A § A I O 5 : A ¶ § O ¶ O I H ™ H ™ Y N ¢ YA ™ T I K ø N K Y K § ø M A T ø N 258 µÈ‚ÏÈÔÁÚ·Ê›· Morris Mano, “Ψηφιακή Σχεδίαση”, Prentice–Hall 1991, Εκδόσεις Παπασωτηρίου. Στο Kεφάλαιο 3 παρουσιάζονται οι µέθοδοι απλοποίησης, µε πολλά παραδείγµατα, εφαρµογές και ασκήσεις. Kohavi Z., “Switching and Finite Automata Theory”, McGraw Hill. Aναλύει τις δύο µεθόδους συστηµατικά. Gajski D., “Principles of Digital Design”, Prentice–Hall 1997. Στο Kεφάλαιο 4 επεξηγεί τις µεθόδους απλοποίησης και επικεντρώνεται στα βασικά τους σηµεία. Floyd T., “Digital Fundamentals”, Macmillan, 1990. Παρουσιάζει το θέµα της απλοποίησης µε απλό τρόπο και επεξηγηµατικά σχήµατα. McCalla T. R., “Digital Logic and Computer Design”, Maxwell–Macmillan (1992). Στο Kεφάλαιο 3 εξηγούνται οι δύο µέθοδοι απλοποίησης. ¶ÚÔ·ÈÚÂÙÈ΋ ‚È‚ÏÈÔÁÚ·Ê›· Karnaugh M., “A map method for synthesis of combinatorial logic circuits”, Trans. AIEE, Communications and Electronics, vol. 72, Part I (November 1953) pp. 593–599. H πρωτόπυπη παρουσίαση της µεθόδου Karnaugh. McCluskey E., “Logic Design Priciples”, Prentice Hall 1986 Περιλαµβάνει την πρωτότυπη παρουσίαση της Πινακοειδούς µεθόδου. Quine W., “The problem of simplifying truth functions”, American Mathematical Monthly, vol. 59 (October 1952) pp. 521–531. H αρχική έκδοση της Πινακοειδούς µεθόδου. Brayton R., Hachtel G., McMullen C., Sangiovanni–Vincentelli A. “Logic Minimization Algorithms for VLSI Synthesis”, Kluwer 1984. Aναλύει τη µέθοδο ελαχιστοποίησης ESPRESSO. Όχι για αρχάριους. ™‡ÓıÂÙ· §ÔÁÈο ∫˘ÎÏÒÌ·Ù· ∫ ™ÎÔfi˜ Tα ψηφιακά συστήµατα, υπενθυµίζεται ότι οι υπολογιστές είναι µεγάλα ψηφιακά συστήµατα, κατασκευάζονται κυρίως για να µετασχηµατίζουν δεδοµένα (Eνότητα 1.4). Kάθε τέτοιος µετασχηµατισµός µπορεί να παρασταθεί από µία ή περισσότερες λογικές συναρτήσεις (Eνότητα 3.4). Oι µετασχηµατισµοί που µπορεί να συναντήσουµε δεν έχουν τέλος και ο σκοπός της σχεδίασης είναι να µας δώσει τη δυνατότητα να υλοποιούµε οποιονδήποτε από αυτούς. Eπειδή ορισµένες κατηγορίες µετασχηµατισµών εµφανίζονται αρκετά συχνά σε πρακτικά προβλήµατα, όπως π.χ. οι αριθµητικές και οι λογικές πράξεις, η κωδικοποίηση και η αποκωδικοποίηση δεδοµένων, η επιλογή και µεταφορά τους κ.λπ., είναι ωφέλιµο να έχουµε έτοιµα κυκλώµατα γι' αυτές τις κατηγορίες, καθώς και ειδικά ονόµατα για να διευκολύνεται η περιγραφή τους. Σ' αυτό το κεφάλαιο θα σχεδιάσουµε, ξεκινώντας από απλές πύλες, µία βιβλιοθήκη από βασικές µονάδες κυκλωµάτων αθροιστών, κωδικοποιητών κ.λπ. και θα ορίσουµε τη σύνθεσή τους αναφερόµενοι σ' ένα υψηλότερο επίπεδο (ευκολότερο) περιγραφής τους, το επίπεδο µεταφοράς (Eνότητα 1.4). Λέγοντας π.χ. “αθροιστής n bit” θα γνωρίζουµε πώς να πραγµατοποιήσουµε ένα λογικό κύκλωµα που αθροίζει δυαδικούς αριθµούς των n bit, ανάγοντας τη σύνθεση του κυκλώµατος σε επανάληψη µιας βασικής µονάδας αθροιστού του 1 bit. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Tελειώνοντας το Kεφάλαιο αυτό, θα γνωρίζετε: • Tα βασικά κυκλώµατα αθροιστών (Hµιαθροιστής, Πλήρης Aθροιστής, Kυµατικός αθροιστής). • Tην τεχνική της Πρόβλεψης Kρατουµένου. • Tη λειτουργία και τη χρήση του Συγκριτή. • Tα κυκλώµατα και τις εφαρµογές του Kωδικοποιητή και του Aποκωδικοποιητή. • Tη διανοµή δεδοµένων µε τη βοήθεια του Πολυπλέκτη. §¤ÍÂȘ ÎÏÂȉȿ • Hµιαθροιστής • Kυµατικός Aθροιστής • Πλήρης Aθροιστής • Πρόβλεψη Kρατουµένου 6 ∂ º ∞ § ∞ π √ K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 260 • Γεννήτρια κρατουµένου • Kωδικοποιητής • ∆ιαδότρια κρατουµένου • Aποκωδικοποιητής • Συγκριτής • Πολυπλέκτης • Kωδικοποιητής Προτεραιότητος ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Tα κυκλώµατα που θα παρουσιάσουµε είναι απλά στην κατασκευή και στηρίζονται στις γνώσεις από την άλγεβρα Boole (Kεφάλαιο 3), την κωδικοποίηση των δυαδικών αριθµών (Yποενότητα 2.3.2) και του Συµπληρώµατος ως προς 2 (Yποενότητα 2.3.3). Mια µικρή δυσκολία ίσως να παρουσιάσει το κύκλωµα της πρόβλεψης κρατουµένου (Yποενότητα 6.2.3). 6.1 ∂ÈÛ·ÁˆÁ‹ Aν εξετάσουµε την µικροαρχιτεκτονική µιας υπολογιστικής µονάδας θα δούµε ότι δεν είναι τίποτα άλλο από ένα πολύπλοκο ακολουθιακό ψηφιακό σύστηµα (Eνότητα 3.1), δηλ. αποτελείται από συνδυαστικά κυκλώµατα και µνηµονικά στοιχεία. Tα συνδυαστικά κυκλώµατα, που αποτελούν την ύλη αυτού του βιβλίου, µπορούµε να τα ταξινοµήσουµε ως προς το φάσµα των εφαρµογών τους σε κοινόχρηστα (standard) κυκλώµατα, δηλ. κατηγορίες κυκλωµάτων που απαντούν σε µία µεγάλη ποικιλία εφαρµογών, και σε ειδικά (specific) κυκλώµατα, δηλ. που συναντώνται µόνο σ' αυτή την εφαρµογή ή σε πολύ µικρό φάσµα εφαρµογών. Tα κοινόχρηστα κυκλώµατα είναι κατά κανόνα µέσης πολυπλοκότητας και συνήθως διατίθενται υπό µορφήν Oλοκληρωµένων Kυκλωµάτων MSI (Eνότητα 4.4). H χρησιµοποίηση όσο γίνεται περισσότερων Oλ. K. στην κατασκευή ενός σύνθετου κυκλώµατος προτιµάται αφενός µεν γιατί το κόστος των Oλ. K. είναι µικρό, αφετέρου δε το συνολικό κόστος του σύνθετου κυκλώµατος επιβαρύνεται κυρίως από τις συνδέσεις (µεταφορά δεδοµένων) που απαιτούνται µεταξύ των επιµέρους µονάδων του (Oλ. K.). Όσο πιο σύνθετα είναι τα Oλ. K. που χρησιµοποιούµε τόσο λιγότερες εξωτερικές συνδέσεις χρειάζονται και εποµένως τόσο µικρότερο γίνεται το συνολικό κόστος. Tα διάφορα κοινόχρηστα Oλ. K. διατίθενται στο εµπόριο και η περιγραφή τους δίδεται στα Data Books που διανέµουν οι εταιρείες που τα κατασκευάζουν. Στο παρόν Kεφάλαιο θα παρουσιάσουµε τη σχεδίαση των κυριότερων κοινόχρηστων κυκλωµάτων, θα εξηγήσουµε πώς µπορούµε να συνθέσουµε µεγάλα τέτοια κυκλώµατα ξεκινώντας από έναν πυρήνα βασικών κυκλωµάτων που έχουν γίνει µε απλές πύλες και πώς µε την ειδική ονοµατολογία που έχουν διευκολύνεται η περιγραφή του κυκλώµατος (περιγραφή επιπέδου µεταφοράς). 6.2 ∞ıÚÔÈÛÙ¤˜ Oι αθροιστές είναι τα βασικότερα και συνηθέστερα κυκλώµατα λόγω των πολλών εφαρµογών τους όχι µόνο στους καθ' αυτό υπολογιστές αλλά και σε πολλές άλλες κατηγορίες κυκλωµάτων. Θα περιγράψουµε τις βασικές µονάδες για την εκτέλεση της απλής πρόσθεσης και από αυτές τις µονάδες σταδιακά θα αναπτύξουµε µεγαλύτερες µονάδες για την πρόσθεση οσωνδήποτε µεγάλων δυαδικών αριθµών. Θα εξηγήσουµε τα πλεονεκτήµατά τους και, όπου µειονεκτούν, θα παρουσιάσουµε συµπληρωµατικά κυκλώµατα για τη βελτίωσή τους. K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 262 Aπό την Eνότητα αυτή θα µάθετε: • Tα βασικά κυκλώµατα του Hµιαθροιστή και του Πλήρους Aθροιστή. • Tη σύνθεση αθροιστών οσωνδήποτε bit (κυµατικός αθροιστής) • Πώς η κωδικοποίηση στο Συµπλήρωµα ως προς 2 απλοποιεί τα κυκλώµατα Aθροιστή/Aφαιρέτη. • Tη λογική και τις εφαρµογές της Πρόβλεψης Kρατουµένου για τη βελτίωση (επιτάχυνση) των αθροιστών. O σκοπός είναι να παρουσιάσουµε σταδιακά τις διάφορες µονάδες που υλοποιούν την πράξη της δυαδικής πρόσθεσης και να εξηγήσουµε τα πλεονεκτήµατα και τα µειονεκτήµατά τους, εποµένως µία επανάληψη της Eνότητας 2.3, που εξηγεί τα Aριθµητικά Συστήµατα και τις πράξεις τους, θα βοηθούσε στην κατανόηση της παρούσας Eνότητας. Θα ξεκινήσουµε από την απλούστερη µονάδα, τον ηµιαθροιστή, και, αφού εξηγήσουµε το µειονέκτηµά του, θα οδηγηθούµε στη σχεδίαση µιας καλύτερης µονάδας, τον πλήρη αθροιστή. Mε τη βοήθεια του πλήρη αθροιστή 1 bit θα κατασκευάσουµε έναν αθροιστή για αριθµούς µε οσοδήποτε πλήθος bit (αθροιστής n bit). Λόγω της µικρής ταχύτητας του απλού αθροιστή n bit θα τον συµπληρώσουµε µε τις µονάδες πρόβλεψης κρατουµένου για τη βελτίωση της ταχύτητάς του. H κατανόηση των παραπάνω είναι εύκολη, αρκεί να ξαναθυµηθούµε: τις Λογικές Συναρτήσεις (Eνότητα 3.4), την απλοποίησή τους (Kεφ. 5) και τις καθυστερήσεις που υπεισέρχονται σ' ένα πραγµατικό κύκλωµα (Yποενότητα 4.3.4, Eνότητα 4.4 – Tαχύτης Oλ. K.). H πράξη της προσθέσεως δύο δυαδικών αριθµών αποτελεί τη βάση για τις άλλες αριθµητικές πράξεις και εµφανίζεται σε πάρα πολλές εφαρµογές. Eίναι σηµαντικό να έχουµε ένα καλό κύκλωµα αθροιστού τόσο από πλευράς κόστους όσο και ταχύτητας. Έστω οι δυαδικοί αριθµοί, χωρίς πρόσηµο, X = xn–1 … x1x0 και Y = yn–1 … y1y0. H πρόσθεση εκτελείται προσθέτοντας διαδοχικά τα ζεύγη ψηφίων xi και yi (i=0, …, n–1), από τα οποία δηµιουργούνται το άθροισµα si και το κρατούµενο ci (Yποενότητα 2.3.2). Tο απλούστερο κύκλωµα γι' αυτή την πράξη είναι ο ηµιαθροιστής. Hªπ∞£ƒ√π™∆∏™ O ηµιαθροιστής (Half Adder) προσθέτει το ζεύγος των ψηφίων x και y και παράγει το άθροισµα s και το κρατούµενο c. Oι αντίστοιχοι Πίνακες Aληθείας και τα κυκλώµατα για τις συναρτήσεις s και c δίδονται στο Σχήµα 6.1. 6.2 ∞£ƒ√π™∆∂™ 263 O ηµιαθροιστής έχει το µειονέκτηµα ότι είναι κατάλληλος µόνο για την πρόσθεση ενός ζεύγους bit. Όταν υπάρχει κρατούµενο c–1 από προηγούµενη πρόσθεση, δεν µπορεί να ληφθεί υπόψη. xy s c 00 0 0 01 1 0 10 1 0 11 0 1 x y x s s ™¯‹Ì· 6.1 H.A. c y c Πίνακας Aληθείας, κύκλωµα και σχηµατικό διάγραµµα ηµιαθροιστή ¶§∏ƒ∏™ A£ƒ√π™∆∏™ Όταν προσθέτουµε αριθµούς µε πολλά bit, πρέπει να υπάρχει δυνατότητα για την ταυτόχρονη πρόσθεση και του κρατουµένου c–1 της προηγούµενης πρόσθεσης. Tο πρόβληµα λύνεται µε ένα κύκλωµα που παράγει, για τα ψηφία τάξεως i, το άθροισµα si και το κρατούµενο ci της πρόσθεσης των τριών bit xi, yi και ci–1 (Σχήµα 6.2). Tο κύκλωµα (Σχήµα 6.3) έχει τρεις εισόδους (xi, yi, ci–1) και δύο εξόδους (si, ci) και ονοµάζεται πλήρης αθροιστής (Full Adder). xi yi ci-1 0| 0| 0| 0| 1| 1| 1| 1 0| 0| 1| 1| 0| 0| 1| 1 0| 1| 0| 1| 0| 1| 0| 1 s c 0| 1| 1| 0| 1| 0| 0| 1 0| 0| 0| 1| 0| 1| 1| 1 xi ci-1 0 1 xi yi 00 01 11 1 1 10 1 ci-1 0 xi yi 00 11 10 1 1 1 01 1 1 1 si = xi yi ci-1 ci = xi . yi + ci-1 . (xi yi) Άθροισµα Kρατούµενο ™¯‹Ì· 6.2 Λογικές συναρτήσεις πλήρη αθροιστή yi x y ci ci-1 c-1 s F.A. c ™¯‹Ì· 6.3 si Kύκλωµα και σχηµατική παράσταση πλήρη αθροιστή K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 264 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.1 ¢Ú·ÛÙËÚÈfiÙËÙ· 6.1 Nα σχηµατίσετε µια µονάδα Πλήρη Aθροιστή χρησιµοποιώντας σαν βασικές µονάδες δύο ηµιαθροιστές και µία πύλη OR. Nα µελετήσετε το κύκλωµα του Πλήρη Aθροιστή (Σχήµα 6.3) και να εξηγήσετε αν υπάρχουν ή όχι hazards (Eνότητα 5.7) στις εξόδους του s και του c. Θεωρήστε ότι κάθε πύλη που υπάρχει στο σχήµα εισάγει καθυστέρηση ίση µε µία µονάδα χρόνου. H πύλη EXOR θεωρείται µία πύλη. (Yπόδειξη: Tο γεγονός ότι υπάρχουν σήµατα που διχάζονται και ξανασυναντούνται στις εξόδους δηµιουργεί υπόνοιες για hazards. Προσέξτε, δεν αρκεί ο χάρτης Karnaugh, γιατί ο χάρτης αναφέρεται σε AND, OR, NOT υλοποίηση, ενώ εδώ έχουµε και την πύλη EXOR. Nα εξετάσετε τη διαδροµή των σηµάτων µέχρι τις εξόδους, όταν αλλάζει κατά ένα bit κάθε είσοδος χωριστά.) 6.2.1 ¶·Ú¿ÏÏËÏÔ˜ ·ıÚÔÈÛÙ‹˜ O πλήρης αθροιστής που γνωρίσαµε προσθέτει ταυτόχρονα τρία bits. Eνας απλός τρόπος κατασκευής ενός κυκλώµατος για την ταυτόχρονη (παράλληλη) πρόσθεση δυαδικών αριθµών των n bits (n>1) είναι να συνδέσουµε διαδοχικά n µονάδες πλήρων αθροιστών, όπως φαίνεται στο Σχήµα 6.4. Στην είσοδο c0, που υπάρχει λόγω της κατασκευής του πλήρη αθροιστή, τοποθετούµε την τιµή c0 = 0. H έξοδος cn δίνει το τελικό κρατούµενο της πρόσθεσης. Σε ορισµένες εφαρµογές το bit cn χρησιµοποιείται για να ελέγξουµε την υπερχείλιση του αθροιστή (cn =1). xn-1 yn-1 cn F.A. x1 y1 cn-1 c2 F.A. x0 y0 c1 F.A. ™¯‹Ì· 6.4 Παράλληλος αθροιστής n bit c0 c0 = 0 sn-1 s1 s0 Παρατηρούµε από το Σχήµα 6.4 ότι η σχεδίαση µιας κατάλληλης βασικής µονάδας, του πλήρη αθροιστή, µας διευκολύνει στη συνέχεια να πραγµατο- 6.2 ∞£ƒ√π™∆∂™ 265 ποίησουµε παράλληλους αθροιστές οσωνδήποτε bits. Aναφερόµενοι σ' έναν αθροιστή n bit, θα εννοούµε έναν παράλληλο αθροιστή µε δυνατότητα ταυτόχρονης (παράλληλης) πρόσθεσης δύο δυαδικών αριθµών των n bit ο καθένας. Eάν στον αθροιστή του Σχήµατος 6.4 τα bits xi και yi δηµιουργήσουν ένα κρατούµενο ci, τότε αυτό ενδέχεται να επηρεάσει τα επόµενα αθροίσµατα µέχρι τις τελικές εξόδους sn–1 και cn. Eποµένως πρέπει να περιµένουµε λίγο χρόνο, µέχρι να διαδοθεί το κρατούµενο, για να πάρουµε το σωστό τελικό άθροισµα. Eπειδή δεν γνωρίζουµε πότε και πού δηµιουργείται κρατούµενο, είµαστε υποχρεωµένοι να περιµένουµε τη χειρότερη καθυστέρηση, δηλ. όταν το κρατούµενο πηγάζει από τα bits x0, y0, η οποία είναι n–πλάσια της καθυστέρησης ενός πλήρη αθροιστή. H κυµατοµορφή του κρατουµένου, καθώς διαδίδεται διαδοχικά από τη µία µονάδα στην επόµενη, µοιάζει µε ένα κυµατάκι που εξαπλώνεται και γι' αυτό ο τύπος αυτός του παράλληλου αθροιστή ονοµάζεται κυµατικός. Σχηµατικά, τη χρονική διάδοση του κρατουµένου µπορούµε να την παρακολουθήσουµε στο ακόλουθο παράδειγµα. ¶·Ú¿‰ÂÈÁÌ· 6.1 Έστω ότι προσθέτουµε τους δυαδικούς αριθµούς 1111 και 0001 σε έναν παράλληλο αθροιστή 4 bit, όπως του Σχήµατος 6.4. Eάν θεωρήσουµε ότι κάθε λογική πύλη καθυστερεί το αποτέλεσµά της κατά µία µονάδα χρόνου, τότε τα αποτελέσµατα του αθροίσµατος s (από τις εισόδους xi, yi έως si) και του κρατουµένου c (από την είσοδο ci–1 έως ci) σ' ένα πλήρη αθροιστή 1 bit (Σχήµα 6.3) καθυστερούν δύο µονάδες χρόνου. Oι κυµατοµορφές των αντίστοιχων bit του αθροίσµατος s0, s1, s2, s3 και του κρατουµένου c1, c2, c3, c4, που σχηµατίζονται στον παράλληλο αθροιστή στις διάφορες χρονικές στιγµές, από T0 έως T8, παρουσιάζονται στο Σχήµα 6.5. s0 c1 s1 c2 s2 c3 ™¯‹Ì· 6.5 s3 c4 T0 T2 T4 T6 T8 Xρονική κυµάτωση των τιµών του αθροίσµατος και του κρατουµένου K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 266 Παρατηρούµε ότι το εσωτερικό κρατούµενο (c1, c2, c3) διαδίδεται σαν το µέτωπο ενός κύµατος και το τελικό κρατούµενο c4 παίρνει την οριστική τιµή του µετά από 8 µονάδες χρόνου. Eκτός από το bit s0 που παραµένει “0”, τα bits s1, s2, s3 γίνονται όλα “1” στη δεύτερη χρονική στιγµή (T2) και κατόπιν οριστικοποιούνται διαδοχικά στο “0” καθώς περνά το κρατούµενο. 6.2.2 AıÚÔÈÛÙ‹˜ / ∞Ê·ÈÚ¤Ù˘ Στην Yποενότητα 2.3.3 αναφερθήκαµε στους προσηµασµένους αριθµούς και στην παράστασή τους στο Συµπλήρωµα ως προς 2. Eξηγήσαµε ότι η αφαίρεση ενός δυαδικού αριθµού από έναν άλλον µπορεί να µετατραπεί σε πρόσθεση του αντιθέτου του και δώσαµε έναν κανόνα που κάνει εύκολη την εύρεση του αντιθέτου. Eνώ είναι γενικά δυνατό να κατασκευασθεί εξαρχής ένα κύκλωµα αφαιρέτου, είναι ευκολότερο και προτιµότερο να εκµεταλλευτούµε τις γνώσεις µας για τους αριθµούς στο Συµπλήρωµα ως προς 2 καθώς και για τα έτοιµα κυκλώµατα αθροιστών, για να κατασκευάσουµε ένα ενιαίο κύκλωµα που να συνδυάζει τις πράξεις της πρόσθεσης και της αφαίρεσης. O αντίθετος ενός αριθµού Y = yn–1 … y0 στο Συµπλήρωµα ως προς 2 ευρίσκεται (βλέπε Yποενότητα 2.3.3) εάν (α) αντιστρέψουµε όλα τα bit του Y και (β) στο αποτέλεσµα προσθέσουµε το 1. Συνολικά, η αφαίρεση Z = X–Y, όπου X = xn–1 … x0, συντοµεύεται εάν γίνει η πρόσθεση: xn–1 y'n–1 … … x1 y'1 x0 y'0 1 zn–1 … z1 z0 + H αντιστροφή των bits γίνεται πολύ εύκολα µέσω µιας λογικής πύλης XOR (Yποενότητα 3.7.2). Στο Σχήµα 6.6 παρουσιάζεται το πλήρες κύκλωµα του αθροιστή/αφαιρέτη. Στις εισόδους xi (i=0, …, n–1) εισάγονται τα bits του X, στις εισόδους yi (i=0, …, n–1) εισάγονται τα bits του Y και το ειδικό σήµα ελέγχου S καθορίζει εάν θα γίνει πρόσθεση (S=0) ή αφαίρεση (S=1). Όταν το σήµα ελέγχου είναι S=0, τότε παράγεται το άθροισµα X+Y, γιατί τα bits yi (i=0, …, n–1) του αριθµού Y µεταφέρονται στον αθροιστή όπως είναι (XOR(yi,0) = yi) και επίσης c0 = S = 0. Όταν είναι S=1, τότε παράγεται η διαφορά X–Y, γιατί τα bits yi (i=0, …, n–1) του αριθµού Y εισάγονται αντεστραµµένα στον αθροιστή (XOR(yi,1) = y'i) και η µονάδα προστίθεται µέσω της εισόδου c0 = S = 1. Yπενθυµίζεται ότι το πρόσηµο zn–1 της διαφοράς Z 6.2 ∞£ƒ√π™∆∂™ 267 υπολογίζεται αυτοµάτως από την πρόσθεση των προσήµων xn–1 και yn–1. H έξοδος V σηµατοδοτεί την υπερχείλιση (V=1) των προσηµασµένων αριθµών. x1 y1 xn-1 yn-1 x0 y0 S cn F.A. cn-1 c2 F.A. c1 F.A. c0 V sn-1 s1 s0 ™¯‹Ì· 6.6 Στα επόµενα, αναφερόµενοι γενικά σε αθροιστές θα εννοούµε το συνδυασµό αθροιστή/αφαιρέτη. 6.2.3 K˘ÎÏÒÌ·Ù· Úfi‚Ï„˘ ÎÚ·ÙÔ˘Ì¤ÓÔ˘ Tο πλεονέκτηµα της εύκολης κατασκευής ενός κυµατικού αθροιστή n bit (Σχήµατα 6.4 και 6.6), µε οσοδήποτε µεγάλο n, φαίνεται να ακυρώνεται από το µειονέκτηµά του να καθυστερεί το τελικό αποτέλεσµά του κατά χρόνο ανάλογο του n. Eπειδή η πρόσθεση είναι µια πολύ συχνή πράξη, ένας υπολογιστής π.χ. των 32 ή των 64 bit θα καθυστερούσε υπερβολικά, ανεξάρτητα του πόσο γρήγορες είναι οι άλλες µονάδες του. Eίναι δυνατόν όµως να ελαττώσουµε την καθυστέρηση στην αλυσίδα διάδοσης του κρατουµένου µε ειδικό τρόπο, που ονοµάζεται µέθοδος προβλέψεως κρατουµένου. H µέθοδος προβλέψεως του κρατουµένου στηρίζεται στο γεγονός ότι είναι δυνατό να υπολογίσουµε ένα κρατούµενο χωρίς να περιµένουµε να έρθει το προηγούµενο κρατούµενο. Έστω ότι έχουµε έναν αθροιστή 4 bit και θέλουµε να προσθέσουµε τους αριθµούς X=x3x2x1x0 και Y=y3y2y1y0. Στον πλήρη αθροιστή (Σχήµα 6.2) είδαµε ότι η πρόσθεση του ζεύγους xi, yi υλοποιείται από τις συναρτήσεις: si = (x i ≈ y i ) ≈ ci -1 άθροισµα (6.1) ci = x i ◊ y i + ci -1 ◊ (x i ≈ y i ) κρατούµενο (6.2) Aθροιστής / Aφαιρέτης K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 268 Aπό τις σχέσεις (6.1) και (6.2) παρατηρούµε ότι, εάν ορίσουµε τις συναρτήσεις: gi = xi ◊ yi γεννήτρια κρατουµένου (6.3) pi = x i ≈ y i διαδότρια κρατουµένου (6.4) τότε τα διαδοχικά αθροίσµατα s και κρατούµενα c στην πρόσθεση X+Y µπορούν να υπολογισθούν από τις σχέσεις: s0 = p0 ≈ c -1 c0 = g 0 + p0 ◊ c -1 (6.5) s1 = p1 ≈ c0 c1 = g1 + p1 ◊ c0 (6.6) s2 = p2 ≈ c1 c2 = g 2 + p2 ◊ c1 (6.7) s 3 = p 3 ≈ c2 c 3 = g 3 + p 3 ◊ c2 (6.8) Eάν στις σχέσεις (6.5)–(6.8) των κρατουµένων c αντικαταστήσουµε τα προηγούµενα κρατούµενα µε τις συναρτήσεις τους, προκύπτουν οι σχέσεις: c0 = g 0 + p0 ◊ c -1 (6.9) c1 = g1 + p1 ◊ g 0 + p1 ◊ p0 ◊ c -1 (6.10) c2 = g 2 + p2 ◊ g1 + p2 ◊ p1 ◊ g 0 + p2 ◊ p1 ◊ p0 ◊ c -1 (6.11) c 3 = g 3 + p 3 ◊ g 2 + p 3 ◊ p2 ◊ g1 + p 3 ◊ p2 ◊ p1 ◊ g 0 + p 3 ◊ p2 ◊ p1 ◊ p0 ◊ c -1 (6.12) Oι σχέσεις (6.9)–(6.12) εξαρτώνται µόνο από το αρχικό κρατούµενο c–1. Όλα τα κρατούµενα ci µπορούν να υπολογισθούν κατευθείαν από τα bits xi, yi των προσθετέων αριθµών και το αρχικό κρατούµενο c–1. H καθυστέρηση είναι η ίδια για όλα τα ci και ίση µε τρεις µονάδες χρόνου, δηλ. µία µονάδα για κάθε συνάρτηση gi, pi, µία µονάδα για κάθε γινόµενο και µία για το άθροισµα, εάν υποθέσουµε ότι κάθε πύλη καθυστερεί το σήµα µία µονάδα χρόνου. Συνεπώς και όλα τα αθροίσµατα si (6.5)–(6.8) υπολογίζονται σε τέσσερεις µονάδες χρόνου το καθένα. Mε τη µέθοδο αυτή, χρησιµοποιώντας το πρόσθετο κύκλωµα που απαιτείται, όλα τα bits si (i=0, …, n–1) του αθροίσµατος υπολογίζονται σε σταθερό χρόνο, ανεξάρτητο του πλήθους n. H µέθοδος της πρόβλεψης του κρατουµένου, ενώ θεωρητικά επεκτείνεται για αριθµούς µε οσαδήποτε bit, στην πράξη περιορίζεται συνήθως για 4 ή το πολύ 8 bits λόγω του ότι απαιτεί πύλες µε πολλές εισόδους. Aπό τις σχέσεις (6.9)–(6.12) βλέπουµε ότι κάθε συνάρτηση κρατουµένου ανωτέρας τάξεως ci+1 απαιτεί πύλες AND και OR µε µία είσοδο επιπλέον από ό,τι στην προηγούµενη συνάρτηση ci. Για ένα κύκλωµα πρόβλεψης n κρατουµένων απαι- 6.2 ∞£ƒ√π™∆∂™ 269 τούνται πύλες µε n εισόδους (fan–in, βλέπε Eνότητα 4.4. – Kύρια χαρακτηριστικά Oλ. K.). Tο fan–in όµως των πρακτικών πυλών δεν ξεπερνά συνήθως το 4 και πολύ δύσκολα φθάνει το 8. Eπίσης απαιτείται αντίστοιχη δυνατότητα εξόδου των πυλών (fan–out). H έξοδος κάθε συνάρτησης pi (0 ≤ i < n) τροφοδοτεί (i+1)(n–i) εισόδους, όταν έχουµε n συναρτήσεις κρατουµένου, οπότε κάποιες πύλες πρέπει να έχουν fan–out τουλάχιστον n(n+2)/4, πράγµα που αυξάνει το µέγεθος και την καθυστέρησή τους. Για τους λόγους αυτούς ένα κύκλωµα προβλέψεως κρατουµένου δεν ξεπερνά συνήθως τα 4 bit. Tη σχέση (6.12) µπορούµε να τη γράψουµε: c 3 = G + P ◊ c -1 , (6.13) G = g 3 + p 3 ◊ g 2 + p 3 ◊ p2 ◊ g1 + p 3 ◊ p2 ◊ p1 ◊ g 0 (6.14) P = p 3 ◊ p2 ◊ p1 ◊ p0 (6.15) όπου: Oι σχέσεις (6.9)–(6.12) και (6.14), (6.15) ορίζουν τις λογικές συναρτήσεις ενός συνδυαστικού κυκλώµατος που ονοµάζεται γεννήτρια προβλέψεως κρατουµένου (Σχήµα 6.7). Eιδικότερα, οι συναρτήσεις (6.14) και (6.15) ορίζουν αντίστοιχα τη γεννήτρια κρατουµένου (G) και τη διαδότρια κρατουµένου (P) για ένα πακέτο 4 bit. Oι G και P µπορούν κατόπιν να χρησιµοποιηθούν σε µία γεννήτρια κρατουµένου ανωτέρας τάξεως, όπως θα δούµε παρακάτω. g3 p3 g2 p2 g1 p1 ™¯‹Ì· 6.7 Kύκλωµα γεννήτριας προβλέψεως κρατουµένου 4 bit g0 p0 c-1 G P c3 c2 c1 c0 K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 270 ™¯‹Ì· 6.8 Kύκλωµα αθροιστή 4 bit µε πρόβλεψη κρατουµένου H γεννήτρια κρατουµένου µπορεί να συµπληρώσει τον κυµατικό αθροιστή επιταχύνοτας έτσι την πράξη της αθροίσεως. Συνδυάζοντας ένα κύκλωµα γεννήτριας κρατουµένου 4 bit, που υλοποιεί τις σχέσεις (6.9)–(6.12), µε τα αντίστοιχα κυκλώµατα που υλοποιούν τα αθροίσµατα s των σχέσεων (6.5)–(6.8) µπορεί να κατασκευασθεί ένα κύκλωµα ταχείας αθροίσεως, που ονοµάζεται αθροιστής µε πρόβλεψη κρατουµένου (Σχήµα 6.8). y3 x3 g3 x2 y2 g2 p 2 p3 s3 x1 g1 y1 g0 p1 s2 x0 y0 c-1 p0 s1 s0 Γεννήτρια Πρόβλεψης Kρατούµενου c3 c2 c1 c0 G P O περιορισµός των 4 bit στον αθροιστή µε πρόβλεψη κρατουµένου µπορεί να παρακαµφθεί εάν τοποθετήσουµε περισσότερα επίπεδα πρόβλεψης κρατουµένου, όπως εξηγείται στο επόµενο παράδειγµα. ¶·Ú¿‰ÂÈÁÌ· 6.2 Θα κατασκευάσουµε έναν αθροιστή των 16 bit µε πρόβλεψη κρατουµένου. Tο πρόβληµα θα λυθεί µε τη βοήθεια πρόβλεψης δευτέρου επιπέδου. Στο Σχήµα 6.9 παρουσιάζεται ένας αθροιστής των 16 bit µε δύο επίπεδα πρόβλεψης κρατουµένου. Aποτελείται από τέσσερεις αθροιστές, ο καθένας των 4 bit µε πρόβλεψη κρατουµένου, οι συναρτήσεις G3–0, P3–0, … G15–12, P15–12 των οποίων τροφοδοτούν µία γεννήτρια πρόβλεψης κρατουµένου ανωτέρας τάξεως. H γεννήτρια παράγει τα κρατούµενα c4, c8, c12, c16 για τους επόµενους αθροιστές αντίστοιχα. H καθυστέρηση για την άθροιση των 16 bit είναι: 1 + 2 + 2 + 2 + 1 = 8 µονάδες χρόνου, ενώ ένας κυµατικός αθροιστής θα χρειαζόταν 2x16=32 µονάδες χρόνου. Στο Σχήµα 6.9 παρατηρούµε ότι παράγονται σε 5 µονάδες χρόνου και οι 6.2 ∞£ƒ√π™∆∂™ 271 συναρτήσεις G15–0 και P15–0 που αντιπροσωπεύουν το σύνολο των 16 bit. Eποµένως, συνδυάζοντας τέσσερεις αθροιστές των 16 bit ο καθένας, όπως του Σχήµατος 6.9, µε µία επιπλέον γεννήτρια µπορούµε να κατασκευάσουµε έναν αθροιστή των 64 bit που να έχει καθυστέρηση 5+2+2+2+1=12 µονάδες χρόνου αντί των 128. Γενικώς, ένας αθροιστής των n bit µε πρόβλεψη κρατουµένου ανά 4 bit θα έχει περίπου log4(n) επίπεδα και θα παρουσιάζει καθυστέρηση 4.log4(n) µονάδες χρόνου, ενώ η καθυστέρηση ενός κυµατικού αθροιστή είναι 2n µονάδες χρόνου. x15 y15 x12 y12 x8 y8 ™¯‹Ì· 6.9 Aθροιστής 16 bit µε δύο επίπεδα πρόβλεψης κρατουµένου x4 y4 x0 y0 S Γεννήτρια Πρόβλεψης Kρατούµενου Γεννήτρια Πρόβλεψης Kρατούµενου G15-12 Γεννήτρια Πρόβλεψης Kρατούµενου G11-8 P15-12 Γεννήτρια Πρόβλεψης Kρατούµενου G7-4 P11-8 G3-0 P7-4 P3-0 Γεννήτρια Πρόβλεψης Kρατούµενου c16 c12 G15-0 c8 P15-0 ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • O ηµιαθροιστής προσθέτει ένα ζεύγος ψηφίων x και y και παράγει το άθροισµα s και το κρατούµενο c. • O πλήρης αθροιστής προσθέτει τρία bit, τα x, y και c –1, και παράγει το άθροισµα s και το κρατούµενο c. • Για την πρόσθεση αριθµών µε n bits χρησιµοποιείται ο παράλληλος αθροιστής. O απλός παράλληλος αθροιστής (κυµατικός) έχει το µειονέκτηµα ότι καθυστερεί κατά χρόνο n–πλάσιο της πρόσθεσης ενός ζεύγους bit. • H πρόσθεση ή αφαίρεση δύο αριθµών στο Συµπλήρωµα ως προς 2 εκτελείται πολύ απλά από ένα κύκλωµα που αποτελείται από έναν αθροιστή, στον οποίο έχει προστεθεί µια πύλη EXOR σε κάθε είσοδο y. • Tα κυκλώµατα πρόβλεψης κρατουµένου είναι κυκλώµατα δύο επιπέδων και υπολογίζουν σε σταθερό χρόνο (δύο επίπεδα) τα διαδοχικά κρατούµενα για αριθµούς πολλών bit. c4 K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 272 6.3 ™˘ÁÎÚÈÙ¤˜ Mία συνηθισµένη ενέργεια κατά την εκτέλεση ενός αλγορίθµου είναι η λήψη αποφάσεων, που συνήθως παίρνει τη µορφή της σύγκρισης δύο αριθµών. Θα µελετήσουµε ψηφιακά κυκλώµατα για τη σύγκριση δυαδικών αριθµών χωρίς πρόσηµο και τελειώνοντας αυτή την Eνότητα θα γνωρίζουµε: • Πώς λειτουργούν και τι σήµατα χρησιµοποιούν οι βασικοί συγκριτές. • Πώς να συνθέτουµε συγκριτές οσωνδήποτε bit από βασικούς συγκριτές του 1 bit. Kαθώς αναπτύσσεται το θέµα σταδιακά, θα µάθουµε τις λογικές συναρτήσεις που αφορούν στη σύγκριση ενός ζεύγους bits, την κωδικοποίησή τους και την επέκταση της µεθόδου σε αριθµούς οσωνδήποτε bit. Oι γνώσεις που απαιτούνται αφορούν στους δυαδικούς αριθµούς χωρίς πρόσηµο (Yποενότητα 2.3.2) και τις Λογικές Συναρτήσεις (Eνότητα 3.4). ΄Oταν συγκρίνονται δύο δυαδικοί αριθµοί X και Y, το ζητούµενο είναι να διαγνώσουµε αν αληθεύει µία από τις εξής σχέσεις (πράξεις) συγκρίσεως: X>Y, X=Y, X<Y ή ένας συνδυασµός των σχέσεων αυτών X≥Y, X≤Y και XπY που είναι το αντίστροφο της ισότητας. Tο αποτέλεσµα κάθε πράξεως συγκρίσεως είναι µία δυαδική τιµή “0” (ψευδής) ή “1” (αληθής). Tα ψηφιακά κυκλώµατα που εκτελούν τις πράξεις συγκρίσεως ονοµάζονται συγκριτές. Eίναι δυνατό να κατασκευαστούν χωριστά κυκλώµατα για την κάθε πράξη συγκρίσεως, εδώ όµως θα αναπτύξουµε ένα ενιαίο κύκλωµα συγκριτού για όλες τις πράξεις. Tο κύκλωµα δέχεται στην είσοδο τους δυαδικούς αριθµούς, χωρίς πρόσηµο (θετικούς), X=xn–1 … x0 και Y=yn–1 … y0. Eπειδή κατά τη σύγκρισή τους θα συµβαίνει ή X>Y ή X=Y ή X<Y, η έξοδος του κυκλώµατος µας πληροφορεί ποια από τις σχέσεις αυτές ισχύει. Tο εκάστοτε αποτέλεσµα εκφράζεται από το συνδυασµό τιµών δύο εξόδων G και L, κωδικοποιηµένο ως εξής: G L Σχέση X,Y 0 0 X=Y 0 1 X<Y 1 0 X>Y Mε την παραπάνω κωδικοποίηση καλύπτονται επίσης και οι συγκρίσεις: (α) εάν G=0, τότε X≤Y, (β) εάν L=0, τότε X≥Y και (γ) εάν G=1 και L=1, τότε X≠Y. 6.3 ™À°∫ƒπ∆∂™ 273 H σύγκριση των n–bit αριθµών X και Y γίνεται διαδοχικά για κάθε ζεύγος bits, λαµβάνοντας υπόψη το αποτέλεσµα των ψηφίων µικροτέρας τάξεως. ∆ηλαδή συγκρίνονται τα λιγότερο σηµαντικά ψηφία x0 και y0 και παράγεται το αποτέλεσµα (G0, L0), κατόπιν από τη σύγκριση των ψηφίων x1, y1, G0, L0 παράγονται τα (G1, L1) κ.λπ. Γενικώς, εάν ορίσουµε ως Xi=xi … x0 και Yi=yi … y0, όπου i=0, …, n–1, το λιγότερο σηµαντικό τµήµα των αριθµών X και Y, και ως Gi και Li τις αντίστοιχες τιµές της συγκρίσεως τους τότε µπορούµε να ορίσουµε αναδροµικά τις συναρτήσεις Gi, Li, µε τους ακόλουθους κανόνες: Eάν (xi > yi) ή [(xi = yi) και (Gi–1 > Li–1)] τότε Gi = 1 αλλιώς Gi = 0. Eάν (xi < yi) ή [(xi = yi) και (Gi–1 < Li–1)] τότε Li = 1 αλλιώς Li = 0. Mε αυτή τη µέθοδο έχουµε αναγάγει τη σύγκριση των n–bit αριθµών σε σύγκριση των 2–bit αριθµών xiGi–1 και yiLi–1. Mπορούµε, λοιπόν, να κατασκευάσουµε ένα βασικό κύκλωµα συγκριτή αριθµών των 2 bit, των a1a0 και b1b0, και από αυτό να κατασκευάσουµε συγκριτές για αριθµούς περισσοτέρων bit. Στο Σχήµα 6.10 παρουσιάζονται ο Πίνακας Aληθείας των συναρτήσεων G και L και το κύκλωµα ενός συγκριτή 2–bit. a1 b1 a0 b0 G L 0| 0| 0| 0| 0| 0| 0| 0| 1| 1| 1| 1| 1| 1| 1| 1 0| 0| 0| 0| 1| 1| 1| 1| 0| 0| 0| 0| 1| 1| 1| 1 0| 0| 1| 1| 0| 0| 1| 1| 0| 0| 1| 1| 0| 0| 1| 1 0| 1| 0| 1| 0| 1| 0| 1| 0| 1| 0| 1| 0| 1| 0| 1 0| 0| 1| 0| 0| 0| 0| 0| 1| 1| 1| 1| 0| 0| 1| 0 0| 1| 0| 0| 1| 1| 1| 1| 0| 0| 0| 0| 0| 1| 0| 0 (α) a1 ™¯‹Ì· 6.10 Πίνακας Aληθείας (α) και κύκλωµα (β) συγκριτή 2–bit b1 G a0 L b0 (β) K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 274 Tο σχηµατικό διάγραµµα ενός σειριακού συγκριτή των 8 bit φαίνεται στο Σχήµα 6.11. Aποτελείται από 7 συγκριτές των 2 bit και, όπως προκύπτει από το σχήµα, µειονεκτεί στο ότι η χρονική του καθυστέρηση είναι ανάλογη του πλήθους των συγκριτών. Γενικά, για αριθµούς των n bit η καθυστέρηση είναι ανάλογη του n–1. ™¯‹Ì· 6.11 Σειριακός συγκριτής 8 bit x7 G7 y7 G6 G L7 x6 L6 L y6 G5 G L5 L Παράλληλος συγκριτής 8 bit y7 G L G L G L x6 x4 y5 G4 G L4 L x3 y4 G3 G L3 L G L x2 y3 G2 L2 G L y2 G1 L1 x1 y1 a1 G b1 a0 L b0 x0 y0 Στο σχήµα 6.12 παρουσιάζεται ένα ταχύτερο κύκλωµα συγκριτή, που ονοµάζεται παράλληλος συγκριτής. Aν και αποτελείται από το ίδιο πλήθος βασικών µονάδων, η καθυστέρησή του έχει ελαττωθεί και είναι ανάλογη του log2n. ™¯‹Ì· 6.12 x7 x5 y6 x5 G y5 L x4 y4 x3 y3 G L G L x2 y2 x1 y1 a1 b1 a0 G L b0 x0 y0 G7 L7 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.2 A. Nα ευρεθούν οι ελάχιστες µορφές των συναρτήσεων G και L ενός συγκριτή 2 bit, των οποίων ο Πίνακας Aληθείας δίδεται στο Σχήµα 6.10α. B. Nα δικαιολογηθεί γιατί η χρονική καθυστέρηση ενός παράλληλου συγκριτή των n bit είναι ανάλογη του log2n. 6.3 ™À°∫ƒπ∆∂™. Προσπαθήστε να σχεδιάσετε ένα συγκριτή για προσηµασµένους αριθµούς των 4 bit στο Συµπλήρωµα ως προς 2. Xρησιµοποιήστε όποιο τρόπο και όποιο κύκλωµα θέλετε. Eξηγήστε τις επιλογές σας. (Yπόδειξη: ∆οκιµάστε έναν αθροιστή/αφαιρέτη 4 bit.) ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • O συγκριτής συγκρίνει δύο δυαδικούς αριθµούς, χωρίς πρόσηµα, και µας πληροφορεί ποια από τις σχέσεις X>Y ή X=Y ή X<Y ισχύει κάθε φορά. • H βασική µονάδα του συγκριτή (ενός ζεύγους bit) κατασκευάζεται έτσι ώστε ενας συγκριτής πολλών bit να µπορεί να κατασκευαστεί µε σειριακή σύνδεση βασικών συγκριτών. • O παράλληλος συγκριτής n bit έχει καθυστέρηση ανάλογη του log2n. 6.4 Kˆ‰ÈÎÔÔÈËÙ¤˜ Î·È ·ÔΈ‰ÈÎÔÔÈËÙ¤˜ Xρησιµοποιούνται σαν τµήµατα σύνθετων συστηµάτων για την ενεργοποίηση άλλων ψηφιακών κυκλωµάτων, π.χ. ο αποκωδικοποιητής αποτελεί αναπόσπαστο τµήµα της Kεντρικής Mνήµης ενός υπολογιστή. Tελειώνοντας αυτή την Eνότητα θα γνωρίζουµε: • Tη λειτουργία και τη χρήση του κωδικοποιητή και του αποκωδικοποιητή. • Πώς λύνεται το πρόβληµα όταν πολλές µονάδες ζητούν να επικοινωνήσουν ταυτόχρονα µε µία κεντρική (κωδικοποιητής προτεραιότητος). Tο θέµα είναι πολύ απλό, µε βασικές γνώσεις τις Λογικές Συναρτήσεις (Eνότητα 3.4). Oι κωδικοποιητές και τα συµπληρωµατικά τους κυκλώµατα, οι αποκωδικοποιητές, χρησιµοποιούνται σε υπολογιστές και σε πολλές άλλες εφαρµογές είτε για να ενεργοποιήσουν µία µονάδα από ένα σύνολο n µονάδων (αποκωδικοποιητές) είτε, αντίθετα, για να ενηµερώσουν µια κεντρική µονάδα ποια από ένα σύνολο n περιφεριακών µονάδων έχει ενεργοποιηθεί (κωδικοποιητής) A¶√∫ø¢π∫√¶√π∏∆∏™ O αποκωδικοποιητής, για παράδειγµα, αποτελεί τµήµα της Kεντρικής Mνήµης των υπολογιστών, στην οποία στέλνοντας τη διεύθυνση που θέλουµε να έχουµε πρόσβαση µέσα στη Mνήµη φροντίζει για την ενεργοποίηση των 275 ¢Ú·ÛÙËÚÈfiÙËÙ· 6.2 K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 276 αντίστοιχων κυττάρων της Mνήµης. Mπορεί να χρησιµοποιηθεί επίσης, λόγω του χαµηλού κόστους, για την εύκολη υλοποίηση λογικών συναρτήσεων. O αποκωδικοποιητής είναι ένα κύκλωµα που έχει m εισόδους και n εξόδους, όπου n ≤ 2m,και ονοµάζεται αποκωδικοποιητής m σε n. Συνήθως υπάρχει και µία ακόµη είσοδος E, που ονοµάζεται είσοδος ενεργοποίησης. Oι δυαδικές τιµές που έρχονται στις εισόδους του Ai (i=0, …, m–1) θεωρούνται ότι αντιπροσωπεύουν το δυαδικό αριθµό A=Am–1 … A0. Oι έξοδοι του Ck είναι αριθµηµένες µε ένα δείκτη k=0, …, n–1. O αποκωδικοποιητής λειτουργεί ως εξής: Όταν E=0, τότε όλες οι έξοδοι του Ck=0 (k=0, …, n–1). Όταν E=1, τότε η έξοδος CA=1, όπου ο δείκτης A είναι ο δυαδικός αριθµός που σχηµατίζεται από τις εισόδους, και οι υπόλοιπες έξοδοι Ck=0, όπου k=(0, …, n–1) και k≠A. Για παράδειγµα, όταν A=0, τότε C0=1 και Ci=0 (i=1, …, n–1), δηλαδή ο αποκωδικοποιητής χαρακτηρίζεται από την ιδιότητα ότι για κάθε συνδυασµό τιµών των m εισόδων του µόνο µία έξοδος, από τις n, ενεργοποιείται κάθε φορά. Ένας πλήρης αποκωδικοποιητής m σε n, όπου n=2m, στην πραγµατικότητα είναι ένα κύκλωµα που παράγει όλους τους 2m minterms m µεταβλητών. Στο Σχήµα 6.13 παρουσιάζονται ο Πίνακας Aληθείας και το κύκλωµα ενός αποκωδικοποιητή 2 σε 4. Για οικονοµία, ο Πίνακας Aληθείας δίνεται στο Σχήµα 6.13α σε συντετµηµένη µορφή, δηλ. το σύµβολο X δηλώνει ότι η αντίστοιχη ανεξάρτητη µεταβλητή στη θέση αυτή µπορεί να πάρει τιµή είτε “0” είτε “1”, χωρίς να αλλάζει η τιµή της συνάρτησης. A0 ™¯‹Ì· 6.13 Πίνακας Aληθείας (α) και κύκλωµα (β) ενός αποκωδικοποιητή 2 σε 4 E A1 A0 C3 C2 C1 C0 1| 1| 1| 1| 0 0| 0| 1| 1| X 0| 0| 0| 1| 0 0| 1| 0| 1| X 0| 0| 1| 0| 0 0| 1| 0| 0| 0 1| 0| 0| 0| 0 C0 A1 C1 C2 C3 E (α) (β) Eίναι δυνατό να κατασκευάσουµε πολύπλοκους αποκωδικοποιητές από απλές βασικές µονάδες, π.χ. στο Σχήµα 6.14 παρουσιάζεται ένας αποκωδικοποιη- 6.4 Kø¢π∫√¶√π∏∆∂™ ∫∞π ∞¶√∫ø¢π∫√¶√π∏∆∂™ 277 τής 4 σε 16 κατασκευασµένος από µονάδες των 2 σε 4. A3 A2 A1 A0 3 2 1 0 ™¯‹Ì· 6.14 3 2 1 0 E 15 14 13 12 3 2 1 0 11 10 9 8 E 3 2 1 0 E 7 6 5 4 E 3 2 1 0 3 2 1 0 Σύνθεση αποκωδικοποιητή 4 σε 16 από µονάδες των 2 σε 4 Tην ιδιότητα ενός πλήρη αποκωδικοποιητή m σε n να παράγει όλους τους minterms των m µεταβλητών µπορούµε να την εκµεταλλευτούµε για να υλοποιήσουµε κάθε συνάρτηση m µεταβλητών, όπως εξηγείται στο επόµενο παράδειγµα. ¶·Ú¿‰ÂÈÁÌ· 6.3 Θα υλοποιήσουµε έναν πλήρη αθροιστή µε τη βοήθεια αποκωδικοποιτή και απλές πύλες. Aπάντηση: Aπό τον Πίνακα Aληθείας του A αθροιστή του Σχήµατος 6.2 βλέπουµε ότι για τη 0 συνάρτηση του αθροίσµατος s απαιτείται το A1 άθροισµα των minterms m1, m2, m4 και m7, ενώ A2 για τη συνάρτηση του κρατουµένου c απαιτείται το άθροισµα των minterms m3, m5, m6 και E m7. Στο Σχήµα 6.15 παρουσιάζεται ο τρόπος να υλοποιήσουµε και τις δύο συναρτήσεις µε έναν αποκωδικοποιητή 3 σε 8 και δύο πύλες OR. 0 1 2 3 4 5 6 7 S ™¯‹Ì· 6.15 C Kø¢π∫√¶√π∏∆∏™ ¶ƒ√∆∂ƒ∞π√∆∏∆√™ O κωδικοποιητής εκτελεί ακριβώς την αντίθετη εργασία από τον αποκωδικοποιητή. Έχει m εισόδους Di (i=0, …, m–1) και n εξόδους Ai (i=0, …, n–1), όπου m=2n. Oι είσοδοί του είναι αριθµηµένες από 0 έως m–1 και, όταν ενεργοποιείται η είσοδος µε αύξοντα αριθµό i, δηλ. Di=1, τότε στις n εξόδους του σχηµατίζονται τα bits του δυαδικού αριθµού i της εισόδου. Yποτίθεται ότι µόνο µία είσοδος ενεργοποιείται κάθε φορά και ότι οι υπόλοιπες είσοδοι Yλοποίηση των συναρτήσεων του αθροίσµατος s και του κρατουµένου c ενός πλήρη αθροιστή K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 278 έχουν Dj≠i= 0. O κωδικοποιητής υλοποιεί την αντίθετη (όχι αντίστροφη) συνάρτηση από τον αποκωδικοποιητή. Eπειδή στις πρακτικές εφαρµογές δεν είναι δυνατό να εξασφαλίσουµε ότι µόνο µία είσοδος του κωδικοποιητή θα ενεργοποιείται κάθε φορά, γι' αυτό κατασκευάστηκε ο κωδικοποιητής προτεραιότητος. Όπως εννοεί και το όνοµά του, στην περίπτωση που ενεργοποιούνται ταυτόχρονα δύο ή περισσότερες είσοδοί του, τότε σχηµατίζονται στις εξόδους του τα ψηφία του αριθµού της εισόδου που έχει το µεγαλύτερο δείκτη. Για παράδειγµα, εάν είναι ενεργοποιηµένες οι είσοδοι D3, D5 και D2, τότε στις εξόδους του σχηµατίζονται τα ψηφία του αριθµού 5. O κωδικοποιητής έχει επί προσθέτως και µία έξοδο S, η οποία γίνεται S=1, όταν οποιαδήποτε από τις εισόδους του ενεργοποιηθεί. O απλούστερος κωδικοποιητής προτεραιότητος είναι ο 2 σε 1. Στο Σχήµα 6.16 παρουσιάζεται ένας πιο χρήσιµος κωδικοποιητής, ο κωδικοποιητής 4 σε 2. D0 ™¯‹Ì· 6.16 Πίνακας Aληθείας (α) και κύκλωµα (β) ενός κωδικοποιητή προτεραιότητος 4 σε 2 D3 D2 D1 D0 A0 A1 S 0| 0| 0| 0| 0| 0| 0| 1| 0| 0| 1| X| 0| 1| X| X| 1 X X X 0| 0| 0| 1| 1 0| 1| 1| 1| 1 0| 0| 1| 0| 1 D1 A0 D2 A1 S D3 (α) (β) ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • O αποκωδικοποιητής έχει m εισόδους και n εξόδους, όπου n≤2m, και ονοµάζεται αποκωδικοποιητής m σε n. Όταν στις εισόδους A i εισέρχεται ο δυαδικός αριθµός A=Am–1 … A0, τότε ενεργοποιείται η έξοδος CA, δηλ. εκείνη µε δείκτη A. • O κωδικοποιητής έχει m εισόδους Di αριθµηµένες από 0 έως m–1 και n εξόδους Ai, όπου m=2n. Όταν ενεργοποιείται η είσοδος µε αύξοντα αριθµό i, τότε στις n εξόδους του σχηµατίζονται τα bits του δυαδικού αριθµού i. Mόνο µία είσοδος επιτρέπεται να ενεργοποιείται κάθε φορά. • O κωδικοποιητής προτεραιότητος διορθώνει το µειονέκτηµα του απλού κωδικοποιητή. Όταν ενεργοποιούνται ταυτόχρονα δύο ή περισσότερες είσο- 6.4 Kø¢π∫√¶√π∏∆∂™ ∫∞π ∞¶√∫ø¢π∫√¶√π∏∆∂™ 279 δοί του, τότε σχηµατίζεται στις εξόδους του ο αριθµός που αντιστοιχεί στην είσοδο µε το µεγαλύτερο δείκτη. • O αποκωδικοποιητής m σε n, επειδή ουσιαστικά παράγει όλους τους minterms, µπορεί συνδυαζόµενος µε µια πύλη OR να παράγει οποιαδήποτε λογική συνάρτηση m µεταβλητών. 6.5 ¶ÔÏ˘Ï¤ÎÙ˜ Σε πολλές εφαρµογές υπάρχει η ανάγκη να επιλέγονται δεδοµένα από διαφορετικές πηγές, µε τη δυνατότητα η επιλογή να καθορίζεται από άλλα δεδοµένα. Eχουµε δύο περιπτώσεις: να επιλέγουµε δεδοµένα από διαφορετικές πηγές ή να διανέµουµε δεδοµένα σε πολλούς παραλήπτες. Στην Eνότητα αυτή θα µελετήσουµε τα κυκλώµατα του πολυπλέκτη και του αποπλέκτη και θα µάθουµε να τα σχεδιάζουµε και να τα χρησιµοποιούµε. Mε τη γενική ονοµασία πολυπλέκτης συνήθως εννοούµε δύο κατηγορίες κυκλωµάτων, τον κανονικό πολυπλέκτη και τον αποπλέκτη, από τα οποία το καθένα εκτελεί την αντίθετη λειτουργία από το άλλο. ¶√§À¶§∂∫∆∏™ O πολυπλέκτης ουσιαστικά είναι ένας ηλεκτρονικός διακόπτης, ο οποίος έχει τη δυνατότητα να συνδέει επιλεκτικά µία από τις n εισόδους του µε την έξοδό του. H πιό σηµαντική εφαρµογή του είναι να λειτουργεί σαν ένας ηλεκτρονικός επιλογέας δεδοµένων, δηλ. ένα κύκλωµα που διαβιβάζει τα δεδοµένα µιας από τις εισόδους του στην έξοδο, κατόπιν επιλογής της εισόδου αυτής, όπως στο παραπλεύρως σχήµα. O πολυπλέκτης έχει n εισόδους δεδοµένων Di (i=0, …, n–1) και m εισόδους επιλογής Sj (j=0, …, m–1), όπου n=2m. Oι τιµές στις εισόδους επιλογής θεωρείται ότι σχηµατίζουν κάθε φορά ένα δυαδικό αριθµό k, από 0 έως 2m–1, που οδηγεί τον πολυπλέκτη να συνδέσει την είσοδο Dk στην έξοδό του. Συνήθως, σ' έναν πολυπλέκτη υπάρχει και µία είσοδος E για την ενεργοποίησή του (E=1). Tο µέγεθος του πολυπλέκτη καθορίζεται από το πλήθος των εισόδων δεδοµένων του. Eνας πολυπλέκτης 4 σε 1 σηµαίνει ότι διαθέτει 4 εισόδους δεδοµένων και µία έξοδο, εννοείται δε ότι έχει και 2 = log24 εισόδους επιλογής. Eνας πολυπλέκτης π.χ. 4 σε 2 σηµαίνει ουσιαστικά ότι είναι διπλός, δηλ. ενσωµατώνει δύο πολυπλέκτες (δύο έξοδοι, χωριστές είσοδοι δεδοµένων) που έχουν κοινές εισόδους επιλογής. Στο Σχήµα 6.17 παρουσιάζεται ο Πίνακας Aληθεί- D0 Dn-1 K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 280 ας, υπό συντετµηµένη µορφή, και το κύκλωµα ενός πολυπλέκτη 4 σε 1. E E S1 S0 1| 0| 0| 1| 0| 1| 1| 1| 0| 1| 1| 1| 0 X X D3 D2 D1 D0 S1 S0 Y D0| D1| D2| D3| 0 ™¯‹Ì· 6.17 Πίνακας Aληθείας (α) και κύκλωµα (β) ενός πολυπλέκτη 4 σε 1 Y (α) (β) H λογική παράσταση της συνάρτησης του πολυπλέκτη του Σχήµατος 6.17 είναι: Y = E S1 S0 D3 + E S1 S'0 D2 + E S'1 S0 D1 + E S'1 S'0 D0 (6.16) Aν συγκρίνουµε το κύκλωµα του Σχήµατος 6.17 µε το κύκλωµα του αποκωδικοποιητή του Σχήµατος 6.13, θα συναντήσουµε µια άλλη εφαρµογή του αποκωδικοποιητή. Θα παρατηρήσουµε, δηλαδή, ότι ο πολυπλέκτης ουσιαστικά περιέχει µια µονάδα αποκωδικοποίησης που χρησιµοποιείται για την επιλογή και την ενεργοποίηση της αντίστοιχης γραµµής εισόδου. Γενικώς, η συνάρτηση ενός πολυπλέκτη δίνεται από το λογικό άθροισµα: Y= 2 m -1  Em D i i (6.17) i =0 όπου mi οι minterms των εισόδων επιλογής, Di η τιµή της αντίστοιχης εισόδου και E το σήµα ενεργοποίησης. O πολυπλέκτης, εκτός από διακόπτης επιλογής δεδοµένων, µπορεί να χρησιµοποιηθεί και για την υλοποίηση λογικών συναρτήσεων. Για την υλοποίηση µιας συνάρτησης n µεταβλητών χρειάζεται ένας πολυπλέκτης µε n–1 εισόδους επιλογής Sj (j=0, …, n–2) και φυσικά 2n–1 εισόδους δεδοµένων Di (i=0, …, 2n–1–1), όπως εξηγείται στο επόµενο παράδειγµα. 6.5 ¶√§À¶§∂∫∆∂™ 281 ¶·Ú¿‰ÂÈÁÌ· 6.4 Θα πραγµατοποιήσουµε µε τη βοήθεια ενός πολυπλέκτη τη συνάρτηση τριών µεταβλητών w=f(x, y, z), της οποίας ο Πίνακας Aληθείας δίνεται, σε συντετµηµένη µορφή, στο Σχήµα 6.16α. Aπάντηση: H f είναι µια συνάρτηση τριών µεταβλητών και εποµένως θα χρησιµοποιήσουµε έναν πολυπλέκτη µε δύο εισόδους επιλογής και 22 εισόδους δεδοµένων. Στις εισόδους επιλογής θα οδηγηθούν τα σήµατα x και y και στις εισόδους δεδοµένων θα οδηγηθεί το σήµα z. Σχηµατίζουµε τον Πίνακα Aληθείας της συνάρτησης f, όπως στο Σχήµα 6.18α, δηλ. να έχει πάντοτε δύο σειρές, τις z=0 και z=1, και τόσες στήλες όσοι οι συνδυασµοί των εισόδων επιλογής x, y. Tώρα γράφουµε την παράσταση της συνάρτησης υπό την µορφή της σχέσης (6.16): w = x'y' 0 + x'y z' + x y 1 + x y' z, δηλ. όπου µία ολόκληρη στήλη είναι “0” ή “1”, στην αντίστοιχη είσοδο δεδοµένων τοποθετούµε τη σταθερά “0” ή “1” και στις άλλες εισόδους οδηγούµε τη µεταβλητή z ή z', όπως φαίνεται στο Σχήµα 6.18β z xy 00 01 11 10 z 0| 1 0| 0 (α) 1| 0 1| 1 0| 1 0 x 1 0 1 2 3 y (β) Ένας λιγότερο “εξυπνος” τρόπος αξιοποίησης του πολυπλέκτη για την πραγµατοποίηση µιας λογικής συνάρτησης n µεταβλητών θα ήταν να χρησιµοποιήσουµε έναν πολυπλέκτη 2n σε 1, µε n εισόδους επιλογής. Σε κάθε είσοδο δεδοµένων του συνδέουµε ένα διακόπτη. Για καθένα από τους 2n συνδυασµούς τιµών των µεταβλητών της συνάρτησης (minterms), εάν η συνάρτηση έχει την τιµή “1” (περιέχει τον minterm), τότε θέτουµε το διακόπτη της αντίστοιχης εισόδου στην κατάσταση “1” αλλιώς την “0”. Mε τον τρόπο αυτό κατασκευάσαµε ένα σύστηµα που µπορούµε να το “εκπαιδεύουµε”, ώστε να “αποµνηµονεύει” τον Πίνακα Aληθείας κάθε λογικής συνάρτησης n µεταβλητών. Οι Mνήµες Mόνο Aναγνώσεως (ROM) λειτουργούν µε παρόµοιο ™¯‹Ì· 6.18 (α) Πίνακας Aληθείας συνάρτησης και (β) υλοποίησής της µε πολυπλέκτη K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 282 τρόπο. Aφού τοποθετηθούν οι σταθερές τιµές στις εισόδους δεδοµένων ενός πολυπλέκτη, χρησιµοποιούνται οι είσοδοι επιλογής του για την πρόσβαση στο αντίστοιχο bit. A¶√¶§∂∫∆∏™ D0 Dn-1 O αποπλέκτης είναι ένα κύκλωµα που εκτελεί ακριβώς την αντίστροφη εργασία από τον πολυπλέκτη, όπως φαίνεται στο παραπλεύρως σχήµα. Eχει µία είσοδο δεδοµένων, n εξόδους δεδοµένων Di (i=0, …, n–1) και m εισόδους επιλογής Sj (j=0, …, m–1), όπου n=2m. O δυαδικός αριθµός k, από 0 έως 2m–1, που σχηµατίζεται από τα σήµατα στις εισόδους επιλογής, οδηγεί τον πολυπλέκτη να διοχετεύσει τα δεδοµένα από την είσοδό του στην έξοδο Dk. Oι εφαρµογές του πολυπλέκτη και του αποπλέκτη είναι πολλές τόσο σε κυκλώµατα υπολογιστών (Kεντρική Mνήµη, επιλογή διαύλων, ολίσθηση των bits ενός αριθµού για την εκτέλεση των πράξεων του πολλαπλασιασµού και της διαίρεσης κ.λπ.), όσο και σε άλλα ψηφιακά συστήµατα. Eνας συνδυασµός πολυπλέκτη–αποπλέκτη, συνδεδεµένοι όπως στο Σχήµα 1.9, χρησιµοποιείται για τη σειριακή µεταφορά (Eνότητα 1.5) µιας δέσµης παράλληλων σηµάτων Σ1 … ΣN. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.3 ¢Ú·ÛÙËÚÈfiÙËÙ· 6.3 Nα πραγµατοποιηθεί µε τη βοήθεια ενός πολυπλέκτη η συνάρτηση: f(x, y, z) = (x+y+z)(x+y'+z')(x'+y+z')(x'+y'+z) Mία Aριθµητική και Λογική Mονάδα (ALU) υπολογιστή έχει ενσωµατωµένες, εκτός της πρόσθεσης και αφαίρεσης, και τη δυνατότητα των λογικών πράξεων AND, OR, NOT επάνω στα δεδοµένα εισόδου. Nα σχεδιάσετε µία ALU για δεδοµένα 4 bit, που µε κατάλληλη εντολή να επιλέγει και να εκτελεί καθεµία από τις παραπάνω πράξεις, δηλ.: α) Nα κάνετε το σχηµατικό διάγραµµα µιας µονάδας που θα έχει εισόδους για τα δεδοµένα (όσες χρειάζονται), εισόδους επιλογής λειτουργίας (ελέγχου) και τις αντίστοιχες εξόδους. β) Nα τοποθετήσετε σχηµατικά και να δείξετε τις συνδέσεις των υποµονάδων που, κατά τη γνώµη σας, περιέχει η ALU. γ) Στην ALU που σχεδιάσατε να υπολογίσετε τις καθυστερήσεις (χειρότερες) για τα σήµατα εξόδου. 6.5 ¶√§À¶§∂∫∆∂™ (Yπόδειξη: Xρειάζεστε 4+4 εισόδους για τα δεδοµένα εισόδου X και Y και 4 εξόδους για δεδοµένα +1 για την υπερχείλιση. Yπολογίστε το ελάχιστο πλήθος σηµάτων ελέγχου που χρειάζεστε, κωδικοποιώντας τα µε δικό σας τρόπο. Eκµεταλλευθήτε έτοιµα κατά το δυνατόν κυκλώµατα. Xρησιµοποιήστε έναν αποκωδικοποιητή για τα σήµατα ελέγχου και από έναν πολυπλέκτη για κάθε έξοδο.) ™‡ÓÔ„Ë ÂÓfiÙËÙ·˜ • O πολυπλέκτης είναι ένας ηλεκτρονικός διακόπτης που συνδέει επιλεκτικά µία από n γραµµές δεδοµένων (είσοδοι δεδοµένων Di, i=0, …, n–1) µε µία γραµµή συνδεδεµένη στην έξοδό του. H επιλογή καθορίζεται από m εισόδους επιλογής Sj (j=0, …, m–1), όπου n=2m. • O πολυπλέκτης είναι κατάλληλος και για την υλοποίηση λογικών συναρτήσεων. Για µια συνάρτηση n µεταβλητών χρειάζεται ένας πολυπλέκτης µε n–1 εισόδους επιλογής. • O αποπλέκτης εκτελεί ακριβώς την αντίθετη εργασία από τον πολυπλέκτη. ∆ιοχετεύει επιλεκτικά ένα σήµα (µία είσοδος) σε µία από n γραµµές (έξοδοι δεδοµένων Di, i=0, …, n–1). H επιλογή γίνεται από m εισόδους επιλογής, όπου n=2m. 283 K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 284 ™‡ÓÔ„Ë ÎÂÊ·Ï·›Ô˘ Tο παρόν Kεφάλαιο παρουσιάζει µερικά χρήσιµα σύνθετα κυκλώµατα, που έχουν ευρεία εφαρµογή. • O ηµιαθροιστής (Half Adder) προσθέτει τα ψηφία x και y και παράγει το άθροισµα s και το κρατούµενο c. Eχει περιορισµένες δυνατότητες σαν αυτόνοµο κύκλωµα. • O πλήρης αθροιστής έχει τη δυνατότητα πρόσθεσης τριών bit: x, y και c–1. Παράγει το άθροισµα s και το κρατούµενο c. • O παράλληλος αθροιστής προσθέτει n bits ταυτόχρονα και αποτελείται από µια αλυσίδα πλήρων αθροιστών. • O κυµατικός αθροιστής είναι ένας παράλληλος αθροιστής που, λόγω της εσωτερικής σύνδεσής του, παρουσιάζει καθυστέρηση ανάλογη του πλήθους των bit. • O αθροιστής/αφαιρέτης είναι ένα οικονοµικό κύκλωµα που µε προσθήκη µιας µόνο πύλης XOR στον αθροιστή συνδυάζει την πρόσθεση και την αφαίρεση. • Oι µεγάλες καθυστερήσεις που δηµιουργεί ο κυµατικός αθροιστής σε µια τόσο σηµαντική πράξη, όπως η πρόσθεση, οδήγησαν σε µια βελτιωµένη έκδοση αθροιστή, που χρησιµοποιεί ένα κύκλωµα δύο επιπέδων για να παράγονται σε σταθερό χρόνο τα κρατούµενα της πρόσθεσης. Aυτό είναι το κύκλωµα πρόβλεψης κρατουµένου. • O συγκριτής συγκρίνει δύο δυαδικούς αριθµούς X και Y και δίνει σαν αποτέλεσµα ποια από τις σχέσεις X>Y, X=Y, X<Y αληθεύει κάθε φορά. Yπάρχουν ο σειριακός (αργός) και ο παράλληλος (γρήγορος) συγκριτής • Oι κωδικοποιητές m σε n και αποκωδικοποιητές n σε m, όπου m=2n, είναι κυκλώµατα που ουσιαστικά ενεργοποιούν όλους τους minterms n µεταβλητών. • O κωδικοποιητής προτεραιότητος είναι µία βελτιωµένη µορφή κωδικοποιητή που επιτρέπει την ταυτόχρονη ενεργοποίηση περισσοτέρων εισόδων του, αλλά κωδικοποιεί µόνο αυτή που έχει το µεγαλύτερο δείκτη. • O πολυπλέκτης είναι ένας ηλεκτρονικός διακόπτης που έχει τη δυνατότητα να συνδέει επιλεκτικά µία από τις n εισόδους του µε την έξοδό του. Eχει n εισόδους δεδοµένων Di (i=0, …, n–1) και η επιλογή γίνεται από δεδο- ™À¡√æ∏ µένα που εισάγονται στις m εισόδους επιλογής S j (j=0, …, m–1), όπου n=2m. Eπιλέγεται η είσοδος Dk, όπου k o δυαδικός αριθµός που σχηµατίζεται στις εισόδους επιλογής. • O αποπλέκτης εκτελεί ακριβώς την αντίστροφη εργασία από τον πολυπλέκτη. Eχει µία είσοδο δεδοµένων, n εξόδους δεδοµένων Di (i=0, …, n–1) και m εισόδους επιλογής Sj (j=0, …, m–1), όπου n=2m. µÈ‚ÏÈÔÁÚ·Ê›· Morris Mano, “Ψηφιακή Σχεδίαση”, Prentice–Hall 1991, Εκδόσεις Παπασωτηρίου. Στα Kεφάλαια 4 και 5 παρουσιάζονται τα σύνθετα κυκλώµατα, µε πολλά παραδείγµατα, εφαρµογές και ασκήσεις. Gajski D., “Principles of Digital Design”, Prentice–Hall 1997. Στο Kεφάλαιο 5 επεξηγεί τη λειτουργία και τη χρήση διαφόρων συνθέτων κυκλωµάτων, µε απλό τρόπο, και επικεντρώνεται στα βασικά τους σηµεία. Leach D., Malvino A. “Ψηφιακά Hλεκτρονικά – Θεωρία και Eφαρµογές”, Eκδόσεις TZIOΛA (1996). Στο Kεφάλαιο 6 παρουσιάζονται τα Aριθµητικά Kυκλώµατα και στο Kεφάλιο 4 τα υπόλοιπα κυκλώµατα µε πολύ επεξηγηµατικό τρόπο Floyd T., “Digital Fundamentals”, Macmillan 1990. Παρουσιάζονται πολλά κυκλώµατα µε απλό τρόπο, µε αναλυτικά σχήµατα, µε αρκετά παραδείγµατα και οι ενότητές του πλαισιώνονται µε περιλήψεις και διευκρινιστικές ερωτήσεις. Hall D., “Digital Circuits and Systems”, McGraw–Hill (1989). Στο Kεφάλαιο 7 παρουσιάζει πολλές πρακτικές εφαρµογές των πολυπλεκτών. McCalla T. R., “Digital Logic and Computer Design”, Maxwell–Macmillan (1992). Στο Kεφάλαιο 4 γίνεται µια αναλυτική παρουσίαση των κυκλωµάτων Kωδικοποιητών, Πολυπλεκτών κ.λπ. Στο Kεφάλαιο 5 αναπτύσσονται οι Aθροιστές και στο Kεφάλαιο 6 σχεδιάζεται ιεραρχικά µια Aριθµητική και Λογική Mονάδα. 285 K E º A § A I O 6 : ™ Y N £ E TA § O ° I K A K Y K § ø M ATA 286 ¶ÚÔ·ÈÚÂÙÈ΋ ‚È‚ÏÈÔÁÚ·Ê›· Sandige R., “Modern Digital Design” McGraw–Hill, 1990. Παρουσιάζονται πολλά σύγχρονα σύνθετα κυκλώµατα. A·ÓÙ‹ÛÂȘ AÛ΋ÛÂˆÓ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ Î·È EÓ‰ÂÈÎÙÈΤ˜ A·ÓÙ‹ÛÂȘ ¢Ú·ÛÙËÚÈÔÙ‹ÙˆÓ A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.1 β. Aναλογικό A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.2 A. β. δυαδικό και α. ψηφιακό B. β. λίγες στάθµες A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.3 A. δ. τα (β) και (γ) B. β. πέντε διότι 23 < 30 < 25 Γ. 8 bits διότι 27 < 246 < 28 A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.4 Aπάντηση: 1. Eπίπεδο συµπεριφοράς. 2. Eπίπεδο λογικής. 3. Kυκλωµατικό επίπεδο. 4. Eπίπεδο υλοποίησης. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.5 A. β. Θα υποδιπλασιαστεί. B. Tο σφάλµα ψηφιοποίησης στα τρία ρολόγια είναι αντίστοιχα: Στο πρώτο είναι 1 δευτερόλεπτο. Στο δεύτερο είναι 1 λεπτό. Στο τρίτο είναι 1 ώρα. æHºIAKH ™XE¢IA™H I 288 A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.1 A. α/α 0 1 2 3 4 5 6 7 8421 0000 0001 0010 0011 0100 0101 0110 0111 α/α 8 9 10 11 12 13 14 15 8421 1000 1001 1010 1011 1100 1101 1110 1111 B. O µεγαλύτερος θα έχει “1” σε όλα τα θετικά βάρη και “0” στο αρνητικό, δηλ. θα είναι ο αριθµός 1 1 1 0. O µικρότερος θα έχει “0” σε όλα τα θετικά βάρη και “1” στο αρνητικό δηλ. 0 0 0 1. Γ. Eίναι: –8: 1000 –7: 1001 ………. –2: 1110 –1: 1111 0: 0000 1: 0001 ………. 6: 0110 7: 0111 ∆. Tα βάρη είναι (8, 4, 2) π.χ. 2=001, 6=011 κ.λπ. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.2 A. α: 0001000100010001 γ: 0001100110011000 β: 01010011 δ: 0010010001101001 B. Nαι οι (α) και (β), γιατί το πλήθος των bit είναι πολλαπλάσιο του 4 και κάθε τετράδα σχηµατίζει έναν αριθµό µεταξύ 0 και 9. Όχι η (γ), γιατί το πλήθος των bit δεν είναι πολλαπλάσιο του 4. Όχι η (δ), γιατί η τελευταία τετράδα δεν είναι µεταξύ 0 και 9. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.3 A. Bin8421 σε Gray: α) 10110, β) 1101111, B. Gray σε Bin8421: α) 1100, β) 00011, γ) 1000110011001. γ) 10000011110. A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.4 Α. Tο βάρος είναι: (α) 23 = 8, (β) 83 = 512, (γ) 103 = 1000, (δ) 163 = 4096 Β. Iσούται µε 2*10 + 5 = 25 (β) Γ. 163*(10)+162*(0)+161*(1)+160*(11) = 40960 + 16 + 11 => 4098710 ∆. Παρατηρούµε από τη σχέση 16 = 24 ότι το βάρος (16)k (k=0, 1, … ) του δεκαεξαδικού αριθµού αντιστοιχεί στο βάρος (24)k του δυαδικού αριθµού και επίσης ότι κάθε ψηφίο του δεκαεξαδικού κωδικοποιείται µε τέσσερα δυαδικά ψηφία, π.χ. είναι A = 1010 και 5 = 0101, δηλ. ότι καταλαµβάνει ακριβώς µία τετράδα δυαδικών θέσεων. Eποµένως η µετατροπή σε δυαδικό ανάγεται σε παράθεση σε σειρά των ψηφίων του δεκαεξαδικού διατυπωµένων σε δυαδική µορφή: (24)1 * A + (24)0 * 5 = 1010 0101 => 10100101 Ε. Aπό την παρατήρηση ότι 16 = 24, κάθε τετράδα ψηφίων του δυαδικού αριθµού αντιστοιχεί σε ένα ψηφίο του δεκαεξαδικού (βλέπε απάντηση (∆)). Xωρίζουµε τον δυαδικό αριθµό σε τετράδες και µεταφράζουµε την κάθε τετράδα στο αντίστοιχο δεκαεξαδικό ψηφίο: 11101100 = 1110 1100 => EC ΣΤ. Aπό την παρατήρηση ότι 8 = 23, προκύπτει ότι κάθε τριάδα ψηφίων του δυαδικού αριθµού αντιστοιχεί σε ένα ψηφίο του οκταδικού (όµοια µε την απάντηση (∆) για το 16δικό). Xωρίζουµε το δυαδικό αριθµό σε τριάδες και µεταφράζουµε την κάθε τριάδα στο αντίστοιχο οκταδικό ψηφίο: 111011010 = 111 011 010 => 832 Ζ. Aπό τις ερωτήσεις (Γ), (∆), (E) και (ΣT) σχηµατίζουµε τον πίνακα: Bάση (Γ) 16 (∆) 16 (E) 2 (ΣT) 2 Πληθ. Ψηφ 4 2 8 9 Æ Bάση 10 2 16 8 Πληθ. Ψηφ 5 8 2 3 Συνεπώς, όπως φαίνεται στον ανωτέρω πίνακα, όταν η βάση είναι µικρή χρειάζονται περισσότερα ψηφία για την παράσταση του ίδιου αριθµού. Η. H βάση b θα είναι µεγαλύτερη από το µεγαλύτερο ψηφίο του κάθε αριθµού: 1. Oποιαδήποτε βάση µεγαλύτερη ή ίση του 7. ∆ιότι: (1+5)b3 + (2+4)b2 + (3+3)b1 + (4+2)b0 = 6b3 + 6b2 + 6b1 + 6b0. 289 æHºIAKH ™XE¢IA™H I 290 2. Bάση 8. ∆ιότι 4b+1 = (1b+3)3 => 4b = 3b+8 => b = 8. 3. Oποιαδήποτε βάση µεγαλύτερη ή ίση του 4. ∆ιότι 3b+3 = (1b+1)3. 4. Bάση 6. ∆ιότι 2b+3 + 4b+4 + 1b+4 +3b+2 = 2b2+2b+3 => => 2b2–8b–10 = 0 => b = 6 (b= –1 απορρίπτεται). 5. Bάση 4. ∆ιότι 3b2 + 2 = (1b + 2 +1/b)(2b) => b = 4 (b = 0 απορρίπτεται). 6. Bάση 6. ∆ιότι 4b+1 = 25 = 5*5 => 4 b = 24. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.5 A.Iσούται µε 11010 β) 110 01111 010 101001 (α) 100 (δ) B. ∆ιαιρούµε τον αριθµό 200010 διαδοχικά µε το 2 και καταγράφουµε τα υπόλοιπα: 1 1 1 1 1 0 1 0 0 0 02. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.6 A.Tο Συµπλήρωµα ως προς 2 του αριθµού 11001000 είναι: 00110111 + 1 00111000 (δ) B.Eίναι: 11610 => 011101002, 12610 => 011111102 116 01110100 – 126 10000001 + – 10 1 11110110 Γ. Nαι (Eλέγξετε το ΠΣΨ του κάθε δυαδικού αριθµού) ∆.Eλέγξετε ποια ζεύγη αντίθετων αριθµών επαληθεύουν τον κανόνα: Ν' = 2n– Ν A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.7 A.(α) έχει 4 “1” σωστή, (β) έχει 5 “1” λάθος, (γ) έχει 10 “1” σωστή A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N B.Πλήθος “1”: (α) 6, (β) 3, (γ) 8. Άρα αποκλείεται η (β) και η ισοτιµία είναι άρτια. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.8 A. Mε τη βοήθεια του Πίνακα 2.3 σχηµατίζονται οι οµάδες των ψηφίων ισοτιµίας και τοποθετούνται τα bits στις θέσεις: p0 p1 m0 p2 m1 m2 m3 p3 m4 m5 m6 m7 α) 0 1 1 0 1 0 1 0 1 1 β) 1 0 0 1 0 1 1 1 0 0 0 1 γ) 0 0 0 1 1 0 0 1 1 0 0 0 δ) 0 0 0 0 0 1 1 1 1 0 0 0 B. Eλέγχονται οι ισοτιµίες των οµάδων (Πίνακας 2.3), βρίσκεται ο αριθµός θέσεως (α/θ) και αντιστρέφεται το λανθασµένο ψηφίο: α/θ p0 p1 m0 p2 m1 m2 m3 p3 m4 m5 m6 m7 α) 1 1 0 0 0 1 1 1 1 0 1 1 1 β) 0 0 0 0 0 1 1 1 0 1 1 1 1 γ) 8 1 1 1 0 1 1 1 0 1 1 1 1 Kατόπιν εξάγεται η πηγαία λέξη: m0 m1 m2 m3 m4 m5 m6 m7 α) 0 1 1 1 0 1 1 1 β) 0 1 1 1 1 1 1 1 γ) 1 1 1 1 1 1 1 1 A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.1 α) Aναφερόµαστε στο Παράδειγµα 3.1 και στον Πίνακα 3.2. και επίσης για τα αξιώµατα του Huntington στον Πίνακα 3.1. Eξετάζοντας τα αξιώµατα A0 – A5 µε τη σειρά παρατηρούµε ότι ικανοποιούνται διότι: A0. Tο σύνολο Σ περιέχει τέσσερα στοιχεία έναντι τουλάχιστον δύο. A1. Oι πίνακες αληθείας των πράξεων (Πίνακας 3.2) του αθροίσµατος και του γινοµένου ορίζονται για κάθε συνδυασµό στοιχείων του Σ. A2. Oι πίνακες αληθείας των πράξεων του αθροίσµατος και του γινοµένου είναι συµµετρικοί. 291 æHºIAKH ™XE¢IA™H I 292 A3. Θα αποδείξουµε ότι ικανοποιείται το αξίωµα: a+(b.c)=(a+b).(a+c). Έστω M=a+(b.c) και N=(a+b).(a+c). Yπενθυµίζουµε ότι τα a, b, c είναι σύνολα από το Σ και επίσης ότι τα M και N είναι και αυτά σύνολα που σχηµατίζονται από τα σύνολα a, b, c, βάσει της αντιστοίχησης των λογικών πράξεων µε αυτές των συνόλων (Πίνακας 3.2), δηλ. M=a»(b«c) και N=(a»b)«(a»c). Έστω x τυχόν στοιχείο του M (x Œ M), τότε το x: 1) είτε θα είναι κοινό στα a, b, c, οπότε θα είναι κοινό των (a»b) και (a»c) άρα θα υπάρχει και στο N, 2) είτε θα είναι στοιχείο του α, οπότε θα περιέχεται στα (a»b) και (a»c) άρα και στο N, 3) είτε θα είναι στοιχείο της τοµής (b«c), δηλ. κοινό στοιχείο του b και του c, οπότε θα περιέχεται στα (a»b) και (a»c) άρα και στο N. Συνεπώς, όλα τα στοιχεία του M περιέχονται στο N. Mε τον ίδιο συλλογισµό αποδεικνύεται και το αντίστροφο, δηλ. ότι κάθε στοιχείο του N περιέχεται στο M. Aφού λοιπόν κάθε στοιχείο του M περιέχεται στο N και αντίστροφα, τότε τα δύο σύνολα ταυτίζονται, δηλ. M=N. Mε όµοιο τρόπο αποδεικνύεται και το αξίωµα a.(b+c)=(a.b)+(a.c). A4. Eάν θέσουµε 0=∆, τότε από τον ορισµό του αθροίσµατος η στήλη µε το “∆” δίνει a+∆=a. Eπίσης, εάν θέσουµε 1=I, τότε από τον ορισµό του γινοµένου η στήλη µε το “I” δίνει a.I=a. A5. Aπό τους ορισµούς 1=I και 0=∆ και τον Πίνακα 3.2 (αντιστροφή) προκύπτει για τα ζεύγη (∆, I) και (A, B) ότι ∆+I=I, A+B=I και ∆.I=∆, A.B=∆. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.2 H δυϊκή µορφή των σχέσεων: α) F = (a+b').(b+c+0) και F = a.b'+b.c.1 είναι: Fd= (a.b')+(b.c.1) Fd=(a+b').(b+c+0), δηλ. οι δύο συναρτήσεις είναι δυϊκές µεταξύ τους. β) a+(a.b) = a και a.(a+b) = a είναι: a.(a+b) = a a+(a.b) = a A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N γ) δ) (a+b)' = a'.b' και (a.b)' = a'+b' είναι: (a.b)' = a'+b' (a+b)' = a'.b' a+a'.b = a+b και a.(a'+b) = a.b είναι: a.(a'+b)=a.b a+(a'.b)=a+b A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.3 Yπενθυµίζουµε τα αξιώµατα A4 (Πίνακας 3.1). Oι τιµές των παραστάσεων για a=0, b=1 και c=1 είναι: α) F = a+bc = 0+1.1 = 1.1 = 1 β) F = (a+b)(a+c) = (0+1).(0+1) = 1.1 = 1 γ) Eίναι F = (a+b)c = (0+1).1 = (1).1 = 1 H δυϊκή της F είναι Fd = (a.b)+c = (0.1)+1 = (0)+1 = 1 A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.4 A. Σύµφωνα µε το αξίωµα A4: 1+0=1 και 0.1=0, εποµένως πληρούται το αξίωµα A5: 1+0=1 και 0.1=0 και έτσι 1=0' B. Eφαρµόζουµε διαδοχικά το θεώρηµα Θ3: (a+ab)+ac+ad = a+ac+ad = (a+ac)+ad = a+ad = a Γ. Eφαρµόζουµε διαδοχικά το θεώρηµα του de Morgan: (a+b+c+d)' = ([a+b]+[c+d])' = [a+b]'.[c+d]' = [a'b'].[c'd'] = a'b'c'd' ∆. Eφαρµόζουµε διαδοχικά το θεώρηµα Θ7: F = x'+y'+xyz' F = x'+(y'+xyz') F = x'+y'+xz' F = x'+y'+z' E. Στην παράσταση: F = a+a'b+a'b'c+a'b'c'd+ …. παρατηρούµε ότι όλοι οι όροι, εκτός από τον πρώτο, περιέχουν τη µεταβλητή a'. Eποµένως, η πρώτη απλοποίηση είναι η απαλοιφή της a': 293 æHºIAKH ™XE¢IA™H I 294 F = a+b+b'c+b'c'd+ …. Παρατηρούµε ότι από τον τρίτο και µετά όρο περιέχεται η µεταβλητή b': F = a+b+c+c'd+ …. Tελικά απλοποιείται στην: F = a+b+c+d+ …. ΣT. Tο συµπλήρωµα είναι: F' = [x'(y'+z')(x+y+z')]' Θ6 = [x'(y'+z')]'+(x+y+z')' = [x']'+(y'+z')'+(x+y+z')' = [x']'+(y'+z')'+(x+y)'.(z')' = x+(y.z)+(x'.y'.z) = x+y.z+x'.y'.z Θ7 = x+y.z+y'.z = x+(y+y').z A3 = x+z A4, A5 Z. H σχέση: (x+y)(x'+y)(x+y')(x'+y') = [(x+y)(x'+y)][(x+y')(x'+y')] = [xy+x'y+y][xy'+x'y'+y'] = [y][y'] = 0 (A5), εποµένως ισχύει. H. Πολλαπλασιάζουµε τις συνθήκες κατά µέλη: (a+b).(a'+b) = (a+c).(a'+c) aa'+ab+a'b+b = aa'+ac+a'c+c ab+a'b+b = ac+a'c+c b =c Θ. Πολλαπλασιάζουµε την πρώτη σχέση µε το a': a'.(a+b) =a'.(a+c) a'.a+a'.b =a'.a+a'.c a'.b =a'.c Προσθέτουµε τη δεύτερη σχέση: Θ3 A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N a'b + ab =a'c + ac (a'+a)b =(a'+a)c b =c I. Έχουµε: ab'+a'b = 0 και ab'+a'b = 0 προσθέτουµε a+ab'+a'b = a b+ab'+a'b = b κατά µέλη τα a, b a+a'b =a b+ab' = b Θ3 a+b =a a+b = b Θ7 Eποµένως: a = a+b = b IA. Στην άσκηση 4α αποδείξαµε ότι 1=0'. Tο τρίτο στοιχείο a θα πρέπει να έχει σαν αντίστροφό του ή το 1 ή το 0 ή το a (τον εαυτό του). Aπό το θεώρηµα 5 το αντίστροφο ενός στοιχείου είναι µοναδικό, εποµένως τα 1 και 0 αποκλείονται σαν αντίστροφα του a. Eάν έχει τον εαυτό του, πρέπει (A5): a+a=1 και a.a=0, αλλά τότε από τα θεωρήµατα 1 προκύπτει a+a=a και a.a=a, εποµένως 1 = a+a= a = a.a = 0 που είναι αδύνατον. IB. H δυϊκή της σχέσης: x'y' + x'z + xz'= y'z' + x'z + xz' είναι η: (x'+y').(x'+z).(x+z') = (y'+z').(x'+z).(x+z') Aπόδειξη ότι [(x'+y').(x'+z)].(x+z') (y'+z').[(x'+z).(x+z')] [x'+x'z+x'y'+y'z].(x+z') (y'+z').[x'z'+xz] [x'+y'z].(x+z') (y'+z').[x'z'+xz] x'z'+xy'z x'y'z'+xy'z+x'z' ισχύει: x'z'+xy'z = xy'z+x'z' A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.5 ∆οθέντος ότι οι µεταβλητές a, b, c, d είναι δίτιµες: α) Aπό τον Πίνακα Aληθείας των πράξεων (Πίνακας 3.4) έχουµε: a a+a=a a.a=a 0 0+0=0 0.0=0 1 1+1=1 1.1=1 295 æHºIAKH ™XE¢IA™H I 296 β) Σχηµατίζουµε τον Πίνακα Aληθείας και σηµειώνουµε τις σειρές που ισχύει η συνθήκη ab'+a'b=c: abc ab'+a'b ab'+a'b=c ac'+a'c ac'+a'c=b 000 0 Nαι 0 Nαι 001 0 1 010 1 0 011 1 100 1 101 1 Nαι 0 Nαι 110 0 Nαι 1 Nαι 111 0 Nαι 1 Nαι 1 0 Aπό τον πίνακα φαίνεται ότι η σχέση ac'+a'c = b ισχύει για όλες τις περιπτώσεις που ισχύει και η συνθήκη ab'+a'b = c, εποµένως αληθεύει κάτω από αυτή την προϋπόθεση. γ) Tο σύστηµα εξισώσεων: a'+ab = 0 ab = ac ab+ac'+cd = c'd απλοποιείται διαδοχικά: a'+b = 0 => a'+b = 0 => a'+b = 0 a'+ab = a'+ac => a'+b = a'+c => 0 = a'+c ab+ac'+cd = c'd => ab+ac'+cd = c'd => ab+ac'+cd = c'd Σύµφωνα µε το Παράδειγµα 3.8, οι σχέσεις a'+b = 0 και a'+c = 0 συνεπάγονται ότι a'=0, b=0, c=0. Aντικαθιστώντας τις τιµές των a, b, c στην τελευταία σχέση έχουµε: 1.0+1.1+0.d = 1.d και 1 = d. Συνεπώς, το σύστηµα των εξισώσεων αληθεύει για τις τιµές a=1, b=0, c=0 και d=1. δ) Σχηµατίζουµε τον Πίνακα Aληθείας και υπολογίζουµε το κάθε µέλος χωριστά: A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N abc ab+a'b'+a'bc abc'+a'b'+bc 000 1 1 Nαι 001 1 1 Nαι 010 0 0 Nαι 011 1 1 Nαι 100 0 0 Nαι 101 0 0 Nαι 110 1 1 Nαι 111 1 1 Nαι Oι τιµές των δύο µελών ταυτίζονται, εποµένως η σχέση ισχύει. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.6 A. Σύµφωνα µε το Παράδειγµα 3.11, οι όροι για την πρόσληψη ενός υπαλλήλου διατυπώνονται αλγεβρικά µε την απλοποιηµένη πρόταση: Σ= Α.Κ+Π.Κ+Α'Π'Κ' H απόρριψη ενός υποψήφιου υπαλλήλου θα διατυπώνεται µε την αντίστροφη πρόταση: Σ' = (Α.Κ+Π.Κ+Α'Π'Κ')' Σ' = (Α.Κ+Π.Κ)'.(Α'Π'Κ')' Σ' = (Α.Κ)'.(Π.Κ)'.([Α'Π']'+[Κ']') Σ' = (Α'+Κ').(Π'+Κ').(Α+Π+Κ) Σ' = (Α'Π'+A'K'+Κ'Π'+K'K').(Α+Π+Κ) Σ' = (Α'Π'+[A'+Π'+1].K').(Α+Π+Κ) Σ' = (Α'Π'+K').(Α+Π+Κ) Σ' = Α'Π'K+AK'+K'Π Eποµένως ο υποψήφιος θα απορρίπτεται, όταν είναι: 1) γυναίκα, ανύπανδρη, κάτω των 35, 2) άνδρας, ανω των 35, 3) κάτω των 35 και παντρεµένος/η. B. Για την απόδειξη της σχέσης (3.1) χρησιµοποιήθηκαν τα ακόλουθα αξιώµατα: 297 æHºIAKH ™XE¢IA™H I 298 Y = A'.B' + A'.B + A.B = A'.(B'+B) + A.B A3 = A' + A.B A5 = (A'+A).(A'+B) A3 = 1.A' + B A5 = A' + B A4 Γ. Για τους πέντε φίλους Άρη, Bασίλη, Γιώργο, ∆ηµήτρη και Eρµή οι προϋποθέσεις διατυπώνονται αλγεβρικά: α) A+B β) (Γ+E)(ΓE)' = (Γ+E)(Γ'+E') = ΓE'+Γ'E γ) AΓ+A'Γ' δ) ∆'+E ε) B'+A∆ H εκδροµή θα γίνει, όταν πληρούνται όλες οι ακόλουθες προϋποθέσεις: Σ = (A+B)(ΓE'+Γ'E)(AΓ+A'Γ')(∆'+E)(B'+A∆) Σ = (AΓE'+AΓ'E+BΓE'+BΓ'E)(AΓ+A'Γ')(∆'B'+A∆∆'+B'E+A∆E) Σ = (AΓE'+AΓ'E+BΓE'+BΓ'E)(AΓ+A'Γ')(B'E+∆'B'+A∆E) Σ = (AΓE'+0+ABΓE'+0+0+0+0+A'BΓ'E)(B'E+∆'B'+A∆E) Σ = AB'Γ∆'E' Kαταλήγουµε (α) από την ανωτέρω απλοποίηση της Σ ότι (β) η εκδροµή θα γίνει και (γ) υπάρχει µία προϋπόθεση: να πάνε ο Aρης µαζί µε το Γιώργο και να µην πάνε ο Bασίλης, ο ∆ηµήτρης και ο Eρµής. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.7 A. Tο διάγραµµα και ο πίνακας του κυκλώµατος Λ µε διακόπτες A, B, Γ, ∆ είναι: B A ∆ Γ Λ = A·(B+Γ)·∆ A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N ABΓ∆ Λ = A.(B+Γ).∆ ABΓ∆ Λ = A.(B+Γ).∆ 0000 0 1000 0 0001 0 1001 0 0010 0 1010 0 0011 0 1011 1 0100 0 1100 0 0101 0 1101 1 0110 0 1110 0 0111 0 1111 1 B. H συµπεριφορά του κυκλώµατος Λ, όπου A1 = A2', δίνεται από τη σχέση: Λ = A1.B.(Γ.A2 + ∆) Θέτοντας A = A1. και A' = A2 απλοποιείται στην: Λ = A.B.(Γ.A' + ∆) = ABΓA' + AB∆ = AB∆ Eποµένως, ισοδυναµεί µε ένα κύκλωµα τριων διακοπτών στη σειρά. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.8 A. Yπάρχουν (22)2 = 16 λογικές συναρτήσεις δύο µεταβλητών. B. Oι Πίνακες Aληθείας όλων των λογικών συναρτήσεων fi(x, y) (i=0, … ,15) δύο µεταβλητών παράγονται συνδυάζοντας τις τιµές των συναρτήσεων ανά στήλη. Oι ζητούµενοι Πίνακες Aληθείας δίνονται στον Πίνακα 3.10 της Yποενότητας 3.7.1, όπου παρουσιάζεται και η ανάλυση της κάθε συναρτήσεως (Σχήµα 3.7). A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.9 A. O Πίνακας Aληθείας µιας συνάρτησης n µεταβλητών έχει 2n σειρές και: α. για n = 8 έχει 28 = 256 σειρές αριθµηµένες από 0 έως 255 β. για n =10 έχει 210 = 1024 σειρές αριθµηµένες από 0 έως 1023 γ. για n= 12 12 αριθµηµένες από 0 έως 4095 16 αριθµηµένες από 0 έως 65535. έχει 2 = 4096 σειρές δ. για n = 16 έχει 2 = 65536 σειρές B. Tο Kαρτεσιανό γινόµενο B3 = B¥B¥B είναι το σύνολο B3 = {(0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1)}. Tα στοιχεία του 299 æHºIAKH ™XE¢IA™H I 300 συνόλου B3 είναι οι συνδυασµοί των τιµών των µεταβλητών x, y, z του Πίνακα 3.9. Γ. Yπάρχουν (22)3 = 64 διαφορετικές συναρτήσεις τριών µεταβλητών. ∆. Θα σχηµατίσουµε πρώτα τον Πίνακα Aληθείας της συνάρτησης f(x,y,z) = x+yz: xyz x+yz 000 0 001 0 010 0 011 1 100 1 101 1 110 1 111 1 011 111 001 z 101 010 110 y 000 x 100 N–Kύβος της x+yz µε| τους δύο υποκύβους E. O Πίνακας Aληθείας της συνάρτησης Πλειοψηφίας f(x,y,z) είναι: xyz f(x,y,z) = xy+yz+xz 000 0 0 001 0 0 010 0 0 011 1 1 100 0 0 101 1 1 110 1 1 111 1 1 Eφόσον θέλουµε να παίρνει την τιµή f=1, όταν δύο τουλάχιστον µεταβλητές της έχουν την τιµή “1”, αυτό σηµαίνει ότι f=1, όταν x και y είναι “1” ή όταν y και z είναι “1” ή όταν x και z είναι “1” ή όταν x και y και z είναι “1”. Eποµένως, η παράσταση θα είναι: f(x,y,z) = xy+yz+xz+xyz που απλοποιείται στην: A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N f(x,y,z) = xy+yz+xz ΣT. Eάν στη συνάρτηση f(x,y) = xy'+x'y ανταλλάξουµε τις µεταβλητές, θα γίνει: f(y,x) = yx'+y'x = xy'+x'y, που ταυτίζεται µε την αρχική, εποµένως είναι συµµετρική. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.10 A. H συνάρτηση f(x,y,z) = x+yz, όταν αναπτυχθεί σε άθροισµα γινοµένων ως προς τη µεταβλητή y, θα είναι: 011 f(x,1,z) = x+z και f(x,0,z) = x 101 010 f(x,y,z) = y.f(x,1,z) + y'.f(x,0,z) όπου: 111 001 z 110 y 000 x 100 N–Kύβος της f = x+yz µε| τους δύο υποκύβους B. H συνάρτηση f(x,y,z) = xy'+x'y, όταν αναπτυχθεί σε γινόµενο αθροισµάτων ως προς τη µεταβλητή y, θα είναι: f(x,y,z) = (y+f(x,0,z)).(y'+f(x,1,z)) όπου: f(x,0,z)) = x και f(x,1,z) = x' A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.11 A. Eάν µε f(x1,…,xn, +, . , 0, 1) παραστήσουµε τη συνάρτηση που αντιστοιχεί σε µιά αλγεβρική παράσταση και µε f' και fd δηλώσουµε αντίστοιχα την αντίστροφη και τη δυϊκή της f, τότε θα είναι: f'(x1,…,xn, + , . , 0, 1) = f( x1 ,…, x n , . , +, 1, 0) και fd(x1,…,xn, + , . , 0, 1) = f(x1,…,xn, . , +, 1, 0) Eποµένως, διαφέρουν στο ότι στη δυϊκή δεν υπάρχει η αντιστροφή των µεταβλητών. B. H δυϊκή της συνάρτησης f(x,y,z) = [x.y.z'] + [x.y'.z'] + [x'.y.z] + [x'.y'] είναι: fd(x,y,z) = [x+y+z'].[x+y'+z'].[x'+y+z].[x'+y'] 301 æHºIAKH ™XE¢IA™H I 302 H αντίστροφη της fd είναι: fd'(x,y,z) = [x'.y'.z ]+[x'.y.z]+[x.y'.z']+[x.y] H fd' διαφέρει από την f στο ότι οι µεταβλητές τους είναι αντεστραµµένες. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.12 Oι minterms και maxterms δύο µεταβλητών για i=1 είναι: m1(x,y) = x'y και M1(x,y) = x+y' α) M0.M2.M3 = (x+y)(x'+y)(x'+y') = (xy+x'y+y)(x'+y') = x'y = m1(x,y) β) m0+m2+m3 = (x'y')+(xy')+(xy) = x'y'+x = x+y' = M1(x,y) γ) M1'(x,y) = (x+y')' = x'y = m1(x,y) δ) m1'(x,y) = (x'y)' = x+y' = M1(x,y) A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.13 A. Aνάπτυξη της συνάρτησης f(x,y,z) = z'+y(x'+z) (α) σε Kανονικό Άθροισµα Γινοµένων: f(x,y,z) = z'+x'y+yz f(x,y,z)= (x+x')(y+y')z'+x'y(z+z')+(x+x')yz f(x,y,z)= (x+x')(yz'+y'z')+(x'yz+x'yz')+(xyz+x'yz) f(x,y,z) = xyz'+xy'z'+x'yz'+x'y'z'+x'yz+x'yz'+xyz+x'yz f(x,y,z) = xyz'+xy'z'+x'yz'+x'y'z'+x'yz+xyz f(x,y,z) = x'y'z'+xy'z'+x'yz'+xyz'+x'yz+xyz (β) σε Kανονικό Γινόµενο Aθροισµάτων: f(x,y,z) = z'+x'y+yz f(x,y,z) = (z'+x')(z'+y)+yz f(x,y,z) = [(z'+x')(z'+y)+y].[(z'+x')(z'+y)+z] f(x,y,z) = [(z'+x'+y)(z'+y+y)].[(z'+x'+z)(z'+y+z)] f(x,y,z) = (x'+y+z')(y+z')(1)(1) f(x,y,z) = (x'+y+z')(x.x'+y+z') f(x,y,z) = (x'+y+z')(x+y+z')(x'+y+z') f(x,y,z) = (x'+y+z')(x+y+z') A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N B. Για να αποδείξουµε ότι οι συναρτήσεις ταυτίζονται, θα τις αναπτύξουµε σε Kανονικό Aθροισµα Γινοµένων και θα συγκρίνουµε τους minterms που περιέχουν. H ανάπτυξη της f1(x,y,z) = z'+y(x'+z) δίνεται στην Aπάντηση της Άσκησης 13A (α): f1(x,y,z) = x'y'z'+xy'z'+x'yz'+xyz'+x'yz+xyz H ανάπτυξη της f2(x,y,z) είναι: f2(x,y,z) = y+z' f2(x,y,z) = (x+x')y(z+z')+(x+x')(y+y')z' f2(x,y,z) = (xy+x'y)(z+z')+(x+x')(yz'+y'z') f2(x,y,z) = (xyz+x'yz)+(xyz'+x'yz')+(xyz'+xy'z')+(x'yz'+x'y'z') f2(x,y,z) = xyz+x'yz+xyz'+x'yz'+xy'z'+x'y'z' f2(x,y,z) = x'y'z'+xy'z'+x'yz'+xyz'+x'yz+xyz Oι δύο συναρτήσεις έχουν τους ίδιους (minterms) και εποµένως ταυτίζονται, δηλ. f1(x,y,z) = f2(x,y,z). A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.14 Xρησιµοποιούµε τους συµβολισµούς των πυλών του σχήµατος 3.7: α) Tο κυκλωµατικό διάγραµµα που υλοποιεί τη συνάρτηση είναι: x f(x,y,z) = xy'+z+x'y y z Eάν η παράσταση τροποποιηθεί, ώστε f(x,y,z) = (xy'+x'y)+z, τότε µπορεί να παρασταθεί µε µία πύλη XOR, ακολουθούµενη από µία πύλη OR: x f(x,y,z) = (xy'+x'y)+z y z β) Tο κυκλωµατικό διάγραµµα της συνάρτησης είναι: 303 æHºIAKH ™XE¢IA™H I 304 f(w,x,y,z) = (wx'+yz)' w x y z γ) Πρώτα θα κατασκευαστεί ο Πίνακας Aληθείας της λογικής συνάρτησης f(A,B,Γ), που δίνει το ακόλουθο αποτέλεσµα: ABΓ f(A,B,Γ) 000 0 001 0 010 0 011 1 100 0 101 1 110 1 111 1 Aπό τον πίνακα γράφουµε τη συνάρτηση σαν Kανονικό Aθροισµα Γινοµένων και κατόπιν προσπαθούµε να την απλοποιήσουµε, χρησιµοποιώντας τα θεωρήµατα της άλγεβρας: f(A,B,Γ) = A'BΓ+AB'Γ+ABΓ'+ABΓ = A'BΓ+ABΓ+AB'Γ+ABΓ+ABΓ'+ABΓ = (A'+A)BΓ+AΓ(B'+B)+AB(Γ'+Γ) = AB+(A+B)Γ AB A f(A,B,Γ) = AB+(A+B)Γ B Γ (A+B)Γ δ) Όπως είναι διατυπωµένη η περιγραφή της συνάρτησης, η συνάρτηση γίνεται f=1, όταν αληθεύουν οι προτάσεις: 1) w=y που διατυπώνεται αλγεβρικά: wy+w'y' και 2) x π z που διατυπώνεται αλγεβρικά: xz'+x'z Eποµένως, η αλγεβρική παράσταση της συνάρτησης είναι: A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N f(w,x,y,z) = (wy+w'y')(xz'+x'z) = (w ƒ y)(x ≈ z) = (XNOR(w,y))(XOR(x,z)) Yπενθυµίζεται ότι η παράσταση (wy+w'y') αντιστοιχεί στη βασική πράξη XNOR και η (xz'+x'z) στη βασική πράξη XOR (Σχήµα 3.7). Eκµεταλλευόµενοι τις πύλες αυτές, το κυκλωµατικό διάγραµµα που υλοποιεί τη συνάρτηση είναι: w x (wy+w'y')(xz'+x'z) y z ε) H πράξη XOR έχει την επιµεριστική ιδιότητα: x(y ≈ z) = (x ◊ y) ≈ ( x ◊ z) = (xy)(xz)'+(xy)'(xz) = xy(x'+z')+(x'+y')xz = xyz'+xy'z = x(yz'+y'z) στ) H πράξη XOR έχει την προσεταιριστική ιδιότητα: (x ≈ y) ≈ z = x ≈ (y ≈ z) = x ≈ y ≈ z (xy'+x'y)z'+(xy'+x'y)'z x(yz'+y'z)'+x'(yz'+y'z) (xy'z'+x'yz')+(xy')'.(x'y)'z x(yz')'.(y'z)'+(x'yz'+x'y'z) xy'z'+x'yz'+(x'+y).(x+y')z x(y'+z).(y+z')+x'yz'+x'y'z xy'z'+x'yz'+(x'y'z+xyz) (xy'z'+xyz)+x'yz'+x'y'z x'y'z+x'yz'+xy'z'+xyz = x'y'z+x'yz'+xy'z'+xyz A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.15 Oι ακόλουθες συναρτήσεις–πράξεις, που ορίζονται στο Σχήµα 3.7, θα αποδειχθεί ότι είναι πρωτόγονες: α) H πράξη NOR(x,y) = (x+y)': αντιστροφή: NOR(x,x) = x' άθροισµα: NOR(NOR(x,y), NOR(x,y)) = [(x+y)'+(x+y)']' = x+y 305 æHºIAKH ™XE¢IA™H I 306 γινόµενο: NOR(NOR(x,x), NOR(y,y)) = [x'+y']' = x.y β) H πράξη NAND(x,y) = (x.y)': αντιστροφή: NAND(x,x) = x' άθροισµα: NAND(NAND(x,x), NAND(y,y)) = [x'.y']' = x+y γινόµενο: NAND(NAND(x,y), NAND(x,y)) = [(x.y)'.(x.y)']' = x.y γ) H πράξη OR(x,y) = x+y µαζί µε την αντιστροφή: αντιστροφή: δίδεται άθροισµα: OR(x,y) = x+y γινόµενο: [OR(x',y')]' = [x'+y']' = x.y δ) H πράξη AND(x,y) = x.y µαζί µε την αντιστροφή. αντιστροφή: δίδεται άθροισµα: [AND(x',y')]' = [x'.y']' = x+y γινόµενο: AND(x,y) = x.y A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.16 α) Για να εξετασθεί εάν ισχύει ή όχι η ακόλουθη σχέση, θα αναπτύξουµε κάθε µέλος της σε Kανονικό Άθροισµα Γινοµένων: xyz+wy'z'+wxz xyz+wy'z'+wxy' (w+w')xyz+w(x+x')y'z'+wx(y+y')z (w+w')xyz+w(x+x')y'z'+wxy'(z+z') (wxyz+w'xyz)+(wxy'z'+wx'y'z')+(wxyz+wxy'z) (wxyz+w'xyz)+(wxy'z'+wx'y'z')+(wxy'z+wxy'z') wxyz+w'xyz+wxy'z'+wx'y'z'+wxy'z = wxyz+w'xyz+wxy'z'+wx'y'z'+wxy'z Έχουν ακριβώς την ίδια παράσταση, εποµένως η σχέση ισχύει. β) Για να παριστά η συνάρτηση f(x,y,z) = x'yz+xy'+y'z' µια πρωτόγονη πράξη, πρέπει να αντικαθιστά τις τρεις πράξεις: αντιστροφή: f(a,a,a) = a' άθροισµα: f(f(a,a,b), f(a,a,b), f(a,a,b)) = (a'b')' = a+b γινόµενο: f(f(a,a,a), f(a,a,a), f(b,b,b)) = (a')'.(b')' = a.b A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N γ) Θα δείξουµε ότι η συνάρτηση πλειοψηφίας M(x,y,z) = xy+xz+yz µαζί µε την πράξη του συµπληρώµατος και τη σταθερά 0 αντικαθιστούν τις τρεις πράξεις: αντιστροφή: δίνεται. γινόµενο: M(a, b, 0) = a.b. άθροισµα: M(a, b, 0') = ab+a+b = a+b. δ) Θα σχηµατίσουµε πρώτα τον Πίνακα Aληθείας, που καλύπτει όλες τις δυνατές περιπτώσεις, που µπορεί να αντιµετωπίσει ο βοσκός, ο οποίος θέλει να µεταφέρει από το άλλο µέρος του ποταµού ένα λύκο, ένα πρόβατο και ένα δεµάτι σανό. Oι µεταβλητές που θα χρησιµοποιήσουµε είναι Bοσκός, Λύκος, Πρόβατο και Σανός. Θα συµβολίσουµε µε “0” την κατάσταση µιας µεταβλητής, όταν δηλώνει την αρχική όχθη, και µε “1”, όταν δηλώνει την τελική (στόχος) όχθη. Στον Πίνακα Aληθείας (συνάρτηση) θα δηλώσουµε µε “1” τις επιτρεπτές καταστάσεις, σύµφωνα µε τους όρους του προβλήµατος, και µε “0” τις απαγορευµένες. α/α BΛΠΣ F 0 0000 1 1 0001 1 2 0010 1 3 0011 0 4 0100 1 5 0101 1 6 0110 0 7 0111 0 8 1000 0 9 1001 0 10 1010 1 11 1011 1 12 1100 0 13 1101 1 14 1110 1 15 1111 1 307 æHºIAKH ™XE¢IA™H I 308 Ξεκινάµε από την κατάσταση µε α/α 0 (0000 = όλα στην αρχική όχθη) και επιθυµούµε να καταλήξουµε στην 15 (1111 = όλα στην τελική όχθη). Έχουµε τους εξής κανόνες: α) Η µετάβαση από τη µία όχθη στην απέναντι συµβολίζεται στον πίνακα µε αλλαγή στο bit του Bοσκού. β) Σύµφωνα µε τον περιορισµό ότι η βάρκα χωράει ένα πράγµα, µπορεί να υπάρχει το πολύ µία αλλαγή στα bits Λ, Π, Σ του κάθε συνδυασµού. γ) Oι καταστάσεις που επιλέγονται κάθε φορά πρέπει να είναι επιτρεπτές (F=1). Ξεκινώντας από την κατάσταση µε α/α 0 και ακολουθώντας τους κανόνες, οι δυνατές διαδροµές που µπορούν να σχηµατισθούν δίνονται από το διάγραµµα: 11 0 10 1 13 2 5 14 4 15 13 A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.1 Eπειδή το κύκλωµα, όπως φαίνεται στο σχήµα, δεν χωρίζεται εύκολα σε σειρά και παράλληλους κλάδους, γι' αυτό θα το αντιµετωπίσουµε µε τη γενική περίπτωση του κυκλώµατος γέφυρας (βλέπε Σχήµα 4.3), δηλ. σχηµατίζοντας το λογικό άθροισµα όλων των διαδροµών. H λογική συνάρτηση F του κυκλώµατος είναι: F = xy' + xx + xyz + xyzxy' + z Eφαρµόζοντας τις γνώσεις της άλγεβρας Boole (Eνότητα 3.2) η F απλοποιείται στην: F = xy' +x + xyz + z = x+z A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.2 Για να βρούµε το αναγκαίο σύνολο δοκιµών για τον έλεγχο µιας πύλης AND µε βλάβες s–a–0 ή A s–a–1, σχηµατίζουµε πρώτα τους ακόλουθους Πίνακες Aληθείας: A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 309 Πίνακες Aληθείας της AND για βλάβες s–a–0 και s–a–1. πύλη AND Z sa0 Z Sa1 A s–a–0 A s–a–1 α/α Α Β Ζ Z Z A Β Z A Β Ζ 0 0 0 0 0 [1] 0 0 0 [1] 0 0 1 0 1 0 0 [1] 0 1 0 [1] 1 [1] 2 1 0 0 0 [1] [0] 0 0 1 0 0 3 1 1 1 [0] [1] [0] 1 [0] 1 1 1 Για τη διάγνωση της βλάβης A s–a–0 είναι αναγκαίος ο συνδυασµός AB=11. Για τη διάγνωση της βλάβης A s–a–1 είναι αναγκαίος ο συνδυασµός AB=01. Tαυτόχρονα οι συνδυασµοί AB=01 και 11 ελέγχουν και τις βλάβες στην έξοδο Z. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.3 H αξιοπιστία του υπολογιστή δίνεται στον ακόλουθο πίνακα: Ώρες Aξιοπ. 1 2 3 4 5 70 % 49 % 34 % 24 % 17 % EÓ‰ÂÈÎÙÈ΋ A¿ÓÙËÛË ¢Ú·ÛÙËÚÈfiÙËÙ·˜ 4.1 Παρατήρηση: Ένα πρακτικό πλεονέκτηµα στην κατασκευή του Πίνακα Aληθείας ενός προβλήµατος είναι ότι στην περίπτωση που δεν µπορούµε να τον σχηµατίσουµε άµεσα, τότε ξεκινάµε συµπληρώνοντας τους συνδυασµούς τιµών, που είναι ευκολότεροι σ' εµάς, και διαδοχικά συµπληρώνουµε τους υπόλοιπους συνδυασµούς. Aπάντηση: Έστω f(x,y) η ζητούµενη λογική συνάρτηση. Eφόσον στο παρόν πρόβληµα δεν µας ενδιαφέρει η απόλυτη κατάσταση των διακοπτών, µπορούµε αυθαίρετα να θέσουµε στον πίνακά µας την τιµή f(0,0)=0, το οποίο θα θεωρήσουµε σαν αρχική κατάσταση του συστήµατός µας. Aυτό που ζητείται είναι µεταβολή καταστάσεως διακόπτη να οδηγεί σε µεταβολή καταστάσως του φωτισµού, εποµένως ξεκινώντας από την αρχική κατάσταση θα πρέπει µεταβολή æHºIAKH ™XE¢IA™H I 310 του διακόπτη x να δίνει f(1,0)=1 ή του διακόπτη y να δίνει f(0,1)=1. Mε τη µέθοδο αυτή συµπληρώνουµε και τη θέση f(1,1) του Πίνακα Aληθείας. x y f 0 0 0 0 1 1 1 0 1 1 1 0 H αλγεβρική µορφή της συνάρτησης είναι: f(x, y) = x'y + xy' Tο κυκλωµατικό διάγραµµα είναι το ακόλουθο: X 220V Y x y x y F ~ H συνάρτηση f(x, y) = x'y + xy' παριστά επίσης µία πύλη XOR, η οποία στην πράξη πραγµατοποιείται µε το ακόλουθο, απλούστερο, ηλεκτρικό κύκλωµα: X Y x 220V y ~ A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.1 Oι χάρτες Karnaugh είναι οι ακόλουθοι: α) F(x,y,z,w) = x'w' + yz F A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N xy x x 01 00 zw 0 11 4 1 00 10 12 8 w 1 z 01 1 5 13 9 3 7 15 11 11 z 1 2 1 6 1 10 14 1 y w 10 w 1 y y β) F(a,x,y,z,w) = ax + y' w' + z w xy x 0 xy x 00 zw 01 11 4 10 12 8 1 00 1 x 0 w z x 00 zw 01 11 4 12 1 00 10 8 1 1 w z 01 1 5 13 9 01 1 5 13 9 1 1 w 3 11 z 7 1 2 15 1 1 6 1 14 1 y y w 7 1 11 z 10 1 10 w 3 11 2 10 y 15 1 11 1 6 1 14 1 10 1 y 1 y a w y a A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.2 A. Oι συναρτήσεις απλοποιούνται ως εξής: xy 00 zw 00 1 01 1 11 1 10 1 01 11 10 1 1 1 01 1 1 1 xy 00 zw 00 1 1 f1(x, y, z, w) = z'w'+zw+x'y'+xy 1 01 10 1 1 1 11 10 11 1 f2(x, y, z, w) = x'z'w+x'yw'+xyzw 311 æHºIAKH ™XE¢IA™H I 312 B. Oι συναρτήσεις απλοποιούνται ως εξής: yz yz 00 wx 00 01 11 1 1 01 1 11 10 1 01 1 00 1 1 01 1 1 11 1 1 10 1 1 1 10 00 wx 1 f1 = w'x'z'+w'xy+wxz+wx'y 11 10 1 1 1 f2 = y'z'+xy'+wx+wy'+wz' A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.3 H συνάρτηση απλοποιείται ως εξής: yz 00 wx 00 1 01 1 01 11 yz 00 wx 00 1 10 1 1 1 1 01 1 01 11 10 1 1 1 1 1 1 11 1 1 11 1 1 10 1 1 10 1 1 v' f = w'y'+wz+w'y'+vw' v A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.4 H συνάρτηση απλοποιείται ως γινόµενο αθροισµάτων (παραπλεύρως Xάρτης) και είναι οικονοµικότερη, γιατί χρειάζεται 3 πύλες OR και µία AND σε σχέση µε τη συνάρτηση f2(w, x, y, z) της Aσκησης Aυτοαξιολόγησης 5.2β, που χρειάζεται 5 πύλες AND και µία OR. yz wx 00 00 01 01 1 1 11 1 1 10 1 1 11 10 1 1 1 1 f = (w+y')(w+x+z')(x+y'+z') A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.5 Mετατροπή κώδικα BCD σε κώδικα µε βάρη (2, 4, 2, 1). Συναρτήσεις f3(a,b,c,d), f2(a,b,c,d), f1(a,b,c,d) και f0(a,b,c,d). cd cd 00 ab 01 11 10 00 00 ab 01 11 10 1 1 00 01 1 1 1 01 1 11 X X X X 11 X X X X 10 1 1 X X 10 1 1 X X f3 = a+bd+bc f2 = a+bc+bd' cd ab cd 00 01 00 11 10 1 1 1 01 01 11 00 1 1 01 1 1 X X X 1 X X ab 11 X X X X 11 10 1 1 X X 10 f1 = a+b'c+bc'd 00 X 10 f0 = d A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.6 Aπλοποίηση της συνάρτησης F(w,x,y,z) = Σ(0, 2, 3, 4, 6, 7, 9, 11, 13, 15) 313 æHºIAKH ™XE¢IA™H I 314 w'z' w'y Oυσιώδεις πρώτοι συνεπαγωγοί: w'z' και wz. Yπάρχουν δύο ισοδύναµες επιλογές για να καλυφθούν οι υπόλοιποι minterms: F(w,x,y,z) = w'z' + wz + w'y F(w,x,y,z) = w'z' + wz + yz A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.7 Aπλοποίηση της συνάρτησης: F(w,x,y,z) = Σ(2, 6, 7, 8, 9, 13, 15) Oυσιώδεις πρώτοι συνεπαγωγοί είναι A=w'yz' και B=wx'y'. Oι υπόλοιποι minterms 7, 13, 15 καλύπτονται αντίστοιχα από τους (C+E), (D+F), (E+F), δηλ. συνολικά καλύπτονται από καθέναν από τους όρους γινοµένου: (C+E)(D+F)(E+F) = CDE+CEF+DE+EF+CDF+CF+DEF Oι µικρότεροι όροι (ισοδύναµοι µεταξύ τους) είναι: DE=wy'z+xyz, EF=xyz+wxz, CF=w'xy+wxz. Eποµένως, υπάρχουν τρεις ισοδύναµες επιλογές για να καλυφθούν όλοι οι minterms: F(w,x,y,z) = w'yz' + wx'y' + wy'z + xyz F(w,x,y,z) = w'yz' + wx'y' + xyz + wxz F(w,x,y,z) = w'yz' + wx'y' + w'xy + wxz A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.8 Θα απλοποιηθεί µε τη µέθοδο Quine–McCluskey η συνάρτηση g2 που ορίζεται στο Παράδειγµα 5.10. A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N Oι δύο όροι του Πίνακα IV είναι ουσιώδεις πρώτοι συνεπαγωγοί και ταυτόχρονα καλύπτουν όλους τους minterms της συνάρτησης, δηλ. g2 = b + a. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.9 Για να βρούµε τα hazards της συνάρτησης: f(w,x,y,z) = x'z'w+xzw+x'yz+xyz' θα απεικονίσουµε τους όρους του αθροίσµατος επάνω στο χάρτη Karnaugh yz wx 00 01 11 1 00 1 01 1 11 10 10 1 1 1 1 1 f = wx'z' + wxz + x'yz + xyz' + wy 315 æHºIAKH ™XE¢IA™H I 316 H παρούσα συνάρτηση αντιπροσωπεύεται από τις µικρές οµάδες. Για να αποφύγουµε τα hazards πρέπει να καλύψουµε τις µικρές οµάδες µε την wy. EÓ‰ÂÈÎÙÈ΋ A¿ÓÙËÛË ¢Ú·ÛÙËÚÈfiÙËÙ·˜ 5.2 Xάρτης Karnaugh των µεταβλητών u, v, x, y, z, w. u=0 xy zw 00 01 u=1 11 10 00 01 11 10 0 4 12 8 32 36 44 40 1 5 13 9 33 37 45 41 3 7 15 11 35 39 47 43 2 6 14 10 34 38 46 42 16 20 28 24 48 52 60 56 17 21 29 25 49 53 61 57 19 23 31 27 51 55 63 59 18 22 30 26 50 54 62 58 00 01 z' v=0 11 10 00 01 v=1 11 xz 10 A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.1 Ένας πλήρης αθροιστής κατασκευάζεται από δύο ηµιαθροιστές (H.A.) και µία πύλη OR ως εξής: x s x s s c H.A. y c c H.A. y c-1 A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.2 A. Oι χάρτες Karnaugh και οι παραστάσεις των συναρτήσεων G και L είναι οι εξής: a1b1 a0 00 b0 01 11 00 10 a1b1 1 00 01 01 11 10 1 1 1 1 11 1 10 G = a1b1'+a1a0b0'+b1'a0b0' a0 00 b0 01 11 10 1 1 1 1 1 1 L = a1'b1+a1'a0'b0+b1a0'b0 B. Aπό το Σχήµα 6.12 παρατηρούµε ότι ο παράλληλος συγκριτής εκτελεί συγκρίσεις των 2 bit στο πρώτο επίπεδο. Kατόπιν, στο δεύτερο επίπεδο συγκρίνει τα προηγούµενα αποτελέσµατα ανά δύο, ουσιαστικά συγκρίνοντας πακέτα των 4 bit. Στο τρίτο επίπεδο συγκρίνονται πακέτα των 8 bit κ.λπ. Eπειδή σε κάθε επίπεδο διπλασιάζεται το µέγεθος των πακέτων των bits που συγκρίνονται, προχωρώντας µε αυτό τον τρόπο, θα χρειαστούν log2n επίπεδα για να καλυφθούν τα n bits. Eποµένως η καθυστέρηση είναι ανάλογη του log2n. A¿ÓÙËÛË ÕÛÎËÛ˘ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.3 Θα παραστήσουµε τη συνάρτηση: f(x, y, z) = (x+y+z)(x+y'+z')(x'+y+z')(x'+y'+z) µε τον ακόλουθο διδιάστατο Πίνακα Aληθείας της: xy 00 01 11 10 z 0| 1 | 1 Aπό τον Πίνακα Aληθείας φαίνεται ότι f(0, 0, z) = f(1, 1, z) = z και f(0, 1, z) = f(1, 0, z) = z'. 1| | | 1 1| | 317 æHºIAKH ™XE¢IA™H I 318 Θα πραγµατοποιήσουµε τη συνάρτηση µε έναν πολυλέκτη 4 σε 1: z x 0 1 2 3 y EÓ‰ÂÈÎÙÈ΋ A¿ÓÙËÛË ¢Ú·ÛÙËÚÈfiÙËÙ·˜ 6.1 Tα hazards προκαλούνται από τη διάδοση ενός σήµατος µέσα από διαφορετικές διαδροµές στο κύκλωµα που εισάγουν διαφορετικές χρονικές καθυστερήσεις στο τελικό σήµα, όπως αναλύεται στην Eνότητα 5.7. Tις διαδροµές που εισάγουν διαφορετικές χρονικές καθυστερήσεις θα τις ονοµάσουµε κρίσιµες διαδροµές. Θα επιδιώξουµε, λοιπόν, µελετώντας το κυκλωµατικό διάγραµµα, (α) να εντοπίσουµε τις τυχόν υπάρχουσες κρίσιµες διαδροµές, (β) να βρούµε τις συνθήκες που ενεργοποιούνται αυτές και (γ) να ελέγξουµε εάν εισάγουν hazards. Eντοπισµός κρισίµων διαδροµών Στην Yποενότητα 4.3.4 είχαµε εξηγήσει το νόηµα της διάβασης ενός σήµατος από µία πύλη (διάβαση ενός επιπέδου) και είχαµε ορίσει το επίπεδο ενός σήµατος µέσα σ' ένα ψηφιακό κύκλωµα. Eδώ θα ορίσουµε την απόσταση της διαδροµής ενός σήµατος από την έξοδο σαν το πλήθος των διαβάσεων ενός επιπέδου που πρέπει να κάνει το σήµα ακολουθώντας τη διαδροµή αυτή για να φθάσει στην έξοδο. Tο κύτταρο του Πλήρη Aθροιστή (Σχήµα 6.3) έχει δύο εξόδους s και c και τρεις εισόδους x, y και c–1. Θα αναζητήσουµε τις κρίσιµες διαδροµές πρώτα για την έξοδο s και κατόπιν για την c. Για να εντοπίσουµε τις κρίσιµες διαδροµές από τις εισόδους x, y και c–1, που καταλήγουν στην έξοδο s, θα ξεκινήσουµε από την έξοδο s και θα προχωρούµε προς τις εισόδους. Σε κάθε σήµα (κόµβο) που συναντούµε θα τοποθετούµε το σύµβολο dk1/k2/…, όπου k1, k2,… αριθµοί που δηλώνουν τις αποστάσεις του σήµατος από την έξοδο για τις διαδροµές K1, K2,… (εφόσον υπάρχουν περισσότερες διαδροµές που συγκλίνουν). H έξοδος s θα έχει απόσταση d0. Eάν ένα σήµα στην έξοδο µιας πύλης έχει dk1, τότε τα σήµατα A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N στην είσοδό της θα έχουν τιµή d(k1+1). Παρατηρούµε από το ακόλουθο σχήµα ότι δεν υπάρχουν συγκλίνουσες διαδροµές, δηλ. διαδροµές που να χαρακτηρίζονται από δύο τουλάχιστον αποστάσεις dk1/k2/…, και εποµένως η έξοδος s δεν έχει κρίσιµες διαδροµές. Συνεπώς, το τµήµα του κυκλώµατος που οδηγεί στην s είναι ελεύθερο από hazards. x y d2 d2 d1 c c-1 d1 s d0 Θα προσπαθήσουµε τώρα να εντοπίσουµε τις κρίσιµες διαδροµές από τις εισόδους x, y και c–1 που καταλήγουν στην έξοδο c. Θα ακολουθήσουµε την ίδια µέθοδο, όπως προηγουµένως, ξεκινώντας από την έξοδο c και προχωρώντας προς τις εισόδους. Παρατηρούµε ότι οι διαδροµές από την είσοδο x στην έξοδο c είναι κρίσιµες, γιατί η είσοδος x χαρακτηρίζεται από τις καθυστερήσεις d2/3. Στην περίπτωση αυτή υπάρχουν δύο διαδροµές, η {x, a, c} µε καθυστέρηση 2 µονάδες και η {x, b, c} µε καθυστέρηση 3 µονάδες. Oµοίως, οι διαδροµές από την είσοδο y στην έξοδο c είναι κρίσιµες, γιατί η y χαρακτηρίζεται από τις καθυστερήσεις d2/3 (διαδροµές {y, a, c} και {y, b, c}). H διαδροµή από την είσοδο c–1 στην έξοδο c δεν είναι κρίσιµη (d2). x y d2/3 d2 d2/3 d2 d3 d3 a d2 d1 c d0 d1 d2 b s c-1 319 æHºIAKH ™XE¢IA™H I 320 Eνεργοποίηση κρισίµων διαδροµών Aπό το κύκλωµα του Πλήρη Aθροιστή παρατηρούµε ότι, εάν η είσοδος c–1=0, τότε οι διαδροµές {x, b, c} και {y, b, c} απενεργοποιούνται (εµποδίζονται) και εποµένως δεν αναµένονται hazards για οποιαδήποτε αλλαγή των σηµάτων εισόδου x και y. Για να ενεργοποιηθούν οι υπάρχουσες κρίσιµες διαδροµές, πρέπει τουλάχιστον c–1 = 1. Eιδικότερα, οι κρίσιµες διαδροµές της εισόδου x ενεργοποιούνται, όταν y = c–1 = 1, και της εισόδου y ενεργοποιούνται, όταν x = c–1 = 1. Eποµένως, δεν χρειάζεται να ελέγξουµε τις κρίσιµες διαδροµές για κάθε συνδυασµό τιµών των υπόλοιπων εισόδων, αλλά µόνο για τις παραπάνω περιπτώσεις. Έλεγχος κρισίµων διαδροµών Θα παρακολουθήσουµε πρώτα τις κυµατοµορφές των σηµάτων που ξεκινούν από την είσοδο x, όταν είναι ενεργοποιηµένη, και κατόπιν θα παρακολουθήσουµε αντίστοιχα την είσοδο y. Kρίσιµες διαδροµές είσοδου x ενεργοποιηµένες (y = c–1 = 1). Σύµφωνα µε τη λογική συνάρτηση του κυκλώµατος (Σχήµα 6.2), θα πρέπει c=1 ανεξαρτήτως της τιµής x. Aπό τις κυµατοµορφές παρατηρούµε ότι δηµιουργείται στατικό 1–hazard µεταξύ των χρονικών στιγµών T4 και T5 (c=101). x y 1 c-1 1 a b c T0 T1 T2 T3 T4 T5 T6 Kρίσιµες διαδροµές είσοδου y ενεργοποιηµένες (x = c–1 = 1). Σύµφωνα µε τη λογική συνάρτηση του κυκλώµατος (Σχήµα 6.2), θα πρέπει c=1 ανεξαρτήτως της τιµής y. Aπό τις κυµατοµορφές παρατηρούµε ότι δηµιουργείται στατικό 1–hazard µεταξύ των χρονικών στιγµών T4 και T5 (c=101). A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N x y c-1 1 1 a b c T0 T1 T2 T3 T4 T5 T6 EÓ‰ÂÈÎÙÈ΋ A¿ÓÙËÛË ¢Ú·ÛÙËÚÈfiÙËÙ·˜ 6.2 Θα σχεδιάσουµε ένα συγκριτή 4 bit για προσηµασµένους αριθµούς στο Συµπλήρωµα ως προς 2 (Yποενότητα 2.3.3). H σχεδίαση θα ακολουθήσει τα πρότυπα της Eνότητας 6.3 και θα προσπαθήσουµε να εκµεταλλευθούµε κατά το δυνατόν βασικές µονάδες που έχουν ήδη σχεδιασθεί. Θα αρχίσουµε θέτοντας τις προδιαγραφές του συγκριτή στο επίπεδο της συµπεριφοράς (Eνότητα 1.4), κατόπιν θα αναλύσουµε το πρόβληµα για να προσδιορίσουµε τη λογική του ζητουµένου κυκλώµατος και τέλος θα συνθέσουµε το κύκλωµα. Προδιαγραφές κυκλώµατος Συγκριτή O συγκριτής θα συγκρίνει δύο αριθµούς των 4 bit X=x3x2x1x0 και Y=y3y2y1y0 κωδικοποιηµένους στο Συµπλήρωµα ως προς 2. Θα είναι ένα Συνδυαστικό κύκλωµα µε οκτώ εισόδους, για τα ψηφία των X και Y, και δύο εξόδους G και L που κωδικοποιούν το αποτέλεσµα της σύγκρισης (Eνότητα 6.3), σύµφωνα µε τον ακόλουθο πίνακα. G L σχέση X,Y 0 0 X=Y 0 1 X<Y 1 0 X>Y Aνάλυση προβλήµατος Έστω Z=z3z2z1z0 αριθµός 4 bit στο Συµπλήρωµα ως προς 2 (βλέπε Yποενότητα 2.3.3). Tο ΠΣΨ z3 παριστά το πρόσηµό του, το οποίο είναι: “0”, όταν είναι θετικός, και “1”, αρνητικός. Θα συµβολίσουµε µε |Z| το µη προσηµασµένο ακέραιο αριθµό που αντιστοιχεί στον Z, δηλ. όταν και το πρόσηµο z3 θεωρείται ότι έχει αριθµητική τιµή. 321 æHºIAKH ™XE¢IA™H I 322 Eπίσης θα συµβολίσουµε µε Z2 το µη προσηµασµένο αριθµό που σχηµατίζεται από τα τρία λιγότερο σηµαντικά ψηφία του Z, δηλ. Z2=z2z1z0. Eάν ο Z είναι θετικός αριθµός, τότε Z=|Z|=Z2. ∆οθέντος του θετικού αριθµού Z+ ο αντίθετος του Z+ στο Συµπλήρωµα ως προς 2, έστω Z–, παράγεται ως εξής: |Z– | = 24–|Z+|. Eξετάζοντας τους υπό σύγκριση αριθµούς X και Y διακρίνουµε τις ακόλουθες περιπτώσεις: α) X≥0 και Y≥0 (οµόσηµοι θετικοί). Tότε π.χ. η σχέση X>Y συνεπάγεται την |X|>|Y| και την X2>Y2 και εποµένως αρκεί να συγκριθούν οι αριθµοί X2 και Y2 µε ένα συγκριτή µη προσηµασµένων αριθµών 3 bit που έχει εξόδους g και l (Eνότητα 6.3) και να θέσουµε G=g και L=l. β) X≥0 και Y<0 (ετερόσηµοι). Tότε είναι πάντοτε X>Y. Eπειδή x3=0, y3=1, αρκεί να θέσουµε G=y3 και L=x3 ώστε να προκύψει G=1 και L=0. γ) X<0 και Y≥0 (ετερόσηµοι). Tότε είναι πάντοτε X<Y. Όπως και στην περίπτωση β) αρκεί να θέσουµε G=y3 και L=x3. δ) X<0 και Y<0 (οµόσηµοι αρνητικοί). Θα αποδείξουµε πρώτα ότι η κωδικοποίηση των αρνητικών αριθµών στο Συµπλήρωµα ως προς 2 διατηρεί τη διάταξή τους, δηλ. ότι, εάν X>Y, τότε |X|>|Y|. Έστω X+ και Y+ οι αντίθετοι (θετικοί) των X και Y. Eάν X>Y, τότε σύµφωνα µε τους αλγεβρικούς αριθµούς πρέπει X+<Y+ π.χ. –2>–3 => 2<3. Aπό την X+<Y+ προκύπτει –X+>–Y+ => 24–|X+|>24–|Y+| => |X|>|Y|. Λαµβάνοντας τώρα υπόψη ότι οι αριθµοί X και Y µπορούν να διατυπωθούν ως |X|=x3X2 και |Y|=y3Y2, τότε π.χ. η σχέση X>Y ανάγεται στην |X|>|Y|, όπως αποδείχθηκε, η οποία ανάγεται στην X2>Y2, διότι x3=y3=1. Eποµένως για τη σύγκριση των αρνητικών αριθµών X και Y, αρκεί η σύγκριση των X2 και Y2 τµηµάτων τους όπως στην περίπτωση α). Σύνθεση κυκλώµατος Aπό την ανάλυση του προβλήµατος προκύπτει ότι θα µπορούσαµε να κατασκευάσουµε το συγκριτή µας χρησιµοποιώντας: (α) ένα συγκριτή 3 bit µη προσηµασµένων αριθµών όταν οι X και Y είναι οµόσηµοι και (β) τροφοδοτώντας τις εξόδους µε τις τιµές G=x3' και L=y3', όταν οι X και Y είναι ετερόσηµοι. Συγκεκριµένα θα κατασκευάσουµε ένα κύκλωµα, το οποίο θα περιέχει: A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ K A I E N ¢ E I K T I K E ™ A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N α) Ένα συγκριτή µη προσηµασµένων αριθµών 3 bit µε εξόδους g και l, στον οποίο θα εισάγονται τα ψηφία x2, x1, x0 και y2, y1, y0 των αριθµών X και Y αντίστοιχα. β) Ένα κύκλωµα το οποίο παράγει τις τελικές εξόδους G και L σύµφωνα µε τον ακόλουθο κανόνα: Eάν x3=y3 Tότε G=g και L=l Aλλιώς G=y3 και L=x3. Tο βασικό κύκλωµα συγκριτή του Σχήµατος 6.10β είναι ακριβώς το κατάλληλο, εάν συνδέσουµε τις εισόδους του a1, b1 και a0, b0 ως εξής (βλέπε Πίνακα Aληθείας Σχήµατος 6.10α): a1 = y3, b1 = x3 και a0 = g, b0 = l Eποµένως το κύκλωµα του συγκριτή θα είναι: x3 y3 x2 G a1 b1 a0 G g L L b0 1 y2 x1 y1 x0 G a G b a L L b y0 H επαλήθευση της λειτουργίας του προτεινοµένου κυκλώµατος γίνεται ως εξής: α) O συγκριτής των ψηφίων x2, x1, x0 και y2, y1, y0 λειτουργεί όπως εξηγήθηκε στην Eνότητα 6.3. β) H λειτουργία του συγκριτή των ψηφίων x3 και y3 επαληθεύται, εάν στον Πίνακα Aληθείας του Σχήµατος 6.10α τοποθετήσουµε τις λογικές τιµές των: a1 = y3, b1 = x3 και a0 = g, b0 = l. 323 °ÏˆÛÛ¿ÚÈ Aδιάφορος όρος (Don't Care term) O συνδυασµός των µεταβλητών µιάς µερικά καθορισµένης συνάρτησης για τον οποίον η τιµή της συνάρτησης δεν έχει οριστεί από τον χρήστη. Xρησιµοποιείται απο τον σχεδιαστή για την απλοποίηση της συνάρτησης[5.3]. Aκολουθιακό κύκλωµα (sequential circuit) Tο κύκλωµα που το αποτέλεσµα στην έξοδό του εξαρτάται από την χρονική στιγµή που εφαρµόζονται τα δεδοµένα στην είσοδό του και την τρέχουσα κατάσταση του [3.1]. Άλγεβρα ∆ιακοπτών (switching algebra) Mαθηµατικό εργαλείο για την ανάλυση ή την σύνθεση συνδυαστικών κυκλωµάτων. H ∆ίτιµη Άλγεβρα µπορεί να περιγράψει τη λειτουργία ενός κυκλώµατος µε διακόπτες, εάν θεωρήσουµε ότι οι δύο κατάστασεις ενός διακόπτη απεικονίζονται σαν Aνοικτός=“0” και Kλειστός=“1” και η σύνδεση των διακοπτών είναι είτε σε σειρά (AND) είτε παράλληλη (OR) [3.3.2]. Άλγεβρα Boole (Boolean algebra) Oρίζεται, κατά Huntington, σαν µιά αλγεβρική δοµή, που αποτελείται από ένα σύνολο στοιχείων B, τρεις λογικές πράξεις (“+”, “.”, “–” ) και έξι οµάδες αξιωµάτων, από τις οποίες οι πέντε αποτελούνται από δυϊκά ζεύγη αξιωµάτων [3.2]. Aµφίδροµη πύλη ή διακόπτης (bidirectional gate – switch) Πύλη που επιτρέπει την διέλευση του σήµατος και προς τις δύο κατευθύνσεις [4.2]. Yλοποιείται µε ένα διακόπτη ηλεκτροµηχανικό ή MOS τρανσίστορ. Aναλογικό µέγεθος (analog quantity) Mέγεθος που παίρνει συνεχείς τιµές. Γενικά η τιµή του εκφράζεται στο πεδίο των πραγµατικών αριθµών [1.1]. Aποκωδικοποιητής (decoder) Kύκλωµα που έχει m εισόδους και n εξόδους, όπου n≤2m, (ονοµάζεται αποκωδικοποιητής m σε n) και όταν στις εισόδους του Ai εισέρχεται ο δυαδικός αριθµός A=Am–1 … A0 τότε ενεργοποιείται η έξοδος του CA δηλ. αυτή µε δείκτη A [6.4]. æHºIAKH ™XE¢IA™H I 326 Aπόσταση Hamming (Hamming distance) Tο πλήθος των bit δύο λέξεων ενός κώδικα που διαφέρουν µεταξύ τους [2.4]. Aρχή ∆υϊσµού (duality principle) Εάν µιά σχέση A της άλγεβρας Boole είναι αληθής τότε θα είναι αληθής και η σχέση B (δυϊκή) που προκύπτει από την A, εάν εναλλαγούν αµοιβαία [3.2.1]: α) οι πράξεις του γινοµένου και του αθροίσµατος, και β) οι σταθερές 0 και 1. Bit (Binary Digit) ∆υαδικό ψηφίο ("0" ή "1"). H µία από τις δύο καταστάσεις/τιµές ενός δυαδικού σήµατος. Mονάδα πληροφορίας [1.3]. Γεννήτρια κρατουµένου (carry generator) H συνάρτηση g i = x i ◊ y i (και το αντίστοιχο κύκλωµα), η οποία αντιπροσωπεύει την συνθήκη δηµιουργίας (gi=1) τοπικού κρατουµένου, δηλ. κρατουµένου που δηµιουργείται από τα bit εισόδου xi, yi (σχέση υπολογισµού του κρατουµένου ci = x i ◊ y i + ci -1 ◊ (x i ≈ y i ) ) [6.2.3]. ∆εκαεξαδικό σύστηµα (hexadecimal) Aριθµητικό σύστηµα µε βάση τον αριθµό 16 [2.3.1] ∆ιαδότρια κρατουµένου (carry propagator) H συνάρτηση pi = x i ≈ y i (και το αντίστοιχο κύκλωµα) η οποία αντιπροσωπεύει την συνθήκη διαδόσεως (pi=1) ενός προηγουµένου κρατουµένου ci–1 που προστίθεται µαζί µε τα bit εισόδου xi, yi (σχέση υπολογισµού του κρατουµένου ci = x i ◊ y i + ci -1 ◊ (x i ≈ y i ) ) [6.2.3]. ∆ίτιµη άλγεβρα (two–valued algebra) Mια άλγεβρα Boole που έχει δύο στοιχεία, το “0” και το “1”, και οι πράξεις της OR, AND, NOT όπως ορίζονται από τον Πίνακα Aληθείας τους είναι συµβατές µε τα αξιώµατα της άλγεβρας Boole [3.3]. ∆υαδικό σήµα (binary signal) Tο ψηφιακό σήµα που έχει δύο τιµές ή στάθµες [1.2]. Eλάχιστος όρος (minterm) Συνάρτηση γινοµένου της µορφής: °§ø™™∞ƒπ m(x1 , x 2 ,º, x n ) = x1a 1 ◊ x a2 2 ◊º x ann όπου ai (i=1, …, n) δυαδικές σταθερές, ai={0,1} [3.5]. Eπίπεδο διαβάσεως σήµατος (gate level) Η διάβαση ενός σήµατος από µιά πύλη χαρακτηρίζεται ως διάβαση ενός επιπέδου. Eπίπεδο διαβάσεως ενός σήµατος µέσα σ' ένα ψηφιακό κύκλωµα καλείται η χειρότερη περίπτωση των διαβάσεων (µέγιστο πλήθος επιπέδων) που πρέπει να κάνουν τα πρωτογενή σήµατα (σήµατα εισόδου κυκλώµατος), από τα οποία εξαρτάται, για να φθάσουν στο σηµείο αυτό [4.3.4]. Eπίπεδο περιγραφής ενός συστήµατος (description level) Περιγραφή του συστήµατος, σύµφωνα µε µία ιεραρχία επιπέδων περιγραφής, που παρέχει τις αναγκαίες και µόνο λεπτοµέρειες για την σύνθεση/λειτουργία του ώστε να γίνει κατανοητό το σύστηµα στο επίπεδο αυτό [1.4]. Hazard Στιγµιαία ανωµαλία στη λογική συµπεριφορά ενός κυκλώµατος, που οφείλεται σε διαφορετικές καθυστερήσεις µεταξύ των σηµάτων του [5.7]. Hµιαθροιστής (Half Adder) Kύκλωµα µε δύο εισόδους (x, y) και δύο εξόδους (s, c), που παράγει το άθροισµα s και το κρατούµενο c των ψηφίων x και y [6.2]. Θετική/Aρνητική λογική (positive/negative logic) Η λειτουργία ενός ηλεκτρικού κυκλώµατος καθορίζεται από τις τιµές High (H) και Low (L) των ηλεκτρικών τάσεων στα άκρα του. Το κύκλωµα λέγεται ότι λειτουργεί µε θετική λογική όταν η συµπεριφορά του ερµηνεύεται µε την απεικόνιση L=0, H=1 και ότι λειτουργεί µε αρνητική λογική όταν χρησιµοποιείται η απεικόνιση L=1, H=0 [4.3]. Kαλωδιωµένη λογική (wired logic) “Κατανεµηµένες” πύλες που κατασκευάζονται συνενώνοντας µε ένα καλώδιο “µισές” πύλες (µόνο ο διακόπτης) σε ένα κοινό αντιστάτη. Tο καλώδιο αποτελεί την έξοδο της πύλης [4.3.2]. Kανονική Παράσταση (canonical form) Παράσταση λογικής συνάρτησης [3.6]: • είτε ως Κανονικό Αθροισµα Γινοµένων (άθροισµα minterms): Σi mi(x1,…,xn) • είτε ως Κανονικό Γινόµενο Αθροισµάτων (γινόµενο maxterms): 327 æHºIAKH ™XE¢IA™H I 328 Πi Mi(x1,…,xn) Kαρτεσιανό Γινόµενο (cartesian product) ∆ύο συνόλων Α και Β είναι το σύνολο: A¥B = {(x, y) | xŒA και yŒB} [3.4]. Kλίµακα ολοκλήρωσης (κυκλώµατα SSI, MSI, LSI, VLSI) Κλίµακα που δηλώνει το βαθµό πολυπλοκότητας (πλήθος πυλών) ενός ολοκληρωµένου κυκλώµατος. Ανάλογα µε την πολυπλοκότητα τους κατατάσσονται σε κατηγορίες [4.4]: α. µικρής κλίµακος ολοκλήρωσης (SSI) – µέχρι 10 πύλες ανά chip, β. µέσης κλίµακος ολοκληρώσης (MSI) – µεταξύ 10 και 100 πύλες ανά chip, γ. µεγάλης κλίµακος ολοκληρώσης (LSI) – από 100 έως 5000 πύλες, και δ. πολύ µεγάλης κλίµακος ολοκληρώσης (VLSI) – περισσότερες από 5000 πύλες. Kώδικας BCD (BCD code) ∆υαδικός αριθµητικός κώδικας που προκύπτει εάν κάθε ψηφίο ενός δεκαδικού αριθµού αντικατασταθεί µε το αντίστοιχο δυαδικό του [2.2.2]. Kώδικας Gray (Gray code) Ένας ανακλαστικός κώδικας, του οποίου οι διαδοχικές (δυαδικές) λέξεις διαφέρουν κατ' ένα bit [2.2.3]. Kώδικας Hamming (Hamming code) Kώδικας διόρθωσης ενός λάθους. K ψηφία ισοτιµίας pi (i=0, …, K–1) τοποθετούνται στις θέσεις 2i (i=0, …, K–1). Kατά τη λήψη της λέξεως ελέγχεται η ορθότης των οµάδων που αντιστοιχούν στα ψηφία ισοτιµίας και σχηµατίζεται ο αριθµός θέσεως του λανθασµένου bit [2.4.3]. Kώδικες Bαρών (weighted codes) Mέθοδος κωδικοποίησης, στην οποία δίδονται τέτοιες (αριθµητικές) τιµές στα σύµβολα αi (i=0, …, n) της κωδικής λέξης ώστε πολλαπλασιαζόµενα αντίστοιχα µε τα βάρη wi (i=0, …, n), που έχουν προκαθορισµένες αριθµητικές τιµές, να πληρούται η σχέση: σ = αnwn + … + α1w1 + α0w0 όπου σ η τιµή που ζητείται να κωδικοποιηθεί [2.2.1]. Kωδικοποίηση (encoding) Κωδικοποίηση ενός συνόλου από διακριτά στοιχεία ονοµάζεται η διερ- °§ø™™∞ƒπ γασία που αντιστοιχεί σε κάθε στοιχείο του συνόλου ένα συµβολικό όνοµα ή συµβολική παράσταση (λέξεις, αλφάβητο κώδικα) [2.1]. Kωδικοποιητής (encoder) Kύκλωµα µε m εισόδους Di (i= 0, …, m–1) και n εξόδους Ai, όπου m=2n. Όταν ενεργοποιείται η είσοδος µε αύξοντα αριθµό i τότε στις n εξόδους του σχηµατίζονται τα bits του δυαδικού αριθµού i. Mόνο µία είσοδος επιτρέπεται να ενεργοποιείται κάθε φορά [6.4]. Kωδικοποιητής Προτεραιότητος (priority encoder) Kύκλωµα κωδικοποιητή, µε m εισόδους Di (i= 0, …, m–1) και n εξόδους Aj, στον οποίο όταν ενεργοποιούνται ταυτόχρονα δύο ή περισσότερες είσοδοί του τότε σχηµατίζεται στις εξόδους του ο αριθµός που αντιστοιχεί στην είσοδο µε τον µεγαλύτερο δείκτη i [6.4]. Kυµατικός Aθροιστής (Ripple Adder) Ένας παράλληλος αθροιστής n bit, αποτελούµενος από µία αλυσσίδα Πλήρων Aθροιστών συνδεδεµένων έτσι ώστε το κρατούµενο να διαδίδεται σειριακά (κύµα) από τα bit i τάξεως στα bit i+1 τάξεως. Mειονέκτηµα του ότι, στην χειρότερη περίπτωση, η χρονική καθυστέρηση για να παραχθεί το σωστό άθροισµα είναι ανάλογη του n [6.2.1]. Λογική Παράσταση (logic expression) Oνοµάζεται κάθε συνδυασµός πεπερασµένου πλήθους µεταβλητών a,b,c … ŒΒ ή/και σταθερών 0, 1 της άλγεβρας Boole που συνδέονται µεταξύ τους µέσω των πράξεων “+”, “.”, “–” [3.2.2]. Λογική Πύλη (logic gate ή απλά gate) Φυσική µονάδα που υλοποιεί κάποια από τις βασικές λογικές πράξεις ή συναρτήσεις [3.7.2]. Λογική Συνάρτηση (logic function) Η µονοσήµαντη απεικόνιση f: Bn Æ B, όπου Β={0,1} [3.4] Λογισµός Προτάσεων (propositional logic) O Λογισµός που προκύπτει εάν αντιστοιχήσουµε στις τιµές “1” και “0” της ∆ίτιµης Άλγεβρας την Aλήθεια και το Ψεύδος µιάς πρότασης της Λογικής [3.3.1]. Mέγιστος όρος (Maxterm) Συνάρτηση αθροίσµατος της µορφής: 329 æHºIAKH ™XE¢IA™H I 330 M(x1 , x 2 ,..., x n ) = x1a1 + x 2a 2 +,..., + x ann όπου ai (i=1, …, n) δυαδικές σταθερές, ai={0,1} [3.5]. Μέθοδος Xάρτη Karnaugh Εποπτική µέθοδος απλοποίησης της παράστασης µιάς συνάρτησης f. Βασική της ιδέα ο σχηµατισµός των µεγαλυτέρων δυνατών οµάδων από γειτονικά “1” και κατόπιν η επιλογή των λιγοτέρων οµάδων που καλύπτουν την f [5.2.2]. Μέθοδος Quine–McCluskey (ή Tabulation method) Αλγοριθµική µέθοδος απλοποίησης της παράστασης µιάς συνάρτησης f. Η βασική της ιδέα είναι ο χωρισµός των όρων της f σε οµάδες και κατόπιν ο εξαντλητικός έλεγχος όλων των δυνατών ζευγών όρων που µπορούν να σχηµατιστούν από γειτονικές οµάδες [5.5]. Mερικά Kαθορισµένη Συνάρτηση (incompletely specified function) Πολλά πρακτικά προβλήµατα από την φύση τους δεν χρησιµοποιούν όλους τους συνδυασµούς τιµών των ανεξαρτήτων µεταβλητών τους, µε αποτέλεσµα γι' αυτούς τους συνδυασµούς τιµών να µην ορίζεται η τιµή της λογικής συνάρτησης του προβλήµατος [5.3]. MOS, CMOS τρανσίστορ Το MOS είναι είδος τρανσίστορ, στο οποίο, µε την βοήθεια του ακροδέκτη του gate, µπορούµε να ελέγξουµε την αγωγιµότητα του και να το χρησιµοποιήσουµε σαν διακόπτη (και πύλη). Υπάρχουν δύο παραλλαγές, το nMOS και το pMOS, των οποίων η λειτουργία είναι συµπληρωµατική. CMOS ονοµάζεται ο συνδυασµός ενός nMOS µε ένα pMOS [4.2.2] και [4.4.1] N–Kύβος (N–cube) Κύβος Ν διαστάσεων, κάθε κορυφή του οποίου αντιστοιχείται σε κάποιο συνδυασµό τιµών των µεταβλητών µιάς λογικής συνάρτησης και σηµειώνονται µε κύκλο οι κορυφές για τις οποίες η συνάρτηση παίρνει την τµή 1 [3.4.1 και 5.2] Oλοκληρωµένο κύκλωµα (Integrated Circuit – IC) Είναι ένα πλήρες ηλεκτρονικό κύκλωµα κατασκευασµένο µε ηλεκτροχηµικό τρόπο (µικροηλεκτρονική) επάνω σε ένα πλακίδιο (chip) από πυρίτιο. Το πυρίτιο αποτελεί ταυτόχρονα το µέσο στήριξης του κυκλώµατος και την πρώτη ύλη για την δηµιουργία των ηλεκτρονικών του στοιχείων [4.4]. °§ø™™∞ƒπ Oικογένεια πυλών (Σειρές 7400, 4000, ECL) Οµάδες πυλών, διαφορετικής λογικής, που έχουν κοινά χαρακτηριστικά όπως είδος τρανσίστορ, τάση τροφοδοσίας, ταχύτητα λειτουργίας κ.λπ. Κύριο χαρακτηριστικό µιάς οικογένειας είναι η ηλεκτρική συµβατότης των πυλών της [4.4]. Μερικές γνωστές οικογένειες είναι αυτές µε τα ονόµατα: Σειρά 7400, 4000, ECL [4.4.1]: Oυσιώδης Πρώτος Συνεπαγωγός (essential prime implicant) Είναι κάθε πρώτος συνεπαγωγός µιάς συνάρτησης f που καλύπτει τουλάχιστον ένα minterm της f που δεν καλύπτεται από άλλο πρώτο συνεπαγωγό της f [5.4]. Παράλληλη µεταφορά σηµάτων (parallel transfer) Tαυτόχρονη µεταφορά των bit όλων των σηµάτων, απαιτεί τόσες γραµµές όσα τα σήµατα [1.5]. Πίνακας αντιστοιχίας (table) Kωδικοποίηση µε αντιστοίχηση δεδοµένων – συµβόλων µέσω πίνακα [2.2]. Πίνακας ASCII (ASCII table) ∆ιεθνής κωδικοποίηση αλφαριθµητικών δεδοµένων σε δυαδική µορφή [2.2]. Πίνακας Αληθείας (truth table) Πίνακας που καταγράφει την αντιστοίχηση µεταξύ των συνδυασµών τιµών των ανεξαρτήτων µεταβλητών και των τιµών µιάς λογικής συνάρτησης [3.4.1] Πλέον Σηµαντικό Ψηφίο αριθµού (Most Significant Digit) Tο ψηφίο ενός αριθµητικού κώδικα που πολλαπλασιάζεται µε τον µεγαλύτερο συντελεστή βάρους [2.3.1] Πλήρης Aθροιστής (Full Adder) Για την πρόσθεση αριθµών µε πολλά bit πρέπει να λαµβάνεται υπ' όψιν και το κρατούµενο c–1 από την πρόσθεση των ψηφίων χαµηλοτέρας τάξεως. O Πλήρης Aθροιστής είναι ένα κύκλωµα µε τρεις εισόδους (x, y, c–1) και δύο εξόδους (s, c), που παράγει το άθροισµα s και το κρατούµενο c της πρόσθεσης των τριών bit x, y και c–1 [6.2]. Πολυπλέκτης (multiplexer) Kύκλωµα ηλεκτρονικού διακόπτη–επιλογέα που µπορεί να συνδέει επι- 331 æHºIAKH ™XE¢IA™H I 332 λεκτικά µία από n γραµµές εισόδου δεδοµένων (είσοδοι δεδοµένων Di, i=0, …, n–1) µε µία γραµµή συνδεδεµένη στην έξοδό του. H επιλογή καθορίζεται από m εισόδους επιλογής Sj (j=0, …, m–1), όπου n=2m. Συνήθως υπάρχει σε δύο παραλλαγές, τον κανονικό πολυπλέκτη και τον αποπλέκτη που εκτελεί ακριβώς την αντίθετη εργασία (σύνδεση µιας γραµµής εισόδου σε µία από τις n γραµµές εξόδου) [6.5]. Πρόβλεψη Kρατουµένου (carry look–ahead) Mέθοδος (και αντίστοιχο κύκλωµα δύο επιπέδων) που υπολογίζει σε σταθερό χρόνο (δύο επίπεδα) τα διαδοχικά κρατούµενα για αριθµούς πολλών bit [6.2.3]. Πρωτόγονη πράξη (primitive) Λογική πράξη που ανήκει σ' ένα συναρτησιακώς πλήρες(functionally complete) ή καθολικό (universal) σύνολο πράξεων δηλ. σ' ένα σύνολο τέτοιο ώστε κάθε λογική συνάρτηση να µπορεί να παρασταθεί αποκλειστικά µε ένα συνδυασµό πράξεων από αυτό το σύνολο [3.7.4]. Πρώτος Συνεπαγωγός (prime implicant) Ελάχιστη παράσταση γινοµένου της µορφής: p(x1 , x 2 , ... ,x n ) = x1q 1 ◊ x q2 2 ◊ ... ◊ x qn n όπου x1, … , xn µεταβλητές µιας συνάρτησης f, τέτοια ώστε εάν παραλειφθεί οποιαδήποτε µεταβλητή xk από την p τότε το γινόµενο που προκύπτει δεν συνεπάγει την f, δηλ. τότε η p έχει "1" και σε σηµεία του πίνακα αληθείας που δεν έχει η f [5.4]. Pυθµός βλαβών (failure rate) Το πλήθος των στοιχείων ενός κυκλώµατος που παθαίνουν βλάβη στη µονάδα του χρόνου. Εναλλακτικά, η πιθανότης βλάβης στο κύκλωµα στη µονάδα του χρόνου [4.6]. Σειριακή µεταφορά σηµάτων (serial transfer) Mεταφέρονται διαδοχικά το bit του πρώτου σήµατος κατόπιν του εποµένου κ.λπ. Στηρίζεται στη µέθοδο της χρονικής πολυπλεξίας και χρησιµοποιεί µία γραµµή µεταφοράς για όλα τα σήµατα [1.5]. Σήµα (signal) H φυσική µορφή µε την οποία καταγράφεται ή µεταφέρεται ένα δεδοµένο ή µία πληροφορία [1.1]. °§ø™™∞ƒπ Stack–at– βλάβη (stack–at– fault) Είδος βλάβης λογικής πύλης, που έχει ως αποτέλεσµα η πύλη να συµπεριφέρεται σαν κάποια είσοδος της ή η έξοδος της να είναι “κρατηµένη” στην κατάσταση “0” (stack–at–0) ή στην κατάσταση “1” (stack–at–1) [4.5.1] Συγκριτής (comparator) Kύκλωµα που συγκρίνει δύο δυαδικούς αριθµούς X και Y, χωρίς πρόσηµα, και µας πληροφορεί ποια από τις σχέσεις X>Y ή X=Y ή X<Y ισχύει κάθε φορά [6.3]. Συµπλήρωµα ως προς 2 (2's compliment) Σύστηµα προσηµασµένων αριθµών, όπου ως αντίθετος ενός αριθµού N, µε n πλήθος ψηφίων, ορίζεται ο αριθµός N' = 2n–N. O αντίθετος N' βρίσκεται εύκολα, εάν αντιστραφούν τα bits του N και στο αποτέλεσµα προστεθεί η µονάδα [2.3.3]. Συνάρτηση µεταφοράς (transfer function) Mία δίτιµη συνάρτηση, που παίρνει την τιµή “1” όταν υπάρχει δίοδος µεταξύ δύο σηµείων Α και Β του κυκλώµατος και την τιµή “0” όταν υπάρχει διακοπή [4.2]. Συνδυαστικό κύκλωµα (combinational circuit) Tο κύκλωµα που το αποτέλεσµα στην έξοδό του εξαρτάται µόνο από τα δεδοµένα που εφαρµόζονται στην είσοδό του [3.1]. Fan–Out Το πλήθος των εισόδων άλλων πυλών (της ίδιας οικογένειας) που µπορεί να τροφοδοτήσει άµεσα η έξοδος µιάς πύλης χωρίς να αλλοιωθεί το σήµα της [4.4]. Fan–In Το πλήθος των εισόδων που διαθέτει µιά πύλη [4.4] Xάρτης Karnaugh (K–map) Ένας διδιάστατος πίνακας αληθείας n γραµµών και m στηλών, στον οποίο η διάταξη των συνδυασµών τιµών των µεταβλητών της συνάρτησης είναι τέτοια ώστε κάθε θέση (i, j) του πίνακα διαφέρει από τη γειτονική της κατά την τιµή µιάς µόνο µεταβλητής [3.4.1 και 5.2.1] Ψηφιακό µέγεθος (digital quantity) Mέγεθος που παίρνει διακριτές τιµές. Γενικά η τιµή του εκφράζεται στο 333 æHºIAKH ™XE¢IA™H I 334 πεδίο των ακεραίων αριθµών [1.1]. Ψηφίο ισοτιµίας (parity bit) Ένα ψηφίο που επισυνάπτεται στις λέξεις ενός πηγαίου κώδικα για να µπορεί να ανιχνεύει λάθη. ∆ιακρίνουµε άρτια (even) και περιττή (odd) ισοτιµία [2.4.1]. Ψηφιοποίηση (A/D conversion) H διαδικασία µετατροπής ενός αναλογικού σήµατος σε ψηφιακό [1.6].
© Copyright 2024 Paperzz