ΗΜΥ 100: Εισαγωγή στην Τεχνολογία Διάλεξη 16 Εισαγωγή στα Ψηφιακά Συστήματα: Μέρος B TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ 3 Νοεμβρίου, 2003 Χρυσάνθη Πρέζα, D.Sc. Επισκέπτρια Επίκουρη Καθηγήτρια
Περίληψη Ανακοινώσεις Εισαγωγή στα Ψηφιακά Συστήματα Επανάληψη –Δυαδικό Αριθμητικό Σύστημα –Δυαδική Αριθμητική –Προσημασμένοι Δυαδικοί Αριθμοί Ψηφιακή Αναπαράσταση Πληροφορίας –Κώδικας ASCII Δυαδική Λογική Διατάξεις ψηφιακής λογικής
Ανακοινώσεις Υπενθύμιση: Η τελευταία μέρα για να δηλώσετε το θέμα της μελέτης σας είναι 6/11/03 Νέα εργασία: ΚΟ7 –Ημερομηνία παραδόσεως 10/11/03
Αριθμητικά Συστήματα – Γενικά “βάση” = r Αριθμός ψηφίων = r Η τιμή του αριθμού N = A n-1 A n-2 … A 1 A 0, A -1 A -2 … A -m+1 A -m υπολογίζεται N = A n-1 r n-1 + A n-2 r n-2 +… + A 1 r + A 0 + A -1 r -1 + A -2 r -2 +… + A -m r -m Most Significant Bit (MSB) Least Significant Bit (LSB)
Δυαδικό Σύστημα Βάση = 2 Χρησιμοποιεί 2 ψηφία: 0 και 1 Παραδείγματα (101101,10) 2 = 1 2 -2 (δεκαδικό) = ,5 + 0 = (45,5) 10
Από Δεκαδικό σε Δυαδικό Αριθμό Για ένα δεκαδικό αριθμό Ν: i = 0. Ν i = N. 1.Βρες τον μεγαλύτερο αριθμό Κ = 2 n που είναι δύναμη του 2 και είναι μικρότερος από το Ν i. 2.Βάλε 1 στο ψηφίο A n N i+1 = Ν i – Κ i = i Αν Ν i = 0 σταμάτα, αλλιώς επανάλαβε από το βήμα 1 4.Συμπλήρωσε τα υπόλοιπα στοιχεία με 0.
Από Δεκαδικό σε Δυαδικό Αριθμό π.χ. N = (717) – 512 = 205 = N = –128 = 77 = N = – 64 = 13 = N 3 64 = – 8 = 5 = N 4 8 = – 4 = 1 = N 5 4 = – 1 = 0 = N 6 1 = 2 0 (717) 10 = = ( ) 2 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 MSBLSB
Από Δεκαδικό σε Δυαδικό Αριθμό Όταν ο αριθμός είναι μικρότερος από το 1 Πολλαπλασίασε με την βάση, κράτα τον ακέραιο αριθμό και προχώρα μέχρι να φτάσεις σε διαφορά 0. π.χ. (0,78125) 10 = ( ? ) 2 0,78125 2 = 1,5625 ακέραιος = 1 MSB 0,5625 2 = 1,125 ακέραιος = 1 0,125 * 2 = 0,25 ακέραιος = 0 0,25 * 2 = 0,5 ακέραιος = 0 0,5 * 2 = 1,0 ακέραιος = 1 LSB (0,78125) 10 = (0,11001) 2 σταμάτα
Δυαδική Αριθμητική : Πρόσθεση Ακολούθα τους ίδιους κανόνες όπως με την δεκαδική πρόσθεση, με την διαφορά ότι όταν το άθροισμα είναι 2 τότε υπάρχει κρατούμενο ψηφίο Καινούριοι κανόνες για το κρατούμενο ψηφίο –0+0 = 0κ0 (άθροισμα 0 με κρατούμενο ψηφίο 0) –0+1 = 1+0 = 1κ0 –1+1 = 0κ1 –1+1+1 = 1κ1 –Προσέξτε ότι (1+1) 2 = (10) 2 Κρατούμενο Αυξητέος Προσθετέος Αποτέλεσμα
Δυαδική Αριθμητική : Αφαίρεση Καινούριοι κανόνες δανεισμού –0-0 = 1-1 = 0δ0 (αποτέλεσμα 0 με δανεισμό 0) –1-0 = 1δ0 –0-1 = 1δ1 –1-1-1 = 1δ1 Δανεισμός1100 Μειωτέος11011 Αφαιρετέος01101 Αποτέλεσμα01110
Δυαδική Αριθμητική: Πολλαπλασιασμός Αλγόριθμος “μετατόπισης και πρόσθεσης” όπως στο δεκαδικό σύστημα Επιβεβαίωσε ότι είναι σωστό: 13 * 6 = 78 Πολλαπλασιαστέος Πολλαπλασιαστής (1) (2) (3) (1)+(2)+(3)
Προσημασμένοι Δυαδικοί Αριθμοί Πως παριστάνουμε αρνητικούς αριθμούς; –Πρόσημο και αριθμός: - 7 Προσημασμένοι δυαδικοί αριθμοί –το πρώτο ψηφίο να καθορίζει το πρόσημο: 0 = θετικό πρόσημο (+) 1 = αρνητικό πρόσημο (-) Παράδειγμα με 4 ψηφία –Μόνο 3 ψηφία ορίζουν την τιμή του αριθμού μεγαλύτερη τιμή είναι = 7 –Διάστημα τιμών -7 μέχρι 7 –Πρόβλημα: Τι παριστάνει ο αριθμός 1000; - 7= = = = = = = 1001 ; = = = = = = = = = 0111
Προσημασμένοι Δυαδικοί Αριθμοί Ο τρόπος που χρησιμοποιείται λέγεται συμπλήρωμα αριθμού ως προς 2 (two’s compliment) (wxyz) 2 = w (-2 3 ) + x 2 2 +y 2 1 +z 2 0 Το πρώτο ψηφίο είναι πάλι το πρόσημο Για ένα δυαδικό αριθμό το two’s compliment βρίσκεται εύκολα: –Κανόνας: άλλαξε όλα τα στοιχεία από 0 σε 1 και από 1 σε 0 και μετά πρόσθεσε 1 στον αριθμό
Συμπλήρωμα αριθμού ως προς 2 (Τwo’s compliment) Παράδειγμα με 4 ψηφία: 0001 = (1111) 2 = = 0000 = = 1000 = - 8 Διάστημα τιμών -8 μέχρι 7 Προσέξετε ότι: = = 1111 Η αφαίρεση μπορεί να γίνει με πρόσθεση προσημασμένων αριθμών -8 = = = = = = = = 1111
Κώδικας ASCII Για την αναπαράσταση γραμμάτων και άλλων συμβόλων σε δυαδικά ψηφία αλφαριθμητικός κώδικας (alphanumeric code) ASCII = American Standard Code for Information Interchange ή Αμερικανικός πρότυπος κώδικας για την ανταλλαγή πληροφοριών Συμπεριλαμβάνει 128 αλφαριθμητικά στοιχεία: –94 στοιχεία που μπορούν να εκτυπωθούν (26 κεφαλαία and 26 μικρά γράμματα, 10 αριθμούς, 32 ειδικά σύμβολα) –34 στοιχεία που δεν μπορούν να εκτυπωθούν (χαρακτήρες που χρησιμοποιούνται στον έλεγχο υπολογιστών) Χρησιμοποιεί 7 δυαδικά ψηφία για την παρουσίαση των 128 αλφαριθμητικών στοιχείων
ASCII Table A 6 A 5 A 4 A 3 A 2 A 1 A 0
ASCII με Δυαδικό Ψηφίο Ισοτιμίας Το δυαδικό ψηφίο ισοτιμίας (parity bit) χρησιμοποιείται για την ανίχνευση λαθών σε δεδομένα επικοινωνίας και υπολογισμού Δηλαδή προστίθεται ένα 8 ο ψηφίο στον κώδικα ASCII Ζυγή (Περιττή) ισοτιμία: τοποθετείτε το ψηφίο ισοτιμίας έτσι ώστε ο συνολικός αριθμός των ψηφίων που έχουν την τιμή 1 μέσα στον οκταψήφιο κώδικα να είναι ζυγός (περιττός)
ASCII με Δυαδικό Ψηφίο Ισοτιμίας Παράδειγμα: –Κάνε τον επταψήφιο κώδικα σε οκταψήφιο κώδικα με ζυγή ισοτιμία –Κάνε τον επταψήφιο κώδικα σε οκταψήφιο κώδικα με περιττή ισοτιμία Και στις δύο περιπτώσεις ο αριθμός των λαθών που μπορεί να ανιχνευθεί είναι περιττός!
Δυαδική Λογική Ασχολείται με λογικές πράξεις και δυαδικές μεταβλητές που μπορούν να πάρουν τις δύο διακριτές τιμές 0 και 1 (ή αντιστοίχως σωστό και λάθος) Τρεις βασικές πράξεις: Αντιστροφή (ΝΟΤ), ΚΑΙ (ΑΝD), Ή (OR) Δυαδικές / λογικές μεταβλητές αναπαριστούνται με γράμματα: Α, Β, … Δυαδική λογική συνάρτηση: F(μεταβλητές) = έκφραση
Δυαδική Λογική Συνάρτηση F(μεταβλητές) = έκφραση Παράδειγμα : F(a,b) = a ’ b + b ’ G(x,y,z) = x (y+z ’ ) Σύνολο δυαδικών μεταβλητών Τελεστές ( +,, ’ ) Τελεστές ( +,, ’ ) Μεταβλητές Μεταβλητές Σταθερές ( 0, 1 ) Σταθερές ( 0, 1 ) Παρενθέσεις Παρενθέσεις
Βασικοί Λογικοί Τελεστές (Basic Logic Operators) AND (επίσης, ) OR (επίσης +, ) NOT (επίσης ’, ) F(a,b) = a b, διαβάζεται: η F είναι 1 αν και μόνο αν το a = b = 1 G(a,b) = a+b, διαβάζεται: η G είναι 1 αν το a = 1 ή το b = 1 H(a) = a ’, διαβάζεται: η H είναι 1 αν το a = 0 Δυαδικοί (Binary) Μοναδιαίος (Unary)
Βασικές Λογικές Πράξεις 1-bit logic AND μοιάζει με δυαδικό πολλαπλασιασμό: 0 0 = 0,0 1 = 0, 1 0 = 0,1 1 = 1 1-bit logic OR μοιάζει με δυαδική πρόσθεση, εκτός από μία πράξη: = 0,0 + 1 = 1, = 1,1 + 1 = 1 (≠ 10 2 )
Διατάξεις Ψηφιακής Λογικής Λογικές πύλες (Logic gates) –Συμβολική αναπαράσταση ηλεκτρονικών κυκλωμάτων στα οποία εισέρχονται ένα ή δύο ψηφιακά σήματα (input signals) και εξέρχεται ένα ψηφιακό σήμα (output signal) Πίνακες Αληθείας (Truth table) –Ορίζει όλες τις πιθανές τιμές των εισερχόμενων και εξερχόμενων σημάτων μίας λογικής πύλης, δηλ. ορίζει την λογική πράξη που αναπαριστά η πύλη
Πύλη Αντιστροφής NOT (Inverter) AF F = A’ A NOT Το F είναι σωστό (1) αν το Α είναι λάθος (0)
Πύλη AND Το F είναι σωστό (1) αν το Α είναι σωστό (1) και το Β είναι σωστό (1) AB F=A B Input AND A B F F = AB
Πύλη OR Το F είναι σωστό (1) αν το Α είναι σωστό (1) ή το Β είναι σωστό (1) 2-Input OR A B F F = A+B AB Input OR
Πύλη NAND Το F είναι λάθος αν το Α είναι σωστό και το Β είναι σωστό AB F=(A B)’ Input AND 2-Input NAND A B F F = (AB)’
Πύλη NOR Το F είναι σωστό αν το Α είναι λάθος και το Β είναι λάθος 2-Input NOR A B F F = (A+B)’ AB Input NOR
Πύλη XOR Το F είναι λάθος (0) αν το Α και το Β έχουν την ίδια τιμή 2-Input XOR A B F F = A + B AB Input XOR
Πύλη XNOR Το F είναι σωστό (1) αν το Α και το Β έχουν την ίδια τιμή 2-Input XNOR A B F F = (A + B)’ ABF=(A+B) Input XNOR
Κύκλωμα Συνδυαστικής Λογικής Από Λογική Συνάρτηση Λογική Συνάρτηση: F = A’ + BC’ + A’B’ Ένα λογικό κύκλωμα που υπολογίζει την συνάρτηση F μπορεί να δημιουργηθεί ενώνοντας τα εισερχόμενα σήματα στις λογικές πύλες που εκφράζουν τις λογικές πράξεις –Εισερχόμενα σήματα δυαδικές μεταβλητές (A, B, C) –Εξερχόμενο σήμα το αποτέλεσμα της λογικής συνάρτησης (F) –Πύλες λογικής από πράξεις λογικής
Κύκλωμα Συνδυαστικής Λογικής Από Λογική Συνάρτηση Λογική Συνάρτηση: F = A ’ + B C ’ + A ’ B ’ A B C F Β C’ Α’ Β’ A’A’